How can I become a full-stack web developer in half a year?
Edited by rojgarresults
Development of web applications is a multilayer process. You have a whole zoo of technologies and programming languages at your disposal, and understanding the way they all are linked together is one of most important tasks for anyone who pursues his or her self-education in this field.
Action plan following which you will be able to develop your first application and to master (in due time) everything you need for development of web applications.
- Come up with an idea of your app.
Jot down several ideas for web applications. Choose the idea that that inspires you the most. It is desirable that this should be an application which you will regularly use yourself, after you develop it.
- Install Linux or buy a Mac.
IMHO! There are no other alternatives here.
Many beginner developers have a perilous inclination to continue their work on Windows. Generally, this is because they are afraid of changing their working / entertaining environment. I have to admit I did the same thing. I used Windows when I was studying front-end technologies. There weren’t many pros to using Linux, and I didn’t have any money to buy MacBook.
Anyway, sooner or later you’ll realize that you can’t live like that anymore. Web development on Windows is possible but it has its issues. Especially if you are going to use the technologies mentioned below. For example, if you use Git on Windows, you’ll get some troubles trying to install it, while on Linux/MacOs you’ll only have to enter one command into your console. Furthermore, if you decide to use Windows for developing with Ruby on Rails, you’ll definitely face issues that are specific for this OS only. And it is very unlikely that someone could help you because the vast majority of developers use only Linux or MacOS.
Another pro argument is that every normal server has UNIX-like system. Trust me, the closer your working environment configuration to the real server on which your cool application will eventually operate, the better. Oh, by the way, Ruby itself is made precisely for UNIX systems.
- Sketch layouts of the principal pages.
You don't have to be a designer. Just take a pencil and an A4 sheet and draw what your application will look like.
- Download Twitter Bootstrap and use it to build your main pages
No Ruby, no Rails. Learn how to make simple web pages using a front-end framework. You need to be able to click the links and see various parts of the application.
4.1. Install Git to track the history of changes
While building the pages learn how to use Git. You may need to use Try-Git first. Write meaningful comments on your commits. Once you have created a page, make a commit. Another page — another commit. Had you CSS corrected — one more commit.
- Configure Ruby, Rails and PostgreSQL and generate a new application
Everything is simple: install RVM and then use it to get the latest version of Ruby and Rails. Then create a new Rails application with Git repository in it.
- Decide on the entities in the application
Determine the necessary data to be used. Draw a small scheme showing interrelations between different elements of data (the guide on associations in Rails may be of some help, see resources to Chapter 15). Simply write a list of the necessary Rails models. For a blog, these will include Post, Category, User, Tag. For a finance management system — Transaction, Account. Don't try to grasp everything at the moment, you only need the entities without which it is impossible to built your application. Then think of the fields for these models.
- Do it!
All you have to do now is to develop your web application. And this is just a small portion of the things you will be able to find on your own. Don’t think of tests now, try to make a working application as soon as possible. Look at the existing open source applications to understand how everything should be written.
- Show your application to the world
Start with Heroku to deploy the prototype. Be sure to learn how to deploy on VPS. No need to pay for using a real server, you may learn technologies like Vagrant and virtual machines, and deploy your app to the virtual machine working on your computer.
- Prepare your CV and start looking for a job
As soon as you have built your first application, share it on GitHub and write a CV specifying all the technologies that you have become familiar with, and include a link to your code. Then start looking for a job, send your CV to as many companies as you can to get invited to an interview. I am sure you will be able to find a junior developer job. Good luck!
- Be ready to learn
Now let me be brutally honest with you: if you start the self education of a web developer, you will never finish it. There will always be too many things to learn. Technologies will become obsolete and replaced by the new ones. New databases, new languages and new versions of old languages, new tools will appear. And you will have to keep your knowledge up to date.
After learning how to develop web applications you might decided to switch to Big Data field, or DevOps field, or mobile apps field. And then there will be a whole new world to absorb.
Good thing is, the more you learn the easier it will be to learn more.
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.