Today, Flash and IE are commercially extinct, web technologies have evolved beyond recognition since those CSS days, and Illia’s 20-year career trajectory has equipped him with the skills and techniques required of a seasoned Web 3.0 developer. Over the years, he has developed considerable expertise across a range of web development technologies, frameworks and tools, including React stack, Node.js, Solidity (Ethereum contracts), Relay, GraphQL, MEAN Stack and Figma. He has also gained valuable multi-industry experience having worked with established names, like Cisco Systems and Mediacorp, as well as startups in the blockchain, data intelligence, and financial services space.
In 2020, Illia joined the BioStrand team as a front-end developer. In his current role, he is responsible for all aspects of frontend web application development, including design, implementation, performance, and security, and delivering an exceptional user experience for BioStrand clientele.
After 20 years as a web developer, Illia continues to enjoy working on ‘blinking buttons’, ‘playing with fonts' and everything else that he hopes will make people's web experience simpler and richer.
What does a front-end developer do in a start-up?
At Biostrand, I'm responsible for converting ideas into a fully functional feature or module within our application. So everything starts with the idea, and we have long, frequent discussions regarding the need for specific functionality, how it helps our users, how it should work and the resources required to realize the idea. At the end of these discussions, we have a clear understanding of the requirements and the next steps in the development process.
Once the requirements are finalized, I then discuss them with the UI/UX designers, in terms of what needs to be done to deliver the best user experience, and with the backend development team, in terms of what APIs should be added to the backend. At this stage, I also need to have a discussion with myself about how all that will translate in terms of frontend code. Once everyone has signed off on the plan, we all get to work on our part.
Now, that sounds like quite a straightforward process but start-up reality is always a bit more complex. Sometimes the idea may take longer to implement, we may need to review the functionality or another higher priority task may surface, and all that is par for the startup course. The most challenging part of the process, however, is to figure out the simplest way to deliver even the most complex end-user functionality. And the simplest way usually is not the easiest way.
What software or tools do you use every day?
I use WebStorm by JetBrains for coding. I like JetBrains products for their simple UI and tools, especially for integration with code control version systems. We use Figma for UI/UX design, mockups and comments.
Our application is written in the React framework together with TypeScript, Redux, Redux-saga, and Mui components, a very powerful combination for creating applications. For data visualization, I use a combination of SVG with React and D3.js. Sometimes it is more efficient to just directly draw everything on the canvas, so it depends on the task and requirements.
What do you think are the most interesting areas of your field?
For me, the most interesting part is the data visualisation. Bioinformatics works with huge amounts of data and the code has to be optimized to work with the data volume and the UI elements. The challenge is to present all this data in a format that is human readable and to visually communicate a lot of quantitative content. Key points of interest have to be highlighted so that they attract users’ attention but should not be so "over-highlighted" that they completely block out secondary details. Therefore, there’s a lot of room for creativity and problem-solving.
What’s the most important skill a front-end developer needs to be successful in their role?
The most important skill, especially for front-end developers, is to learn new skills. New frameworks and libraries appear, and disappear too, every day. So, learning is a never-ending process. Googling is also a very important skill!
But communication and empathy skills are equally important. Having the right discussion and understanding of user needs can help you find a better solution faster than just writing and rewriting code. In frontend development, the distribution between team brainstorming and writing code is 20/80. But the discussions are the most important part of the work.
Do you have any tips for front-end developers?
Focus on the fundamentals and principles of development as they are more important than good knowledge of some library or framework. Also, learn how to write clean, easy-to-read code. My favourite quote in this context is “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. Code for readability”.
In addition, make your code easy to modify and throw away. Don't get too emotionally attached to your code. In frontend development, I can bet that in 5 years 95% of your code will be rewritten or thrown away.
Tell us about what you do when you are not working?
Sometimes it is necessary to have something more permanent and predictable than front-end development. So my wife and I are renovating our old Belgian farm. I'm not sure that this is a predictable process but it looks like a very permanent one.