There is a lot more to software engineering than just coding

Nilesh Agarwal
2 min readAug 25, 2020

The realm of software engineering has a lot more to offer than just coding- it transcends a world of same-ness to build real solutions and expertise.

I’ve often observed people getting confused between coding and software engineering or often attribute both the domains as essentially the same. I believe there exists a difference- a difference without a clear distinction.

In coding we use algorithms to convert input data sets to output data sets, and the individuals who are able to carry out this process efficiently are considered to possess the adeptness to perform coding. Conversely, software engineering involves using computer science expertise to solve real world problems.

A good software engineer is someone who can puzzle out the real world business problems and come up with the architecture to solve the problem in the most methodical way. This involves not just coding but also system design, database architecture, networking, deployments etc. Furthermore, this involves understanding how these components are interconnected with each other and can be used to find meaningful conclusions.

There is a strong realisation among us that traditional interviews in most cases lead to exclusion of people who would otherwise make competent additions to the team and owing to that we see a lot of companies disqualify engineers because of erroneous judgements made of the interviewee due to incorrect test choices. While, the candidate might not be able to invert a binary tree but if he’s able to create a dashboard for your customer then he/she is the right hire. skill is not taking a code-test, your skill is shaping a real and exemplary software. That’s where the real juice is.

Here are some of the other parameters that you should check for while hiring a software developer:

  • Problem Decomposition
  • Understanding APIs
  • System Architecture
  • Databases
  • Algorithms
  • Library Usage(Reusability)
  • Maintainability(Code smells)
  • Code Reliability
  • Readability
  • Error Handling
  • DRY(Don’t repeat yourself)
  • Low Level System Understanding

If you think there are other parameters other than the ones listed above which are an important part of software development please feel free to share your thoughts.

Happy to understand how it’s a function of software development.

--

--

Nilesh Agarwal

Explorer, Traveler, Adventure Enthusiast - Founder & CEO @ Codejudge