I started programming back in 2011. Next September (2019) will be exactly 8 years since I started my career as a programmer. When I started programming in 2011, I was a complete novice. I started learning programming from scratch at University. Today, I am working in Google as a Software Engineer (I am assuming that landing a job in Google counts as an achievement and indicates that my skill in programming has increased since 2011).
Out of my 7.5 year of programming career, the first 5 years were completely dedicated to Competitive Programming and Problem Solving (CPPS). My greatest achievement in CPPS is qualifying for ACM ICPC World Finals 2016. In order to pursue my passion for CPPS, I switched university twice (AIUB to DIU and then DIU to NSU) and as a result, it took me 6.5 years to complete my undergraduation.
Well, the above information should give you a rough idea of who I am. As to what this “Preface” thing is about; well, it’s a preface of my story. My story about how I got from a complete programming novice to World Finalist + Googler. Currently, only I know what I have been through and how. By sharing my story I am hoping that everyone will get to know the same life lessons that I learned from my journey. I think the story is quite fascinating and contains answers to many of the questions that beginner programmers often face. For example:
- When did you start programming? They get surprised when I tell them I started learning programming after I joined the university. They think I have been programming since I was a kid.
- How many hours should I practice? Where should I practice? UVA or Codeforces?
- How can I be productive? They think I am a highly productive person. I am not. I wish I was.
- I want to practice but can’t find time for it. How can I practice more?
- How did you get a job in Google?
- Can hard work beat talent?
- Should I solve problems or read books?
- Should I completely focus on CPPS or should I also learn development parallel?
- Is CGPA important to get a good job?
- And many more…
I don’t have the ultimate answers to all these questions but what I can provide is information on what I did when I faced the same questions in my journey. What applied for me may not apply for you, but you can at least use them as reference.
This is just the preface of the actual story. I am planning on writing the story in small chunks, so it’s going to take a while. Not to mention, it’s not every day that I get inspiration to write. So please be patient.