In started my career in 2005 as a junior C++ developer. You can check my LinkedIn Profile HERE. Now (July 2020), looking back my career so far I would like to share my thoughts about the thing I wish I did differently:
Start a Full-Time Job while I was a Student
I was second year in Computer Science in University when I started my first job.
It was full-time job as a C++ Developer. It wasn’t easy at all the begging and I spent whole daytime at work and I studied during nights to catch up with missed lectures in University, mostly Math courses.
I succeeded in both my work and I passed all of the exams with good and excellent marks but it was exhausting.
If I could turn back time I wouldn’t be in such a hurry to start work so early or at least not a full time job.
Spend 7 Years at My First Job
I had been working for 7 years at the company I started my career. All of these years I worked on only 1 project, it was a huge 15 years old project written in C++.
First 3 years I learned a lot and I improved my skills. I remember when I read the ‘More Effective C++’ book by Scott Meyers. That was the book which opened my eyes in coding. But next 4 years I didn’t learned almost anything new and these years were a waste of time.
It was a small company (about 10 people) and the worst thing was that people there treated me as a junior developer all of the time no matter of my improvements and more complex tasks I was able to complete.
The Lesson I learned in the hard way: if you start as a junior developer in a small company, people there will always tread you as such.
Spend Time on Freelance
In addition to the above, I start working as a freelancer in my spare time. So, during daytime I was working as a C++ developer, during nights I was working as web developer mostly with C#, VB.NET and HTML/CSS.
Immediately after I finish my Bachelor degree at the University I started a freelance work for an US company for about 8 hours per day. So, during daytime I worked 8 hours at my daily job as a C++ developer, and during nights (which were daytime at US because of the time differences with my country), I worked another 8 hours for an US company as C# developer.
I spend 4 months on the above regime. Believe me, it was hard.
I wish I didn’t spend so much time on additional work and use that time for rest and relaxation.
Low Self-Esteem
When you are a junior developer there always be other people who will remind you are a junior. Such people will be happy to show your mistakes, correct your code, tell you that you are stupid, etc.
I spent lot of time for learning and working (even with freelance work) and I became a better developer but I continued to underestimate myself, because I believed these people.
I wish I believed more in myself than I did when I was a junior developer.
Read Only Technical Books
I didn’t want to waste my time so I haven’t read any non-technical book. As a result I wasn’t able to improve any other skills different than coding.
For example, I did not had any emotional intelligence or even a clue about its importance. As a result I felt offended by every criticisms at work without realizing these were just opinions of other people.
The Lesson I learned in the hard way: Life is not just coding. You won’t be happy if you develop and improve only your technical skills.
In conclusion, I’d say that it took me lots of time and efforts to improve my skills. I made the right decision about dedication to become a developer but I had to have some limits. Spending too much time working i.e. 16 hours per day for months caused me health problems, but I will write more about it in some of my future posts.