TechBullion: How did you get into programming?
Eugene Cozac: Growing up I discovered my interest in maths and STEM science. I started coding on my own, and of course, by the time I finished high school, I was 100% sure that I want to work in IT. So, I got a degree in Computer Engineering from the best University in Moldova. Before got into programming I assembled more than 300 computers as my first degree was in Computer Engineering.
TechBullion: What was one of the most challenging projects for you at the very beginning?
Eugene Cozac: Well, I can’t say that I had some hardships at the very beginning. But there was one in the third year of my career when I became a front-end developer for Samsung Pay. Since I was the leading UI developer of Samsung Pay Promotions, I was in charge of everything. Samsung Pay had more than 15 million users back then, and any issue or bug could influence their experience. If something went wrong at any given time, all the users were able to see that. So I was very careful and tried to deliver the highest quality possible.
TechBullion: Usually, people specialize in a narrow scope of programming languages. How did you end up being so well-rounded in terms of programming languages?
Eugene Cozac: Usually, a developer’s career path is basically a promotion from Junior to Senior level over time, with the enhancements of their skillset. But this is not enough. Most of the developers would likely work at the same company and on the same project for a couple of years, but this is not the way how you can become the top 1% of developers. Also, people are not necessarily able to swap projects very fast, and if they want to move to another company, this can become challenging. So I want to say, is that many developers are in their comfort zone, which is also fine. At the same time, even Senior developers would be not always willing to take responsibility to be head of the project, they just are doing their tasks. Probably, it has to do with a personality% most people simply do not want to participate in hackathons, be a part of the science, or build something which resolves a problem in programming. They are kind of lazy and they are staying good in their comfort zone. I was always curious, and my ability to learn several languages comes from my willingness to solve the problem in the best possible way versus just being able to code on yet another language.
TechBullion: Did you take part in some hackathons or programming sprints?
Eugene Cozac: Not really. I know that many developers can try their skills on hackathons, but I think the most important thing is to try to build as many projects as you can, and to work in different environments. True, developers often want to demonstrate to others or to themselves how cool they are through the hackathons, but, as for me, another way to prove your skills is to build your own framework on JS/CSS, and make it public or implement your framework in a company where are you working. And there to prove why this company should use your own framework, but not React or Bootstrap, or Material UI. Anyway, only 1% of the developers win hackathons, creating their own framework can build some platforms which will be reusable for millions of users.
TechBullion: What was your fastest build product? How did you interact with the team during the process?
Eugene Cozac: Usually, developers work in an Agile environment, and they have a number of tasks per sprint (2 weeks). What to do if these tasks are divided by 2 weeks, but you can do everything in 3 days? Not all companies are ethical to ask for more tasks because we are equal, l and also Project Managers are planning an amount of work for all developers. But I had a situation where I was a contractor for a company in which I was only one developer, and that’s why I choose that company. For me it was not so interesting to work on a small number of tasks, I wanted to build a Web App for a company all by myself, for example instead of 5 developers. In 11 months I created a CRM system from scratch till the end, there was API, UI, and UX work. This project was done very fast with a lot of functionality like managing projects, tracking inventory, generating invoices, creating and managing quotes, as well as tracking inventory using GPS. I do not have up-to-date information, but this CRM will be sold as a subscription due to the small niche of business: acoustics in construction.
TechBullion: What does it take to be a top-notch developer?
Eugene Cozac: Many developers can respond to you that experience is the most important thing if you want to be a top-notch developer, but this is not necessarily true. I know many developers who have more than 10 years of experience, but many projects or different complex tasks can be challenging for them. This can explain why for someone it takes 7 – 8 years to become a Senior Developer while it takes just 4 years for others. So, the best approach is to develop your exceptional abilities, and the right way to task solving, and then experience. At the same time is good to do interviews in development for hire: I did more than 100 interviews for various clients. As I said to prove your exceptional abilities and skills in programming is to implement a project in your own framework in the company for which are you working. This means that you not only know programming languages and how to use frameworks but you can build your own framework and prove to the company to use it. So based on your own framework will build a product that will use millions of users. I think this can do only 1% of developers. For example, I am building my own UI framework which can be used in combination with React the name is Krypton. It is still not finished but for one of my current clients, I am using parts of Krypton to build a new project. So the current client is not using my framework entirely but partially, but I hope till we will finish the project for this client my Krypton will be done, and more than 60% of the project will be built on Krypton. Also, one good tip to be a top-notch developer is to write science publications in professional journals, I have more than 25 of them. Also, I did more than 100 peer article reviews, because as a developer, you need to be not only a part of programming but also a part of science.
TechBullion: What are your strongest skills?
Eugene Cozac: I would say, the ability to join any project in any timeframe. I was in different situations from when I started the project from scratch or I joined when the project was in progress. Many companies are giving you time around 2 – 3 weeks to understand it, usually for me takes 2 days. Developers with exceptional abilities are able to understand any project and begin to fix issues or do tasks in days, not weeks. Also, I can work on 4 projects at the same time. I suppose, only 1% of developers can do that, I mean all kinds of developers from Junior to Tech Leads. I had the experience of working on 2, 3, and 4 projects at the same time, and delivering very good results, moreover, on all of them, I am at least a Senior or a team lead for around 4 developers. Also, at this level, you need to be able to mentor other developers from Junior to Senior. To work also very fast not only in a day to day projects but also to build something like an open-source framework, write scientific publications, and so on. Quality. Speed. Diversification.
TechBullion: What language was the most challenging for you?
Eugene Cozac: I do not think that any framework or language is very challenging, once you know one programming language others are kind of the same just have a few other rules, or a framework can have fewer or more features. For an exceptional abilities developer does not exists any challenging programming language.