May 3rd (Day 98, A Draft a Day)
When I was little kid, I spent a lot of time in-front of a computer. I would browse endlessly on wikipedia, play little browser games where you would develop and conquer other islands, and I chatted with people on forums.
I thought programmers where like wizards. Able to create something out of nothing. Using some incantations, some code, to create these awesome experiences.
So I learned to code. It was daunting at first. I didn’t know what I was doing. But I knew, as long as I kept working on something, and I kept learning, I would slowly be able to “create something out of nothing”.
So let me describe what I would advise people so that they too can become a programmer.
— — —
#1: Just do something programming related.
When you want to start programming, just go and build something you think would be interesting. The easier it is, the better. THink of it a little bit like language learning. The first thing you “should” do isn’t to learn how to conjugate all the verbs, or learn grammar. The first thing you need to do is be able to say a few sentences. As you learn more and more, you are able to express yourself more. And ultimately, you are able to do what you want to, which is, go and create something.
The first thing I did was mess around with AutoHotKey to try and do automatically click buttons in flash games. It was something small. It was pretty simple. And it was must foray into programming. From there, I messed with calculator games. I tried my hand at making some very simple games online. And eventually, I got into trying to scrape some data online, so that I could do some statistics on it.
Learning the grammar, and the right way to program can come later. Right now, just build interesting projects and keep going.
#2: Keep Yourself Going. Sign Up for a Class, and Keep Working on Projects
Many of us really need structure to learn anything for a long period of time. Just like learning how to play a music instrument, there will be times where you aren’t improving much, but if you keep at it, you’ll keep improving.
Signing up for a class online, and really emphasizing sticking with it, can take you very very far. If you keep learning a few things every week…If you keep working on something every single week… not only will you have a few projects under your belt, but you will get better and better as a programmer.
So take a class. You’ll have assignments you’ll need to do every week. If you don’t want a class, feel free to just keep working on your project every week. No matter what, keep up the habit and stay accountable. If you spend enough hours programming, you’ll get much much better.
#3: Find a Job
Your first programming job will be the hardest one to land. After that, things should be considerably easier. Employers like to “reduce” risk. So they usually go for university grads, people with a solid portfolio online, prior work experience, or people who come front a boot camp. There are jobs available for most skill levels. For the most part, a lot of programming is just reading other people’s code to figure out what they did, and then adding on your additions which you learned from online. But for you to get hired, you’ll need to convince whoever is making the hiring decision, that you would be able to do whatever job they are looking for.
When applying for a job, think about what a specific job posting needs to solve, and cater your resume to answer their need. Just doing that small little specialization, by being a bit more intentional, will greatly increase the chances of getting an interview. I mean, if you can solve their problem, why wouldn’t they want to at least talk to you?
When it comes to the interview, it’s important to do interview prep. Run through a few list of questions, and sign up with a site like leet code to just go through some exercises. Add them to your weekly workload, and take your time with them. Don’t get discouraged if you don’t know the answer to an exercise or a question. Just take it as a learning experience, and just keep looking up stuff and learning. You might have to look at some more obscure things while doing interview prep, but you’ll have to do somewhat similar work when you are actually a professional programmer. You’ll be looking at more relevant and interesting stuff for sure. But you’ll still be on stack overflow, looking up fixes, solutions, and better ways to do things. If you add it to your weekly programming related workload, and do it for a few months, you should be decently prepared.
#4. Build Yourself as a Craftsman
There are many directions to take as a programmer. You can work for a small companies to maximize the things you learn. You can work at a larger company for experience, and the benefits. You can work at a FANG company for the pay, and the reputation. Or you can focus on your own projects. Teach people how to program. Write. Or just leave it at that, and go learn something else.
there are a ton of different things you can do once you unlock the skills of being a programmer. The biggest thing it does in my opinion is shape how you learn things. When you learn how to program, you research better ways to do things. You become more precise and deliberate with your solutions. And you slowly build a useful foundation of learnings.
From there, you can keep adding on to your skillset. Work with more people. And build more things.
You get to be a builder. A builder who can make something out of nothing.