The 2022 Approach to Writing Code
At Thorgate, we have regular grill-and-chill sessions with the whole company. Besides building camaraderie and keeping team spirits high, it also allows us to talk shop and chat about anything affecting our work lives.
We also pose questions and topics, much in the style of an open forum. One topic that often comes up is “What is the future of software development?” (We’re mostly developers, after all.) Another popular theme is what digital product developers should be doing to ready themselves for writing code in the future.
Our CEO, Raido Pikkar, often finds himself, willy-nilly, at the answering end of these questions. And one of his favourite answers, often repeated, is:
“A Thorgate developer should ideally not be writing boring code!”
As regular listeners to his talks, and understanding Thorgate’s ethos as a software company, this answer is easy for us to comprehend.
Maximising Efficiency in Software Development
In the highly competitive world of software development, maintaining an edge means:
- Improving what you deliver to your clients while...
- drastically reducing costs, and at the same time…
- maintaining the highest possible quality.
Essentially, clients want more, better, and they want it cheaper.
The maxim that “You get what you pay for” is true only to an extent. Once you’ve separated the chaff — low-quality software development at cutthroat rates — from the wheat, you will discover that the wheat comes at different prices.
Given two companies who can deliver similar (or equal) levels of high quality, why would anyone take the more expensive one?
The answer is efficiency. The only way software companies can continue to compete fiercely at the top levels is to become ever more efficient at what they do, while also increasing quality.
That’s where AI can sometimes help — by taking over the mundane.
Developers should be at the top of their game. They should work in zones and fields that AI is not yet up to handling. Essentially, by letting AI do the routine, mundane jobs, coders are free to explore highly advanced algorithmic challenges as well as to think up new ways of doing things that AI has not yet caught up to.
How Thorgate Developers Approach Coding
Our team wants coders to say no to “boring coding jobs.” We believe that these will, someday, be done entirely by AI anyway.
The ethos of the Thorgate developer can be summed up as follows (beautifully put together by our tech lead, Sergey):
- For Thorgate developers, writing code should be a challenge, not a chore. Code should be a living thing, a creative thing. And Thorgate coders should always push the envelope to try and write better and better code.
- A Thorgate developer should focus on solving new challenges when coding. Old problems should be solved by reusing previously written code.
- A Thorgate developer does not just "write code." For us, programming is an art. We leave the mundane part of it to code generators, libraries and outsourcing partners. In this way, the cream rises to the top, and Thorgate can work with and hire only the best of the best for our team!
How Code Should Be Written In 2022
As a company, we are advocating, to others, a similar approach to writing code in the coming years.
Here are our top recommendations:
Use AI Where Possible
Back in December 2020, we wrote extensively about how AI is transforming the way we develop software. AI can simplify project management, assist in software design, and improve testing and quality assurance.
Follow the Pareto Principle (The 80/20 Rule)
The Pareto Principle, also known as the 80/20 rule or The Law of the Vital Few, is named after Italian economist Vilfredo Pareto, although the principle itself is only barely connected with him.
In essence, the principle states that, for many results, 80 per cent of the outcomes originate from 20 per cent of the causes (“the vital few”).
Often cited in business, the Pareto Principle indicates that business managers should focus the majority of their efforts on the 20 per cent of causes that will result in 80 per cent of the results.
I’m sure you can see the applicability immediately to your own coding projects. By following the 80/20 rule, you will immediately improve the efficiency of your code, as well as the time it takes you to write that code.
At Thorgate, our senior developers work smart. This means they focus their time and energy on problem solving or creatively finding solutions to improve our client's product in lieu of writing long boring code. We reuse existing code & packages wherever we can! This is how with Pareto's principle 20% of our work produces 80% of the results.
Be open-minded and use help!
Programmers tend to fall into two categories:
- Those who want to “figure it all out themselves” and so get buried in a problem for days.
- Those who look for help and ask questions.
There is room in software development for both types of coders.
The first type is typically the one who will come up with cutting-edge algorithms and new software paradigms, but they are generally much slower.
As the old saying goes, “Two heads are better than one”.
There are a ton of tools out there to assist coders to carry out the mundane, everyday tasks, as well as to improve the quality of your code.
Put People First
Your end-user doesn’t care how lengthy your code was, whether your team followed an agile or more traditional approach, or even if the code is entirely spaghetti code!
Users only care if an app works (fast).
This is indeed one of our specialties here at Thorgate, we understand what tech stack works for which type of product and how to create a digital product that is user-centric. We have even created a Lean Requirements Workshop to help companies work out Story Maps and User Personas, as well as how to integrate User Feedback deep into a project’s development cycle so that it more closely matches what the person using it expects.
If you keep the end-user in mind — the people at the end of the line of your project — you are far more likely to create a product that works well right from the start. For our developers this is a key thing to remember "Think people, not products".
If developers follow the above guidelines for coding, we believe they will be far more efficient, and that the code itself will be of a much higher quality.