There is a lot of advice thrown out there to people who are just starting out to learn how to program. The learning never stops. It’s been a crazy journey over the past two years, from spending countless hours alone trying to learn things by myself. To enrolling into a Bloc course and then finally the intensive 12 weeks of Dev Bootcamp. Now I am a contract web developer who is tackling challenging problems, learning new things on a daily basis and loving every moment of it.
So what is my piece of advice? Build things. There is no secret formula, book or programming language. The only way to improve is to build things. I don’t care what programming language you use (Ruby is awesome), just build things. Half baked things, things people would use or things you want to use. Basically anything!
I’ll be honest with you. I wasted the starting months while learning. I kept devouring new books, latest challenges of codecademy and anything that kept me away from uncertainty. This just filled my ego. I wasn’t progressing as a programmer, I was just getting comfortable with syntax. I was lying to myself that I was improving. The bottom line is, the only way to improve is to build things.
I have a lot of time but I don’t know what to build.
Stop feeding yourself excuses. You use a lot of websites on a daily basis. How about build a clone of it? Try exercising different muscles. Want some ideas?
Your task over here is not to make money with these things, I am not saying you can’t, but your main focus should be to get as much experience under your belt as possible.
I don’t have enough time.
Lies. If this really matters to you, you will find time. Skip an episode of your favorite TV show, don’t go out for that movie or cancel a night out. Carve out a set time couple of times a week, more if you can. And just code. Think of it as an appointment that you can’t miss, nothing else matters during those hours.
You are not doing this to get a job or to make your github look impressive. It can, but your main objective here is to get better at coding. The idea here is to level up, tackle areas you are unfamiliar about and embrace the uncertainty. It’s very easy to keep building things that don’t stretch your skill level.
Go code. Don’t think about writing code, just code.