As one of the newest members of the team, I would like to present my journey of landing a job at Covve as a Backend Software Engineer. But what is the best way to start this blog if not to mention my background? I am Vasilis, a graduate of the department of Electrical and Computer Engineering at the University of Thessaly in Volos.
I was a person without prior work experience. As such, I was in constant fear of not being given a chance. Although the software engineering industry seems super promising for several years now, it is very hard to overcome the fear of landing your first job or to get to the point of feeling ready for this big step in your life. In addition I was expecting to find a place where I will be inspired, I will have the time and support of my colleagues to learn, to pass on their knowledge and to guide me in the vast world of software engineering.
After a lot of searching, I came across Covve’s blog and started digging, as I wanted to find some more things about the company. Ι felt immediately intrigued by the posts, such as the one you are currently reading 😊 (this awesome blog post about a scrum survival guide is one of my favorites). Storming through Covve’s products, website and LinkedIn page, I got excited about the startup environment, as a new world seemed to come up to me. Startups are at the forefront of new tech and innovation, so you can expect a lot of change and adjusting all the time. The startup environment is dynamic, and everyone’s role is incredibly important and extremely visible. One must be flexible and adaptable in order to fit in. I clearly remember my enthusiasm for Covve’s products, the bonding of the team from the various photos I had seen and this dynamic environment of innovation. It surely ticked a lot of my boxes!
On the day of the interview, I will not hide that I was anxious and scared about the whole process. However, the greater my fears the more I calmed as the process progressed. The process started with algorithmic problems and how someone should approach one, without restricting the use to a specific programming language, we then proceeded to the solution of a theoretical problem and the thought process for its solution and at the end a conversation with Alex. I surely met some amazing people that day (and many others I met afterwards!). The whole interview seemed like a conversation with a fellow student or a friend about technological or engineering issues as well as a chit chat about our lives and our interests. You do not always have to know the most or be the most experienced, as long as you have the passion and appetite to be an engineer. A few days later I got an offer which, after 2 seconds I accepted.
Starting in this new environment, I was prepared to deal with various problems, most of which were caused by Covid-19 and working from home. However, the beginning was so much better than my expectations. My first days were full of onboarding events and calls, infrastructure and business overviews, discussions about code best practices, reading and sitting in on meetings where I learnt a lot about Covve. I took my time to start learning a new programming language with the help of books and online courses. My hands-on training period began a few days later with a mini project to get used to the coding style and structure alongside various discussions about the programming language (C#), SQL, the software stack and tools that I would be using daily. At that point, I came across the concept of one-to-one code reviews and how I can be in line with best practices, and I learnt to make good use of bug tracking software, GitHub PRs and issues.
As time went by I started having a more active role, getting involved in different products and aspects of a company that I did not know they existed. We have daily standups, weekly team updates, engineering sessions, game nights and a whole lot of other sessions and fun get-togethers. I have constant communication and numerous meetings – or to say friendly gatherings – with the other members of the team. I had already started to have my tasks, learnt how to unit test for the desired functionality and overall, how to be a valuable member of the team. Furthermore, we started to have discussions about harder concepts, such as software design patterns, CI/CD and cloud services in order to grasp the idea of how my code could be deployed to production. I won’t hide that one of the most impressive things is for the first time something you have coded to be used by many people worldwide!
For those of you who are in a similar phase in your career, let me close this post with some tips from a newcomer’s perspective:
- Never become complacent. You may have experience on some subjects, but you do not know everything. Feel free to explore new territories based on what is required for the job and do not get stuck on what you already know. Be open to learning and constructive criticism, and do not hesitate in asking for help or asking questions as they come up!
- Find your balance. Try not to be shy and speak your mind but on the other hand try not to be overconfident. It takes time and effort to know when to speak your mind.
- It is fine to make mistakes. All you need to focus on is your learning– despite the various mistakes you will no doubt make. Be open to taking over bigger tasks you think you can handle and do not avoid challenges. It is those that will take you to next level.