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.
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.
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:
- Rails Girls — tutorial
- Rails Bridge — curriculum
- Women Who Code
- Py Ladies
- DevOps girls — curriculum
- Elixir Girls
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:
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.