views:

734

answers:

12

Expanding upon http://stackoverflow.com/questions/395557/are-framework-dependencies-a-problem, my uncle runs a one-man software company that was once the software departement of an general IT company.

He writes applications using Delphi and Delphi for PHP. His strength is that he has alot of domain specific knowledge in regards to the applications he writes. Thus, the website states things like "we have more than 20 years of experience in writing applications for Dental labs."

So he does a lot of interviewing and end-user research to translate their wishes into an application.

He has trouble in handling the workload, so he is looking for an employee. He is having trouble finding one. He and I concluded these are some of the causes of his recruiting problems:

  1. Alot of development these days is done in .NET or Java, which might be a reason graduates stay away. (Education is done with .NET and Java) Delphi is just not that "hot"

  2. More opportunities for growth in larger companies.

  3. Bachelor of Engineering educated folks are more focused on management-roles and software engineering concepts. (Thus, they want growth into these kind of positions)

  4. Pure hands-on programming education programs (non-university non-bachelorofengineering) do not have alot of applicants, however they have the best profile for what my uncle wants.

  5. The employee must be willing to stay for more that 2 years, thus no "starters" who will leave within one year.

I guess that pretty much sums it up.

How would you advice this one-man company in regards to recruiting?

+1  A: 

I think your uncle's problem is less one of recruiting than of choosing the platform for development. I know of well written systems developed in PowerBuilder, but it is my opinion that there comes a time when you need to let go of the established way of doing things with the aim of making your product more current with the technology. Right now, that is .NET or Java (IMHO). It can be something else in 5 or 10 years.

If he is the domain expert, wouldn't it be possible for him to find someone versed in .NET to plan a transition? Also, as you found out, the market seems to offer a lot more help in .Net than in Delphi for the simple reason that today that's what the market wants.

Otávio Décio
+16  A: 

My thoughts in response to your points:

  1. Measure the programmer, not the programming language. Good developers transcend languages and mere syntax is overcome by the ability to think logically.

  2. Depends how you look at it. I started working for a small company (30 employees) and now 5 years later we have 175 employees. Growth was brought in underneath current employees and as a result we all grew very fast.

  3. I would be careful making blanket stereotypes like this. Plenty of developers have an urge to stay closely connected to their development roots. Not everyone wants to be a 'pencil pusher'.

  4. There are plenty of technical schools, DeVry, ITT Tech, or other community colleges that offer programming programs like you discuss. You probably won't find the cream of the crop this way as far as an applicant is concerned this way, but it is a possible avenue.

  5. Employee retention depends on how well you treat the developer. It's a business for you just as it is a business for them. If they have better options available (i.e. not working for peanuts 80 hours a week with a crappy pay-grade) then they would be better suited to go that direction. So would I, and so would you. You can't make anyone commit to stay there X number of years, you have to provide the leadership qualities that make the person want to stay there.

I think your uncle has some good ideas, but also has some far-fetched theories on why recruitment is a problem. Try to be rational about your approach and don't be afraid to survey other companies about how they got their start.

Kyle B.
Really good answer. +2 If I could! (please delete me)
Ali A
Wonderful answer. Especially point 1.
Richard Riley
+5  A: 

I'd say that #5 is seriously in error. The moment you start limiting your selection based on intangibles like "no starters" is the moment you lose out.

Instead, I'd recommend approaching the colleges and look for those that place students on COOP opportunities. It gives your uncle a great chance to hire some short-term students (i.e. for the duration of the COOP placement, which is frequently 1 semester) who are (most of them) very keen to work, and usually happy to do many jobs in a programming shop. Your uncle gets a great source of programmers, and can pick the best to offer them jobs once they graduate.

Cheers,

-Richard

Huntrods
+2  A: 

This problem is not going to resolve neatly, unless your uncle's lucky enough to happen across an experienced Delphi guy who also does not want to switch to a more modern platform.

He's presumably an expert in his field, with a bunch of customers to support. This means that the Delphi codebase isn't going to disappear any time soon.

If he can't find someone to share the workload, his quality of service is going to take a hit.

I suspect that there's no way round this, except to start planning on a staged platform migration, and involve the new guy in the planning.

Inevitably, he won't be able to spend as much time as he'd like learning the new technology, and this will create strains between him and the new guy, since he won't be the expert any more - although of course, he'll retain the business knowledge which will still be the key to business success.

It may all end in tears, unless:

  • He embraces the stuff he needs to learn, no matter how busy he remains with supporting the existing Delphi codebase and customers
  • He gets over the fear of losing his technical expertise while he gets up to speed
  • He finds someone with the interpersonal skills to realise that it's going to be a tough time for the company and your uncle as it transitions to a more sustainable platform

The short term "get a college student in" approach will only work if he can find ones willing to work in old technology, but are still good enough to produce good code, tests, documentation (so that he can support what they build after they move on), etc etc. It feels like a tall order, to me, although I don't know enough about the sort of students that might be available.

I'm in a very similar position, except that the guy I'm working with is an Access specialist, not Delphi, and I'm the .NET guy - that's recruited another .NET guy and done the platform migration.

I say migration.. we've basically rewritten the whole thing, and now the challenge is to get the customers to migrate to the new version.


Edit: just to clarify, I'm not at all advocating a move to .NET (or anything else for that matter) simply because it's new.

If the uncle can find a Delphi guy who can fit straight in, it may solve the problems, at least in the short term.

But the practical realities are such that applications written in old technologies tend to look increasingly dated, so it gets harder to compete against newer products that are aimed specifically at taking away his market share. Coupled with the difficulty of recruiting people specifically for older, less 'sexy' technology, it may simply be that his hand is eventually forced.

If this is the case, he'll do much better getting started ASAP with planning for change - and confronting the inevitable fear of having to rebuild his expertise base.

ChrisA
Just because .net is newer doesn't automatically make it better.
Loren Pechtel
@Loren - yes, I totally agree, and I'm not arguing for any particular technology, I just happen to know .NET. I've edited my answer, hope it makes this clear.
ChrisA
A: 

I would suggest looking for programmers that have gotten pigeonholed into non-programming jobs. Sure, they may leave in a couple of years, but they're pretty desperate to show they can program. There are a couple of bright guys at my company stuck in technical support roles that would love to get this opportunity. Failing that, he's going to have to pay really well to get a decent young programmer to write in Delphi.

Steve
A: 

In environments like Banks or the government sector support for Legacy applications is very important, so I am not surprised that your Uncle still hasn't migrated away from Delphi (though he should think about creating his newer solutions in .Net).

I don't know if it's a good idea to do fresh development on the platform he's using. I believe it would be better to continue development on Delphi himself and hire not one, but two guys to start a migration project, and also to work on fresh development.

This is a slow-growth strategy and there will be some lag initially, but I am sure things will get brighter once the first few solutions have rolled out.

I made a migration like this one 4 years ago from VB6 to .Net. I've had to re-write applications almost completely in the .Net platform using C#, but I am reaping the rewards now because I could port my application to Web environment from Windows with very little changes (to the business logic).

So I think it's a compelling advantage to stay with technology and start migrating. The later you are, the more difficult it will get.

Good luck.

Cyril Gupta
A: 

I've done the migration from Delphi to C# and found it quite straightforward. However, an established code base is a very valuable thing and not to be done lightly. It may well be that the time for such a migration is when your Uncle's company thinks that it is also time to move a version of the product to the web (that is when I made the transition).

With respect to "selling" a new developer on your company, a lot will depend on whether he can honestly position the position as having more freedom, better tools and a more effective process than the typical large IT group. After all, I seriously doubt that Fog Creek (Joel Spolsky's company) has much trouble recruiting developers simply because of their reputation - despite their diminutive size. Indeed, he might find it fruitful to explore an explicit appeal to employees of a large but poorly-run company (usually through a headhunter).

Mark Brittingham
A: 

the solution is simple: get rid of the caveats, and pay more than the market. Your uncle will have a lot riding on whoever gets hired, and he/she had better be highly skilled, highly motivated, and dependable. If he/she is all three, than he/she had better be compensated accordingly and treated with respect.

BTW, i doubt that any state would enforce a "you can't leave for two years" contract, it is simply not fair - can your uncle guarantee that the programmer won't be mistreated, bored, underpaid, or overworked? Or have a family emergency?

Steven A. Lowe
A: 

Also make sure you are completely aware of the time you have to put into someone who is just out of university.

Sure you have your guys who are brilliants straight out but the majority need a lot of work. They have to be emersed in a strong culture, one with high standards.

I would suggest go for someone with a good amount of experience (5-8 years) from a company with strong culture of success. Make sure you ask the right questions and get good references.

Let them know that you will be hiring graduates in time and it will be up to them to manage this process. They will be excited, you will have to pay well though.

billybob
A: 

If he's having trouble finding employees, the simplest answer is to raise his offer. Beyond that, why doesn't he want any "starters"? if all he wants to do is offload some of his work to one other person it should be fine. Just make sure your uncle reviews the code as it's written so he knows what's going on and can teach a new employee.

Chad Okere
+1  A: 

network. find the local delphi, php, and related user groups and attend the meetings.

Ray Tayek
A: 

I can not see any good reason for migration. There are so many programmers out there knowing C, C++, Delphi and FreePascal so it must be doable to find one. E.g why not look through the FreePascal guys. I'm sure quite a lot would like to use "their" Pascal or Delphi for their day to day job. I'd disagree with quite a few of the points. he should look in groups where he knows Delpi programmers are hanging around not much of them will be willing to "migrate" to .NET or Java.

On the other hand getting into Java from Delphi is not such a bit step IMHO.....

Friedrich