Quora

@quoraanswers

What Separates a Junior Programmer vs. a Senior Programmer?

By Mario Peshev, CEO of DevriX, Managing 30+ Remote, a Freelance Mentor. Originally published on Quora.

Niels Bohr once said, “An expert is a man who has made all the mistakes which can be made, in a narrow field.

Career growth in software engineering (and many other areas) is determined by the depth of knowledge and the breadth of expertise. A project can scale both horizontally, and vertically — which requires a different set of skills and experience in practical applications following both patterns.

In practice, a senior developer can solve almost any type of problem with less supervision. They can assess the risks, ask the right follow-up questions, determine the right workflow, analyze the possible bottlenecks and deliver a stable solution (usually well-documented and tested).

A junior developer can solve a limited set of problems with a smaller subset of alternative solutions.

For example, an organization may need a simple blogging engine (just for the sake of an argument).

The junior is probably familiar with one programming language, framework, or a platform. They will pick it right away and implement a semi-stable solution that solves most of the problems in certain use cases.

A senior developer will take a more prolific approach. They will analyze the business goals and the technical challenges (expected amount of traffic, user roles and capabilities, different use cases and flow diagrams provided by the PM team).

They will pick a certain framework that suits the business and budget constraints. Moreover, the senior engineer will propose several different ways of implementing that with their pros and cons. The management team can revise the options and pick the one that closely corresponds to the needs of the customer.

This may include a standard MySQL schema, a NoSQL database for storing certain activities, a SPA application interacting with the engine through a REST API or whatever the engineer thinks is the best possible option.

This is a limited example, of course — but it shows the different approach given the wider and deeper understanding and experience of the senior developer. Moreover, the senior engineer has normally experimented with all approaches and knows what actually goes wrong in most cases.

The theoretical problems in a book are different from what happens in action. And if the senior developer has already spent several years within the organization, they can already assess the skill set of the other team members, their strengths and weaknesses, the standard workflow that the management takes and what would result in the best solution within the constrained requirements.

By Mario Peshev, CEO of DevriX, Managing 30+ Remote, a Freelance Mentor. Originally published on Quora.
For more trending tech answers from Quora, visit HackerNoon.com/quora.

More by Quora

Topics of interest

More Related Stories