DEV Community

Cover image for Mistakes Done By Self-Taught Programmers Where Formal Educators Have an Edge
Joseph Mania
Joseph Mania

Posted on • Originally published at techmaniac649449135.wordpress.com

Mistakes Done By Self-Taught Programmers Where Formal Educators Have an Edge

Yes, I have seen some self-taught programmers going back to school in order to increase their chance of getting certain roles. Is there something they are missing? Let’s see.

General Computer Science knowledge

For sure, an individual who has passed through an IT or CS class understands a lot of things inside and outside the computing world. You get to understand that programming language is just a tool but not everything for code to run. Self-taught programmers miss out on a lot of things. Some even don’t understand the reason for using a specific data structure and how it might have an impact on space and time complexity. Having a deep knowledge of processors and how your code is compiled is an edge.

Test-driven development.

Most self-taught programmers don’t understand a lot of principles, like the importance of testing a code before you put it into production. Tests play an important role, but if you didn’t take a course in software testing, then it will be difficult to understand its role. A production code must pass through thorough tests so that clients won’t receive multiple bugs.

Inadequate knowledge of design patterns

There are many ways to write code to perform the same functions. But you require a deeper understanding of design patterns to choose the right method that will make your code run faster, be clean, and easily testable. Design patterns have been the solution to many problems, but beginner programmers and self-taught programmers rarely use them.

Misunderstanding Complexity

Here is where we look back on the data structure and algorithm topic. For my whole life in CS class, we learn almost 3 units about algorithms. The lecturers brought ambiguous questions which made us thinks and come up with a complex solution that we dint even understand. Writing your code to occupy less memory(space complexity) and take little time to respond(time complexity) is something sensitive. There is a need to scale down all the functions you use.

Reinventing the wheel

Yes, it has been written in over 100 blogs, and we still insist on this. A lot of self-taught programmers will want to show off how they can write complex code and get it run. They follow a long process, neglecting a library that was created for that task. It’s okay. Not all the packages and libraries must be used. But you don’t have to start everything from scratch. There are experienced people who have created that tool to minimize the time of development.

Not expanding their network

In programming, it’s not all about writing code alone. If you don’t interact with people who are in the same field, you will find it difficult to grow. That’s where college students shine because they interact with people in the same field. They get exposure to a lot of experienced people. Some get opportunities while in school because of collaborating with companies. As a self-taught programmer, let LinkedIn and Twitter be your best friend. Also, don’t forget to attend meetups and hackathons to see other people’s projects.

Under-confidence after people mocked you

Yes, as a self-taught programmer, you can get invited to an interview. We have those experienced fellows, maybe they attended a university, and they trust only people with credentials. At some point, they might mock you. But never listen to what they think of you. You are better than some of them. Just continue learning, and the right opportunity shall come.

Top comments (13)

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

I have the say, I cannot relate to any of this.

Most of the best developers I've met are self-taught. You really don't need formal study, even to learn CS concepts... you can learn it all yourself

Collapse
 
codenameone profile image
Shai Almog

Agreed. Pretty much none of those things are taught in University or College.

I think self taught developers are the best. Our profession requires constant update to our knowledge. This ability is core to a good programmer. Self taught developers are generally better at refreshing their knowledge.

Collapse
 
techmaniacc profile image
Joseph Mania

Sure i agree with you

Collapse
 
techmaniacc profile image
Joseph Mania

believe those are extra ordinary and few self-taught developers. Its only a small percentage that dive deeper to get the core concept of computing. But i do agree.

Collapse
 
blindfish3 profile image
Ben Calder

For each of these points you could just as easily find an argument why those with formal CS education are at a disadvantage over self-taught developers. For example:

  • General Computer Science knowledge: limited in scope and often doesn't go deep enough into soft or design skills
  • Reinventing the Wheel: relying on existing and outdated libraries that don't take advantage of advances in browser technology
  • Not expanding their network: limiting their network to those in their field; so lacking in different perspectives

I'm not saying the above is true for all CS graduates; it's just to demonstrate the point. Both formally educated and self-taught devs bring different skills to the table. I get the impression that nowadays there's a focus on hiring people who have a formal education; but I think it's really important to hire from a diverse range of backgrounds: the result will be a flexible team with a broad range of skills who can find more creative solutions.

Collapse
 
techmaniacc profile image
Joseph Mania

Thanks for your idea @ben Calder

Collapse
 
techmaniacc profile image
Joseph Mania

Thanks for making it clear

Collapse
 
victorchukwuemeka profile image
victorchukwuemeka

Are you been serious

Collapse
 
techmaniacc profile image
Joseph Mania

Am not really sure🤗

Collapse
 
techmaniacc profile image
Joseph Mania

Sure @luke

Collapse
 
techmaniacc profile image
Joseph Mania

Hey Thanks for reading🙄🙄🤣

 
techmaniacc profile image
Joseph Mania

🤣🤣

 
codenameone profile image
Shai Almog

Every is what you said. I didn't use that word. By definition self taught developers know how to learn on their own. So they tend to be better at that.