- Florian Bellmann
Developers need to be in shape
It's in every job description these days. As a software engineer, you can't just be great at your craft like frontend development or backend development. You need to know an overwhelming stack of tools like TypeScript, React, Node.js, python, rust, Docker, Kubernetes, AWS, IoT, CI/CD, Serverless, OAuth2, GQL, Test automation and so on. You have to be a full IT department just in one person. At least that's what the description suggests. It can be quite intimidating for anyone starting in that field. A Raspberry Pi can help with that.
Be like Mr. T
This is where the T-shape comes in. The idea is that you are a specialist in one area and have a broad knowledge in other areas. This is what the job profiles are looking for with vast descriptions of technologies. A T-shape looks like this:
The benefit of the concept is that you are an expert in your circle of competence and can get around in areas of competence of others. You know what is going on outside your area, what others need and maybe what challenges they are facing. Overall this makes you a great engineer because you can manage your stakeholders well. Meaning your colleagues and other departments that use your code.
If only there was a way to learn the basics of all these things
Enter Raspberry Pi. I think by now everyone knows what they are and that they have tons of use cases. For you as a developer though, it provides the perfect testing ground. You are a frontend dev and built a new page with a tool you tried. Why not deploy it in a Docker container on your Pi? The same goes for a backend dev or any other type of software you might be building.
What it can teach you
Working with your Pi can teach you:
- Networking: How do I connect to it? How do I deploy a service? How do I put a DNS in front of it?
- Linux: Get familiar with the operating system that is running on most servers and learn the command line
- Server administration: At some point in your future job you might have to engage with remote servers. This is exactly how you might want to work with your Pi.
- Docker: How do I build a container? How do I deploy it? How do I manage it?
- Automate your life with cronjobs: How do I run a task every day? How do I run a task every hour? How can this make my life easier?
You can even run a full Kubernetes Cluster on your Pi with k3s. This is a great way to get familiar with Kubernetes' concepts and how it works.
Last but not least, with all the GPIO pins you can tinker with embedded systems and build an IoT solution.
It's a buffet of knowledge that you can pick from. Combined with the infinite online tutorials, it can become a great resource for your career development.
The image at the top of this post is my Pi. It's a Pi 4B with 8GB of RAM. It's running 24/7 and costs me ~12 EUR per year in power consumption costs. I overclocked it because it was fun to do. It has more power than any of my private projects need. I have no monitor connected to it and access it through SSH via WiFi. In addition, I have a VPN running on it, to which I can connect from outside my home.
It's my third Pi and the first one I bought was a Pi 2B in 2016. I've been tinkering around with them for years and learned so much. Nowadays, I am running several automations as well as reoccurring tasks with it. Some of which have horrible code that I wrote years ago. But hey, if it works, it works.
It serves me very well.