Dev101: Introduction To Software Development
According to IBM; “Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software.”
Reading that, you will see “designing and deploying software” which shows software development is not all about programming.
Many people want to get into software development or better still want to engage themselves in building a part of a software but do not know how to get started. This article is pretty much a guide to anyone who is still new or has no idea about software development and wants to get involved, before you can get involved you have to get started, to get started you have to know what you want to get started with and how to get started with it.
I am Abdulmateen Tairu, a Software Engineer who specializes in building Rest APIs and web solutions, with the little ideas about several fields in software development I have, I believe I should be able to put you through a couple of fields in Software Development and how to get started.
Shall we??
I am not a movie fan but I assume this is from a movie, those of you who know the name of the movie can drop it in the comment section. Anyways, time to get serious 😏
BACKEND WEB DEVELOPMENT:
I started with this because obviously that is my specialty. Many of us have heard a lot about Backend Web development but still do not know what it means or have little idea about what it means. Many of us believe it is the actual coding in building a web site (people say Front end is not actual coding but lemme tell you that is Clown talk 🃏).
So, what is Backend Web Development??
Definitely we want to know Tay, spit it out.
According to guru99;
Back-end Development refers to the server-side development. It is the term used for the behind-the-scenes activities that happen when performing any action on a website. It can be logging in to your account or purchasing a watch from an online store.
Backend developer focuses on databases, scripting, and the architecture of websites. Code written by back-end developers helps to communicate the database information to the browser.’’
I hope that didn’t bore you too much, basically what they mean is basically anything you can’t see happen like login, registration, sending messages, etc are all possible because of the backend of the website.
now how are Backends built???
According to Intagleo (click “Intagleo” to read more about the list) , the top 6 Backend web frameworks are
- ExpressJS (JavaScript)
- Laravel (PHP)
- Flask (Python)
- Ruby On Rails (Ruby)
- Django (Python)
- Spring Boot (Java)
There are also several others like ASP.NET and others that were not mentioned.
I want you to understand that the list above is no way ordered in the sense that one is better than the others as there is nothing like a “best” or “perfect” framework. Each framework edges others in something they can do better so it always depend on what you want to build while picking which framework to build with e.g Flask is more preferred for micro-services while Django is preferred for more robust apps (comparing Flask and Django) but both can be used to build anything, it all depends on the developer using the tool.
So if you are looking to get started with backend web development, I would advice picking up Python, Javascript, Ruby or PHP. Pick one and master it and do not try to learn multiple at the same time because that would really slow you down and confuse you.
After you are done with the basic of any of the languages you picked, you can advance by learning the framework of your choice.
FRONT END WEB DEVELOPMENT:
Front end as you have guessed is the development of the looks and beauty of a website (Think about how beautiful ladies are created) . Lemme get you definitions from experts 😅.
According to Wikipedia (our mummy, baby, wife and girlfriend)
Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data
The question is how to get started and I am going to share that too.
Starting Front end is more straight forward compared to other fields in software development. All you need to do is start learning HTML and CSS then Javascript. When you are very comfortable building with HTML, CSS and JavaScript then you pick up a front end JavaScript framework.
According to hackr.io , the top 5 JavaScript front end framework in no particular order are;
- Angular
- ReactJS
- Vue
- Ember
- Backbone
With my little experience, Angular, React and Vue are the ones I hear my pals talk about the most and I believe you would do your research to pick which one you would submit yourself to.
Android Development:
The world is around mobile now and this field grows in importance every year. As the name implies, this involves building android apps.
How to get started with this?? I would recommend myself to tell you about it without getting advice from any source.
From the little interactions I have made with people and the tools they use with the pros and cons of those tools.
- Kotlin (I chose this above Java); Not just because it is more readable but because companies are now rewriting their Java apps in kotlin and also Android took Kotlin as their official programming language displacing Java. This builds native android apps.
- Dart (Using Flutter framework); This is a way of building cross platform apps but the problem with it is that it is not native(meaning it is used to build hybrid apps).
- React Native (JavaScript); So to summarize React Native is not really a Native framework, but It’s much closer to Native code, than hybrid apps.
To check the difference between native and hybrid apps, click this link.
UI/UX Development:
You enjoy using some websites or apps more than some others because of how much of an ease they are to use or how much better they look.
The front end engineer might not be skilled enough to make an amazing UI (User Interface) for a website same thing for a Mobile engineer for building amazing UIs for Mobile apps. It is the job of the UI/UX developer to design how interfaces should look for websites or apps. UI/UX (User Interface and User Experience), I am sure we get the UI part but what the experience part means is how much of an ease you make using an app or website through the way some buttons or components are being arranged or placed.
How to get started??
I would refer you to this link to learn how to get started with UI/UX. Learning UI/UX is quite different from the other career paths in this article.
No matter what field / career path you pick in software development, the main thing is determination, dedication and consistency. That is the only way you can succeed in any of the paths you decide to pick.
I hope I have been able to do a lot of slicing of the hard meat for you to eat comfortably.
Have fun and comment what you have decided to pick as your career path among these ones.
Twitter: TayCode
LinkedIn: Abdulmateen Tairu