It has been a long time since my last blog post (~ 900 days). And around 1000 days since I started my coding career on 1st February 2020. So it is worth evaluating the progress after such a long transition.

 

Most relevant programming languages within the data field

 

After these years of experience, I concluded that there are two languages you should learn if you are interested in data engineering, AI and machine learning: Python and SQL. Which order depends on the company, but in most cases, a combination of these two languages is relevant. For beginners, Python is a more straightforward first language to learn, with more flexibility and less frustration during the learning process. On the other hand, if you understand the solid foundations of SQL and how to create, query, update, and delete data properly from a given database, you can be valuable in the job market.

The difference between SQL and Python, as a learning experience, is like the difference between German and English as a foreign language. Earlier is more difficult at the beginning, more rigid and frustrating for starters. Later is somewhat more accessible and more flexible, and you can have success faster and gain some motivation from it.

 

Other useful tools: cloud services and spark

You will also need some cloud skillset in relevant cloud services, like AWS, Azure, IBM Cloud, etc. [1]

Beyond it, the knowledge of the Apache Spark framework can be precious for large datasets. I am learning this to have an extra tool and option during data engineering tasks. It is a processing framework that can perform tasks on enormous datasets and distribute processing tasks across multiple computers. [2]

You might be interested in learning a bit about Docker containers for virtualisation. Or you might find it motivating to learn some Machine Learning toolsets like PyTorch or Tensorflow.

 

Leaving the junior developer stage behind

The definition of a junior developer is clear: no prior coding experience apart from studies or online tutorials. It is an interesting question, when can you leave the junior phase behind?

It is when you are comfortable with at least one relevant programming language and can solve most problems in that language. You start to focus on not only solving a problem and handling exceptions and errors in the whole process. Furthermore, when it becomes relevant for you to write a clean and maintainable code base with separated blocks and modules. You open a year earlier code and think that it should be refactored in a more elegant, cleaner way. It became easier to google a given coding problem, and in more and more cases, you have the feeling that you already searched for something similar earlier.

I like Stefan Mischook’s idea that good developers write clean and simple code [3]. It is something you should always aim for as a developer.

 

Medior developer stage – no one’s land?

It is an exciting and confusing stage of your coding career. You can solve a problem proficiently in your favourite language and focus more and more on other aspects like a clean, maintainable code base. But, on the other hand, you still need to become a senior developer or architect.

Senior developers have at least five years of experience. They know multiple frameworks and solutions for the same problem and can choose among them and reason the pros and cons of a given decision. They can split complex problems into smaller ones and delegate them to junior developers while supporting them if they are stuck somewhere along the development.

 

Conclusion

After three years of experience, you successfully finished your career transition as a developer. You are not a junior developer anymore. The next chapter concerns learning new technologies, staying open and curious, and incrementally improving coding skills and clarity. You gained momentum. Your main challenge is keeping that momentum and always looking for new, more elegant, practical solutions to a given problem.

 

 

 

Literature

[1] What Are The 6 Most Common Cloud Services in 2022 ?

https://customerthink.com/what-are-the-6-most-common-cloud-services-in-2022/

 

[2] What is Apache Spark? The big data platform that crushed Hadoop

https://www.infoworld.com/article/3236869/what-is-apache-spark-the-big-data-platform-that-crushed-hadoop.html

 

[3] What is Clean Code? Live!

https://www.youtube.com/watch?v=WY7684iHKy8&t=789s