by Alec Jones

7 important lessons about programming that I’ve learned at 17

source: twitter — always be coding— this is the most important lesson of all!

Hey there, I’m Alec, I’m 17 years old, I’ve been learning web development since I was 12. I’m far from an excellent developer, but I’ve definitely learned some things about being an average one. ?

Here are some lessons I’ve learned that I think every developer, especially new developers, needs to know.

No one knows everything

No developer knows everything and you don’t need to know everything.

There is so much more to being a developer than knowing by heart, for example, the methods of manipulating arrays in PHP version 5.6. It doesn’t matter if you know the little things, they are a google search away if you forget them.

There are far more important things you can do as a developer to improve yourself than learning these tiny insignificant details like,

  1. Improving your problem-solving skills
  2. Improving your teamwork and communication skills
  3. Increasing your knowledge of programming concepts and languages
  4. Creating awesome projects to showcase your work
  5. Focusing on writing clean efficient code

The great thing about being a developer is that you don’t need to know everything. You only need to know how to solve problems.

Having bugs is essential to learning

Source: imgur

If you’re programming something and you’re not coming across any bugs, it means you’re learning nothing.

Not running into bugs does not mean that you’re somehow a great developer because you’re too smart to make a mistake. It means that you’ve already developed something similar, so many times, that you already know how not to run into the bugs.

When you’re solving bugs you are becoming a strong developer. There are endless bugs in development, so the faster you can learn to handle them, the better off you’ll be.

Formal education is not necessary

At 17, I’m currently grappling with this topic. Should I attend university so I can acquire a computer science degree?

That’s a tough question for me to answer. But, most people reading this are probably not 17, in fact, most of you probably already have a job.

If you have already attended college or university, you definitely do not need a computer science degree. You also don’t need to do all of these coding boot camps either.

A GitHub profile with some interesting projects on it speaks volumes. If you can demonstrate that you can program, it doesn’t matter what background you have.

It’s simply a question of how do you learn best.

I didn’t have the choice, I had to learn to code on weekends because I couldn’t take 6 weeks off of high school for a boot camp. ?‍♂️

If you want to go back to university to get a computer science degree or attend an 8-week boot camp, go for it. But it’s nowhere close to necessary.

Googling is a legitimate skill

If you want to be a great developer, you will need to enhance your googling ability. It’s essential to be able to find solutions and code that you are looking for.

There is frequent googling, especially when you’re learning a brand new technology.

There are many different ways to improve your search results through little “hacks” and tips Google has set up.

Coding projects can take down weird rabbit holes of things you need to add to your code. Sometimes, you need to find a solution to a problem you don’t even understand. But thankfully, Google has the answer somewhere.

Try thinking rather than coding

When you’re coding, do you ask yourself, “what’s the best way to write this code?”

I know I usually don’t until after I’ve written a subpar solution. Far too often, I find myself writing the solution that first popped into my head. Most of the time, the first solution to the problem isn’t the best.

The act of typing out the code is short. Anyone can write code quickly that will be sloppy. You need to take the time to come up with a good stable solution.

Though it can be tedious, test driven development promotes this greatly as you have to think about what functionality you expect and how it’ll work. You can’t freehand the code when you have to plan it ahead of time.

Of course, there are exceptions to every rule. I’m not saying you should sit quietly and think about every line of code.

But, with anything, save yourself the time of refactoring and bug fixing by thinking about your code.

Be careful with tutorials

Following along with a coding tutorial is great for starting out, but I think these tutorials are not the only resource you should use for learning.

You’re not actually learning when you follow a coding tutorial. You may learn a little, but you’re not truly learning what you’re doing and why you’re doing it.

Additionally, these tutorials can also quickly skip over important parts of the code, as illustrated in Quincy’s tweet. It’s so easy to just copy and paste and not ask questions from the tutorial.

A far better way to learn to code is to set out on a project you’d like to build. Then, just get started. Find little pieces of code, write your own code, solve the bugs, read explanations and posts.

The most effective way to learn is to piece the puzzle together until you have a program that works.

Tabs are better than spaces

image source

I know. While you reading this article, you were thinking, “he’s got to be a spaces guy, it’s obvious.” I’m afraid not, everyone should be using tabs when they code.

I get it. Tabs can look different from other people’s computers. But, it’s so nice to just hit the tab, rather than smacking that space bar again and again. Treat yourself to tabs people!

Thanks for reading these short, but important, lessons that I’ve learned. If you disagree with any points I make, I’d love to hear why!