Today is exactly three weeks since I started working as an Embedded Systems developer. In fact, this is also my first software development job.

I started out my path as a programmer a little over a year ago, initially as a hobby. I speak several languages, and naturally I was drawn to explore the “computer language”. I was interested in how communication with a machine is conducted. Very quickly, I found myself immersed in online courses, webinars, programming forums and meet-ups. I started out with Javascript and frontend/backend programming (which are still very popular today) and even designed a website which featured an XO game. :) After quite a lot of self-study, I decided to take it one step further and undergo serious training.
I signed up for a program called a “coding bootcamp” (clearly, this interesting choice of words immediately sparked my insatiable hunger for new challenges). As part of this training, which lasted over six months, I learned daily and for long hours basic and advanced topics in computer science, C and C++ languages, operating systems, project planning, design patterns, and overall – professional-level programming. In the early days of the training I realized, that despite the serious efforts I had invested, how little I really knew about programming.

From the get-go, the vast majority of our training was hands-on, through real-world inspired projects: an application for group instant messaging, a system for charging mobile customers, a platform for managing a Smart Home, and many more! Our mentors had very rich experience in the Hi-Tech industry and shared with us their tips for a proper approach towards software engineering. The studies were eye-opening. I was mesmerized by how a computer was able to turn a written language into reality...!
A few weeks after the training had ended, I was invited for my first job interview. The interview was for the position of Real-Time embedded software engineering* in a project company. This was a short time after exiting the coronavirus lockdowns here in my country, so the interview was to take place at the company’s offices. Fortunately, this gave me the opportunity to appraise the environment there. I was deeply impressed not only by the interesting projects the company was handling, but also by the humanity in the workplace, which I think is equally important.

After a series of interviews at this company (and a lot of backtracking, BFS/DFS, algorithm optimization and many more :) )... I was offered the job! Needless to say, I was in utter joy. Finally, in a short time, I was to begin my way as a software developer in a field which had me in awe...
Part II upcoming :)
* I might write about the different branches of software development in the future, but in short, Real-Time development is about programming systems which must guarantee response within specified time constraints, such as in the IoT, medical or automotive industries.
Comments