Software Engineer’s JD — Part I

Sharjeel Nisar
2 min readJun 23, 2019

One of my responsibilities at my organization, is orientation of new hires. Many of them are fresh Computer Science graduates. Why orientation is needed, at all? Because, it’s all about setting expectations!

Let me walk you in, one of such occasion. Sarah has just joined our company and she’s attending her orientation on first day:

Formal introduction and ‘welcome to our family kind of sentences have been uttered.

Me: Do you know what’s your job description?

Sarah: Yeah! coding.

Me: Think again.

Sarah: Programming?

Me: No! think again. Take your time.

Silence for few moments!

Sarah: Developing Software.

Me: Well, why do we develop software, in your opinion?

Sarah: Clients ask us to develop software for them.

Me: Exactly, you are right. But why do they need it?

Sarah: They want to solve some problem.

Me: Here you are :).

Me: People ask you to build an idea from scratch, automate one or more of their business processes or refine some existing process that’s automated or semi-automated already.

What’s common in each case?

We develop a new idea to solve some real-life problem via some sort of automation, no matter of the fact that this problem belongs to which business domain, industry or area of life.

Or, we automate some real-life manual process or refine an existing process, to facilitate people or to solve their problem.

Just imagine, what problem UberEats has solved. Even before UberEats, a manual process existed to order food, via phone call. Food delivery itself, existed before UberEats.

It saves you from waiting for someone to pickup your call at some long queued call centre or order receiving section of a restaurant. Also, you can browse and see details of your product at your own pace. You don’t have to try to understand call centre clerk’s confusing explanation of a food item.

The real thing which is common in all three scenarios, is problem solving.

As a software engineer, our real job is to solve problems.

And how do we solve a problem? Via automation. We provide an input to computer and its output is actually, solution to a real-life problem.

And when you sell this solution as a service, it becomes a product. A SaaS :) How’s that?

Read next part of this story here.