Suramya's Blog : Welcome to my crazy life…

June 5, 2021

Some thoughts on Self Taught Programmers

Filed under: My Thoughts — Suramya @ 9:38 PM

There are a lot of posts nowadays that make fun of people who use resources like Stack OverFlow, Udemy, Google etc by implying that they are not ‘real’ programmers because they reference those sites or use the solutions to solve problems and there are others who look down on self-taught programmers. Some of the best programmers I have worked with are self-taught and some of the worst one’s were university taught. It doesn’t matter how you learn to code, it is how you apply it. The cartoon below is just one of the examples I have seen making fun of self-taught programmers.

Self Taught Programmers

Personally I think there is no harm in reusing code or preexisting libraries to solve the problem you are working on. Remember, the goal of a programmer is not to create the most elegant software from scratch. It is to solve business problems efficiently and fast. By not reinventing the wheel every single time, you are saving a lot of time that can now be spent solving the actual problem. Some people think that if you do this then you are not a real programmer. That is not the case, a real programmer is someone who can solve the problem they were tasked to solve correctly, quickly, cheaply and securely. It is ok to reuse code for other projects without rewriting everything.

A little while someone asked a question of Quora (I think) stating “If I can just copy-paste code from Stack Overflow, why do I need to hire a programmer”. The top answer was: “You need to hire a good programmer so they know what to copy from Stack Overflow.” Figuring out what to copy and how to join them together is a skill in itself.

We all build on top of code that already exists: The OS you are running is code, the IDE is more code, the Debugger you are using is code along with the compiler etc. If you really want to do everything from scratch then you should write your own assembly language editor from scratch. Then write an OS, compiler etc from scratch and so on. Actually now that I think about it, the processor you are using is running Firmware. You should create your own CPU and firmware and then write the software to run on top of it.

That doesn’t make sense does it? So why are folks against using other people’s code or getting a hint on how to solve a problem from others? Obviously, you need to ensure that you are not in violation of any license or copyright when copying code but other than that it is ok to look at other people’s code and get ideas or copy it (if it is opensource & allowed).

What do you think?

– Suramya

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress