DEV Community

Cover image for Why Computer Science Graduate has An Edge Over Self-taught Programmer
Joseph Mania
Joseph Mania

Posted on

Why Computer Science Graduate has An Edge Over Self-taught Programmer

We have many self-taught programmers who are getting a six-figure salary working with large companies. Some people opt for 6 months Bootcamp after which they learn most of their skills in the industry.

It might seem the best and fastest option, but shortcuts are always the worst. When it comes to coding and writing good software, you need to take time. Learn the theory around computers. Learn how compilers work. Know the processor and how the code is executed. This is where a computer science graduate becomes more knowledgeable than other coders.

Computer science is a wide field where you learn a variety of things. Then after some time, you might decide to choose between the hardware or software part. With the hardware, you can become a computer engineer, robotic engineer, etc.

The software journey is broad. There are various fields that you might decide to choose from. Data science, Artificial intelligence, software development, or software engineer. Most self-taught programmers mainly fall in the category of software developer and not an engineer.

A software engineer has all the skills possessed by a developer. But a developer has limited skills for engineering. When you take computer science, there are many concepts like the software engineering process that you must master. It deals with the way you should follow while developing software. It shows the steps required for good software to be implemented, from designing to the launch9ing of the product. A qualified software engineer follows the rules and guidelines of another profession across the world.

Furthermore, in computer science, there is a lot of math which are essential to handle complex algorithms. Topics like algebra, probabilities, and calculus are very essential. It's easier to grasp the data structure concepts while having fresh minds in school. But it is also possible for self-taught programmers who go-ahead to take online math and data structure classes.

Companies like Microsoft at times might consider computer science graduates to join their industry. In addition, most companies prefer hiring senior software engineers and developers who have gone through a four-year course.

This is not meant to discourage those who are not lucky to join colleges or campuses for that degree/diploma. Sites like udemy, Coursera, udacity,freecodecamp offer great tutorials on various topics. Be wise, don’t just learn to programs, learn the inner minor concepts. Be open to new ideas from YouTubers.

A warning to the computer scientist and software engineers in school or planning to join. The school won't teach you the programming languages you need. I have gotten 75% of my knowledge from YouTube tutors and online bootcamps. Work on extra things. Get more knowledge and the future is going to be bright.
Happy codding!

Top comments (2)

Collapse
 
vagrantjin profile image
Vagrant Jin Kazama

Very interesting article.

Learn how compilers work. Know the processor and how the code is executed. This is where a computer science graduate becomes more knowledgeable than other coders.

A computer scientist has no business writing code for HTML pages/React-jsx or building APIs with ASP.net. Like you mentioned, robotics, hardware stuff are much closer to the metal should be a scientists/Engineers job. Npm installing packages should be a developers job. A Developer does not need to know how V8 or how GCC works. The developers job is more artistic flair mixed with technical rigor.

The real question is why software engineer and computer scientists, with 4-5 year degrees from universities - also "npm install"-ing and "create-react-app"-ing? There's a disconnect. If scientists don't want to do the difficult jobs like build the tools and infrastructure that will run the future, why shouldn't an art major go to a bootcamp and learn how to write python? Why are software Engineers choosing the "easy" route instead of writing a new web-server or extending a language or researching new methods?

It's the reason why you never see an engineer laying bricks. He understands the theory and physics of building materials but he leaves the floating of cement to the masons, brick laying to the brick-layers.

Interesting things to think about.

Collapse
 
techmaniacc profile image
Joseph Mania

True, thanks @vagrantjin ,very informative