6 ms·
Ask HN: How do you inspire programmers to work with older tech?
My company has been building a system to manage clinical trial health research for the past 5 years.
It's a really cool, useful application that helps people in the real world do really important stuff.
However -- it's not build with the latest, "coolest" technology.
I find a lot of programmers turn up their nose when asked to work on something that's not using the latest beta buzzy framework or language.
Instead, it seems like they'd rather work on the latest doomed social network craplication as long as they can program only using libraries with version numbers < 1.0.
So how do you present an opportunity working with a really cool, useful application, when it doesn't use the latest tech?
- dvt 13y agoIt depends how old. It sounds like you're working on COBOL or something. Most programmers are pretty flexible I think -- at least I am. What's your Joel test score? http://www.joelonsoftware.com/articles/fog0000000043.html http://www.joelonsoftware.com/articles/fog0000000043.html It may be an indication why developers are avoiding you.
- jasonhanley 13y agoIt's PHP -- but solid object-oriented PHP with a popular framework (Symfony). Hadn't seen the Joel Test before -- thanks for pointing it out. 1. Do you use source control? Yes (Git) 2. Can you make a build in one step? Yes (one command) 3. Do you make daily builds? Yes (continuous integration) 4. Do you have a bug database? Yes 5. Do you fix bugs before writing new code? Yes 6. Do you have an up-to-date schedule? Yes 7. Do you have a spec? Many 8. Do programmers have quiet working conditions? Yes (remote) 9. Do you use the best tools money can buy? Mid-range 10. Do you have testers? To an extent 11. Do new candidates write code during their interview? Yes 12. Do you do hallway usability testing? No So we've got like a good 10/12 (I'm giving a half point each for 9 and 10 :)
- p_l 13y agoI am sorry to say, but in this case, at least some people I know would refuse not because it's "old", but because it's PHP. They would joke about rather using COBOL than PHP, indeed. (I count among them, and yes, I do remember enough to somehow get by in ISPF on IBM mainframe ;))
- TheCoelacanth 13y agoYour problem isn't that PHP is old. PHP is the same age as Java and there are plenty of people willing to use that. Objective-C is trendy now, and that's 12 years older than PHP. Your problem is that PHP has probably the worst reputation of any programming language since COBOL.
- jasonhanley 13y agoLooks like I'm not the only one who has had this problem: http://blog.mailchimp.com/ewww-you-use-php/ http://blog.mailchimp.com/ewww-you-use-php/
- codemonkeymike 13y agoA good friend of mine chose to take a job doing java at a big company rather then a hot tech startup because he would be using PHP(And he is a start up kind of person). It's not the fact that PHP is bad, its that there are so many other maturing and robust languages.
- GregMarcus2 13y agoI would strive for a culture that emphasizes life balance. Reasonable deadlines, recognition, flexibility. Look for the people with kids. Offer part time. Things that the new cool can't touch.
- beat 13y agoSo is there no NEW development going on? Is this just maintenance? If there are new pieces, maybe they'd have a chance to work in newer tech. Also? The way you framed this question seethes with condescension. "beta buzzy framework" and "craplication" and "version numbers < 1.0" suggest a very negative attitude. Perhaps potential employees are reacting to this perceived hostility, not the lack of hip new tech. I might not mind less than bleeding edge, but I don't want to work for or with Mr Youkidsgetoffmylawn. And I AM an old fart who has been doing this for 20 years!
- jasonhanley 13y agoYou make a fair point. I have been programming for a long time now (~26 years) and I do tend to roll my eyes every time some fancy "new" language/framework/library comes out that's just a re-re-re-implementation of something 20, 30, or 40 years old. It's simply not practical to keep rewriting large, stable applications using a completely new language and architecture for marginal benefits on an ongoing basis. I've programmed in everything from BASIC to Pascal to C/C++ to C#, Lisp, Python, PHP, Java, Javascript, can't even rememeber what else and let's be honest -- there's no silver bullet. They all have their strengths and weaknesses, and they all compile down to machine code. I just have trouble understanding why people refuse to work with language or framework that's more than a year old.
- beat 13y agoI don't roll my eyes at new tech, but I do roll my eyes at the idea that new tech can fundamentally solve problems, because the hard problems aren't language problems. I do, however, roll my eyes at using crufty old tech for new projects when better tech is available. I dayjob in the enterprise Java world, but I'm working on a startup at home. I'm still not quite settled on all my tools for the startup code, but I'm definitely settled on the 12 Factor App approach (http://www.12factor.net http://www.12factor.net), and it's led me to the conclusion that mainstream enterprise middleware as expressed in J2EE is fundamentally wrong. Application servers are an inherently bad idea. That said, my own coding is currently leaning toward Node.js for server stuff. I'm using Neo4j for data and it turns problems right on their ear - for my space (not all spaces), it's a million times better than relational and a thousand times better than document databases. So I'm looking for languages/frameworks that make my particular use of Neo4j more graceful. Started with Rails, but gave it up as the ActiveRecord ORM is kind of Neo4j-hostile in practice. I expect this is true of most ORM solutions (hence the R, for "relational"), so maybe I can make it better in a lighter-weight system. At any rate, there are no silver bullets, but plenty of wooden ones. I lump PHP in that category. If there's an existing PHP app, then by all means maintain it, but don't use it for new projects!
- airlocksoftware 13y agoYou pay them a lot of money, obviously. Or do something else that makes up for the fact that you're not using technologies that developers are drawn to. It's pretty simple economics. If you are using "cool" technologies, you basically get a discount on your developers because there are so many of them that want to work with the tech. The less desirable your tech stack is, the more you have to pay (in cash or benefits) to make up for it.
- beat 13y agoOr you outsource it to India!
- jasonhanley 13y ago:) Been there, tried that. Did not go well.
- jasonhanley 13y agoI get that, but unfortunately I've seen very little correlation between performance and pay. In fact, often the most expensive "hired guns" will perform the worth in the long term. What I'm looking for are people who are genuinely interested in the problem space.
- glass_of_water 13y agoPart of the reason people want to work with the "coolest" technologies is that they want skills that will be relevant/desirable by a wide range of employers. If the skills they pick up working for you are not relevant in other areas, then they're basically wasting their time.
- eip 13y agoTell us what tech you are using and we will tell you why no one wants to work with it.
- jasonhanley 13y agoPHP. Unfortunately it's earned itself a terrible reputation due to its popularity with beginners. You can start throwing tomatoes now :)
- eip 13y agoYea... I don't work with PHP. I don't think its popularity with beginners is what earned it a 'terrible reputation' though. There are quite a few other good reasons to not like it.
- beat 13y agoI have a hard time thinking of PHP as "old". :) C is old. FORTRAN is old. And I'd argue that PHP's terrible reputation isn't because it's old, but rather because it's primitive. It has all sorts of nasty coupling between layers, and encourages bad programming habits. On the other hand, something like 75% of the world's websites run on it, so it can't be that hard to find PHP programmers.
- johnsocs 13y agoC is old ? I'm a 31 year old developer and I really enjoy working in C, maybe I'm just old ;)
- magic_man 13y agoWell the problem is if this tech isn't relevant how are they going to get their next job. The days of company loyalty are done. Insix months if you do a layoff what will they do?
- LarryMade2 13y agoOK, maybe the "technology" is out of date, how about what you are allowing them do with it? In my circles there are folks still writing and building new tools for the Commodore 64. Same old 6510/Commodore BASIC but employing new programs with new methods and some new add-on hardware. So, as another respondent asked, are you offering them the ability enhance and update that older yet cool useful application (using the tried and true technology), or just merely maintaining it?
- dhruvkaran 13y agoYou show them traction. Show them the money, the business model and sell the dream. That said, if you like someone, be open to their ideas about using new tools. Just make sure they have an incremental plan, not shotgun re-write.
- stray 13y agoWhat is it? What is it built with? Do you offer part time? Telecommute?
- jasonhanley 13y agoIt's a system that manages clinical trial research data, built with PHP. Yes and yes.
- stray 13y agoWell there's the problem. It isn't that php isn't the newest technology -- but rather, that php is a horror to work with. I'd jump at the chance to work with Lisp (which is far older than php) because it's a joy to work with. I'd dearly love to work part-time so I could devote more time to writing and personal projects. And I'd love to be able to telecommute so I could do some traveling while working. And for those opportunities I'd happily work in Pascal, BASIC or even COBOL. But I just can't bring myself to touch php again.
- orangethirty 13y agoOld stuff is fine with me. I once considered taking a job as a mainframe programmer (RPG). There is always my free time to tinker with new stuff ( which is what I always do).
- ig1 13y agoYou don't, you find programmers who want to work with that technology instead. It's much easier to find someone who's goals align with your own rather than trying to convince someone that their goals are wrong.
- pasbesoin 13y agoYou convince people that they will have a career with your company and then hire for that. There are people who are looking for a good career over "bleeding edge" -- some of them are even good. (I've worked with some, although even in such institutions, those who are good are in the minority -- and often incorporating newer technologies into side or non-critical projects where they make sense and save time/effort/money/bureaucracy.) If you can't convince such talent that you can offer a career, then you may be screwed. P.S. Is PHP significantly coincident with such "career" type positions, these days?
- kapv89 13y agoThe problem is that php itself has been undergoing a lot of change in the past 4-5 years, and tbh, even symfony 2 is not the "coolest" PHP tech out there. In php land, laravel 4 is the rad thing these days, and from the looks of it, its gonna stay that for several more years. And since its new PHP, most of the people using it are not those who are into "new" techs, per se, but those who used to CI, or Kohana, or Cake, and avoided Symfony because of its blatant copy of Java ecosystem. As a pretty decent php-dev, I can surely say that php 5.3+ can be easily used to create better abstractions and tool-kits than Java. Also, If you haven't yet, take a look at composer and packagist. Their are several cool php libs up there. I am also pretty interested in knowing what are you doing about this problem, because my forte is php and JS, a bit more better at at php, and i am pretty confused about which tech to make a product I have in mind in. Since its a distributed system, PHP might offer a better reach (also because of its popularity as "easy" amongst non-devs). But JS over node is a much better lang to work with, though it would hinder getting talent and traction and would require huge amount of marketing etc.