From A Nigerian Software Developer — Six Things you should know starting out
I was introduced to the world of software development early 2009 and since then
Bleh bleh bleh…….
I know right, I hate all those long bio stories too. I don’t think you are interested in reading all the interesting stories that have happened ever since. There is a reason I am writing this article, and I will explain soon enough.
I have always been passionate about software development, but I had a lot of challenges, mostly because I was resident in Nigeria. Don’t get me wrong, Nigeria is a great place to be, but the challenges new & upcoming software developers face is how to develop the right way and build a reputation in the software community. In this post, I am going to list a few things you have to start doing now so that you can be well on your way to becoming a world-class developer. Let’s start.
1.Use Version Control like your life depends on it
Here is an interesting fact, most Software developers in Nigeria cannot use git. They probably have heard of it, and maybe they have an idea of what it is supposed to be doing, but they have never used it. I know a colleague of mine that asked someone in another company that was having an issue to upload his source code on Github and the response that followed five hours later was amazing
Github is not working on my code.
You know that Be like Bill campaign that trended earlier this year, If Bill is this guy, Don't be like Bill.
Git is not the jollof rice served in a Nigerian wedding, Git is the bride at the wedding.
There are lots of interesting tutorials out there on Git. You can start with this tutorial. Practice atomic commits, it is hard at first, but you will get used to it. Practice collaboration, try to upload mini projects that you have worked on to GitHub. Who knows, your next employer could be looking at your GitHub profile.
2. Test Your Code
The truth was two years ago; I didn't have an idea of what Test Driven Development(TDD) was all about. I saw discussions where people talked about testing, but it didn't seem like any of my business till now.
Think of big sites like Facebook, do you think they do TDD? Yes, they do. TDD is a crucial part of software development. I can tell you, if you start testing your code when you are starting out, you are going to get used to it, and it will be near impossible for you to ship an application that has bugs in it.
On the other hand, If you don’t make it a habit to test your code, Chuck Norris and Pete Edochie will visit you one day and I don’t have to tell you what the outcome will be.
You could start by finding out how to use test frameworks for stacks that you are currently using. Once you get a hang of it, It would become second nature to you.
3. Build your reputation online and show appreciation
If you say you are a software developer, then the probability that you have used Stackoverflow is 100 percent. The thing is since it doesn't cost us anything to get answers, We forget one of the essential things that we are taught all our lives: appreciation. I know we are all not perfect, but we can start small
Next time you visit Stackoverflow or another website that solves your problem. A simple thank you in the comment section would let the author know that they have impacted another person positively. If you find a GitHub repository that helps you solve your problem, star it. Whenever you learn something new, and you think it is interesting, write a blog about it. Blogging is another way of building a reputation online. We all want to be appreciated. Upvoting an answer on Stackoverflow will not kill you, also answering a question that you know the answer to wouldn't kill you either. Helping somebody out helps build your reputation online. It shows you are a team player and one who can carry someone along. Did I forget to mention that potential employers could also look at Stackoverflow accounts and blogs of potential employees?
4. Keep getting better
I have seen a lot of stupidity in my short time in this field. I know people that don’t just want to improve, they have been using same old technologies for more than ten years and still develop abominable craps that they call software. There is a reason the software field is unique. It is not like medicine, It keeps changing. There are a lot of interesting websites out there where you can improve yourself. I love HackerRank and Coursera; there are many of them out there, so there is no excuse not to improve.
I would advise you to improve other aspects of yourself, not just the technical part. Develop your communication skills, improve your writing skills, improve your non-verbal skills, increase your charisma. One thing is sure, you can be technically sound, but if you don't improve your non-technical skills, you might have a big problem progressing rapidly in the software development world.
5. Meet with other developers
There is no other place to meet smart and like minded people than a meetup. This is where you can hear of a tool or technology for the first time and the next thing you know, you are addicted to it. Meetups are necessary.
There are many tools out there you can use to find out about upcoming meetups in your area. I use Meetup, Attending.io and Eventbrite. If you cannot find a meetup in your area, start one, they say an ocean is formed by drops of water, so start small and get more people interested in your meetings. A meetup could be a place where you get the next best new idea or find the next badass partner.
6. Give Back
This is one part even some of the best software developers in Nigeria still have problems with. We can give back to the software community in many ways.
- Introduce coding to the younger generation — As we learned in school, Children are leaders of tomorrow. You can introduce software development to the future tech entrepreneurs of the African continent. You would find Code.org very useful in doing this.
- Mentor other developers — When you can teach and mentor other people, you tend to understand the concepts better. Find avenues to teach people that are interested in software development.
- Contribute to open source — I always save the best for last, and this is the best. Nigeria has a population of over 177 million people with an average income of fewer than 3 dollars a day. This means a lot of Nigerians cannot afford to buy licensed software. It also means that a lot of Nigerians would use a free and open source software to improve their personal lives or their businesses. By now you should know why I am quoting all these numbers. But in case you don’t know, I am encouraging you to start contributing to open source projects. There are lots of advantages to doing this, but that is not why i wrote this article.
And with that, I am done — at least for now.
This is my first blog post on Medium and I would like to thank Dara Oladosu, Danvery Verem Daniel, Kolawole Nafiu Erinoso and the legend Prosper Otemuyiwa for their inputs and also for being passionate developers.