Thursday, 5 February 2009

How do I make the case for Delphi?

At work we use Delphi. We have for several years, and it has never failed us. The last few years we have had major problems finding good Delphi developers, so the developers we have hired have either been bad Delphi developers (who have since moved on), or .NET developers who have been persuaded to try their hand at Delphi. Most have been persuaded because they were promised that migration to .NET was on the horizon. We've got to the point were the C# and VB.NET evangelists outnumber us poor Delphi guys.

We are moving closer and closer to becoming a Microsoft shop. There's no valid technical reason for this. I suspect a lot of developers want C# and .NET on their CVs.

So, as the Delphi evangelist, how do I make the case for Delphi? The noises that keep coming out of Embarcadero are that Delphi is the best solution for creating Win32 native applications for Windows. I won't argue with that, but it's just not enough to stop the tide. I keep repeating that to the powers that be, but they can't find the staff with the skills to use the tool, so it doesn't matter how good it is. That's why I keep going on about academic licences, cheaper versions, anything to get the new breed of developers started on Delphi. What Embarcadero need to realise is that no matter how good their product is (again I agree it's good!), if the next generation are not using it, then Delphi shops like ours will move to what are perhaps inferior products, because at least they have a chance of recruiting the right staff. It's a shame, but it's true.

8 comments:

compaspascal said...

You need to approach this problem from the business point of view. If you want to be part of the Microsoft ecosystem, including Microsoft partnerships, getting lots of Microsoft partner points, use standardized processes etc., .net and web solutions are the way to go. The danger here is, that if you do everything the same way as everybody else, you may initially be part of something that grows, but finally drown in a sea of competition. I guess the choice of "exit strategy" for your company is very important here, and it is very much about top management.

The case for Delphi/Win32 is, that you either want Win32/Win64 as deployment platform, or that it delivers something, that your company wants, that .net does not provide. This could be productivity in developing GUI apps, while making sure, that your GUI apps can still be deployed easily in 10 years.

When hiring programmers, make sure that they know your company strategy, and that they work for you because of that strategy. Programmers who get a work only because of the tools, are rarely worth hiring because they shift the focus towards tools and complexity. Good programmers don't care what tools they use, as long as they can scale and support the business strategy.

Anonymous said...

for me the point against a total Microsoft embracement is that they dropping so much products that it is really risky to bet on Microsoft. I once hoped that this will changed with .NET because they now build everything new but it is not the case.
To name just some prominent examples: WCF is now the technology of choice and IIS is more or less deprecated or at least not pushed. Same to WinFowms contra SilverLight. Workflow Foundatain is according to MS a rewrite and while changing from one version of MS Sql Server to next you might be in for troubles, too, because Reporting Services requires much work (according to blogs I read) and the ETL services now uses WF, Extendedn SPs (if thsi is the rigt Name) is deprecated or even not allowed ... the list goes on and on.

Delphi native in contrast has been more stable and secure fo investments.

rpoulin said...

The thing is that Silverlight and many others GUI from browsers are now much more attractives than native application made by Delphi (old traditional gray button face!). How could i buit something similar to this ( http://virtualeye.lvps09.com/ ) with Delphi? Of course, Delphi must play in different niches, but which ones?

Anonymous said...

I think you're asking the wrong question.

You should be asking yourself: What application can I develop with Delphi that I can sell to make money and leave my current situation?

You are the inventor of business changing technology, not the accountants and managers. You should be hiring them to work for you!

Replier said...

> What application can I develop with Delphi that
> I can sell to make money and leave my current situation?

Very true, anonymous. I left my job after i wrote an application in Delphi (programming was just a hobby at the time).

It's earned me well over a million since then. Thanks Delphi :-)

Anonymous said...

Replier - wow. Can I ask what it was, or what area or something? (I understand if you don't want to provide any details.) That's just a cool thing to read.

Anonymous said...

> I left my job after i wrote an application in Delphi (programming was just a hobby at the time).

> It's earned me well over a million since then. Thanks Delphi :-)

In my small friends list I know other two guys and myself who did the same thing as you and with the same results. We all left our jobs for developing applications which started as hobby written in Delphi and nowadays making good money. And to make things clear we talking about three different applications, which are in three branches of very well rated enterprise markets.

Also, the other two guys and also myself are working in very small teams (like 2 up to 5 developers) and all the three applications are having a very good position compared to competition, who in all three cases have lots of developers.

The point is, and I think I can talk also in the names of my friends here, that no other tool allows you to do the same.

Thanks Delphi!

Replier said...

@Anonymous:

I started out with just one small shareware application for home users that I wrote in my spare time.

(I don't have any training in development and hadn't done any programming since playing with Basic in my youth. But Delphi was such an easy language to get into that i just picked it up as i went along. When i had problems i just asked other developers. That is why I am grateful to Delphi and its community).

When my little app started making more than my job, i threw my job in and created more applications. Some did well, some didn't. I worked harder on the ones that were doing well and ignored those that weren't.

And thus success was realized.