So you want to get into web development

Lately, I find myself repeating the same advice to people asking me about getting into web development. So here is a single place I can refer them to in the future.

If you know what you're interested in (front end, user experience design, back end development, mobile development, data science and machine learning, security, dev ops, database admin...), then great. Otherwise starting with front end development will be quicker -- if you wish to save time and get into the field. It also gives you quicker gratification when you see things happen in browser in real time.

Check Dash by General Assembly for a free online interactive tool to learn basic HTML, CSS, and JavaScript. And Free Code Camp to find thousands of lessons and a massive community. Besides front end development, there is a whole world around back end JavaScript (one type of full stack) called Node, with various JS frameworks.

For machine learning and data science, check Metis. Otherwise, check Coursera and various universities. Many offer an online course for free, and only if you want the certificate do they ask for payment. There is also a massive list of 450 Free Online Programming and Computer Science Courses You Can Start in August 2017. It might be out of date but still potentially useful.

You should also learn about version control. For that, check out http://try.github.io.

Launch School has a few useful books that are available online. The books take a very beginner friendly approach, and are suitable for any level of technical proficiency. For example books about an introduction to the Command Line, HTTP, Web APIs, and more.

For the rest of this article, I will concentrate on back end development, and mainly in Ruby. If you are interested in resources for any of the other fields, please contact me directly.

To learn the Ruby language, I suggest you start with TryRuby and Chris Pine's Learn to Program. Next, if you have the time, I recommend reading Eloquent Ruby by Russ Olsen.

Rails is a framework on top of Ruby to develop web applications. To start with Rails, check out Upcase by thoughtbot, Ruby Monstas, Level Up Rails, and my Apprenticeship Programme Trello board.

The Roadmap for Learning Rails article outlines important concepts for you to know in order to be successful in a career in software development, for example HTML, CSS, JavaScript, Git, Heroku, and SQL.

There are often free local workshops available for women. Usually the workshop's curriculum is available online, so you can run through the tutorial individually, as well as attend:

To practice many programming languages, Exercism is a great online tool. It gives you programming problems to solve, with a set of tests to work through incrementally. And you can get feedback from a mentor and/or the community about your code solutions.

If the above resources are not working for you, and you prefer a more structured curriculum, here are a few online remote boot camps to check:

And online shorter courses where you pay per course:

GitHub offers other tools and resources to help you get started, which are available at https://education.github.com.

A few more words of advice

Find ways to work with, and learn from other people. Find a community online where you can ask questions and interact with other people on the same journey. In Australia, the Ruby Australia community has online (Ruby Australia Slack and offline ways to connect. Alternatively find another local community to do the same, as well as to network. Check out local meetups on https://meetup.com.

In order to get your first job, you will need to provide examples of your work. If you have the time, consider getting involved in and helping open source projects. A good tool to check for that is Code Triage. But regardless, create a couple of websites/apps for your portfolio -- have them live online somewhere as well as make the source code for them available publicly on GitHub. Pay special attention to writing clean descriptive code, writing good commit messages, and following good engineering practices (check my Trello board for articles on these topics). Getting the first job is going to be the hardest, but it gets easier from there. Good luck on your journey and let me know how you are going.

Would you like to know more?

Receive our monthly newsletter