Working full time while studying
I started school when I was 6 years old, in 1996. I saw the very first computer in my life in 2002. I’ve managed to buy myself my own Pentium 3 in 2004, at the age of 14. In fact, I was one of the luckies back then in Armenia who had a personal computer. The internet connection with 100MB monthly limit gave me a chance to know about the amazing world of computer science, in fact that was the time I decided to become a programmer.
In 2006 I started at the State Engineering University of Armenia, in CS department. After a year I knew how to program in Pascal (yey!) and was dreaming of solving real life problems and working on running live systems (I didn’t know Pascal was not solving any real-life problems at that time).
There were companies in Yerevan who were happy to take students and I decided to try my luck. Considering the economical situation of the country (and my family), beside the fact that I would code and see my program running in working system, it was also a great chance to earn money! In addition, I was constantly frustrated by the quality of education at our university, and I was sure that I’d learn more if I worked.
In 2008 I started as a Junior Java Developer in one of the “hip” companies in Yerevan. I was one of the students working full time while studying. I learned a lot during that period (I knew what EJB is :) ), I learned how to work. I spent half of my university years working at an office.
I was able to pass exams though (a week before an exam was enough to learn the course material quickly; not surprisingly, stuff learned in a week was easily forgotten after a week) and received a diploma telling that I’m a bachelor of CS.
Now in 2016, I’m grateful for the chances I had and used. I worked in different companies and used different programming languages, followed different workflows and met really great people. I feel lucky to be a part of community and tell that I’m a software engineer.
I am one of those guys who think a good software engineer is the one who can solve problems and not only reuse existing solutions (in this case, I am particularly about data structures and algorithms), in fact, that was the reason I wanted to study CS. The problem was, that the years passed and I got far-far away from those problems. In work, in practice my brain had rare chances to work in that direction, and as you remember I passed exams in a week - so all I’ve learned at the university was gone.
It is not the very best feeling to realize that you are a software engineer, but you hardly remember/understand what the tilde notation is. I decided that it’s not too late and started to study algorithms after my work, 2 hours daily. It is a challenge and not an easy thing to do. To gain simple concepts and understand/solve elementar problems I spend days. I was really good at math at school, even at the university. So I ask myself, what happened? I think, I took a wrong path.
Learning makes us, humans, develop. It gives us a reason and motivation to work. I think though, the best time to learn is when you have that time. If you are a student, the time is given to you to learn. At work, we solve particular problems, most of the time we skip the foundation and narrow down the scope of a problem to solve it quickly. What is priceless is the fundamental knowledge, which we are able to gain by constant recall and repetition, which helps us whole our lives to stay in tune.
So now if I were to answer the traditional “What would you do differently if you could change the past?” question, my answer would be that I wouldn’t start a full time job back in 2008. I would spend my university years building the foundation, acquiring necessary knowledge and persisting it.
I am sure that there are a lot of people who are able to combine study and work, however my advice is still to think twice before getting a job of while at the university, the consequences might be unexpected and the cost to pay too high.
P.S. I do think that part time jobs are worthy, given that you are able to manage time well and the job matches your vision.