2

I am looking for ways to describe a job with the following combination of responsibilities.

  1. Employer is a non-software and non-tech company (this is relevant below)
  2. Design a "spec" for a software solution to a "problem" but the "problem" is presented by extremely non-technical user (see 1) so the first step is to figure out what their problem is, and if it is something a computer program could help with, and if it is something a computer program can help with the specifications for said program need to be defined
  3. Build the system specified above in (2)
  4. Sometimes the solution doesn't involve software at all, because sometimes the entire workflow is the problem, and if the workflow is adjusted the problem in (2) would disappear. I jokingly refer to this as debugging social systems, but I think this is a reasonable description of the task.
  5. Sometimes users request specific software changes (going as far as to have something philosophically equivalent to a spec) but accepting and implementing their change is a bad idea, usually because it causes negative externalities, e.g. making someone else's job more difficult. For example, some users don't like having to type valid, correct, parseable addresses on orders, and ask that the rules on order entry be relaxed, but if you relax the rules on addresses it becomes harder to ship orders, because the addresses are sometimes unusably bad. The job holder needs to have enough forethought to understand the consequences of changes.
  6. In practice this person's days are likely to be highly heterogeneous, in that some days will be spent exclusively coding, and other days will be spent exclusively not coding, sussing out root causes, but not for anything to do with software, although things generally start with a request for software. For example, if a truck continually arrives late this person would need to be able to follow the truck's lateness back to its genesis, i.e. truck arrived late because it left late, truck left late because it wasn't packed completely, it wasn't packed completely because the trucks are loaded one at a time and this one was at the end of the line, this truck was at the end of the line because it drove in from another state, it left the other state late because the manager at the source of the gets in at 6:00, and the truck rolls out at 6:05 because the truck's keys are stored in the store, the truck's keys are stored in the store because the truck has 2 drivers, and who drives changes from day to day, and there is only 1 key, so in this case a good way to get the truck on the road earlier is to get another key.

I am struggling to even begin the process of looking for someone to fill this role, because the first step to making most job postings is a title, and I have no idea what is an appropriate title.

Edit - Adding more re: truck comment

The truck part is relevant because people often ask for software, or something software-like, when their problem is actually something else. So someone says that we need to track where the trucks are at all times, because this one truck is always late, so tracking it using a GPS and a website to display its location will help people know where the truck is, so they can provide updates on where the truck is, because its delivery times are later than they are supposed to be. But why is the truck late? If the truck were on time you wouldn't need to track it via GPS and invest all of that money on equipment and services - you could just get the truck on the road at the time.

9
  • 5
    Are you open to the possibility that what you are asking is actually for two or more roles?
    – DarkCygnus
    Oct 5, 2022 at 21:37
  • What you are describing would be an engineer in other fields. Unfortunately the term Software Engineer seems to be used interchangeably with Software Developer. Oct 6, 2022 at 1:12
  • 2
    @DarkCygnus, Do you think that the OP may have tried to cut cost by hiring 1 person to do the jobs of 2 or 3 people ? Oct 6, 2022 at 2:38
  • 1
    Main Question, Why are you looking for someone else?Are you leaving?
    – Strader
    Oct 6, 2022 at 2:38
  • 1
    You need more than one person. That's far too much unrelated stuff to give to a single person.
    – T. Sar
    Oct 6, 2022 at 19:23

10 Answers 10

8

So basically, the person is responsible for:

  • requirements
  • implementation
  • testing
  • debugging
  • other similar stuff.

In a small company, that is pretty much the job of a software developer. In a bigger corporation, following certain processes and best practices, in specialized teams with formal project managers, that would be a software engineer.


The part with dealing with late trucks is something like "logistics" or "logistics support". You cannot really combine the two jobs under one title. It is OK for one person to cover several jobs, if the expertise and the workload allow.


Update (thank you @Steve): while managing schedules and trucks is not a software task in any sense of the word, there is another POV: if some of the the information from the schedule work is used as input for the software, then some of the the "logistics" work can be assimilated to business analysis, requirements gathering, customer support... - and these are all related to software development / engineering. This is NOT to say that the "logistics" work IS part of the software development. But some of the information acquired during "logistics" work MIGHT be used for the improvement of the software, IF the software is about "logistics". SO the bottom line is hat, in either case, "logistics" and software development are two different activities, regardless of them being related or not.

14
  • 4
    As far as I understand software developer and software engineer is used interchaneably and there is no standardisation of the term Oct 6, 2022 at 11:42
  • If you insist, one can use "interchangeably" any two words in the dictionary (e.g., "flower" and "sledge-hammer"). However, it should be obvious that the words themselves ('developer" and "engineer") are not perfect synonyms, and that one of them has a stronger meaning than the other (I consider "engineer" to be stronger). The people who use them interchangeably are probably the people who were nominated as managers by their managers, but call themselves "leaders". Yes, they also use "leader" and "manager" interchangeably", but it does not mean that we should believe them.
    – virolino
    Oct 6, 2022 at 12:09
  • 1
    Just remember that some people call "software developers" or "software engineers" - "programmers", and some people consider HTML to be a programming language. Same "interchangeable", different situations.
    – virolino
    Oct 6, 2022 at 12:11
  • "there is no standardisation of the term" - that is quite possible to be true, but we can use our minds to decide what makes sense and what not.
    – virolino
    Oct 6, 2022 at 12:12
  • 4
    "The part with dealing with late trucks ... You cannot really combine the two jobs under one title." - that's a preposterous claim. Finding and solving a systematic reason why trucks are late, and evaluating different potential solutions, would be bread and butter for a senior business analyst or similar.
    – Steve
    Oct 6, 2022 at 19:47
5

I'm pretty sure I've seen this in an episode of Dilbert...

Okay - Jokes aside, I don't think that what you've described is a singular role. It possibly could be for the one-in-a-million hyper-gifted individuals - but my gut feeling tells me that the employer isn't going to be paying one-in-a-million Salary expectations.

Companies who are non-tech/non-software typically (without trying to cast shade) don't understand that the skillsets being asked for are noticeably different - and whilst for small-scale individual projects this may be done by an individual, for larger and more complex environments - especially those that involve external factors it is far more efficient for these duties to be handled separately.

I would go back to the employer and ask if they have the budget to split it into two roles. If one of the roles is only going to be temporary (such as the initial scope of the problem and analysis) then this maybe a scenario where you would hire a Contractor to do that part of the work and permanently employ a Full-Stack Dev (or similar)

6
  • 10
    I feel like you give a lot of software developers too little credit. Not all of them are drones coding to a spec. Some are quite capable of putting on multiple hats. Oct 6, 2022 at 1:13
  • Heh, I work in IT, but as a Sysadmin - I'm obliged to give my Code Monk... I mean 'Developers' a little bit of stick. You could probably get away with it if you were a start-up, but the range being asked for is more (IMO) than merely changing hats once in a while. Oct 6, 2022 at 2:04
  • 1
    I suppose it really depends on the scope of the project. If it's not that expansive without heaps of stakeholders, someone could indeed own the whole process end to end. Oct 6, 2022 at 3:46
  • 7
    @TheDemonLord What the OP described is basically my life. I develop software for manufacturing processes and the brief can be as simple as "fix this" all the way thorough to "here is a spec (but we didn't tell you it's incomplete and full of incorrect assumptions - even thought the sales people signed off on it)
    – Peter M
    Oct 6, 2022 at 13:15
  • 1
    I've known at least a handful of dev's who could handle a position like this. Its certainly not everyone but he's not exactly looking for unicorn. Its definitely at least two roles, but its not uncommon for people to wear this many hats. Oct 7, 2022 at 17:05
5

Believe it or not, this sounds just like the normal job of a "programmer" or "developer", wherever they exist in a firm as a sole IT staff member.

Where a division of labour exists, the title may be "technical director", "IT director", "IT manager", "systems manager", or something like that. Various kinds of "analyst" and "engineer" might also suit. Anyone with these kinds of titles who also codes as a main (but not the only) duty of their position, is almost certainly doing the job you are trying to describe.

The problem you will have is that for any given job title, you will find people who have worked in different organisations of different sizes whose actual job profile was much narrower than the one you are seeking to fill.

You will always be looking for people at or just under the very highest level of management in their organisation - not for people at the bottom of many layers of divided labour (where any one person will have only a slice of the skills you seek, and won't be effective without the rest of the structure).

Another thing that may hinder your search is that when looking for a senior manager, you rarely go looking for a "management jack of all trades". You don't seek out a captain of a ship as a "shipping jack of all trades".

This turn of phrase might imply that you aren't being realistic about the level of candidate you are seeking, or the cost in terms of salary, even though you are being very explicit about the total scope of their role and responsibilities (being effectively to understand and oversee the fine details of the entire operation, and optimise everything for efficiency).

5

What about two titles for one role? For example: project engineer/software developer

In my current role my contract specifies that I'm a software developer and esm specialist.

That seems to be appropriate solution if you can combine generic software development/ domain specific role

3

If you scratch bulletin 3. you are basically describing the role of a business process analyst (or equivalent job title).

Understand the current workflow and requirements, revise & improve where possible, specify a solution (e.g. a software) to fill the gaps/cover the entire workflow.

Usually this role is paired with a programmer/team of devs that take over bulletin 3.

2

The title actually doesn't matter, you just have to add to it. You pick the most important skillset and stipulate the rest. The common way of doing it is to put a heading like.

IT engineer with clerical skills. Or Clerk with strong IT skills. Then explain further.

Your role is actually bigger than you think. What you're looking for should include IT hardware maintenance and troubleshooting as well.

My first job in this country (at a water company) encompassed everything IT from networking to coding. In addition I did data entry and reconciling in the accounting package, checked stock, loaded/unloaded trucks, labelled bottles, fixed holes in the roof, washed trucks, changed tyres, maintained the generator and a lot more whenever necessary. My title was IT specialist, but thats just a name.

1

What you describe sounds to me like a mix between Project Owner + Project Manager + Lead Developer...

In general, this seems like classic Project Developing scenario:

  • (step 0: someone thinks they want a product or service)
  • someone asks for a product/service (could be externally or internally, could be software related or not)
  • someone else considers the viability and usefulness (and do-ability) of such requests, and then accepts, modifies or denies such requests
  • finally someone else (usually a team) develops, implements and test these Software (or non-Software) Products.

The truck example you gave sounds like an X/Y problem (getting to the root/cause [the key] and not just to the symptoms [truck late]), and is not rare in Software and non-software projects... A good Project Manager should be able to reach the root cause and determine a proper course of action (say, get a new key instead of developing a web page that monitors traffic so trucks can go through better routes and, bla bla).

As a comment, what you describe I believe covers several roles. Having a single person fill all those roles could be hard to obtain, and even if you did it would be better to split the roles and build a team instead. A single person would surely be very burdened with all those tasks and surely will not perform as well as a team.


Side note: Job titles are quite a thing, as they don't usually have a universal meaning. This means that within a company a job titled "A" could mean something different in another company...

You could well name title this job as "Supreme Tech Wizard", but what matters most is the responsibilities and the description. "Supreme Tech Wizard" surely would mean something different in another company...

1

Role you described is not exactly the one of the clear-cut roles in software industry.

person is growing in to this role, you should prioritize immediate responsibilities and search for employee that fills them

As for the rest of the responsibilities, make sure to hire individual with sufficient will to execute extraneous tasks and ambition to learn new roles

1

If it helps at all, I used to have this exact role.

I worked for a large High School. They had an IT support team, but I was there to support their management information system, and do some development as a side-gig.

I did a combined Business Systems/IT degree, so was comfortable both collecting requirements and developing the software (it's actually very helpful to do both, as you can really understand what they want, and discuss limitations without middlemen).

I'd say fundamentally you're looking for a software developer (at least some coding skill isn't optional) but make it clear on the job description that they'd be working solo, directly with users and expected to collect their own requirements.

When interviewing, ensure they have good interpersonal and requirement collection skills, as well as adequate coding ability. In this case I'd say the former are more important than the latter.

0

I've seen roles with wide ranging responsibilities which are focussed on software, technology and the periphery areas advertised as "Systems Developers", Which to me at least means someone who can maintain and develop existing systems and also have the ability to investigate issues and develop new processes.

Maybe "Systems Developer" could work as a job title for you? You could prefix it with Senior or Lead depending on the level of autonomy / seniority you want to attract?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .