Recently my capabilities as a software developer and as an aspiring entrepreneur in Tanzania have been tested extensively, sad to say that the tests have only begun. Very early in my career, I can say, only two years in software development, and yet as my knowledge and experience expands, I find that there is still much more to learn and discover, and I believe most software developers in Tanzania can attest this to be the case.

There are some challenges that I believe are dependent on whether you develop software in corporate companies or develop in small companies or freelancing. And there are challenges that any developer will encounter. I intend to shed light on both in hope of finding solutions and/or insights on how to overcome such challenges. But since my experience is limited to the small companies and freelancing, that’s where I’ll direct the spot light for now.

There are various challenges faced in the various stages of starting the business in software development industry, this article will enumerate the ones when you are freshly starting, from college, university etc.

1. Networking

The question is simple “How does a software engineering or computer science and relating fields graduate attempting to self employ through software development get enough projects to sustain the business itself and his living expenses?”.

“Effective networking isn’t a result of luck — it requires hard work and persistence.” — Lewis Howes

The quick answer especially in Tanzania is; grow your network through marketing and referrals, get more projects, get paid more. In all honesty it is neither easy nor realistic as most are made to believe. It is the case mostly for those who have the privilege to have a foundation to start their building upon, this can be in form of backing funds from parents or relatives or from close people who can fund ones ideas. That being a rare case, most people find themselves employed faster than they can find their proper footing in the business. So the answer would be you have to be very lucky, privileged or very smart. No shortcuts. Networking is a very challenging part of self employment in software development, and can be the difference between succeeding or failing early on in your career.

2. Portfolio

“What work have you done before? Whom have you worked with before? yes you have skills, but how can I trust you to do my work?”

“In unacquainted markets portfolio infers credibility”

The question of portfolio lightly resembles the question of CV or work experience. To get work you need experience, to get experience you need work. Same could be said about portfolio. To get projects you need portfolio, to get portfolio you need projects. How does one solve said ambiguity? well the answer here is anything but comforting. Start small, have patience. Easier said than done, if we still stick to the honesty policy. Starting small means doing projects without getting paid, or even if you get paid it is far below what the actual value of the work is. The problem here is how do you cover your living expenses while you do projects to grow your portfolio? This question led me to employment very early as I boarded the entrepreneurship boat. It why more than half of started business fail few months after getting started.

3. Capital

“Are you registered? Where is your office? I need a legally recognized receipt”

“If capital and labor ever do get together it’s good night for the rest of us.” — Kin Hubbard

It is undeniable that its nearly impossible if not impossible to start a business without capital. Software development industry is definitely not immune. There is a certain limit of project scope that you can do without requiring legal back stand. And mostly when you start to market yourself to various companies this question arises. For most the solution is to subsidize their operations to a company that is fully legal and pay some commission fee to the company that backs them, reaping benefits of recognition, branding oneself. Again it is also ill advised since the companies will put conditions that chain you to them, intently or otherwise, to keep you reliant on them as this means profitability to them.


With all that, I still believe that it is very possible, and all can be done, with unshakable perseverance, will, grit and commitment. It is all required when at some point failure strikes, and believe me, IT WILL!

There is much more that I intend to cover in this topic, which is why I decided to divide it to parts, the next articles will shed light the challenges faced in the next step in software development entrepreneurship or start up.