Becoming a Well-Rounded Developer

Greg Caldwell
2 min readJul 13, 2021

--

I has the pleasure of running into a senior developer at Google recently and me, being a fresh software engineering student, asked him a very simply question — how many languages do you know?

His response, “At some point, that question is irrelevant.” This sort of surprised me but as he elaborated it began to make sense. New developers and students tend to view each language as something entirely unique but that isn’t entirely true. There are overlapping concepts in many languages that allow them to be grouped together in terms of their core functionalities. If you were to become familiar with each of the different core groupings of languages then you can sort understand almost all other languages at a fundamental level.

High level languages can be grouped into three main types, Procedural-oriented, Logic-oriented, and Object-oriented.

Procedural-oriented languages are a series of written procedures that each execute to perform a particular task and a procedure can call upon another procedure to have free flowing information structures. This is also known as an imperative language. Examples include, Forchan and Pascal.

Logic-oriented languages use a programming paradigm where the instructions are written as a series of logical clauses. Examples include Prolog and ASP.

Object-oriented languages are divided into a series of objects that that can interact by sending messages to each other. Javascript, Python, and Ruby are examples of object oriented languages. These are the most popular in industry.

Functional languages are declarative and constructed by composing and applying functions. Examples include Javascript and Scala.

The way to become a well rounded developer is to seek out experiences with the different programming paradigms. Once you have developed a good understanding of each paradigm then you can apply that knowledge to almost any language. There are even some languages that can use multiple paradigms within the same language. A great example of this is javascript where it can be used a functional language and also as an object-oriented language. This is also a fantastic language to learn as, according to a senior Google developer, “This is never going to not be relevant.”

--

--