Skip to main content

Learn some competitive coding

 Although in real software engineering scenarios you will barely encounter the kinds of problems you see in programming interviews or competitive programming, it is actually a good thing to train at these kinds of things because in the end, not only will you train your brain to become stronger, you will also develop what I call the mechanical mind. 

This mechanical mind must be trained through programming interview-like preparation or competitive programming because it does not come naturally in most people. As you get better at solving programming-interview/competitive programming questions, your general ability to think mechanically, which is actually algorithmically will improve, allowing you to apply that strong analytic skill to other things you might be engaged in.

But in my opinion, the biggest benefit of possessing a mechanical mind is when you seek to study really advanced algorithms. Without proper mental training, you will find it hard to study really hard graduate-level algorithms without which you will not be able to make any significant contributions to software/algorithms.

If you got some developer job and focus solely on solving the kinds of problems that arise in your job, after many years of experience you might develop a very good aptitude for solving practical software problems, but you might not be able to develop ground-shattering algorithms like page-rank or some new better form of compression, etc. 

Without a solid foundation in algorithmic/mechanical thinking that you get from competitive programming, you will not be able to venture into really sophisticated algorithms except you have a natural ability for that. For the common everyday developer who wishes to solve some fundamental problems in computer science without a graduate degree, the path of competitive programming can develop your mind to the level where you are able to start studying the really hard algorithms with the hope that one day you will be able to build one of yours. 


Popular posts from this blog

Next Steps Towards Strong Artificial Intelligence

What is Intelligence? Pathways to Synthetic Intelligence If you follow current AI Research then it will be apparent to you that AI research, the deep learning type has stalled! This does not mean that new areas of application for existing techniques are not appearing but that the fundamentals have been solved and things have become pretty standardized.

How to become an AI researcher

Artificial Intelligence is all the rage these days. Everyone is getting on the bandwagon but there seems to be a shortage of AI researchers everywhere these days. Although many people are talking about doing AI not many people are actually doing AI research.

What is Intelligence: Patterns

PATTERNS What one person calls a pattern is very different from what another person refers to as one. Can we arrive at some kind of general idea of what a pattern is? It is my attempt to do so in plain words in this section.