Friday, July 22, 2011

Is being a Delphi Developer career suicide?

A very smart guy that I have worked with in the past said to me yesterday, that the time he spent working on a project written with Delphi was tantamount to career suicide. I have little to no external evidence to prove him wrong, and yet I believe he could not be more wrong.

Let's try to understand his perspective first, though. From his perspective, C# and Java and C++ all have a large number of jobs up on all the major job websites. And if Delphi truly remains (in my opinion) a secret weapon, that developers can use to gain an advantage, how come so little software is written with it? Okay, Skype for Windows is written in Delphi. But none of the other versions of Skype (for your phone, or your mac) are written with Delphi.

I see a vicious circle-of-perceptions. The circle goes like this: There are no delphi jobs because there are no delphi developers because there are no delphi books because there is no market for delphi books because there are no delphi jobs because there are no delphi developers..

And there are barriers to entry, and network effects. New developers coming out of school have a number of barriers to entry with Delphi, including the fact that both Visual Studio and Java are essentially free to learn. The language-popularity network effect is viciously effective, here.

So how is Delphi going to survive against Visual Studio (Express is free) and Java (Eclipse and Java are totally free)? My friend's answer is simple; It isn't going to. In fact, you could argue, it's already statistically irrelevant. It's popular to quote the TIOBE list for that purpose. Now being #14 (Delphi) and #16 (Pascal) on the TIOBE list means that Delphi is, in general about as obscure as Lisp, and RPG ILE. And in fact, I notice there are more jobs out there for RPG LE developers then for Delphi developers, in most cities.

But writing off Delphi on such a flimsy basis would be a shame, in my view. I believe that the real cost of writing software is, and always will remain, the salaries of the people, and that tools that make those people work better, are worth buying. Not only is it worth buying an IDE, it's worth buying a profiler, and components, and other tools, if they act as "force multipliers" that make you more productive. Delphi is a great tool. Its merits do not grow less important, when less people use it. So what does mass-popularity mean, anyways?

I guess Delphi fans consider themselves a bit avant-garde, rather than behind-the-times. But which are we really? Delphi is a great tool for lone-wolf developers, and even if the corporate use of Delphi died out, single-man-shops would remain a significant Delphi user base. Probably millions of people worldwide. And yet, there might be a million people still modifying their Visual Basic 6.0 apps, and half a million people keeping CA-Clipper based or Excel-spreadsheet based custom apps running, just barely.

Let's face it; Corporate adoption of Delphi is important to everybody who uses Delphi. I would like to see a renaissance of Delphi corporate use. I'd like to see an end to corporate attrition away from Delphi. If you search for jobs involving Delphi on major job sites, you'll find fully 50% of the mentions of Delphi are from companies that are shifting away from Delphi. I know of several places in my city, that have major products that were built in Delphi, that have moved away from Delphi in the last five years. The perception of Delphi being "a fading away thing" drove the decision in many cases, more than the technical merits of a rewrite of a Delphi app in C# or Java.

I don't want my friend's pronouncement about Delphi to be true. But I'm looking to the future of Delphi, beyond Delphi XE, to change that. I believe Delphi is on the brink of a renaissance. A new level of functionality would help. But the thing that Delphi needs most of all is better documentation, and tutorials, and needs to encourage new user adoption by having more cheap or free training materials. These barriers to entry are surmountable. The new user experience in Delphi XE is not as simple and easy to get started in as Delphi 7 was. I think that those who love Delphi and want to grow the community, so that Delphi usage goes up in corporations and at startups, need to focus on the new-user's out of box experience. I am going to write a series of posts on what I think can be done.

I'm also going to play with the Delphi Welcome Page, and make my own version that is friendly for new users. I'll also record some screen-casts with New User Tutorials and post them on here. Here's my homework for you Delphi fans; Go make a tutorial video and post it on your blog. Explain why Delphi works for you, and why it solves problems that make it worth your while to learn a tool that other people are dismissing because it's not C#, and it's not Java, and it's not C++.

To survive, being awesome is not enough. The best way to save the future for Delphi is to make sure it's easy for people to learn it, and get up to speed. I think that a new big-fat-book, that covers as much ground as the Mastering Delphi or Delphi Developers Guide books did, is needed. I think about 500 tutorial videos are needed. I think that a lot of creative pricing and promotion is needed. The Delphi Starter edition was a great idea, and I heartily approve of it. I'm excited and positive about Delphi's future. But I think it's time to confront the elephant in the room; Delphi is neither dead nor dying, and it's not in the top-ten on TIOBE either. If you need to feel better by putting something else down; Feel bad for the SmallTalk folks. SmallTalk was supposed to be the biggest thing ever, and now at #48 on the TIOBE index, it's down there below COBOL and APL.

You know what's career suicide? COBOL and SmallTalk are career suicide. Except, I bet if you're really good at either one of them, you'd have more offers than you knew what to do with. The world is a big place. The internet is large. Guess what. Being in the top ten isn't necessarily going to be that great for your career either. I know you can get some big money these days working on RPG ILE and COBOL. Any takers?


  1. From my knowledge, Delphi is being used quite a lot across Europe, mostly like you said: in a one man team per project.
    Embarcadero's marketing strategy is currently lame and it as been so for quite some years, the sooner they realize that they need to make themselves known to "soon to be developers", the sooner more Delphi jobs will be available.
    Been working on web services for quite some months now and whenever I need to go back and write Delphi code(even tho I wrote for almost 8 years now), I find myself being way to verbose, but the power of Delphi stands within it's IDE, fast compiler and loads of demos and snippets across the web(some are outdated) which still compiles with the latest version with a few tweaks.
    I'm willing to bet that if Embarcadero would gather a small group of people(say 2-3) and give them two instructions(1. bring more people to Delphi, 2. make very short demo videos of about 2-3 min. in length), within 6 months they will have loads of hits on their website, even more, if they are willing to lower the prices to be competitive with Visual Studio => WINNER!
    They pretty much overestimate the value of Delphi against it's price, not everyone across the World can spend hundreds of dollars to use it when they have torrents... <= pitty, because they are not making as much as they could and should.

    Anyhu, Delphi is here to stay, for 10 years now they are saying that Delphi is dying, yet, somehow..., there are still Delphi jobs out there and will continue to be for many years to come.

    My only hope is that Embarcadero won't use Apple's strategy and make a "real" release at every two years and "service packs" between, people will eventually figure it out and dump it... we don't need someone to drain as out, we need productivity!

  2. The Embarcadero team guys, which I used to work with, are smart guys. And they know about this. They are working hard on the problem.

    Unfortunately, they are fighting a vicious market-perception and I think that we can all help to combat that vicious circle by finding ways to help the Delphi product get recognized for what it is; An amazing, awesome tool. The best developer tool in the world.


  3. Delphi is fairly widespread for writing inhouse applications in corporations.

  4. I've been using Delphi for both public projects and inhouse development since V2 (1996). While I have some experience in .NET, I get frustrated with the amount of time it takes to do anything, versus the time it would take on an equivalent project in Delphi. On the other hand, .NET has concepts that are verbatim (such as web services) which you need to jump through hoops to get working in Delphi.

    In my humble opinion, .NET has strengths that Delphi does not, but the converse is also true, and this needs to be taken into account. They each have their place in the world. The greatest advantages of Delphi are cross platform development, independence from a management platform and time to market on the vast majority of projects.

    I appreciate Warren's observation that Delphi is in a vicious cycle, and from my perspective the manner in which Borland (and then CodeGear) managed the situation made the cycle worse. While Microsoft were giving their IDE away, Borland were making it more and more expensive, not just to use Delphi but even to learn it. Delphi has never had a free "Just download it and play with" version (except for a brief period with D2006) - at best you're limited to a 30 day trial, after which you need to fork out a significant amount of money - certainly more than any student can afford - to continue using it.

    I'm all for making Delphi popular again. I've been using it for years and love it. However, realistically, to make it work is going to take a lot of work on all aspects, focusing on dropping the barrier to entry. If Embarcedero come out with a student version, or Personal version (limited by lines of code compiled, executable compile size, or something similar) and GIVE it to universities and colleges to learn programming the way I learned Pascal when I was a college, and we introduce some new and relevant reading material, I think that the career opportunities will follow. Add to the a watered down Professional version, with pricing that is within reach of graduate developers, and quite quickly you'll find that Delphi is becoming the language of the day, rather than a tool that was great in its time but only those wierd old men in the basement have any clue of what it can do or how to use it.

    When it comes to writing a new Delphi book, count me in. I've been using it for a very long time and have a huge amount of knowledge to impart!

  5. I'm moving more into embedded myself. So I rather crossover to C++ than C#/Java.

    A don't believe in a Delphi renaissance. Except for faith, there are no grounds for that. Delphi is not well represented in education anymore (a former Pascal/Borland stronghold, and way more important than a payed Starter version), nor is it aligned with a major vendor.

    And all current major languages (C#,Java,Objective C,C++,Basic) have some stronghold with a major vendor.

    That doesn't mean that one should burn their Delphi license ASAP though, specially when you are in small biz, and I/we still create new apps primarily in Delphi. Specially since the VB comparison only goes partially, since new (compatible) Delphi versions are still being released. (once they drop or deprecate the VCL, I'm gone though)

    But it IS time to start brushing up your other language skills, if just in case....

  6. Delphi is not only alive and kicking but with
    UNIGUI you can generate a full flaged EXTJS dll.
    Your application will run on any browser without
    cookies with a desktop look and feel.
    I´ve studied ASP.NET MVC,Dart,Polymer and came back
    to Delphi just because I could not find some as productive as
    Creating your UI with Markup is for those who really don´t know
    what is an enterprise level application.
    IBM is doing something similar to UNIGUI to acess their mainframes from the browser.
    I´ve been hearing about the Death od Delphi for 15 years,the only years that I regret were those that I wasted trying to go to Java,c#, and even Dart.Although I really think Dart a good language but without any databasing support.
    Delphi will outlive C#,ASP.NET MVC and many other.
    The only thing I don´t like is it price.
    If you develop to get a job,maybe C# ,or another choice.
    If you develop to sell your systems nothing beats DELPHI+UNIGUI.