Adrian Czuczka

View Original

5 Ways to Make Getting Into Programming Easier For You

Programming has got to be the most misunderstood industry. Many people seem to think that programming is this cryptic, confusing profession which only an elite minority of computer geeks can get into. Although this perception is slowly but surely changing, the fact remains that being a developer is still severely underrated. You don’t have to be anything close to a computer geek, and it’s a great way to either tide you over until you do what you really want, or to settle into a profession with one of the best outlooks for the future.

With that in mind, you might have started looking at how to start coding. It’s understandable: gradually, coding is becoming an attractive skill even in other professions. A consultant might open up a whole new range of opportunities by learning some simple Python code or a biologist might get into R in order to compute large amounts of data for their experiments. The list of similar examples just keeps growing.

You might have found that you got stuck somewhere. You tell yourself, “ah this stuff just isn’t for me” or “I’ll never get the hang of this”. If so, then you’re closer to being a programmer than you think!

2 years into my Computer Science degree, I knew less than nothing about coding. It was only when I kept some tips in the back of my mind that it became much, much more understandable to me. Some of these I figured out by trying, failing and trying again, and others I took to heart from other people who are undoubtedly more talented than me.

If I could give one tip that would have helped me immensely during my early days, it’s this:

Programming is extremely easy if you make it simple, and extremely hard if you make it complicated. The difficulty is completely dependent on your mindset.

That’s definitely the most important piece of advice I’ve ever gotten. On that note, here are some of the other valuable things to keep in mind when getting into programming!

1. Translate code into a language you can understand

At its core, programming is extremely similar to learning natural languages. The idea is that you’re stringing sentences together, composed of individual blocks that make little sense by themselves, but create meaning when connected.

The difference is that all of us (hopefully) speak at least one language, whereas not everyone knows how to code. So, if we know that the building blocks are the same, why not convert something a language we don’t know, into something we know very well?

Let’s take this add function that was featured in my post about how to make an Android app in a few days:

fun add(x: Int, y: Int): Int = x + y

This is written in Kotlin, one of many intuitive programming languages out there. All we need to know is that:

  1. The “fun” at the start denotes a function, which is like a verb: it does something. In this case, our function adds things together and gives us the result.

  2. Int” is an abbreviation for Integer, which is a fancy math way of saying “number”. In short, we’re dealing with numbers here.

With that in mind, we can rather easily translate this into simple English:

Our function is called "add", and given two numbers, it will add these two numbers together and give us that result.

You tell me which one looks easier.

In summary, it is extremely powerful to think about coding as you would about any language you speak. It has building blocks (verbs, adjectives, etc.) just like any language you speak, and you will always be able to break down a line of code into these rudimentary building blocks, making it much simpler to understand.

2. Don’t ever second guess yourself

Like everything in life, programming becomes much easier when you’re confident about what you’re doing. And similar to most situations in life, you should not wait until you’re good at something to become confident at it (although you should be confident at that point as well!).

Confidence is paramount to working quickly and efficiently in programming. I often get asked how I’m able to travel to tons of places and generally look like I’m not doing much work: that’s because I believe in myself, and I believe in the code I write, which makes it possible to get much more done in a short timespan, giving you time to do other things after.

This concept of confidence isn’t new, and it’s applicable to many other professions: a journalist might seem like an article machine just because they don’t second guess themselves when they don’t have to, and don’t spend too much time worrying about whether their writing is correct. An entrepreneur might seem like they get a crazy amount of work done in a short time, just because they believe in what they’re doing. Similarly, confidence in your code will not only make you learn much faster, but you’ll also get much more done, much quicker.

The pitfall is that not second guessing yourself takes away a certain amount of carefulness, and you might see at the start that you missed some errors and bugs in your code. That’s why it’s important to have some sort of process in place that lets you catch errors quickly, such as tests for your code or a second pair of eyes to look at it. Think the equivalent of Microsoft Word’s autocorrect for writing essays.

To sum it up, don’t ever second guess yourself when writing code and you’ll learn much faster, while also freeing up time for your other interests. It’s a win-win!

3. Focus on one language first, specifically Java or Python

Getting into coding, one of the most confusing things is which language you should start with, when there are so many! For me, there are only two feasible ones: Java and Python. They are two of the most popular languages, as shown in TIOBE’s popular language index:

Java and Python sit squarely on top of the popularity rating, along with C which is the exact opposite of a beginner-friendly language. Both of them are solid languages which you can learn rather quickly, and rely on for a very long time.

So, how to choose between Java and Python? I would recommend Python if:

  • You want to get up and running and build something very very quickly

  • You are looking to get into data science

  • You’re not ready yet to get into medium-level programming concepts and you just want to make cool stuff

Conversely, I would recommend Java if:

  • You are looking to learn the core fundamentals of programming, so you can learn any other language much faster (which is very beneficial)

  • You want to get into Android development (which I highly recommend!)

  • You already did Python and want to take your programming skills to the next step

In the end, both Java and Python are solid choices for a first language, and using either will give you the opportunity to learn quickly and start building stuff in no time.

4. View programming as a means to an end, rather than the main objective

Often, people view programming as something they want to get into, e.g. “I really want to start programming”. While this makes sense, it’s better to view programming as a simple means to an end, a way to get the things you really want. Whether you want to build the next Google, travel the world or you just love solving puzzles, programming is one of the best tools to help you get there but it’s still just a tool.

Telling yourself “I should really start coding” will only make you extremely unmotivated to do so. If you’re not already a programmer, chances are you’re not unbelievably passionate about coding, and telling yourself you should really start coding is like telling yourself you should really start playing the guitar: you’ll force yourself to do it and chances are you’ll drop it as soon as you start it.

It’s much better to tell yourself that “I want to build this because I need it in my daily life”, “I want to travel the world and finance it with a flexible job” or “I want to make a startup, get rich, and buy a yacht”. You will learn how to code in either scenario, but with the latter you will have genuine motivation to keep going, rather than just doing it because everyone said it’s useful. That brings us to our last tip:

5. Build things that you’re passionate about, and have fun!

This is by far the most important one. Life is too short to not have fun in everything you’re doing!

It’s much easier to build something you’re passionate about or need in your daily life, and it will most likely be more successful as well. One of my fondest memories is when I was struggling to study for exams in my 2nd year of university: I wanted to download a website blocker to stop me from going on Facebook all the time, so I could focus. At that point I told myself, why download someone else’s product when I can just make my own? For the next two months, I built my very own Website Blocker add-on while knowing next to nothing about coding. I ended up just working on this project instead of studying so it didn’t solve that problem, but I learned an huge amount about myself, coding, getting stuff done.

In the end, that shabby website blocker add-on attracted around 8000 users at its peak, and I sold it a few years later for more than 1000£. Not bad for a month or two of work! For me, the reason it worked out was because I was working on something I actually needed in my daily life: if you need it yourself, chances are someone else will need it as well. On top of that, I was having a lot of fun building my own project, rather than just studying for exams like everyone else. And when you combine being passionate about something with having fun, I think only good things can come out.

Conclusion

So that’s my (not so) short list of tips that have helped me the most. Most of them are applicable to many things in life, and I hope they make sense for you to apply to coding as well. All the best!

Adrian