How To Tell An Amateur Programmer From a Professional
Tags: webdev, beginners, html, programming
Published: 2024-05-31 02:10:00

You are always learning new programming languages or frameworks.

I think all of us have fallen victims to this. Whether it is the hype of a certain technology, or you just decide one day that you want to master something completely new just for the challenge of it.

It is really a vain pursuit. Why? Well I'm all for you being a constant learner. That is a good thing you actually have to do in this industry. You have to always be learning.

But the question is, "What are you learning?"

It is much more beneficial to be learning and mastering the concepts of programming and how things are really working than learning many different languages.

Which to be honest, each one is just a new syntax. It is just the new language. Why do that.

Before we continue, If you are interested in more web related content, [subscribe to my newsletter](karlgusta.substack.com), especially if you are in a job search so that you don't miss future posts.

If you really understand the concepts that underline programming, a loop can be looked up in any language. A switch statement can be looked up in any language.

It is all just syntax!

So, if you are asked to build a feature in a new language or frameworks, something that you haven't used before, you should be able to:

1. Read a quick overview of that technology and how it works.
2. Be able to build that feature based on programming concepts or pseudo code even and then transforming it into whatever syntax that language speaks.

Also, and I did an article on this one recently. I will share a link. But if you are going to learn a new language for the sake of doing so, pick a lower level language like C or Rust or even Go or C#, if you are coming from Python or something high level like that.

And once you have put in the work of learning the deeper concepts that those languages force you to understand, you can really jump in anywhere.

## Too Many Things At Once

You are working on too many different things at once.

As a new developer, you want to look competent. And you want people to think that you are very efficient. 

That you just happen to be this coding prodigy that came out of nowhere.

But take a look at senior to mid level devs.

They reject the extra work because they are in the middle of something. They are in the middle of, one thing.

They have a really good grasp of that one thing, and the requirements for that one thing.

And they get it done well.

You, on the other hand, have 3 things going on. Of which you don't fully understand. And your brain has to jump back and forth between them.

As a new dev, don't be embarrassed to say, "I'm currently in the middle of something. Let me get this done first, then I will jump on that."

Stop volunteering for everything.

Get your one assignment, understand the requirements well, and then knock out the park.

Be a dev that always delivers over one that is always in the middle of 10 different things. And always has to give updates and excuses for all the things that you are doing.

Take one task assignment at a time, and complete it.

And commit to a new task only when the previous task is delivered as requested.

In fact, building software is a slower process than you think. Especially if you want to do it right.

Happy Coding!
Karl

P.S. My new course [The 2 Hour Web Developer](https://karlgusta.gumroad.com/l/eofdr) will help you build ANY website you want.