Let my story talk for me:
1989 : My father brought home a Commodore Amiga 500 computer => Countless hours of gaming!
1996 : A first introduction to binary numbers and Basic programming language while still in school.
1997 : Chatting was my first real experience with internet as a student.
2000 : Discovering the world or I.T as a student.
My professor on Computer Networks, Dimitris Mitrakos, suggested that I should read Tanenbaum’s book on computer netwroks and learn event-based programming with Delphi. Loved both and they influenced my career path to a great extent.
2003 : Got my diploma in Electrical & Computer Engineering.
2006 : Got my MSc in Electrical & Computer Engineering and my first job in I.T, as a system administrator.
From time to time I had to build some sites for my employer using a CMS or dig into the code of open source forums to fix bugs or make some custom extensions. Gradually, I started leaning more to software development than system administration.
2009 : My first contact with MVC frameworks.
It was the Yii framework. It was the first version of Yii and the code was not very welcoming for newcomers like me but the MVC concept was very intriguing.
2010 : Took a career turn to programming.
I decided to drop system administration from web development. Become familiar with the 3-tier architecture of a web application and took a dive in the Java world.
2011 : Introduced to CodeIgniter.
At last! A framework that you could easily understand its internal workings.
2013 : My first steps in real-life software development processes through the ICONIX methodology.
I also switched from CodeIgniter to Laravel framework (Rapid Application Development in action). Loved it!
2015 : Introduced to PHPUnit.
Within the next 2 years I wrote a couple of thousands lines of testing code for my applications.
2016 : Introduced to Git and Jenkins.
Jenkins brought a better understanding of a production environment and real-life deployment methods as well as a first contact with code metrics.
2017 : My first contact with Microservices architecture, Scrum and Docker.
Although not for long, I had the chance to work with a great, technically strong team and a great team leader (Zolt Petrik, that’s you!) that made a huge impact to my future career path.
2019 : Realized what is wrong with Agile Software Development.
There was nothing wrong with it. The problem lies in the people that are trying to sell it (usually Scrum Masters) and the ones that are buying it. Both usually lack technical background and serious experience in software development.
2022 : My first contact with Domain Driven Development.
Another troublesome area of software engineering. A swallow understanding of DDD leads many people translating its ideas to a copy-paste of the coding examples (tactical design) they find in DDD books.