I dropped out of college twice. Having an active GitHub leveled the playing field for me; I couldn't do these crazy CS algorithms, but I did teach myself how to use Github to show smaller projects. At that time Github wasn't being taught at University level; I'm not sure about now. It didn't cost me anything, and there are lots of free resources, so learning GitHub was accessible. I would come home from work at 4, or 5 am after a long night of bartending, and just mess around with Github, and luckily it paid off.
You should not be up until 6 am pushing code to GitHub. My schedule was crazy back then, and I don't recommend it!
I used to make a lot of bad drinking apps. Beer apps, wine apps, Jameson shot apps. The code wasn't clean or readable, and I probably shouldn't have been making alcohol-centered code to show to potential employers. But, it showed that I was able to use GitHub, Sublime Text (I've graduated to VIM since then) and that I could teach myself something new. These are things that are all valuable to potential employers.
A lot of people don't have a lot of extra time. I get it. I was raised by a mother who was putting herself through college while holding down a full-time job, raising two kids on her own, one who was a special needs child. We all have commitments, and my mother had too many. It was good for me to see her hard work and dedication, even if I didn't understand or appreciate it back then. I look at it like this: If she could do it, so can I. Do I want to wake up every day at 5:30, so I can be in the gym by 7? Nope, I'd rather sleep in, and watch Dr. Who reruns before work. But, I want the result that I'll get with hard work and sacrifice. If my mom could do it, so can I.
If you don't have a lot of time to devote to pushing code to GitHub, here are a few smaller projects to get you started. If you can find 3 hours in a month, you have enough time to add code to your Github.
1. Code Katas.
Having the result of a code kata on your Github shows that you know how to use Github, you've dabbled in testing, and have put some effort towards learning TDD. I've worked with developers who refuse to write tests and others who refuse to refactor code, so If you're showing that it's something you're already doing, you'll be ahead of the game.
Code katas can be difficult and time consuming, but they don't have to be. I think the easiest and quickest kata to start with is the coin changer kata. Why? It's the most relatable; even though most people use credit cards and debit cards to pay for most things, you still know how to make change. Chances are you've made change recently.
The Roman Numeral Kata isn't too difficult or too hard to reason about. The Bowling Game Kata depends on you knowing the rules of bowling, which can get tricky, but it's a fun one to do. If you really want to impress, so for the Gilded Rose Kata.
Here is an example of a repo of Code Katas I put together. The more katas you practice, the quicker they go. So find some blog posts, and some YouTube tutorials, and get it done.
2. Create a simple app that is specific to the job you are applying for.
For example, if you need to be able to use AJAX with JSON in Rails to get the job you want, spend some time making a small app that does just that. You don't need to build an advanced app with a ton of features to pull this off. You don't need to send a lot of data. Figure out what it is that you want to show, and show it well.
There are a ton of free videos, blog posts, and tutorials on doing just that one thing. I think taking the time to learn how it works would be more time consuming than building the code for it and pushing it to Github. And if for some reason you don't get the job, guess what? Some other hiring manager is probably looking for someone who can do the same thing. And you'll already have the code for it on your Github. You'll get bonus points if you pay it forward by writing a tutorial on how you did it. This takes more time and will push you beyond the 3-hour mark. But it will show that you understand the work that you did, and that you're up for giving back.
3. Build a two player game like Paper Rock Scissors, Connect Four, or Black Jack.
Games are fun. Games are relatable. Game rules like Paper Rock Scissors are easy to remember, so they will be easy to reason about as you code them. Building a quick game can be a great way to show off your use of design patterns. Plus, most people looking at your code have played these games, so they will have context when looking at your code.
It's easy to find tutorials and blog posts written on how to build these games with design patterns if that's what you're going for. You can build each of them in any language you'd like, or use a framework to build a web app. The great thing about Github is that the person who is looking at your code can download repo, and play the game themselves.
Welcome! My name is LaToya and I'm the founder of SheNomads. I've got nothing but love for all things tech, travel, remote work, and self-care. I'm building an inclusive community around those things, and I can't tell you how pleased I am that you're here. Let's get to know each other! @LaToya
For more info on Office Hours click here.
Want to hire people from our inclusive community? Head over here.