To read about the onboarding and training, check out part 2 first if you haven’t already seen it.
Putting the training into practice
We were assigned to the different product teams in Coviam like peopleHum, Engati, AutoMi and multiple e-commerce projects. I was assigned to work on a team which handles the Merchant Application of an E-commerce platform that Coviam is building for a partnership.
My team lead, Shripati, is one the coolest guys I’ve met. His unparalleled work ethic is something to look up to. He helped me understand the business logic of an e-commerce product and how we as developers can help better to solve some of the compelling use cases in e-commerce. Later, I got introduced to the team and they helped me setup my IDE.
Am I good enough?…
Talk about marching towards the firing line as an intern, contrary to what I believed interns are usually requested to do, I was assigned a vital user story that would let e-commerce merchants archive their products. During the first sprint I got stuck numerous times during development, miserably failed on my estimations, even started to question my capabilities.
Luckily I had some awesome senior developers in my team, who along with my lead was always ready to help and in the process they taught me to think in a more structured way and ask the right questions.
I took it up as a challenge to understand my own capabilities and was finally able to deliver, and surprisingly with quality 🙂
The very thought of adding value to production code that will be used by thousands of online merchants indirectly affecting millions of users was thrilling and a much needed confidence boost.
Takeaways as a developer:
- Planning, Planning, and Planning
Writing scalable code for large systems is altogether a different ballgame and requires a lot of planning before we start writing the actual code.
- How will my code help the business?
Understanding how that small piece of code you added is helping millions of users to get a better user experience is definitely motivating.
- Code reviews, a necessary evil
I owe a major part of my knowledge about design patterns and good coding practices from code reviews. Also, we often catch the silliest of mistakes in code before it is shipped to production and design decisions made by the developer can be validated and/or questioned.
- Ask questions – the simplest way to learn
Asking questions requires scrutinizing the problem first as unless you have understood the problem, you will not be able to ask the right questions.
- No product is worth my time without Quality
Quality is key to any product succeeding and being used. The rigor of Unit testing your own code and setting a zero defect benchmark is something that gets talked about with pride at Coviam. Stories of the QA Engineering lead launching bug hunts, and personally getting down to the code level to take on the challenge of finding bugs in top notch programmers code is a method I also saw being practised.
My first code release to production
Release days at Coviam are like small parties in themselves, groovy music playing in the background, tasty food and everyone is contented to see the fruits of their labor elevated to production. I for one was thrilled as my code will now be used by thousands of e-commerce merchants.
Everything went without a hiccup, and I could not stop smiling the whole way back home. Only a few things could be more fulfilling.