View profile

Oliver's Newsletter - Issue No. 6 - The Cloud It Is

Oliver's Newsletter - Issue No. 6 - The Cloud It Is
By Oliver Jumpertz • Issue #6 • View online
I’m still not fully up to speed again. So much to do. We will move soon, so we have to do a lot of preparation until we are ready to go. Finding a suitable moving company can be a real pain, you have to prepare for so much German bureaucracy, need to talk to energy providers, make sure that you have internet at your new place, and much more. Next to that, our new project slowly takes off, so that takes up a lot of my time, and next to that, I take care of my future self-employment that I still plan for. But as usual, I took my time to create this issue of my newsletter and slowly tried to gain pace on Twitter again. We will see how this turns out, for sure.
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!
Rust
I can’t state enough how much I love this language. Yes, it is very difficult to learn and it’s not the best choice if you want to get results fast but it will produce the most correct results without any additional tests of any language available on the market. The work that has gone into the compiler and the borrow checker was well worth it. In the beginning, you have to fight both a lot but soon after that, you’ll start to notice that your own style of programming changes. It becomes “more correct”. Modern languages, especially those that are based on runtimes and that come with a garbage collector, allow a lot of tricks that would usually not be possible. This can lead to some “interesting” or buggy run-time behavior later. With Rust, this is simply impossible to happen (at least according to the latest research). What you deploy won’t have (unintended) memory leaks, data races, and even concurrency problems. Oh and Rust binaries are fast, only use a low amount of memory, and don’t overstrain your CPU. Definitely my favorite language, next to JavaScript of course.
Getting Clients As A New Freelancer
I have a question for you, 
If you were in my shoes today where you want to upskill yourself as well as gain extra bucks building SPA as a freelancer on the side while keeping your job then how and where would you start your search for clients or attract clients?
And would you learn some part of backend too as a freelancer?
This is what I’ve been asked this week by one of my subscribers (thank you a lot for this). And this is what I answered (polished it a little for this newsletter):
I don’t know too much about the Indian market and your overall business culture in small to medium-sized businesses but if only 50% of what I know is applicable, I’d do the following: 
Take a walk around in your neighborhood. Use your smartphone and carefully note down each and every name of local businesses in your area, as well as what they are/do. Extend your walk as much as you like. You can also do this over the course of multiple days. You’re finished when you have the name of each and every business in your local neighborhood noted down. You should now have your very first list of potential clients. With that list, now take a look at how many of them have a web presence and rate it according to your own system. Are their websites good enough to attract clients? What could they do better? Is there something missing that could help them (like an online booking system)? Do they have a website at all?
When you have this list of ratings, sort them from worst to best. Next, you want to cluster them according to their business type (barbers, snack bars, etc). Ask yourself which business type you could help best and then take the top 5 (or less if there are not enough, but you should get 5 together, otherwise it’s not worth it. If you can get 10, even better) of that category. After that, think about what their online presence could do better. Do they need an overall better website or do they need a website at all? Does their website correctly reflect what the business actually stands for? If you have an answer for each of the businesses, design and build exactly one page or feature mock for every business and put it online (not your portfolio, you want a dedicated site with those prototypes only). Make sure to include a detailed analysis of each business’s online presence and state what can be done better (for which you deliver a prototype). You have now created a basic portfolio while also having created your sales material.
When you’re finished with those preparations, send out a cold email to each business, tailored specifically to it, stating who you are, what you can do, what you think about their online presence, and how you would improve it. Include a link to the site with those prototypes and offer them a free video call where you can go more in detail. Make sure that you state explicit numbers regarding the effects of your work. A good example: „If we redesign your website and increase the usability only by 5%, we can attract 20% more customers due to the increased engagement with your online presence.“ Be prepared that not all business owners will take your offer but if at least half of them agree to do the call and half of those decide to use your service, you’ve already won some valuable clients.
You can repeat this process over and over again while extending your side-portfolio until you can make your side-portfolio your main portfolio and use it to attract even more clients. Be sure to extend this portfolio with your finished work if you happen to land a client and finish the project.
Regarding backend: Yes. I’d really learn Node as it enhances your service portfolio by a lot. If you want to work in innovative areas, learn about the JAMstack, Netlify/Vercel/AWS Amplify, and serverless Lambda functions. Add in APIs like Stripe and Shopify, whatever suits your overall client base, and you’ll have a solid offer with which you can serve full projects nearly alone (minus design, perhaps. It’s okay to outsource this if you’re not that much into it).
Tailwind CSS
I love this framework. Period. I really wish I was good at CSS but I’m usually not. CSS never came as easy to me as writing business logic or coding low-level stuff (even Assembly) comes to me. But when I tried out Tailwind for the first time, I was just blown away. Basic building blocks that hide many implementation details behind their classes but that are still basic enough to enable me to throw them together until I get something working, even across browsers, out of the box. I’ll probably never use Bootstrap again when I have the choice to use Tailwind. Awesome work by its creators and an awesome framework. I can only recommend it if you haven’t tried it out, yet. You won’t regret a single second of using it, at least as far as I can tell.
Consulting
We live in a world where you can charge two different kinds of prices for basically the same service. Consulting is the better-paid variant. As stupid as it sounds, selling expertise seems to be worth more than selling only your work. And do you know what? It’s pretty easy to brand yourself as a consultant. Simply state you are one. You can use the same approaches as before while also offering your opinion on different matters. I don’t know how it is in your market but where I do business, companies listen more to consultants than they do to someone they contracted only to do some work for them.
This interestingly also opens you up to jobs that only ask for consulting and nothing else. You go in, you discuss, you state your opinion and you offer a solution to your clients, sometimes only delivering some rough prototypes and no fully implemented solution. I actually like those kind of jobs as I can freely let my thoughts flow and discuss possible solutions to specific problems. Not that I don’t like to implement solutions myself and be a part of a whole project but consulting also comes with an aspect of teaching. Showing a whole team how it is done and be a mentor to them can be an awesome experience.
Containers
I love containers. They are the missing piece that finally enables truly “platform-independent” software. We can now all agree on some kind of Linux being the base OS we create software for. We only build for Linux, containerize our software, can run it locally or in the cloud, and don’t need to care about any OS-specifics anymore. Even AWS Lambda supports containers now, and this is a pretty huge thing. This narrows the gap between Kubernetes and serverless deployments, and brings them closer together. The only difference left is how the software inside those containers is built. A full microservice vs only a handler function can still be an issue but the good thing is that if you are able to let your service’s API meet the Lambda OpenAPI spec, you can also deploy full microservices as serverless “functions”. This opens the possibility of universal build pipelines that can serve both your Kubernetes deployments and your serverless functions. That’s less complexity to manage and a little less knowledge you need in order to get along. For me, containerization is currently the future of software deployment.
Opportunities
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 Blockchain Frontend Developer
Blockchain technology is on the rise, that’s a fact no one can deny anymore. The technology has one issue, though. It’s not that easy to understand and use for end-users. Just take a look at some Bitcoin clients. They are functional but they don’t do a good job of giving users something that is really easy-to-use. This is where a good frontend comes into the game. Companies adopting blockchain technology and building products based on it will need engineers to build usable and reliable clients for them.
There is more to the technology than only cryptocurrencies and their exchanges. We could build whole social networks on them, for example. And building frontends for those applications is not that much different from what we build on the web today. We exchange some APIs and include some other protocols instead of our usual backend API calls, and everything else stays the same. But through the knowledge required to interact with those blockchains, you can gain an advantage in your salary of up to 30% over “traditional” frontend positions. Sometimes a buzzword technology can make the difference.
Blockchain frontend developers need the skills of a usual frontend developer, as well as knowledge of the underlying blockchain protocols and APIs. They then combine all this into usable clients that make working with the products and blockchains easier. HTML, CSS, JavaScript, and Electron, or simply going with React Native can already cover the base skills. If you want something more innovative, I see demand for Flutter rising, also in the blockchain space. Other than that, gain knowledge about blockchain technology and the underlying protocols. That’s already enough to cover this position.
Self-employment - The Cloud Architect
Every company and organization that somehow is able to currently tries to get into the cloud. They either have a specific plan, only want to follow the trend, or see cloud deployments as a way of selling more of their software or products. Many of those companies come from the same background: A service-oriented architecture deployed to VMs. Sometimes it’s already distributed, sometimes it’s everything on a large VM. They all have one thing in common, though: They need help to make that transformation. Their technical staff is usually trained in the technologies they previously used and don’t have a deeper understanding of the cloud and especially what each individual vendor offers.
The cloud is actually a very large and broad field. There are three huge and many smaller providers and a whole ecosystem of technologies, specifically tailored to the cloud. This makes specialization a basic requirement. It’s simply impossible to know everything really well. This opens up the opportunity to position yourself as a specialist of specialists. What about being a pro architect for data engineering in the cloud or what about being someone that knows how to manage large Kubernetes clusters in the cloud and make developers ready to build cloud-native software?
Due to the sheer size of “the cloud” and everything related to it, companies will gladly contract specialists who can help them on this transformation journey. The field is too broad to be able to do this transformation on their own and with their own resources. Someone with experience will simply be able to bring such a project up to speed, way faster.
There are so many possible paths as a cloud architect that I’ll have to focus on one path I am pretty comfortable with, as I currently pursue it myself (at least in my day job): A cloud architect focussing on Kubernetes and large, distributed systems, including everything that comes with it.
I think that the following skills would be necessary to pursue such a career:
Basic Knowledge Of A Cloud Provider Of Your Choice
You’ll do good specializing in exactly one cloud provider, at least in the beginning. Choose either AWS, Azure, or GCP. You’ll need to know which services that provider offers and how they play together. You can still branch out later but you should have a “main cloud” you’re so comfortable working with that you don’t start to sweat when someone has an advanced question for you.
Certifications
Some certifications are not worth it but others are sometimes a hard requirement. Especially for large cloud providers, getting certified is mandatory. It shows that you know your way around that provider’s services and environment. Those certificates are well-known and accepted. It’s like a keycard giving you access to many companies.
Docker
Containers are an awesome invention. They are the best form of platform-independent deployment we currently have. As this path focuses on cloud-native deployments, containers are a must-have. You can’t deploy anything on Kubernetes when it is not containerized. Docker is the current industry-standard for containerization, so it makes sense to stick with it. Gladly, there have been a lot of efforts to standardize APIs, formats, protocols, and such. This goes so far that you can even reuse a lot of Docker’s commands with other solutions. Consider Docker or containers to be one of your core skills. You should really know how they work well, and be able to teach others how they work.
Kubernetes
This is your second core skill. Kubernetes is the de facto industry standard for container management right now, and it is one of the fastest ever adopted technologies in enterprise IT history. Knowing your way around Kubernetes is a superpower that can have a significant impact on what you can charge. It’s relatively easy to use Kubernetes nowadays but it’s still incredibly difficult to understand it as a whole. If you can provide the latter, companies will profit a lot and value those skills highly. As with containerization, you should be able to teach developers how to use it.
A Managed Kubernetes Solution
Yes, this is a separate point. If you know how to set up a cluster yourself, that’s awesome. But if we’re serious, no one really wants to do it manually. Even adding other cluster nodes can be a real pain. Managed solutions abstract away all that pain and turn it into an (at least relatively) easy-to-use interface that sets a cluster up or adds nodes with nearly only one click. Your client’s operations teams will thank you a lot if you know a solution that makes this process easier.
Cloud-Native Ecosystem
Sometimes, you want full control over everything. All cloud providers offer solutions to collect logs, metrics, and more. But if your client wants full control without relying too much on external services, the cloud-native ecosystem has you covered. The list of projects currently being developed under the umbrella of the Cloud Native Computing Foundation seems to grow every day. Be it Prometheus for metrics and Jaeger for distributed tracing, there is a project for everything. You should learn about the most important core services and learn how to integrate and use them.
This Week On 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!
800 Video Courses For CS, ML, And Everything In Between
GitHub is an amazing place. It doesn’t only contain source code anymore, it contains full courses, learning resources, and repositories aggregating a lot of resources into a concise curriculum. You should definitely take a look at this one, as there are so many awesome resources listed there.
What Does It Take To Create A Successful SaaS Product?
I’ve asked this question myself already. But what’s better than to learn what it takes? Learning it from someone who really launched an awesome product in recent times. Simon had an immense success with FeedHive, and this makes him the perfect person to tell us more about his own opinion of what makes a successful SaaS product.
5 Tips That Helped Me To Grow As A Developer
I sometimes forget that sharing knowledge doesn’t need to be only for complex topics. Sometimes, the easy, concise, and easy-to-implement tips are those that are the most valuable. In this thread, I share 5 tips that helped my, in my humble opinion, to grow as a developer.
How Spotify Makes Text On Images More Readable
Sometimes, the simplest tricks are the most effective ones. I love when Addy posts one of those because they are usually so easy to implement but difficult to discover in the first place. This one is particularly awesome. A simple linear gradient can do so much for readability. Definitely something I’ll keep in mind for when the need ever arises in one of my projects (which might be earlier than expected).
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!
2 Simple Growth Hacks
I have to admit that I once knew about those hacks but I then simply forget about them again. Gladly, Stefan brought back my memory with this article. After reading it, I implemented the Twitter hack directly, and as far as I can tell, the hour it took me to write the script to change all my Twitter links within my blog articles was well worth it.
Indenting JSON.stringify’s Output
Some JavaScript APIs are not that intuitive. JSON.stringify definitely has one of those APIs. But those hidden gems are usually pretty mighty. I personally really like to indent stringify’s output whenever I go on a console log debug frenzy. Perhaps it helps you, as well.
Indenting JSON.stringify’s Output
Docker Explained
If you already work with Docker, you have surely already understood a lot of the concepts behind containerization. If you are new to it, you still might have some issues with it. This article is a great explanation of the concepts that can help newbies understanding better what Docker is actually all about.
Docker concepts explained using a Cake preparation method & building a Nodejs application with Docker and Nginx.
Same-Origin Policy
I stopped counting how often I heard people having problems understanding the same-origin policy. But do you know what? It is a difficult topic! It’s still a crucial and important security concept that aims to make the web safer, and understanding it will surely help you in implementing safer solutions. If you’re still struggling, this article is definitely for you.
Same Origin Policy: Demystified
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.
Tailwind CSS - Official Documentation
Most official documentations seem as if they have been written by the people who wrote what they document. It’s difficult to get into a user’s perspective and to imagine what they might really find valuable as learning material. The official Tailwind documentation, however, is an awesome piece. I have yet to find a use case where I really need StackOverflow or another resource to help me to understand what I exactly have to do. I can only recommend it if you want to get into Tailwind.
Getting started with Tailwind CSS
A Free Next.js Course
I personally like Next.js a lot. I think the team behind it did an awesome job of making such an accessible framework that enables static site generation and server-side rendering. This free course has exactly the right length to teach you Next a little deeper or enable you to get into it. And another awesome thing: It is free!
Learn Next.js today - 100% free.
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,
Oliver
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.

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue