Pretty much every week I get some variation on the following question, but this guy was one of the few that actually posed a proper question without wanting me to just solve it for him.
I asked permission to post the exchange in the hopes that I can direct people here in the future when they’re after my advice on the “how do I start” question that always comes up.
I’m a freshman computer science major and am about to complete my first class this semester. I’ve learned a good deal of C++ as my first language. My question is this: what should I do if I want to start learning other “things” like graphics (we’ve only made console apps) using libraries like SDL, Ogre, OpenGL, etc. or if I’d like to learn to make websites? I think being able to build a website would be an amazing skill. With my background of console applications (I’ve covered all the basics of programming by now), what would you suggest as a first step towards being able to develop on the web? I want to work part time through college when I have the chance, and definitely work on a few projects during the summer.
And my response:
Hey (name removed),
Thanks for the email and for reaching out. Since you have a good grasp on the basics already my advice would be to focus on doing something really cool in the field you want to be in and just go deep learning all the skills you need. The Internet is awash of free tutorials if you know what specific skills you’re looking for.
If that field/focus is web development, make a website or better yet a web application/tool surrounding something you’re really passionate about. Web apps are really great fun to work on from a coding perspective and knowing you built something that people find useful is really rewarding.
If there’s one thing I wish I could do if I had a time machine to go back to my uni days it would be to work on more things I am passionate about without necessarily focusing on the money part of it. Money comes later and most importantly money comes from doing cool things. So just dive in and do cool things.
I know this response was more centred on programming but this covers starting freelancing, programming, web development, app development, design, or pretty much any creative online pursuit.
I sincerely hope this helps you. The main point I’m trying to make if you didn’t get it is to start and don’t worry about the money. Do something cool, anything that you’re passionate about and the money, ideas, fame, will come eventually. But you can’t do any of it unless you start.