About one in four businesses in the United States do not survive their first year of operation, as the latest data from the U.S. Bureau of Labor Statistics (BLS) reports. This number is staggering, considering the country has 33.2 million small businesses. For any businessman, it’s crucial to recognize that success or failure often pivots on their key employees, underscoring the significant role played by Senior Software Engineers. In light of this, we turned to Vissarion Chakvetadze, a professional Senior Software Engineer with impressive work experience and advanced technical skills, to understand the reasons behind these failures and how to prevent them.
Thank you for coming to us, Vissarion. You’ve got more than a decade of experience working for different businesses. Can you please tell me why the work of senior software engineers is so essential for the success of any business nowadays?
I’m glad to be here! Thank you for the question. Senior software engineers are not just essential for businesses. They are the key to preventing business failures. Their technical expertise, problem-solving skills, mentorship and leadership abilities, quality assurance capabilities, and risk management expertise are unparalleled. Their deep understanding of software development principles and technologies enables them to efficiently design and develop complex systems. They also play a crucial role in mentoring junior engineers, providing technical leadership, ensuring code quality, and identifying and mitigating risks, ultimately driving innovation, improving efficiency, and delivering high-quality software products.
This means that in addition to programming, you take on other responsibilities, such as mentoring and leading the development of new major projects and initiatives, which makes you one of the cornerstones of business success. Can you share your experience on business failures?
One project I worked on is a stark reminder of the importance of clear communication and strategic decision-making. Unbeknownst to me, we only had four months to complete it. The development tools had been chosen before my involvement and needed to be more suitable, and more effort was spent on building unnecessary architecture. This caused everything to progress very slowly, and ultimately, the project was shut down. This experience taught me the importance of transparent communication about our work conditions, time availability, and whether we should prioritize speed over quality. It’s more than just necessary. It’s urgent. Not to build complex technologies immediately and consume the team’s time. However, it may be worth preparing for a sudden influx of users, such as during a marketing campaign or event like Black Friday, to prevent site crashes and missed opportunities.
That is very interesting! And what other obstacles have you faced along the way?
I’ve worked in companies of various scales, ranging from small teams of around ten people to larger organizations with over 200 employees. This diverse experience has given me valuable insights into the different dynamics and challenges that come with each scale. Smaller teams often have a greater camaraderie and the ability to wear multiple hats, while larger organizations offer more structure and resources to tackle complex projects.
From 2016 to 2019, I had the opportunity to work at the UK’s leading app commerce SaaS platform. The platform powered significant retailers and fashion brands’ iOS and Android shopping apps, offering a software-as-a-service solution for developing native applications.
The problem users faced was that many retail companies either did not have a mobile application or their existing app needed to meet their expectations regarding quality or functionality. Additionally, some companies needed help to support the development of their mobile apps for various reasons. This presented an opportunity for our platform to offer a solution enabling these companies to quickly and effectively develop high-quality native iOS and Android applications.
My role involved developing integration services and APIs on the Azure cloud platform, implementing key platform services such as shopping carts and wishlists, and maintaining functionality for migrating data from client databases. Additionally, I worked on updates for the data access layer and SQL database, including stored procedures and database schema, and designed and wrote automated unit and integration tests.
And it was a success, right? A 15% profit increase for retail brands’ first mobile apps.
Absolutely. It offered default features like product listings, shopping carts, and payment modules, with integrations for major e-commerce platforms. This allowed quick app launches with customization, enhancing online presence, engaging customers, and driving sales growth through mobile channels.
One more exciting challenge I faced was during my work on an Instagram scheduling tool. The tool addressed the need for users to schedule their posts on Instagram in advance, edit them conveniently in the browser, and add comments with emojis and geo-tagging support. Additionally, collaboration features were needed for both single users and teams.
In a team of four, including a project manager, designer, and backend developer, I was responsible for the entire development lifecycle, from requirements analysis to release updates. I implemented key parts of the application, such as the post list module, user information page, login and registration pages, and image upload module.
To provide a native-like experience in the browser, I used a single-page application approach, which improved user engagement and resulted in faster load times. I also developed a release process that included minification, code compression, code splitting, and deferred loading to enhance performance and reduce data usage.
Monitoring tools were used to track application state and user activity, measure performance, provide analytics, and make data-driven decisions. The application was hosted with AWS S3 and CloudFront to achieve fault tolerance, fast loading speeds, and a consistent user experience across different devices and platforms.
Vissarion, almost everyone nowadays uses Instagram! Thanks to your work, users can schedule their posts efficiently, edit them seamlessly in the browser, and quickly add comments with emojis and geo-tagging support. This sounds inspiring! Could you share insights on how to help start-ups or existing businesses thrive and succeed based on your expertise?
Understanding the specific needs and priorities of the business you’re working for is crucial. Rapid development and quick delivery are key in early-stage startups or situations with limited resources. On the other hand, in larger companies, prioritizing code quality and ensuring transparency in the development process are often more critical. The type of application and its target users also play a significant role in determining the approach and architecture decisions. Additionally, considering users’ location is vital for providing a seamless experience across different regions. With limited development time, it’s essential to prioritize tasks based on their potential impact and benefits.
From the perspective of a senior developer, effective communication is paramount. While breaking down tasks into smaller ones can aid in tracking progress, it’s essential to maintain a balance. Providing too much granular detail can obscure the big picture, making it challenging to make informed architectural decisions. As a senior developer, it’s essential to guide the team in prioritizing tasks based on their impact and frequency of use. For critical or frequently used tasks, investing more time upfront to ensure they are well-designed and implemented can save time and effort in the long run. It’s about finding the right balance between detail and clarity to provide efficient and effective development.