I am a back-end engineer and Python is my primary programming language. As a senior developer, I am also involved in line management and currently support a team of 6 engineers in their personal and career development.
I first became interested in programming in school. At that time, some of my friends were already working in this field. So, when I purchased my first computer I started studying programming in depth. This knowledge, along with my background in mathematics and physics, helped me gain admission into university. Then at the end of my last year in school, I was admitted to Zaporizhzhia State Engineering Academy without any additional exams.
In my third year of university, I started my first job as a control systems engineer at a company that manufactured and reconstructed machine tools for local factories. I was curious to see the interaction of a program with hardware and the physical environment. If there are any code mistakes – they are evident and the testing process is much more exciting because if something went wrong, it usually resulted in a few broken machine details.
In time, I wanted to grow as a software engineer. Since I had a bit of experience in web development, I decided to move into this field. I mastered PHP, then Node.js, and then Python. As my skills expanded, I also grew from a junior developer to a team lead.
Python has been in the market for more than 30 years, and consequently has a lot of advantages—a big community, continuous updates, and frameworks that can help you build MVPs very quickly, in a few weeks or even days.
One of the most common benefits of Python is in its ability to create and manage data structures quickly—with Pandas or NumPy libraries for example. Therefore it is extensively used for data analysis, data processing, and machine learning. These technologies can put your customer experience on a new level with the introduction of personalization or recommendation algorithms.
However, I do not want to label myself as an expert in Python or any other language. Python is the best option for our current project, though it might change as the clients’ priorities shift and I am okay with it.
First off, I am a software engineer—a problem solver who can adjust the skillset depending on the project requirements. This approach has gained popularity, and for me, this is a sure way to become a successful engineer.
There are roadmaps that list all of the things that are useful to know for any kind of developer. In the beginning, they are pretty similar to any engineering profession, for example learning how the Internet, API, and computer networks work.
It seems easier to skip this step and move to a coding language of choice—but to some extent, everything in engineering is a tradeoff and it’s important to know exactly what you’ll get, what you’ll lose, and how it will affect the overall product experience. Understanding the basics makes the difference between a good and a great engineer. It allows you to see the pros and cons of your engineering decisions, make the best possible choices, and show a genuine interest in your work.
I approach each project as a creative exercise rather than a task to complete—and ask lots of questions to understand the problem the customer wants to address. If there is an existing codebase, do not shy away from reaching out to people who understand it more than you do.
I take online courses—Linkedin Learning or Udemy. Not all of the courses there are great, but some are worthy of attention. Recently I enrolled in a Data Science course on Coursera. After a while, I realized that I’m more curious about the benefits and integration of ML/DS into real projects instead of going into the development of such algorithms. Try new things and you’ll find something for yourself.
I believe that software engineering is a team effort and I pay attention to my communication. To cultivate my soft and leadership skills, I took part in our line management activities as Transcenda expanded.
One thing I recommend to everyone is to develop a reading habit. Reading is a basic building block for learning. It’s always a good idea to pick books related to your current responsibilities, about the roadmap basics mentioned above, or about any other topic that feels relevant to you. Of course, books are not a cure for everything, but they can offer helpful advice when it comes to personal or professional development.
Here are a few recommendations from me:
I joined Transcenda almost two years ago as a member of a back-end team. At the beginning we worked purely with engineering tasks, and over time our client included us in product planning processes—like setting out the requirements and defining the next product features.
Transcenda’s Customer First Mindset aligns with my approach to engineering. It is not enough just to mark a task done, but to do proper research and solve it in the best possible way. I believe this is what makes our team different.
Since I spend most of my day at a desk, I like to add some movement into my life. It’s beneficial for the body, mind, and soul, so I usually take 30-minutes of active breaks in nature. I prefer cycling, running, and on days when I have more free time – hiking.
I also love traveling. I was most impressed by the spectacular mountains and nature of Georgia, specifically the Svaneti region. The US national parks are also on the list of my favorites—I have been to Sequoia National Park and Yosemite, and I really want to go back there someday.