A Beginner’s Guide to Software Development (Naija version)

A Beginner’s Guide to Software Development (Naija version)

Image for post

If you are reading this, it is possible you know one or two persons who are programmers, you heard they were being paid Nairas & dollars to communicate with computers, they look pretty cool with Macbooks. Second, you are at this stage of your life where you are not certain of the future and learning how to code sounds really exciting, you dabbled into one of the so many programming groups on Facebook or heard of a tech event or you are looking to transition from your current job. I am going to try to demystify software development to make it easier for you for affirm your decision of being part of the big picture.

If you have asked any of these questions below, then this article is for you. I will attempt to answer the questions which people ask frequently.

  1. I want to learn programming? Yay! Congrats on taking this bold step. It is a good thing to learn programming. Computer programming is the craft of writing useful, maintainable, and extensible source code which can be interpreted or compiled by a computing system to perform a meaningful task — — source(Wikipedia). However, it is important to note that programming is much more than writing useful code that a computer understands. To understand computer programming better, check out these articles hereand here.
  2. What is software Development? Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components (source). Quite mouthful but do not be scared.
  3. How do I start? I think google can help. It is always easy to start with the easy ones and gradually progress into the tougher lessons. As a newbie, starting with HTML and CSS gets you familiar with the syntax generally used in computer programming. But they are not programming languages. HTML is a mark up language that enables you to create structure(s) for your web pages while CSS is a style sheet language that gives you control over the design of your web page. To read more on what is HTML, click hereand here.
  4. Which Programming Language should I learn? Identifying what you want to do with your programming skills will guide your path to the programming language to learn and keeping you focused. it could be building web applications, desktop applications, games, bots, There are over 700 programming languages in the world, crazy right? well, you can find them on Wikipedia.

I have made a list of some of the programming languages you can learn.

Web Development

(a) Javascript

(b) Python

© Java

(d) PHP

(e) Ruby

(f) C

(g) C++

(h) Shell

(i) C#

(j) Objective C

(k) R

(l) VimL

Android

(a) Java

Game Development

(a) C

(b) C++

© C#

(d) Python

(e) Lua

(f) Swift

(g) Java

(h) VISUAL BASIC

(i) .NET

(j) Lisp

(k) Pascal

(l) JavaScript

(m) Smalltalk

(n) Perl

Desktop Application

(a) C

(b) C#

© C++

(d) .NET

AI and Machine Learning

(a) Python

5. Who will teach me? Nobody. When it comes to software development, we swear by the YOYOL(You own your own learning) principle. Gone are those days where people sit down to be tutored how to code with the exception of Nigerian University Lecturers. We leverage and encourage everyone to leverage on the power of the internet. Trying a simple google search was how I discovered SoloLearn, freecodecampand lots of other awesome sites. However, if you can afford it, you can enroll in a bootcamp or a good coding school nearest to you. But remember, you own your own learning.

6. How long will it take me to learn? Forever. it is a continuous learning process. As new technologies come out everyday, also do you have new languages, frameworks, library, best code practices, new ways of writing maintainable codes.

  1. How do I sustain my learning? Have a plan, leaving tutorial purgatory, constant practice, building things even when you are clueless, find a good mentor, practice, build, practice, collaborate.

Remember: it is not the number of years you have spent that makes you an experienced developer or a good one but the number of hours you have put it learning and practicing. You will battle with electricity, internet and mosquitoes but that shall not deter you. Persevere and be the best.

You do not need to know everything at once, learn the syntax and start building.