10/02/2016
For Software Developer!
Are you a rookie Software developer looking to improve yourself in IT, or you are a Computer Science student wanting to surpass your classmates, or you are just to stand out in this competitive IT industry, then carefully read through this article.
I will share with the you the necessary steps (recommendations and resources) to take in becoming a developer or software engineer to enable you to be marketable in the labor market.
1) Take an "Introduction to Computer Science" course
This wont be necessary if you already have a background knowledge in Computer Science but you can still take the introductory course focusing mainly on basic coding instructions.
2) Code in (at least) ONE Object Oriented Programming Language (C++, Java, Python e.t.c).
You should be able to write meaningful codes in at least one programming language. Focus extensively on one or two OOP language (reach intermediate level of coding) and also try and be at a beginner level in other OOP languages.
3) Learn Other Programming Languages
Ensure you are conversant with other Programming languages, Scripting languages and Markup languages. Learning how to develop a website will be of great help. Add to your repertoire by learning any or all of the following languages: JavaScript, CSS & HTML5, Ruby, PHP, C, Perl, Shell Script, Lisp, Scheme e.t.c.
4) Test your Codes
Learn how to catch bugs, create tests, and break your software and others software too. You can learn Software Testing Methods and Software Debugging to achieve this goal.
5) Develop Logical Reasoning and Knowledge of Discrete Math
Courses like Mathematics for Computer Science, Introduction to Logic, Linear and Discrete Optimization, Probabilistic Graphical Models, Game Theory will help in developing logical reasoning and knowledge of discrete math.
6)Develop a Strong Understanding of Algorithms and Data Structure
Learn about fundamental data types (Stack, Queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structure (binary search trees, red-black trees, hash tables), and Big O.
7)Develop a Strong Knowledge of Operating Systems
Learning the fundamentals of how operating system works and operate will be added advantage. Also, being able to work on different operating systems is useful too.
8) Learn UX Design
Learn the process of enhancing user satisfaction by improving the usability and accessibility in the interaction between users and software product.
9)Learn Artificial Intelligence
Acquire knowledge about how Robotics works, learn Natural Language Processing and Machine Learning.
10) Learn how to build Compilers
11) Learn Cryptography
12)Learn Parallel Programming (Fotran, Elixir, Parlog etc.)
13) Work on Projects
Create and maintain a website, build your own server, or build a robot. You can also access project development resources online at: Apache list of Projects, Google Summer of Code, Google Developer Group.
14) Read and understand existing code, track down documentation, and debug. Get on GitHub, a great platform to read other people's code or contribute to a project. Kiln will also be helpful.
15)Work on Projects with other Programmers
This will help you improve your ability to work well in a team and also enable you to learn from others.
16) Practice your Algorithmic Knowledge and Coding Skills
Practice your knowledge through coding competitions. There are several competitions like CodeJam or ACM's International Collegiate Programming Contest, Code Nigeria etc.
17) Impact Knowledge
Help teach other people what you know and it will help enhance your knowledge in the subject matter.
18) Gain Internship experience in Software engineering or relevant IT discipline.
Resources are avaliable at:
*Coursera
*Udacity
You can also consider other online resources.
Consult an expert to put your difficulties. We are also available to attend to you 24/7.
Have a great week.