1. Can you please introduce yourself and what you do?
My name is Martin Markov and I am one of the three co-founders of Appolica. More than six years ago we co-founded the company whose main focus till this day has been on the development of mobile applications - for iOS and Android, including multiplatform applications built with React Native. At the beginning, we kicked off with the development of native apps and as time passed by we extended our services to backend development, UI & UX design, as well as QA. So, basically, right now we can create an app from the first line of code to its release on the App Store, continuing then with its support. We have primarily focused on working with startups and our added value goes way beyond offering software developers who write code, instead we provide wholesome tech solutions to our clients.
2. Why did you decide to work with startups and not with enterprises instead?
Enterprises have already established rules and regulations that make the entire process more difficult and burdensome. With startups, we can help from the initial stage when the startup founders face tech-related challenges. Our aspiration is to step in as early as possible in order to prevent the mistakes that may lead to rewriting the entire product later on.
3. What is your opinion on working on legacy code? Do you think it's better for software developers to start writing the code all over again?
The ideal case is always to start from scratch. Then you have the flexibility to choose which technologies you'd be working with, to set up everything from the beginning in the right way. However, if a client comes with an existing code we need to take the important decision whether or not to continue working on it - based on what would be more efficient. If, for example, there is an upcoming investment round, then perhaps it wouldn't make a lot of sense to invest a big sum for the rewriting of a system. In such a case it would be wiser to patch things up so that the founders have an MVP that they can present to the investors. A legacy code doesn't necessarily have to be that bad, it may be sufficient to just fix the critical bugs. If the project is in its 'infancy' then the founders usually prefer to reach their target customers as soon as possible so they can prove their product/market fit. This is all a part of the bootstrapping process as they need to test their idea with a minimum budget. Once they have proof of concept, they can rewrite the code in order to build a more sustainable product.
Therefore, I cannot unambiguously say that legacy code should always be rewritten or, just the opposite, be preserved. It should be decided upon each individual case what the best course of action is. It also depends on the stage of the startup.
4. What issues do startup founders usually face (from a software engineering perspective)?
What we see is that oftentimes the startup founders who are not techies want a huge solution for an MVP. They tend to include features that are not a part of the main value proposition. For instance, everyone wants to include a chat functionality to their product. However, in 99% of the cases this hasn't been the real focus of the startups we've worked with so far. Instead of adding such nice 'perks', they should intend to add only the essentials that make their product truly unique. If the project has been validated to have product/market fit, then we can continue with the feature development process.
5. How does the Bulgarian software development ecosystem compare to the rest of Eastern Europe?
When it comes to our company, the quality of the code we write is our priority. As the saying goes, 'Cheap is expensive.', so we would never advise someone to go for a cheaper option. Bulgaria has a smaller population compared to some of the other Eastern European countries but I'd argue that the overall strengths of the human resources and the products that come out of our country are greater. And I firmly believe that we should strive to differentiate ourselves through the quality that we provide instead of the lower prices that our region is primarily known for.
6. Do you think that the market of software developers will become oversaturated in the future?
There are two points of view here in regards to what we perceive as ‘oversaturated’ - is it the number of people who are able to work in this industry or the number of people who are actual experts in their field? The specific thing about software development is that you cannot simply teach someone how a technology works - he or she needs to go through the entire process of learning its ins and outs, to master the architectural solutions and basically be able to build a system from the ground up. These professionals are extremely rare to find so you need to wait quite some time for the novices to reach this level. Therefore, despite the huge interest towards these careers, I don’t think that the market will be in any way oversaturated in the upcoming 5 or 6 years.
7. How many of these novices can actually become software development professionals? Is it something anyone can learn?
I wouldn’t say so. The main ingredient is motivation. You need to have the passion for it, it cannot just be your 9-to-5 job and you need to spend a lot of time on the software, including when you’re free at home. It needs to become a part of your life. And you cannot simply read 5 books and then consider yourself an expert. It’s all a combination of your skills and (this is extremely important!) the projects you work on. If you are working on (almost) identical projects, then you don’t have the opportunity to make new decisions and you won’t have the opportunity to reach the next level. When it comes to beginners, I’d advise them to start work at a company where they are able switch between a variety of projects and between different types of technologies.
8. So, for you money should not be the primary motivation for someone to chase this career path?
I’d personally say that salary should not be your main drive, yes. If I have to compare the two periods - when I became a software developer and the present, the differences are staggering. Back then the incentive for us, ‘the tech geeks’, was building something new and innovative. We were absolutely immersed into the whole creative process. Right now, most people choose this career mainly because of the nice salaries, the perks and the comfort. My experience shows that this doesn’t really work. For someone to become really good in software engineering, they need to be first and foremost dedicated to this craft.
9. How and why did you decide to become a part of the BattlePass team?
Two years ago Peter Lozanov and I started working on a startup of his and we were tasked with rewriting a part of the legacy code. It was a fruitful collaboration so I was excited to learn about his intention to open Bulgaria’s first startup studio. What I liked about BattlePass the most was the fact that the studio is focused on startups, both Bulgarian and international ones. We already have a lot of experience with such ventures so we can bring in a lot to the table from a software development perspective. So I am certain that with our joint efforts we will be able to help startups not only avoid a lot of the common mistakes but also reach their objectives.