My name’s Roger, and I’m a self-taught developer. I was planning to go to law school when I was in university, but ended up founding a startup instead. The startup failed, but I had to learn front-end code (basic HTML/CSS) to help us ship some products.
I started working on a few digital marketing roles that required web development, data analysis and other skills, working through and building analytics systems in Python, and tinkering with websites in Ruby, HTML and CSS. I’ve placed several other autodidacts into their dream jobs in my most recent role as the head of growth for a data science and machine learning education company.
I also just finished writing a 80-page guide to how to get a programming job without a degree.
Through it all, I’ve shortlisted several useful resources that I myself review frequently, and share with different students. My experiences have really helped me learn what useful resources help people down their career path and which don’t.
I’ve been a marketer. I can tell which resources barely add value and which do. I’m going to point you to the ones that really do add tremendous value. Consider it an insider tip.
So, without further ado, here are the resources I’ve found that genuinely work for me and different students.
Start with finding your community
The one thing that’s added the most value for me personally are strong communities focused on learning. In workplace settings, 80% of learning takes place between mentors and mentees. You want to surround yourself with a supportive community whenever you’re learning something new so you can benefit from the same effect.
Here are some of the communities that I found useful:
- A subreddit within the larger Reddit community, the learnprogramming subreddit is dedicated to programming resources and for programming learners. It’s a great resource where people will upvote the top resources to learn programming for your consumption. I found it because I’m a frequent reddit user and to my delight, it’s ended up being one of my top resources to consult on a frequent basis.
- I then went on to the ubiquitous Stack Overflow. Here, you can see a variety of programming challenges and supplied answers from experts in different programming communities. I came here both to see the answers compiled from experts in the field, and to pose questions myself.
- I then started browsing Hacker News. It’s a daily curated feed of the most valuable and relevant technology and programming news out there. Community members are responsible for upvoting and downvoting both articles and comments, ensuring that quality submissions come to the forefront. I’ve found the articles to be very high-quality and well-vetted here.
- I’ve reached out to different employees of companies, including Google, Facebook and more through here, contacting them through their Hacker News accounts and emails they’ve provided me. It’s been an invaluable resource for making career connections and for getting great resources to learn from.
- Then, moving on, I found the Quora programming community. With many of the initial users based in Silicon Valley, the site has become a hotspot for reaching out to intelligent and technically skilled folks. I’ve consulted mega-threads related to learning programming and asked questions to further my learning here.
- Finally, I found Slashdot, a large programming community filled with IT professionals. It tends to be filled with people who use SourceForge. While the community seems to focus more on older closed-source solutions, it can still be a useful repository of knowledge, and I browse it occasionally.
The really cool thing with these programming communities is that they are all rich repositories of genuinely helpful career resources. I managed to reach out to different helpful mentors and also consult tons of threads and experiences from people who work in the tech industry.
Then look through actual code and build your portfolio
Now that you’re done looking at different communities that can help you on your programming journey, you can turn around and do what I did. Look for repositories of code where you can start contributing!
- GitHub is the world’s largest living repository of code. The code here is updated by different contributors on an almost-hourly basis, with many of the fundamental building blocks of different programming languages constantly being hosted and upgraded here. Look through different blocks of code, contribute some code of your own, or host projects on Github for collaboration. You can also search for the “awesome” repositories to get a list of curated resources on different programming topics. That’s how I started seeing the power of mega-lists of programming resources.
- Bitbucket is another set of Git repositories, more suited to the needs of distributed teams. You can use it to upload your code and you can take a look at other repositories. The main difference between it and GitHub is that you can have unlimited private repositories, unlike GitHub’s pricing when it comes to making repositories private. While this makes Bitbucket much more attractive to private teams, it also means that most of the open-source projects out there are hosted on GitHub. This is more attractive based on the large community of programmers actively looking over open-source projects.
Consult and participate in Wikis
When I was finished incorporating code repositories and programming communities into my daily routine, I turned around to Wikis — constantly updated troves of knowledge with tons of user-updated information. I looked to add knowledge, get in touch with other knowledge contributors, and absorb as much as possible.
The following Wiki’s were paricularly useful:
- The learnprogramming subreddit community has already been mentioned above as a great resource. The subreddit has a Learnprogramming Wiki, a collaborative effort between members of that community to create a living, valuable resource that can help you with the very basics of code, from formatting questions to how to debug.
- Wikibooks is a living library of different user-contributed books. Many of them are on programming topics such as this Wikibook on C++ programming, a resource I consulted when I was looking into the language.
- Finally, the Kaggle Wiki is a data science focused Wiki filled with different resources in the space. It’s the creation of Kaggle, an online community of data science admirers who come together to compete on the best machine learning models. You can be certain that the Wiki will contain a lot of resources that will be valuable to your learning journey on programming and data science. This was a resource I recommended often to people looking to learn data science.
Finally, find different approaches to finding jobs
I know what it can feel like to be on the job hunt. You need all of the resources you can get. I was in that place once so I started compiling a list of the most effective job boards and places to find a technical job as I looked into the process.
Here is a list of different job boards you should go to if you’re looking for a programming job and don’t have a degree that can be particularly fruitful for your job search. They’ve been approaches that I’ve battle-tested. Consider it a final conclusion of useful, supplemental resources to finding you the career you deserve.
Sometimes it’s good to start at the most obvious place. LinkedIn has a large number of technology jobs that you can find quite easily. You can sign up for a free trial of the premium version and quickly look through different jobs.
LinkedIn can also be a great way to research hiring managers and get a sense of what a company is like before you even apply there. You’ll be able to see what the organizational hierarchy looks like by scrolling from one profile to another — and you’ll be able to see what skills the company emphasizes, either by looking at the profiles of those who were hired or by using your trial Premium account and looking at job postings or company pages.
You’ll want to think about how to optimize your LinkedIn profile so you can get the most out of this career-oriented social network. I worked hard on my LinkedIn profile, and now, I get tons of recruiters reaching out to me out of the blue.
Hacker News
Besides being a great repository of technical articles and a community that curates people who are interested in the cutting edge of technology, Hacker News also serves as a job portal of sorts for Y Combinator companies. These are technology companies that might be as young as a two-person startup and also those who have started fully maturing (as an example, Dropbox, Airbnb, and Quora were all at one time or another incubated by Y Combinator).
The jobs section of the site features different YC companies and their hiring needs. There are also monthly threads started by a bot called Ask HN: Who is hiring? where discussions about urgent job opportunities are surfaced that may be hard to find elsewhere. Here’s an example of the latest “who’s hiring” thread in May 2017.
By commenting on different articles and reaching out to different members in the Hacker News community as mentioned before, you’ll reach out to many users who are senior figures in the startup world. You might find your way to different mentors and somebody who can introduce you to the right hiring manager.
AngelList
An online repository for different startups. The jobs on offer here tend to be with earlier stage companies working at the edge of technology. One great perk about this is that entrepreneurs may be more willing to accept people from non-traditional backgrounds to work with them — especially if you’re willing to accept and maybe even embrace the risk that comes with working in a startup.
I managed to get a job by applying to jobs on AngelList, which was as simple as a one-click apply. It was also a great way for me to see what startups were hiring — I highly recommend it!
I hope this list of resources I used is helpful for you! If you want more material like this, please check out my guide to how to get a programming job without a degree.