Value of trans-legacy Development Skills in the Enterprise


I would love to start a discussion of the current state of software development to coincide with the release of this great book. In particular, I would like to discuss the impact of outsourcing software development. I am seeing more and more the complete loss of all software development skills in the enterprise. Software development skills have been absent from the enterprise for so long that nobody in the enterprise even knows how to write software. If nobody knows how to write software, how can you even know if that vendor you hired knows what they are doing?

In my last two engagements nobody had even heard of “code-first approach” because there was no one left who’s job it was to keep abreast of modern web frameworks. They are still pursuing a database-first approach because it seems they hang on to their database resources long after they kick out their developers.

When I think of the problem of getting these shops to embrace functional programming with Elixir and Phoenix, I am first faced with the huge task of getting them to embrace software development again. The Pragmatic Programmer started a cultural shift in our industry that led to an explosion of creativity. I really hope this new edition can propel us along the path again.

1 Like
[General Programming] The Pragmatic Programmer, 20th Anniversary Edition (Addison Wesley)

Outsourcing may be part of the problem but I wonder if this is also playing into it:

Advice from an Old Programmer:

I wonder whether the more recent surge in popularity in Python coincides with an increase of people who are domain experts first and developers second - i.e. being a developer takes a backseat, while their primary value is in their domain expertise.

Software development is a means to an end and good development skills are pointless if they can’t be applied to a domain. So those skills better be paired with good/deep domain knowledge or at least excellent communication skills with domain experts combined with the ability to acquire domain knowledge relatively quickly.

I wouldn’t be surprised if knowledgeable subject matter experts with passable development skills regularly beat out more competent developers who may not show that much interest in the domain.


I’ll focus on just this point here.

There is nothing inherently wrong with this approach per se. I knew amazing DBAs that could make your tables and views quack, jump, dance and generate reports at 85% - 95% of the full CPU / RAM / disk load saturation while doing it. And that was 10 to 15 years ago. I knew several PL/SQL magicians. It’s an awful language alright but with a huge list of rules (think NASA level of stringent standards) it can take you quite far.

Additionally, if people aren’t so afraid of databases, you can make a very solid CRUD-like REST API with Postgres. Technically, saying that Elixir – or any other language – “does it better”, is subjective. It’s also a fact that most businesses never arrive at the point when they might need the extra functionality beyond a basic DB + CRUD REST API for their apps.

So in terms of “DBs vs. full-blown programming languages” this is not as clear and cut as many make it out to be.

I dislike writing PL/SQL (or the other dialects with JS / Python / etc.) but I am realistic that’s just a preference and is not based on technical merits only.

1 Like