FrontendMasters and Pluralsight and LeetCode and JetBrains and CodeCademy
At least 50% off from FlexSub

Subscribe Now

I've assisted hundreds of self-taught programmers in locating the appropriate materials. I have spoken with them when they lacked motivation and desired to leave their jobs.

I have learned how they write code. What errors do they commit early in their careers? What types of problems do they struggle with the most?

After speaking with hundreds of self-taught programmers, I am now able to determine whether or not a self-taught programmer has experience.

1. They try to choose the same tech stack

Self-taught individuals have a tendency to choose the same technology stack. They are not willing to leave their comfort zone. They have no interest in learning anything new.

If the manager requests that they learn a new language, they attempt to persuade their supervisors and team that the x language they already know will be more beneficial to the project.

If they are requested to learn the React framework but are already familiar with Angular, they will attempt to participate in projects that will employ Angular.

They are not prepared to become accustomed to discomfort. As a developer, you will never advance in your field if you cannot leave your comfort zone.

2. They have an attitude of just making it work

Self-taught novice programmers do not worry about code quality. They are not concerned with their own code style. They only wish to implement the needed app feature. If they are able to construct what the organisation desires, they feel productive.

If they fail to complete their responsibilities within the specified time range, they perceive their efforts as futile. All of their working hours have been in vain.

They do not get that deadlines cannot always be met when programmers attempt to produce high-quality code. In such circumstances, deadlines must be pushed.

If programmers began developing code that is difficult to read and maintain, they would all complete their tasks far before the deadline. Code quality is crucial.

To ensure that the code is easily understood, programmers may require additional time to complete their tasks. It does not imply that hours spent developing quality code are useless.

3. Write duplicate code

No developer wants to maintain a project with poorly written code. It is tough to manage a codebase that contains code that has been posted thousands of times.

Self-taught inexperienced programmers frequently duplicate code. They feel that redundant code does not need to be removed provided the software functions effectively.

They forget that by repeatedly copying and pasting identical code, they are bloating the codebase. They inform you that executing all these additional codes will just take a few seconds.

However, if a web application is delayed by a millisecond, the client will incur significant losses. With each superfluous line of code, the client consumes additional server space.

A code base that is well-written and contains few duplicates means that the programme runs faster and consumes less storage space.

4. They don’t do any unit testing

Self-taught novice programmers mistakenly believe that no test case could damage their code. In addition to manual testing, they verify their code by executing code calls.

When developing a web application, developers interface directly with the application. If everything functions properly, they assume everything is in order and there is no need for automated testing.

After speaking with programmers, I can say that test-driven development should be utilised wherever possible. It is the only factor after which code can be trusted.

Even if you neglect to perform manual testing after making changes to your code, test-driven development will ensure that the quality of your code remains excellent. It is also a form of documentation that is always present in your code.

5. They run after the most hyped technology

This is the most enjoyable. I regard a man to be inexperienced if he is self-taught and pursuing the most popular technologies. You could call me somewhat biassed.

I discovered that novice programmers are the ones who discuss the next great thing. Every single one of them desires to utilise cutting-edge technologies.

When a novice developer encounters a programmer using an older programming language, such as PHP, they will look down on them.

They believe that a developer who is not using the most recent framework and language is squandering their life.

I have frequently observed that these unskilled self-taught programmers have viewed a video instruction on the most recent technology. After viewing the film, they begin to believe they are experts in the topic.

To become an expert, though, you need to construct a real-world project, not simply read a tutorial.


  1. They try to choose the same tech stack.
  2. They have an attitude of just making it work.
  3. Write duplicate code.
  4. Relying too much on their code.
  5. Run after the most hyped technology.

FrontendMasters and Pluralsight and LeetCode and JetBrains and CodeCademy
At least 50% off from FlexSub

Better, flexible and cheaper subscriptions for a wide range of services in just a click of a button.

Get started now