A backend developer needs to know about performance, data structures and how to deal with data and APIs and also with databases to store and retrieve data.
Out there are many developers in different areas but i think there are technologies that everyone should at least know a bit. Because they can help you in your daily work and opens you new opportunities or maybe even a new job.
Let me introduce 3 technologies to you that can help you regardless if you are web, mobile, backend, game or XYZ developer!
This is a huge topic on its own but its definitely more and more important nowadays. Regardless if you choose AWS, Google Cloud, Azure or any other Cloud provider its always a safe bet to invest some time to learn those technologies.
You have so much power within the cloud whether you want to spin up instances like a web server, need a database that scales or want to perform functions that might trigger an API to do some stuff. The potential is limitless!
The 3 biggest cloud providers are AWS, Google Cloud Computing and Azure. I use AWS inside my job and for my own needs and i really enjoy it. But you can choose whatever you want.
Infrastructure as code. This describes terraform in 3 words. This topic is highly bound to #1 Cloud and often used together. When you want to spin up an instance in AWS for example you can do it in 2 ways.
1: You do it manually by hand. Its quite simple and easy to do. But if you have many resources in your cloud environment it really get messy quite fast and you loose track of it. And here comes the hero: Terraform
2: You do it with Terraform. Terraform is a infrastructure-as-code software tool where you use HCL (HashiCorp Configuration Language) to write the infrastructure that you want to deploy inside the cloud. Its a declarative approach so you exactly get the state that the code describes.
In many big companys you have DevOps guys that do this kind of stuff but its a really nice tool to know as a programmer.
Last but not least - the terminal. It doesnt matter if you are on MacOS, Linux or Windows. On each platform you have a terminal and i would highly recommend to you to use it.
Every - single - day!
Of course you can do most of your tasks with the GUI (unless you are on pure Linux without a GUI) and it feels more comfortable and faster. But thats not the case. Once you are familiar with the terminal, how to navigate through your folders, create files, delete folders and files etc. you have discovered the real power!
And im honest with you im also using the GUI quite to often but im trying to avoid it more and more. And when you have to deal with the terminal because you have to deal with a linux server you will be quite happy that you know how to do it.
I hope you found this useful for you and learned something new! Like i said you dont have to be a pro in these technologies and know them inside out. For that we have other occupational groups (like DevOps) but if you have some experience in them you get so much more opportunities and even your dream job because you put in the time to learn more than you "need"!
If you have any other of these technologies that every programmer should know please put them into the comments. I would love to learn something new!
Stay connected to me and my content on Twitter.
I love to improve myself every single day even if its just a tiny bit!
Stay save and healthy guys!
And as always: develop yourself!