My name is
Jurgens du Toit.
Technology and Solving Problems are my passion. I'm a South African that loves my wife, life, and coding.
I'm writing a book!
I have the privilege to be the Head of Development of Branded Internet, a white label ISP in South Africa. I also like to read and think about how startups work, and what they do to make them successful. As I see it, the basic recipe for a startup is:
If you see the company you’re developing for as your client or target market, software development follows basically the same recipe.
Usually people come to the developers of a company with a problem. I need App X to do Y and Z. App C doesn’t do D correctly. I’m not very good at spotting problems that are potentially money making, so I’m quite happy to be a developer where people come to me looking for solutions. That’s the first step sorted.
Startups depend on the fact that they solve previously unsolved problems, or they solve problems in such a way that people want to throw money their way for the privilege to use the startup’s solution. I suspect that this may just be one of the reasons why developers at bigger companies don’t necessarily produce quality code: There’s no incentive to do it quickly, elegantly or intelligently. Just get it done. If it takes you three times longer than projected with a code base larger than the Kalahari, who cares. It’s done, and you got your salary at the end of the month.
If a startup thinks like that, it’s dead in the water.
Solving problems better is always better. Yes, there’s major time and money constraints on most developers, and elegance isn’t always achievable, but good developers should always be open to solve problems in a novel way. Don’t be a mill churning out code, be a creator of great code!
Do what you do. Be a thinker, then a typist. And do it well.
Having built the solution is not where it stops. For most developers, it’s where they wished it stopped, because, let’s face it, if we liked speaking to people, we wouldn’t have become developers. But unfortunately you as a developer need to take it further. You need to market what you’ve done. A product that no one knows or knows how to use doesn’t exist.
You need to tell your superior and your peers about the fact that the project is up and running. You need to document the code and the use cases so that other developers (including your future self) knows what’s going on. You need to train your clients (the users) who originally requested your help on using the project. You need to get feedback from your clients on if this solves their problem, and go back to the code if it doesn’t.
I find it immensely rewarding to be able to solve problems for people. Yes, the salary is great, but there’s times that I will literally code for free. Not just because I like solving problems, but because I know that I can make someone’s work day less frustrating. You get the gold and the golden glow.
By thinking or your rote work in terms of a startup, where you need to be agile and more than just a normal developer, going out of your comfort zone and speaking to people, your average work can become great work, and your worth will be measured in more than just a salary check.