How to Succeed in Software Engineering: Lessons Learned from a Principal Software Engineer with 20 Years of Experience in Development and Support

Inna Olenina

Inna Olenina is a principal software engineer with over 20 years of experience in working on large-scale technological projects. She has collaborated with major technology companies such as Motorola, Nokia, Sony Ericsson and Samsung, developing solutions for the electronics industry and beyond. However, her experience is not limited to the electronics industry - she has also developed complex solutions for the medtech industry and AI-enabled retail applications. In addition, she has been responsible for supporting customers in the Americas, Europe and Asia.

In this post, Inna Olenina shared her insights on working on large-scale technological projects and communicating effectively with clients and colleagues.

Universal developer: from phones to medical equipment

Olenina's career in technology began with Telma Soft, a subcontractor that assisted Motorola with developing several generations of Razr mobile phones. There, Inna worked on frontend and functional component development before joining the SWAT team to solve critical customer problems. This experience gave her a deeper dive into both technical processes and the nuances of support, which helped her excel in functional management tasks later on.

As Inna's expertise grew, so too did the intricacies of her projects. For example, she collaborated with Stereotaxis-an innovative company that uses a remote magnetic navigation system to treat arrhythmias through non-surgical methods. During the procedure, data about the patient in the form of three-dimensional images are fed to specialists' computers. Inna was involved in developing new features and programs for this sophisticated medical equipment to help doctors perform procedures more efficiently and manage 3D images and anatomical maps. Describing her experience with Stereotaxis, Inna says, "I was creating equipment that brings real benefits—equipment that helps save people's lives."

These products were followed by others, such as the development of the MeeGo operating system for Nokia and one of the best antiviruses on the market. Then, seven years ago, Inna, as an expert in software engineering, was invited to work on a large-scale technology project: she participated in the creation of several mobile applications for retail, which are now used by tens of thousands of auditors from 70 countries. The apps allow brands to collect data on how products are presented in stores and how well they sell, analyze it with the help of AI, and adapt their sales strategy.

Inna notes that working on such different projects requires constant adaptation and learning. Technology changes quickly, and it is important to keep up to date. Moreover, every new device and operating system requires updating your knowledge. Understanding the principles helps to move from one programming language to another, but it is not enough to work as a software engineer - you also need to have a good understanding of the subject area. That is why Inna studied anatomy when working with Stereotaxis, and when creating applications for retail, she delved deeply into business models and data science.

New heights: moving from development to functional management

In 2018, Inna reached a new level in her career. As one of the most experienced developers in the team, she was offered to move to the US to support retail application clients from the EST time zone. This was how she transitioned from manual technical work to functional management. Inna provided a seamless product experience for large customers. She communicated with customers, requested data from them (e.g. logs from devices), identified the sources of problems and either fixed them herself or contacted colleagues to adjust the program code.

In her new position, Inna communicated with clients from all over the world: from the USA, Canada, Latin America, Germany, Denmark, Bulgaria, Hungary, India, China and many other regions. It was not easy to adapt to such a job, Inna admits: at first, the language barrier, difference of mentalities and communication peculiarities interfered. However, she successfully overcame these difficulties by studying the culture of her clients. "There are temperamental people in any country. If I see that a client is speaking on emotions, I try to wait for those emotions to settle down. Then we can move on to a constructive dialog and solve the problem together."

Inna also notes that it is important to understand fully the needs of the customer and their business, to actively listen and ask clarifying questions, to communicate your thoughts clearly and without unnecessary technical details, and to manage expectations competently instead of promising the impossible. And, of course, it is necessary to document every step - all agreements and changes.

Such full transparency is also needed in development: it is an integral part of Agile methods used by modern IT companies. When all processes are documented, any team member, whether a functional manager, tester or developer, can easily analyze the product for bugs, understand how well it meets the customer's requirements, or find opportunities for optimization.

Not only a manager but also a consultant and a mentor

Inna's new responsibilities were not limited to resolving customer issues. She also advised customers and users on how to improve the product or make changes to it. "A common situation is when customers see some functionality in the market and want to replicate it for themselves. It can be a specific function or such as UI/UX design and user experience," she says. A striking example: when her team implemented data transfer between two devices for one of the projects, other customers also wanted this functionality.

Inna collected information about clients' needs and goals and their desired functionalities. She analyzed data input and output requirements, evaluating system requirements, among other things. She also assessed the feasibility of projects (in terms of costs, potential impact and development time) and, provided that the innovations were worthwhile, established communication with the project team and prepared recommendations on architectural design.

At this stage, it was important to know the subtleties of communication not only with the end customer, but also with colleagues. Inna shares a few tips that have helped her build communication over the course of her long career. First of all, it is important to be clear about your requests, but also let your colleagues know that you are open to feedback from them. Secondly, you need to have regular meetings to keep up to date with current tasks and progress on them. And, finally, you need to know the strengths of your team, support people in their development and build on their interests.

As an expert in development and communications, Inna has, among others, helped train new employees from different countries. She conducted week-long training in which she explained the basic functionality of the products, the main development principles and other key aspects. Afterwards, she supported her colleagues in their work by answering specific questions on their projects.

"I can train others effectively by sharing my knowledge and experience in both development and support. A developer with no customer service or support experience can code, but is unlikely to be able to tell you how that code works on ten different devices," Inna explains. So thanks to her diverse experience, she can play the role of not only a lead developer and a link between customers and programmers, but also a mentor.

Related topics : Samsung
READ MORE