De-skilling the developer - Adam Heunis tech talk
in

dotnet.org.za

South African .NET Developer Portal

Adam Heunis tech talk

Software mostly, but other techie stuff as well. I primarily use Notepad, Visual Studio, the Command Prompt, XmlSpy, SQL Server, MySQL and Photoshop. I speak
C# (incl. OO), XML, XSL, ASP.NET, VB.NET, VB6, SQL, UML and XForms.

De-skilling the developer

When I started my software career in 1991, I wrote an application that "peeked" and "poked" individual pixels to and from the screen. It had a meta declaration process (kind-of like xml/xsl, except it wasn't xml) and it could even draw graphs. It was called, originally enough, "Newdisplay". It took me ages to get this spot on and I was very proud of myself when I finished it. It is still in daily use with Neat Contech, my employer at the time.

Today though, I can get 10 times the functionality using Windows or a web front end with substantially less effort. Now I can display some serious data, beautifully styled and packaged for edit by dragging and dropping a datagrid and binding it with 3 lines of code. This also means that just about anyone that can switch a PC on, can do the same thing. Yes the datagrid may not be the best or most economical way of displaying data, but who cares? Business just wants to see a screen with data. They really don't care anymore how this happens as long as performance is adequate.

The new Visual Studio is even more a case in point. Now you can pretty much set up an entire user database and web authentication system by dragging-and-dropping controls around. Surely you all know what I mean. I've used front-end development in my example, but the same applies for all the tiers. Just look at all of the MS application blocks.

I quote from Can the Programmer's Job be De-Skilled? by Drs. Nico, Turner & Kearns:

As the field of software development becomes more professionalized, and the software development process becomes more formalized, there is a growing belief that the job of the front-line programmer is becoming.or must become, out of economic necessity.de-skilled.

I'm hoping to get some response from the community on this, because I hope to be proven wrong. C'mon all you hardcore software geeks, prove me wrong!

Published Aug 10 2005, 07:50 PM by attie
Filed under:

Comments

 

OomNick said:

I don't believe in programmers anymore. We're all moving more to Software Development. Nobody programs computers anymore, but we all develop software.

And all these drag and drop things have made redundant task that we used te perform much easier and less time consuming. It gave me the opportunity to consentrate more on design and planning and not so much on if and how to write the system.

And even with the drag and drop, I still find myself going back and customising things. Things that cannot be done by dragging and ropping things.

Lets take the datagrid for excample. I do not use it! It clumsy and just lookes like sh*t. I ussually use ListViews, set the to be details and the dynamicallty populate them. That takes coding and also gives me the opportunity to customize things more that what I'm capable off with a datagrid.
August 11, 2005 5:16 AM
 

Brady Kelly said:

Bring of the Software Factory, with production lines of semi-skilled component handling workers configuring already mass produced horizontal components into applications.

Too many people think technical knowledge is a skill.
August 11, 2005 5:48 AM
 

KevinT said:

My 0.02, as requested…

Writing good software is about more than just how quickly you can slap code together. It is about good design and architecture, which come from the approach/method/process you take when creating software.

This article represents the computer scientist approach. Computer scientists have been trying to fine tune their processes for decades, under the assumption that if they just find the 'right' process, everything will fall neatly into place, they can hire lesser skilled labour and most of the work can be automated.

It will never happen. Time and time again all that you end up with is layers of process and formal requirements that do more to slow up the development process than expedite it.

Certain tasks can and should be automated - certainly developers should be spending less and less time writing 'plumbing' code which actually makes things work on the computer level but software design itself is an art. It may be an 'economic necessity' to de-skill it, but I believe from experience that it is a practical impossibility.

The xp/agile and object thinking movements are born out of a rejection of this model of software development as construction, you should perhaps spend some time reading about the thoughts of the leaders in this field (and their arguments against formalist approaches to development) - you may find it interesting.
August 11, 2005 6:00 AM
 

Trevor Green said:

As I always say, someone has to write Windows, someone has to write Visual Studio and someone has to maintain these products. And as long as there's money to be made, Microsoft is going to churn out these products and there will be jobs for a select few highly technical people.

Another thing to add: With all the optimisations that database systems do nowadays, I'm still finding stored procs that take about 2 minutes to run, which when rewritten take only a few seconds. This proves one things to me, and that is that a lack of sufficient technical knowledge can cause one to write systems that are overtly slow and bloated. So yes, we are dragging and dropping and having a really boring time, but when it comes to churning out that extra little bit out of your software system, technical knowledge counts for a lot.
August 11, 2005 7:55 AM
 

Stanley said:

I see it a lot like Trevor... In the sense of there must and always will be somebody that knows his shit. The saying "The rich will get richer and the poor will get poorer", in IT Development terms, “The smart people will get smarter and the dumb asses will get dumber”. The same argument will arise 20 years from now again…. Back in the day we had to understand this and this and this and now you only speak and it happens… This will always go on, I think. The best way to go is to grab all the benefits of this new era but also maintain some of the good old knowledge and skill.
August 11, 2005 10:31 AM
 

Bernard said:

This is a subject which we are constantly confronted with within our organisation: the direction of software development.

My understanding is that, and we are increasingly recognising the need to structure accordingly, a seperation of software developers will need to take place: those with strong technical understanding who can do the plumbing or low level work and the more business focussed individuals who are not as technically savvy as their peers. To say either is more important is not true. The shortage of people in the mathematical sphere carries over into this realm - i.e. we are likely to encounter a shortage of technicall y capable developers. The non-technical developers are better off being non technical as they may end up closer to the business - they will end up doing more development using visual tools (e.g. BizTalk) as opposed to cutting low level 3GL code. The business focussed developers will start tending towards the role of the traditional business analyst. A strong understanding of their vertical area of specialisation will be increasingly important. Technicians will span out horizontally and their tie to their current vertical context will be lower.
August 11, 2005 2:20 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Powered by Community Server (Commercial Edition), by Telligent Systems