DEV Community

loading...

What is professional software development?

jautero profile image Juha Autero ・2 min read

Have you heard of The Joel Test? It's simple list of 12 yes or no questions. No, wait!Don't follow that link! It's almost 20 years old and bears almost no relevance to modern software development. Who does daily builds in the world of CI/CD? Instead of spec and schedule you have backlogs and sprints. I have sometimes thought about writing new version of Joel Test for agile world.

I've been thinking about this because a bit over month ago I started working with a small team and their tools and practices remind me of people developing web sites in early 2000s starting with the fact that they use Java and PHP. I'm left to wonder are they unprofessional or am I setting my standards too high?

One of the problems is that web created a lot of developers that have never used an IDE or a debugger. How many people using Vim have configured it to get code navigation to work instead of just using grep from command line? Do people even know how to use debugger? Did you know that there actually is debugger for PHP? And you can use it from Vim?

I think you either develop software in a project that works on a specification towards a release or you implement items from product backlog using sprints or Kanban. Anything else is just too unplanned to be professional. I think too many developers think project plan or product backlog is just bookkeeping for managers and not a way to organise day-to-day work. This has two consequences. Firstly, it disconnects the plan or the backlog from the actual work turning them
into a piece of fiction that gives only illusion of control. Secondly, developers have to use some other way to organise their work. Most likely they don't organise it at all and the result is "it's ready when it's ready".

What if you don't have CI/CD process or observability tooling? What if your test automation hasn't been run in ages and therefore they all fail? I've been venting about things that bother me. What do you consider as a minimal level of software engineering?

Discussion (2)

pic
Editor guide
Collapse
yaser profile image
Yaser Al-Najjar • Edited

You're not setting any too high standards... the majority accepts being "normal".

Tons of companies that I know, don't even think of doing CI/CD, and they might hold a conference for developers if they applied it (thinking that it's too fancy) 😂

Collapse
laurieontech profile image
Laurie

I think there is a big difference between the question proposed and the conversation there in.

A professional developer is someone who gets paid to write code for a living.

A developer that is professional on the other hand...