Forget the syntax, it’s the logic that really counts

Edwin Kato
The Andela Way
Published in
3 min readSep 7, 2017

Warning: Reading this article to the end might make you a better problem solver. (Programmer)

Yeah, you read that right, it’s the logic that really counts. Indulge me for a little longer if you might.

I like to think of computer science and programming as a means to communicate with the computer. This communication involves passing instructions to the computer and receiving output after processing them. Like ordinary human-to-human communication, computer programming also has many languages that are used to pass the said instructions to the computer. Simply knowing words in a particular language won’t help much if you cannot form meaningful sentences. The same applies for programming, knowledge of syntax on its own won’t help you if you can’t write meaningful and readable code.

Being adept at one programming language is impressive and it’s even better if you’re good at many languages. Having all this information at your finger tips is the easy part…actually knowing how to use the information correctly and accurately is what really matters. A programming language is merely a means to an end, the end in this case, is solving a particular problem. Don’t get lost in the maze of learning new languages and forget to grasp what really matters.

The syntax of these languages can be found online with rich documentation for reference. Simply mastering this does not make you a good software developer, it makes you a walking and breathing library. Being a good software developer goes far and beyond languages to actual problem-solving.

Don’t spend a lot of time trying to master all the intricacies of a language without concentrating on the concepts that apply universally. There is no single best language to use and even if there were, it wouldn’t last that long. This owes to the fact that needs and technology are constantly advancing and as such, the programming languages do too.

What really matters?

  • Knowledge of design patterns: A design pattern can be termed as a known solution to an existing problem. This will help you avoid reinventing the wheel and will make you a lot faster.
  • Ability to write efficient algorithms: Read more about existing algorithms and spend less time reinventing the wheel. Practice the algorithms without putting much emphasis on memorizing the actual algorithm but rather the process and reasoning behind its use.
  • Best use of data structures: The efficiency and performance of any program depends on the efficiency of the data structures used. It thus goes without saying that time spent in learning this will be time well spent.
  • Modularity and structure of your code: Simply put, having a poor structure and closely coupled code is a recipe for disaster.
  • Knowledge of debugging: You will find that a lot of your time as a developer is spent fixing bugs and refactoring code. Your speed and efficiency will depend on how fast you master this skill.
  • Testing: Take time and read about writing tests and test automation in any language. You can then use the same concepts to do testing in any other language. The differences will be in the syntax, but the ideas and concept can be re-used to suit any language.

Don’t worry much if you need to look up how to iterate over an array or where to put commas and colons. This shouldn’t make you feel like an incompetent programmer most especially if you’re new to the language. Try to be limitless in your knowledge of programming. Limitless in the sense that knowledge of a programming language can’t hold you back from joining any project despite the language used. A very good step in that direction would be to put much emphasis on the universal concepts and let the syntax catch up with you.

Don’t just be a programmer, be a problem solver.

--

--