View profile

Oliver's Newsletter - Issue No. 7 - Slowly But Steadily

Oliver's Newsletter - Issue No. 7 - Slowly But Steadily
By Oliver Jumpertz • Issue #7 • View online
I continue being short on time. Moving, a full-time job, content creation, side-hustles, all that takes time. I currently do my very best to get everything done on-time and am really looking forward to April, when we will be finished moving. I’ll have my own bureau again that should enable me to work in peace and without distractions. I still made an effort, thanks to some of my very awesome connections, to improve my content game and throw away those images, packed with too much text. Until now, it seems as if those really do better, so I’m happy that the work I put into them paid off. I can’t wait to have more time again to concentrate on content creation even more. I still have to admit, I need to learn a lot more!
I hope you all had an awesome week and are still as safe as we all can currently be. Don’t forget to take some time off this weekend and do something for yourself. Perhaps you will also find some time to read his newsletter. And now, enjoy!

My current thoughts on...
This is where I share my thoughts on multiple topics that came to my mind since the last issue. Perhaps they were brought to my attention through someone in the community, perhaps I was explicitly asked for them, or perhaps I simply want to talk about them.
Want my opinion on something? Drop me a message and I might add my thoughts on it in one of the next issues!
Employment Vs Self-Employment
I’m thinking about this a lot lately. Until now, I’ve always enjoyed my job and what opportunities it brought to me but lately I’m thinking more and more about a change. Either by changing jobs or by going fully self-employed. I’ve always worked on the side somehow but my day job was what actually paid the bills.
However, all this brought me to think about the actual topic of employment vs. self-employment. I think both have their pros and cons. It’s relative safety vs freedom. A traditional job gives you the safety of receiving your paycheck every two to four weeks, having a 401k or an equivalent, and in some countries even the safety of being able to stay at home sick while still being paid. All this comes at the cost of having to follow a certain path that’s dictated by your company. You can’t do whatever you want, and although many companies offer very flexible schedules these days, you’re still not completely free when to go where. And, what many people tend to oversee: You can be fired at any time.
Self-employment on the other hand comes at the risk of not getting paid at all for some time. But you are free to do whatever you like. If you don’t feel like working, you don’t have to. You can even choose what you want to work on, and decide yourself when you do your work and where. You are, however, responsible for nearly everything. You are the CEO, CTO, CMO, XXO, etc. of your company. If you don’t go out selling, you may have a hard time finding work that’s paid. If you don’t feel like working, you won’t earn money.
In the end, I think it’s a lot about your mentality and personality. Some people aren’t made to be employed and others are made to enjoy the safety of a well-paid job. And don’t misunderstand me, that’s perfectly fine. I think we’ve come a long way where nearly everyone is enabled to to what they really love. They only have to go down a certain path.
What about you? What personality are you? What is your mentality? I’d love to read about it!
Software Architecture
I deal a lot with software architecture every day, it’s my job. One thing I notice, though, is a tendency to overengineer software architectures. Many engineers try to create an architecture that is capable of doing everything, just in case. The issue is that it is nearly impossible to create the perfect software architecture especially in the beginning. It’s like when we write software. We should start as simple as possible and then iterate further as new requirements arise or existing ones change. We don’t need a horizontally scalable eventing system like Kafka when all we currently have is one API service and a frontend. The same holds true for database systems. Yes, we can place a Postgres, a Redis, a MongoDB, and then place CQRS right on top of it, just in case someone wants to use it, or we go one step back, and try to imagine if we could also solve some issues with components we already have at hand. Only if we then see that this wouldn’t work, we can go forth and add to the system what solves our issue(s). I like the statement Redux makes: “If you don’t know whether you need Redux, you don’t need it”. Every advanced concept and component used adds to the complexity of a software or system. Keeping complexity as low as possible is guaranteed to benefit the overall maintainability.
Developer Relations
Do you know what I really like? When a company that offers a product that needs software engineers to integrate, use, apply, whatever it, also offers real engineers to help me with doing exactly that. There are only a few technical documentations I really like. All the others are, in my opinion and for me personally, usually lacking. This is sometimes due to a lack of time, or a lack of resources, or due an explicit decision to use technical writers without too much of a software engineering background. But when a company employs DevRel engineers and embraces DevRel at all, that’s (for me) the first step in the right direction. When engineers who have all the time available for technical documentation are enabled to build prototypes, test out their own product, and then write technical documentation and blog posts, or make videos (whatever works), the outcome is usually pretty great. Those are resources I can usually follow and understand. And when some creativity is involved, there is always something that at least touches my current use case. I’m definitely hooked for DevRel!
Before you go on reading, I have to make this legal disclaimer: I am working in the financial industry but I am no official accredited financial advisor and I don’t give you financial advice. I only give you information, you have to decide what you do with it.
In times of negative interest and with the whole market shifting from a traditional model that is driven by huge Wall Street firms to a more modern one, driven by us, the people, investing has never been more important. You don’t get much for money in your bank account anymore. In the worst case, you even have to pay for that money. This means that you always lose money, either through inflation and/or through fees.
The internet has brought in-depth education to anyone. You can basically learn online what some investment managers had to learn at university some years go. The basics aren’t even that difficult: You can get into stocks by choosing a smartphone broker of your choice, opening an account and transferring money. If stocks seem too risky to you, go with ETFs. Before that market shift, an S&P500 ETF brought about 7-10% a year. That is more than any interest you’ll ever get. It also won’t make you rich fast but it will give you the opportunity to learn about the market and how it behaves.
Would you be interested in learning more? Drop me a message. I’ve learned enough over the years to be able to provide education for this topic.
Finding The Time To Learn
Many of us have families and other obligations. That’s how it simply is. And sometimes, finding the time to learn something new can be simply non-existent. But did you know that 15 minutes of focused learning can already be enough? This is how I currently manage to learn something nearly every day. On some days it makes ‘click’ after one session, sometimes I need three days. But I’m constantly working on it. All this next to a full-time job, a family, and my side-hustles.
The best thing to do is to reserve a 15-minute spot in your day where you know that you are still awake and concentrated enough to be able to consume information. This can be right after staying up or before going to bed. Maybe it’s also right in the middle of the day but that’s not essential. Just reserve this exact spot and never ever (only in case of an emergency) use this spot for something else. Make sure that no one interrupts you during this time and take your learning material and learn for 15 straight minutes. You’ll wonder how good this strategy can actually work although it might be that you first have to get used to it.
Through my own job, my network, and my other activities, I’m exposed to the industry a lot. I have the chance to talk to other insiders, enterprise/bank IT leaders, and many many more. I also consult as a side hustle and build one or the other website from time to time. I don’t do this full-time, yet, but it may give me some credibility.
This section is here to showcase scenarios, skills, and business ideas that I view as opportunities for someone who wants to make a change and go the entrepreneur route or simply upskill themselves.
Upskill Yourself - The Developer Advocate
At the intersection of content creation and software engineering lives the Developer Advocate. Just imagine a technical content creator (like those on Tech Twitter we all know and love), who solely works on behalf of a certain company. Their job is to write technical documentation and tutorials on how to use the product(s) of a company. On the other hand, they go to conferences and talk to the users of their products (usually developers, hence the name of the position) and report back to their company what the users struggle with, what they want, what they’d like to see, and more.
Software eats the world and more and more products are simply software. Just imagine how well you’d be able to work with all those AWS services if they didn’t have a dedicated group of Developer Advocates who do everything to teach other developers their product and gather their feedback to create even better services and products. Just in case you can’t imagine: It would be a worse situation. Especially the content around Amplify is simply awesome. Technical documentation, blog posts, videos, everything you might want, and a team of engineers ready to take your feedback and help you out.
If you are already a software developer/engineer, the step isn’t even that far to become a Developer Advocate. Start to produce content and technical tutorials. It doesn’t even matter whether it’s in written form or video. If you learn how to create good content, you have nearly everything (together with your developer skills) that makes you a suitable candidate for a DevRel position. The only thing left is to be yourself and learn how to communicate effectively. This position is nothing for you if you don’t like to interact with other people. But if you do, this could be your chance.
Upskill Yourself - My Tech Stack
I want to use this opportunity to talk about my tech stack. It’s the one that I love the most and actually can’t usually stop talking about when someone asks me about it.
Here it is:
  • JavaScript / TypeScript
  • Rust / WASM
  • AWS Lambda/Amplify
So, why is this tech stack so wonderful? Because I cover nearly everything with it. It’s almost universal and gives me the opportunity to work on a lot of problems while having a lot of synergies.
TypeScript is JavaScript that scales. It’s not only about types (that already rock on their own), it’s also about the compiler that can catch bugs you wouldn’t directly notice. Just take a look at the code below. Could you spot the issue?
A piece of code with an unobvious bug in it.
A piece of code with an unobvious bug in it.
The TypeScript compiler would actually find the issue with this code. Objects are mutable. If you pass an object into a closure, it’s not guaranteed when the function is executed. No one can stop anyone from altering the initially passed object in the meantime. This is why you need to do the initial check again. Optimally, you handle all cases possible, as seen below.
A fixed version of this code. The closure needs another check.
A fixed version of this code. The closure needs another check.
Rust is a systems programming language but it has one of the if not the best WebAssembly toolchains currently available. If I ever need to, I can create binary programs that run incredibly fast and are safe. And other than that, I can write Rust for performance-critical paths of my code and then compile it down to WebAssembly, integrate it into my software, and then call it directly from my TypeScript code. Sometimes I can save myself from opening Node threads by simply calling down to WASM, that’s a benefit not to be underestimated.
AWS Amplify already integrates Lambda already but it is mainly a framework and service for frontend developers. For pure backend stuff, I still use Lambda itself and create CRUD APIs with AppSync. This basically solves nearly all of my deployment problems and a lot more. I get IAM (auth), an API gateway, a database, and much more for free (In terms of work. Of course you have to pay for it). This is code I don’t have to write while mine scales nearly infinitely.
I’ve created systems with this stack that serve even millions of requests a second for customers of our client banks, and I am awesomely happy with it. I don’t need to jump between many different languages and can rely on two main ones that I am very comfortable with. I still have to find a problem I can’t solve by using this stack.
What's Up Twitter
I focus on worthwhile tweets and threads in this section. It includes some of my own but also some from the awesome community I am glad to be a part of.
If you want to see a tweet/thread or multiple (also your own) included in one of the next issues, send me a link and tell me what’s so great about it!
Single Responsibility Principle
I personally like the Single Responsibility Principle. It is easy to apply, eliminates cognitive complexity, and helps to create overall more maintainable and readable code. This tweet gives you a glimpse of one application of it in JavaScript.
Oliver Jumpertz on Twitter: "🧹 Clean Code tip 🧹 A function should always do only one thing. If it does too much, it becomes harder to maintain. Changes on one part of the function then affect all other parts and all users.…"
A Collection Of Books For Entrepreneurs And Investors
I like books. And I also like business books a lot these days. This is an awesome collection of Simon about books for investors and entrepreneurs but let’s be serious here, everyone can profit from them. Business knowledge becomes more and more important these days, why not upskilling those a little?
Liskov Substitution Principle
JavaScript is awesome but it has some flaws due to its dynamic nature. If you you happen to write object-oriented code in JavaScript, it’s too easy to simply override AND overload functions at the same time. The issue is that no base logic existing that handles such objects can work with that. It’s a surprise to whatever processes your subclass. Simply don’t do this, it hurts you, and it will lead to errors at run-time.
Oliver Jumpertz on Twitter: "🧹 Clean Code tip 🧹 When you create a subclass, never alter the parameters of inherited functions. Whoever uses the base class relies on the parameters known. No one can know that you added or removed parameters from certain functions.…"
Your Entry Into Open Source
Getting into open source seems difficult, especially for beginners. Where should you start? What are some good projects? How should you find them? Danny has the answer in this great tweet. Often, it’s the simple tips that make the difference.
Articles Worthwhile Reading
In this section, I focus on articles I came across that I found worthwhile reading and also some of my own. They don’t have to be published in this particular week.
If you want to see an article or multiple (also your own) included in one of the next issues, send me a link and tell me what’s so great about it!
Dockerizing A Next.js Application
Next.js is already an awesome framework. The dedication the team puts into making it better and better with each release is awesome. Sometimes, you don’t simply deploy your Next application to Vercel or Netlify, though. But containers are also a great way to build scalable systems. In this article, Stefan walks you through the process of creating a container for your Next application. Definitely worth a read!
How to Dockerize a NextJS application
5 Tips That Helped Me Grow As A Developer
Last week I showed you the thread, this week I show you the blog post that resulted from it. Those are still my honest top 5 tips that really helped me to grow immensely as a developer. It personally took me a long time to understand how important they are, so I can’t state enough how much I hope they will help others grow, as well.
5 Tips That Helped Me Grow As A Developer
6 Tips To Improve Your Review Process
Reviews are so crucial for a working team, yet so many organizations and teams simply don’t get them right. I’ve compile what helped me and my team to improve the process up to a point that every single team member has fun participating in reviews.
6 Tips To Improve Your Review Process
6 Red Flags In Technical Interviews
An interview is always a two-way process. Yes, you as the candidate are usually feeling like the less important side in this process but that’s not true. It’s your choice whether you accept an offer and companies are desperate to fill their positions. This article gives you a great overview of red flags that you can identify when interviewing.
6 Red Flags I Saw While Doing 60+ Technical Interviews in 30 Days
Learning Resources
This section contains resources I came across this week, recommended to someone, or simply find worth being shared.
If you’d like to see something specifically listed here (also your own), drop me a message, and I will take a look at it. I will maybe include it in one of the next issues then.
Up Your Marketing
I only have one resource for you this week but this one simply blew me away. I’m even angry that I didn’t know it before. I can’t state how hooked I am for Harry’s Marketing Examples. Awesome guy, awesome content. This really helped me to rethink my strategy and to go back to the drawing board. It is not a real course but this site is so packed with everything you’d ever need to market yourself, improve your site and landing pages, or make more out of your blog, that it’s simply worth listing it here.
Marketing Examples - The finest real world marketing examples
My Current Twitter Statistics
Some of you are perhaps interested in how I do on Twitter, so in the spirit of transparency, I’ll share my Twitter statistics with you here.
28 day summary
28 day summary
Mar 2021 summary
Mar 2021 summary
Feb 2021 Summary
Feb 2021 Summary
Until Then
I hope you liked this issue and what I included this time. Like the last time, I’m still looking forward to hearing your feedback about the “Opportunities” section. Is it something you still find worthwhile or is it something you wouldn’t want to read again? I hope that some of you found some value in it and I’d love to hear from you if it sparks something within you that makes you think about a change.
As usual, feel free to give your most honest feedback. I’d love to hear your thoughts on this and how I can make this newsletter really worth reading for each and every one of you!
Until then, enjoy your weekend, spend time with your loved ones, have fun with your hobbies, and most importantly, stay safe!
So long and yours,
Did you enjoy this issue?
Oliver Jumpertz

Bringing the best tech content directly to your inbox. May include software engineering, JavaScript and Web Development in general, Rust, Cloud, Serverless, and some unexpected pieces.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue