Online Learning: How One Developer Went from Beginner to Pro
People get into programming in different ways. Some begin learning it in school, some go to university to study Computer Science, while others get started with online courses – like Zina Smirnova, now a member of the Educational Products development team at JetBrains. We talked with Zina to find out more about her professional path.
Can you tell us about your background and how you decided to become a developer?
It didn’t happen overnight, but like all worthy things in life, it took a lot of time and effort. It all began when I was on maternity leave as a junior researcher at the Institute of Precambrian Geology and Geochronology of the Russian Academy of Sciences.
Having a baby changes one’s life in a lot of ways. Personally for me, it became abundantly clear that life is short and I should spend mine doing something that matters, in addition to parenting of course. I have always wanted to code. In fact, I had been admitted to both the Mathematics & Mechanics and Chemistry departments, but had ended up choosing chemistry – I’m still not sure why. Continuing in the chemistry track seemed to make sense, especially after 5 years of undergrad study + a few years of postgrad on top of that. I told myself it was too late to switch gears, the train had left the station, and so on.
Then my maternity leave happened, and I found myself in a seemingly never-ending routine… It reminded me of Groundhog Day in some ways. But, it made me realize I needed to keep my brain additionally occupied. I thought, why not give programming a shot? I mean I was staying at home all day anyway. I went on Stepik.org and took their Python courses. When I completed those, I knew I would become a developer, no matter how long it might take me. It was my calling. Oh, and I wasn’t aware back then that JetBrains had an EduTools plugin that integrates with Stepik and lets you complete courses right in JetBrains IDEs — if I’d known that, I would have saved lots of time and effort.
Interesting! What happened next?
After the Python courses, it was a turning point for me because I wasn’t sure what to do next. A friend then advised me to switch to Java.
Half a year later, I found an internship at Top Java, a Russian-language training course for developers aspiring to code in Java. The course guides you through building a fully functional Spring/JPA Enterprise application, complete with authentication and access management, and based on the technology stack including Spring, Hibernate, PostgreSQL, Bootstrap, JS, etc. From my first attempt at the course, I absorbed only about half – there was a lot to learn, and the pace was quite fast. You had to read a lot, think, and figure things out on your own. But in my opinion, that’s the great thing about it, because from day one, you get used to finding information on your own and using Google as your best friend that knows everything. My payment plan covered code review, and that was just awesome. I believe code review is the key to growing as a developer. In my team today, 100% of code gets reviewed.
Were those skills enough to let you pass developer job interviews?
My final project as an intern helped me win another internship, which was also very interesting and useful. After the second internship, I began preparing for interviews intensely and kept learning a lot. I passed my first test interview via Skype and then started sending out CVs. To be honest, interviews weren’t the biggest hurdle for me. I received an offer after my very first interview, without even a test assignment. The next day, the Educational Products team at JetBrains invited me for an interview, too.
How did that interview go?
I loved the initial interview: the questions were great, I could sense right away that everyone was passionate about their work, and things looked friendly and fun. I went home excited, but not daring to hope. Imagine my surprise when in a couple days I received a test assignment! By that point I had already accepted the first offer I got, and it almost seemed wrong to backtrack on it – I had no idea how the JetBrains thing would turn out. I managed to get a two-week extension for my start date at the first place, and used that time to complete the test assignment for JetBrains. Then I began working at the first place (I actually liked it there; it was about web, Spring, and Hibernate), and spent a week there. During that time I passed the final interview at JetBrains and finally got the job I have now.
How do you feel about working as a developer on the Educational Products team?
Right now I’m a junior developer with Educational Products and I’m happy. Not only am I doing what I love, but my work is very meaningful. Our plugin, EduTools, helps people much like me: those who are learning programming from scratch, turning their lives around by completing courses in various programming languages in JetBrains IDEs, and eventually launching their career in software development. My own experience shows that it’s never too late to pursue your dream job, even if you’re a new mom on maternity leave.
Thanks a lot for sharing your story, Zina! Good luck in your future endeavors!