5 steps to get started...
I was going to specify this as "5 steps to get started as a developer", but as I thought about this, it is much more than that. It is really how to get started at anything. Of course, I'm going to focus on the development steps, ACTUAL steps, not theory. This post may be a bit of a rant at times too. Hopefully, you will get something out of this.
Figure out what you want to accomplish
It seems obvious, but most people ask me, "I want to be a developer, what do I do?" I often respond with a series of questions:
- What kind of developer? Web, Mobile, Database, the infamous "Full-Stack", Game, etc..
- Why do you want to be a developer? It is NOT for everyone
- What do you already know about development?
- What do you have access to right now? Laptop, desktop, school lab, iPhone, Android, Arduino, Rasberry PI?
It usually goes one of two ways, I want to be a web developer or an app developer. I'm going to focus on the web developer for this discussion. In that case, the response is usually this vague: "I want to create a website". Good for you, so does everyone else, what does that even mean to you? Which usually leads to, let's create a web site that you can build on as you learn more and more skills. "That sounds great!, What now?"
Do a tutorial
With YouTube, CodeSchool, CodeAcademy, FreeCodeCamp, the list goes on... Pick one. Here is a good one for PSD to HTML for YouTube to create a responsive tutorial, it goes pretty fast, but it is pretty good. It also has links to others earlier lessons. There is also the default answer: https://www.w3schools.com/ which is another decent place to get started.
I'm not saying spend 8 hours a day, but 30 minutes just to do something. Keep getting better. Even if you simply add one tag to your HTML on your site, it is progress. That momentum will be amazing after a few weeks. You'll be amazed.
Ask for help
You WILL get stuck, frustrated, and wanting to just give up. Don't! Ask for help. There is a great group: 30Days30Sites that is great place for help for those just getting started. Also, the default answer is StackOverflow also. You will meet new people online and be amazed on what they will do to help you. People matter, and you will not get better on your own. So ask others for help.
Add a new feature
One of the best things is getting your site out there. Get it live. Let other people see your work, open yourself up to criticism. Yes, it is scary, and it is difficult to be vulnerable. You can start with something like CodePen.io to get started, then move to something like Firebase or Heroku. This will help you figure out the on-going journey of DevOps. You can eventually figure out a build process, continuous integration and continuous deployment... and much more!
That's it. That is a great way to get started in web development, but if you think about it, you can apply that to anything... Like a new sport, what is your goal, take a class in it, practice daily, ask for help when you get stuck, learn a new area of the sport, and then play against others.
You only get better by practicing and DOING it. Here is the rant section I hinted at earlier... You don't get better by talking about how you are going to do something, you don't get better by reading books about how to do it if you have never done it, you need to DO it. Tell people what you have DONE, not what you are going to do. I am not a big theoretical guy, I like the practical side of life. Can we do it? Why or Why not? And then can we make it better, faster, more efficient? Oh refactoring code is another post for another day. "Get it working, then get it working right".
Now go build something AMAZING.