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. The sum over all Lone Wolves is not better than the Lone Wolve... this is nice for EMB on a short term but helps no one. This concept is dying. You are to far away from the end customer and end up in an employee like position paid at that level. Exceptions apply of course.

    Assuming there is room in the huge building left in Scott's Valley, why not merge people into bigger entities and place them there. From a first step and from the symbol's perspective, why not. The driving force.

    In the end, Delphi developers will have to stick their heads together and on-board others that have a solid technological competence on the future platforms to come. What makes Delphi look week has not a lot to do with the product in general. MS will make no big fault that would harm their reputation this much, so that they would become an underdog so fast, so that a rewrite of .net apps would come. I think it is false too apply what we have seen from last decade to this.

    Alone there is no way out of hell. (Axel Rudi Pell, Too Late).

  2. 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!

  3. Videos - Make it professional or don't make it. Agree with Dorin, maybe it hurts no one if the Enterprise is shipped but at a lower price and the Prof is dropped. Otherwise - 'There is no enemy there is no victory'. What will not work is make it cheaper and sales will grow. The growth in sales does come from more people demanding and the demand has to be created. Concerning Enemy vs. Victory EMB has at least empowered people to participate a battle. This is a moment a lot better than in the past under Borland, when every ricochet has been praised as a solid snipers' shot but was a golden one in the end.

    Dorin you grew up during the golden days of Java and .net. I definitely agree I am doing hard too to believe that these both technologies accompanied by the plain web technologies will suffer a lot. Maybe the .net corner a lot more but attacking beyond under Linux and outperform the stacks is hard anyway but although the demand for smarter solutions, not this big, which is almost impossible to address in comfortable way under FPC/Linux or Mono makes sense to be covered. The whole area fast-cgi + Pascal is poorly covered and only when one controls the infrastructure.

    What would be the risk without forming teams. In best case we get a wonderful high specialized product and no one could take it because the one is bound to the current sourcing strategies. Ivory turners in a furniture mass production. At the moment it is accepted that Software is thrown away, this is a cultural move, a result from our throw away society accompanied by the fact that reuse turned out to pay very seldom. Assuming a reusable solution costs the double one needs to sell triple. The more people drift into the new sourcing the demand for Delphi's strength still applies but doesn't have enough grip because people don't look for or have given up to look for.

    What EMB will have to be consider is, don't take the high US inflation ratios, increase the price and convert 1:1. Assuming Europe is going back and follows the system of low inflation the price will explode on a mid term or Europe does not find an answer to the expected inflation beginning in 2014/15. Then the increase will be seen as just normal.

    Warren pointed it out - corporate adoption you must have Delphi first back in the companies. The only thing that works. A long hard way to go.

  4. 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.


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

  6. Lars, yes. no one talks about the In-house jobs because they do not appear on the public radar - this is one big fault in the overall discussion. The Internet is simply not the way Delphi developers are sourced at the moment in general. There are some specialized agencies ... Coming back to life time jobs I know companies that have an exceptional business but only 2,5 Delphi developers because they simply could react quick to customer demands and of course after 15 years, Windows Software is here.

    When does it make sense to be Freelancer - you want to achieve more. Putting someone who does not want to achieve more in a Freelancer position (contractor position) leads to many hours spent if the move to contractor is a result form applying a different kind of contracting ...

    If someone says guys, you don't find lots of jobs on the Internet, this is true of course but this statement assumes that developments in Delphi would require a rewrite and for this 'Professionals' would be hired. Of course you find such offerings for moving from Delphi to .net because .net people are sourced this way.
    In a next step the number of jobs is counted somehow. Of course you have many positions available when the European countries and the EU give cheap loans or subsidiaries for projects aiming at introducing standard products, so standard products will be introduced because of a different way of financing. In Mid-Europe this means, ok there have been big vendors that have been on the market with the available option but does not say in general that the jobs are sustain. Of course these are big projects then (bigger is better?) and they are sourced in standard way for 'construction' engineering projects. This game companies with 50 employees above can plan not even the 20 men shop. The way has changed these projects have to be pre-financed maybe over 3 years, so that also 300 men companies have been taken over by bigger ones in order to stand all this.

    Of course the Enterprise IT Game is rewrite the same on a new technology. It is not EMBs nor Delphi's fault to have been used in the past for desktop apps ...

    In general many of those comparisons are leaky, between .net jobs and Delphi jobs are weak ... it is dependent what someone is seeking.

  7. 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!

  8. 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....

  9. 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.