Inspiring Stories

How to Become a Full-Stack Developer( A Simple Guide).

Since May 11th 2017, I have received over than 500 messages with just one question.

“How Can I Become A Website Developer?”

This question comes in because of the confusion in heart as to where do I start from?

Well thank your stars because I have come to answer you.

First,

You need to know that this walk is hard and it will require self-discipline.

So without wasting your time here is your map.

HOW TO BECOME A FULL STACK DEVELOPER( A SIMPLE GUIDE)

Learn HTML and CSS

Well take a step into HTML and CSS.

This is the first thing you should learn.

In fact anyone who doesn’t tell you to start from here is a Pharisee and not a web developer.

You must learn them first because there is no other way by which you can become a website developer without knowing these.

So you must master them, but don’t be scared they are easy also.

HTML does the Markup and CSS does the Makeup; the style.

So what will be your battle axe when you start here?

You will need all of the following.

Well, for me I will use all of them, but people are different you know.

  • A text editor
  • Any photo editing software.
  • File Transfer Protocol FTP
  • Browser
  • A cloud Storage

There are many text editors for web design such as Vim, Notepad++, Brackets, Atom etc.

My recommendation is to work with as many as you can and find your preference.

You should note that:

HTML is not a programming language, rather it is a markup language. HTML is simply a raw text file with a .html file extension. Tags are used to markup contents in the text file.

Most web pages use HTML4, XHTML 1.0 or HTML5. There is not a huge difference between web pages that use these HTML doc types but I recommend you start with HTML5.

HTML5 add features like drag and drop, support for drawing services like canva, detection of location etc.

You can learn HTML and CSS at Codecademy or Udacity.

So after learning this what happens after you finish learning HTML and CSS?

Well, so many people will say once you are done with HTML and CSS jump into back-end development languages like PHP, Ruby, Python etc.

Hey friend, that’s not a good advice.

It will lead you to bad practices.

Don’t rush things if you don’t want to get frustrated and becoming a half-baked programmer.

Learn the basics of JavaScript

So after HTML and CSS go for basic JavaScript and at this journey don’t get enticed by neighboring communities like Node.js and some other frameworks.

JavaScript is a programming (also referred as a scripting) language. JavaScript is intentional limited, i.e it only works inside another application (the web browser). It is a client-side language designed to manipulate web pages. However, the language is evolving more and more which I would not want to go into.

Just stick to basics of JavaScript for now.

This is because you will want to learn things like data types and that will be, strings, objects numbers, arrays and other related data types like functions, conditionals, loops, and operators.

These are the really essential things you need to learn in any programming language.

Truth is knowing this will help you when you want to learn other programming languages like C#, Java, Python or any kind of high level language.

You will always need to learn how to fire up an event when you click a button and that’s when event handling comes in.

One more thing every good programmer will tell you to learn is JSON – JavaScript Object Notation.

This is very important because it has a lot to do with API, this is also great when building Bots, and it’s really easy.

One last one is jQuery, but you have to master all the loops and data types first.

You can learn JavaScript here and also jQuery.

Be careful, as you go on this journey, there are hurdles and rocks, great distraction and discouragement, but if you keep at it you will succeed and in the end this world will tap you on the shoulder and say,

“It’s your time to shine.”

Learn Basic Web Deployment.

Woo! Woo!

What do I mean?

You have to get a shared hosting account.

Don’t complain about money of getting one because I will show you how to make money even as a student.

Check out 50 freelance websites where you can find Jobs and make money.

You can also learn how to get a job through networking, YouTube and blogging in this post.

This shared hosting will have to be either hostgator or whogohost, namecheap or something you like.

Don’t forget everyone is different.

As you get this, start learning CPanel basics, SSL, email, FTP configuration and the rest.

You will then learn how to upload your project using FTP links Filezilla.

And then you will need to get a domain name so that you can link this to your hosting account and wholla you are good to go.

Now if you have mastered all I have talked about so far, then you can call yourself a web designer.

You are a website designer now so:

  • You can build simple yet professional website without deep functionalities. And small business can need that.
  • You will have knowledge of building UI web application.
  • You are good now with conversions like CSS conversions or PSD to HTML
  • You can now work for a small company or you can become a freelancer on fiver.

You see there is a process with everything.

There is a great solution to every problem.

Most times we throw ourselves over board by trying the end first.

Now we have successfully completed the great hurdle that makes your head spin anticlockwise.

Please, do not skip any steps or path in this journey.

It’s very important that you know for sure you are working with all diligence and dignity.

So now you are outside of the door and behind you is HTML, CSS, basic JavaScript and website deployment.

You can see clients asking for some jobs from you as a freelance.

In fact you are getting your bills settled and it looks like you should start shouting, “hustle don pay!”

But while these excitements you still want to progress in your career right?

And I’m sure you are asking me – “Where do I go next?”

I’m going to keep it simple here.

Learn web frameworks

You can start learning any front-end HTML and CSS frameworks like bootstrap or foundation or any other one out there.

You should also start learning server side languages such as PHP, Python or Ruby on rails.

You can start on the road of JavaScript frameworks like React, Angular or any other.

You also have to option of learning databases like MySQL, POSTGRESQL or any equivalent.

Now you have options of where you can go.

But I will not leave you here.

Out of all these I have mentioned the one I would suggest that you learn is Front End Framework.

The reason is that something like bootstraps will save you a ton of time when you are building UIs.

And if you don’t have really good eye for design i.e if you aren’t a graphic designer, then these should be your best option.

Since that is what I’m suggesting I will also show you some Front End Bootstraps.

  •  Twitter Bootstraps most popular
  • Zurb Foundation similar to Twitter
  • Skelton
  • MUI and
  • Pure

I think Twitter is the most popular.

Next I will choose PHP as my server side language because it’s good although it’s not the best language(This is my personal choice, you can chose Python or any other server side language.

Node.js this is actually not a language but a JavaScript runtime. It’s new, powerful and fun to use as well.

If you knew some JavaScript that’s fine for you.

Now we also have Ruby on Rails, this is super amazing.

It’s a great framework but has leveled off. Their community is just silent for the while now (my personal opinion).

Don’t argue ohh.

You can also learn Python.

In General, I would suggest PHP (my personal choice).

So we are here now just in front of the Server Side Languages.

Now it time to see what is inside this bag just beside you.

Learn Database Management System and Version Control

In order to arrange data systematically so that it can easily be retrieved or manipulated, programmers use database management system.  The data stored in a database can be in the form of text, numbers, or encoded graphics.

You must know that it’s not compulsory for you to master the server side language before you move to databases because they actually go hand in hand.

Here are some Database system you can learn:

Relational Databases

  • -MySQL recommended and popular
  • -PostgreSQL powerful

NoSQL Databases works similar to JSON

  • MongoDB
  • CouchDB

Now because I want you to be a full stack website developer I will teach you good practices too.

At the point you need to pick only one and focus on it.

With your pick:

  • PHP/MySQL or
  • Js/MongoDB

That’s it.

I will like to add a few technologies that you will need to learn too.

– GIT and GitHub which is a Version Control System.

This will allow you and your team make changes to your web application easily.

And if you need repository, GitHub should be your solution. You can learn how to use GIT and GitHub here.

Now it’s time to also get your hands dirty with some basic command line and SSH.

So since you are going to be doing some front-end work you will always want to learn CSS PreCompilers – and Sass/Less.

It will give you a more efficient way to write your CSS.

You will also want to learn API/REST Services such that with you browser you can make with your own get or post requests.

Now this important too.

As you progress you will want to learn HTTPS/SSL.

This will help you create secure sites and upload SSL certificates.

I’m sure we have come a long way around we are enjoying the adventure.

Learn how to Deploy Apps

I’m starting with a question.

Are you progressing at all?

If yes that means we are getting stronger and our fist harder.

If no, then kindly ask questions via the comment section.

I am pretty sure that you have a clear understanding of a shared hosting account, but now you will want to learn how to move away from that one to a Dedicated Server and Virtual Private Servers which is a dedicated virtual machine that you can rent out.

Next you want to look into services like Heroku, AWS (Amazon Web Services), Digital Ocean (more of Linux) and the others when you want to host your app.

Again if you are into something like node.js you will want to know flightplan which make it easy for you to deploy your application, but this can get a little tricky.

Now, one route you should take in this journey is learning some Linux command line when you are working with dedicated servers.

Just get to know the basics.

You will also want to know how to do a maintenance on your app and run updates too.

So if you have learned what I have shared with you until this point, then

You Are Now A Web Developer with knowledge of both front-end and back-end technologies”.

I’m pretty sure that when you get to this stage you can:

  • Create a simple to advance web application.
  • Build backend APIs
  • Work with servers
  • Work with Admin Databases by creating tables either using command line or with phpMyAdmin
  • Get a great job, startup own business or do freelancing.

This is the real, full and most relevant guide to becoming a full stack web developer.

Tell your friends on Twitter about this guide. Just click the click to tweet button.Click To Tweet

Learn how to keep up with the fast changes in both back-end and front-end technologies in this interview .

Please don’t forget to show some love by sharing this post. Thanks.

The Brain behind this Post.

Onuoha Uzochukwu Ifechinyere( simply known as Onuoha UI) is a webdeveloper, an expert in UX/UI and an entrepreneur. He attended FGGC Staff Primary School Kazaure, Jigawa State, GDSS and Federal College of Education (Tech,) Bichi, Kano State where He studied Mathematics Education and Computer Science. He started working with PHP and loves the language till now though he also works with Ruby on rails and Python.

Onuoha Uzochukwu Ifechinyere( simply known as  Onuoha UI) is a webdeveloper, an expert in UX/UI and an entrepreneur.

He attended FGGC Staff Primary School Kazaure, Jigawa State, GDSS and Federal College of Education (Tech,) Bichi, Kano State where He studied Mathematics Education and Computer Science.

He started working with PHP and loves the language till now though he also works with Ruby on rails and Python.

You can connect with him on Instagram or his Facebook group.