Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

When Should We Ditch Our Platform?

kdawson posted more than 6 years ago | from the future-shock dept.

Programming 622

odoketa writes "My organization recently had to replace our Web developer. It took us an extremely long time to find someone with the necessary skill set. I don't know if this is because of the platform we are running (which I will leave nameless), or simply because the fates conspiring against us. It's easy to assume that languages or platforms are popular based on buzz, but the rubber hits the road when you have to hire someone to maintain that code. How are folks out there determining when you've backed the wrong horse, and getting back on track?"

cancel ×

622 comments

Solution (5, Funny)

TheSpoom (715771) | more than 6 years ago | (#22666280)

Stop using FORTRAN. It really wasn't built for the web, you know.

But that would obsolete our hardware! (4, Funny)

EmbeddedJanitor (597831) | more than 6 years ago | (#22666326)

Fortran works better than anything else on punch cards.

Binary is better (4, Funny)

sjwest (948274) | more than 6 years ago | (#22666514)

we train monkeys to shout 1's and 0's at computers. The Monkeys are happy.

Re:Solution (3, Informative)

shutdown -p now (807394) | more than 6 years ago | (#22666594)

You're joking, but sometimes it's for real. Care to try PL/SQL [fortunecity.com] for that instead?

Re:Solution (5, Funny)

lexarius (560925) | more than 6 years ago | (#22666746)

You'll change your mind after you see FORTRAN on Rails.

Re:Solution (5, Funny)

Anonymous Coward | more than 6 years ago | (#22666868)

FORTRAN runs in Ruts, not on Rails, don't forget.

Re:Solution (1)

farrellj (563) | more than 6 years ago | (#22666878)

But what about all those poor souls who are using cavemen to beat rocks together to make 0's and 1's for today's legacy systems?!?!?! THINK OF THE CAVEMEN!

ttyl
          Farrell ...this is not a commercial for Geico...although I would love to see the Geico Cavemen eat the Geico Gecko!

f1r5t (0)

Anonymous Coward | more than 6 years ago | (#22666300)

primary post

Which platform? (5, Funny)

Anonymous Coward | more than 6 years ago | (#22666318)

How do you expect Slashdot readers to tell you whether to ditch your platform unless they know whether it is Microsoft or not?

Re:Which platform? (2, Insightful)

Brian Gordon (987471) | more than 6 years ago | (#22666372)

Why can't we know it anyway? That's just stupid, like for security reasons or something we can't know? Nobody answer this joker.

Re:Which platform? (5, Insightful)

LithiumX (717017) | more than 6 years ago | (#22666416)

Maybe he wants an objective response?

If you know what platform he's talking about, opinions would be skewed based on what people think of that platform. It would be a distraction.

Not knowing the specifics makes it easier to provide the general answers he's looking for.

Re:Which platform? (4, Insightful)

Brian Gordon (987471) | more than 6 years ago | (#22666462)

Or not- many older platforms are just worth ditching in favor of easier or more efficient platforms. Yeah he'll get objective answers, but they won't be valuable.

Re:Which platform? (1)

snl2587 (1177409) | more than 6 years ago | (#22666466)

But there isn't a general answer. In order for anyone to give an accurate assessment of the situation all factors must be taken into account.

Re:Which platform? (2, Insightful)

LithiumX (717017) | more than 6 years ago | (#22666648)

There is no single general answer, but:

If the system is already fully developed and no major changes are expected, that's a plus for sticking to their guns.

If they can find an already-good web developer who's willing to pick up a new platform (and they're in no rush to change it much), that's another plus for sticking with it.

If the system itself is older, then a rewrite becomes more reasonable even if it works great.

Is the website largely static? Platform barely matters then.

Is the site Java based? Dump that trash, because only bitches use Java.

That is some of my totally unbiased generic input.

Maybe it would be a good idea if a list of current "optimal" systems were given out. On second thought, though, maybe it would be better if the actual platform were named, as any ProductX blasting would still contain a few useful threads.

Re:Which platform? (2, Insightful)

orclevegam (940336) | more than 6 years ago | (#22666686)

Is the site Java based? Dump that trash, because only bitches use Java.
Out of curiosity, what would you recommend using instead of Java (and don't you dare say PHP)?

Re:Which platform? (3, Interesting)

LithiumX (717017) | more than 6 years ago | (#22666740)

Out of curiosity, what would you recommend using instead of Java (and don't you dare say PHP)?

My unreasoning hatred for Java blinds me to any semblance of logic. I would suggest Ada before I'd suggest Java.

Re:Which platform? (1)

BoomerSooner (308737) | more than 6 years ago | (#22666886)

What about Assembly? Wouldn't that run quickly?

Re:Which platform? (1)

mweather (1089505) | more than 6 years ago | (#22666792)

Python, Ruby? Tcl?

Re:Which platform? (2, Insightful)

orclevegam (940336) | more than 6 years ago | (#22666598)

Ok, let me see if I follow your logic here. We're supposed to provide feedback on whether he should ditch his platform or not, but we can't know what the platform is because it might effect our opinion of whether he should ditch it or not. Riiiight. Hey, you think I should be using a different brand of shoe, but I can't tell you which brand I'm currently using because it might effect your opinion of whether I should switch or not.

News flash, when asking for an opinion about something, you have to tell people what that something is so that they know which opinion they're supposed to be giving you. I suppose I could just run down the list and toss out an opinion of every platform that's ever existed and you could make your decision based on that, but that really wastes rather a lot of time don't you think.

Re:Which platform? (5, Insightful)

Grayputer (618389) | more than 6 years ago | (#22666764)

No he it NOT asking whether he should drop his platform. He is asking the more general question, how do you know when ANY platform has reached it 'drop' time'. You want to feed him a fish, he is asking to be taught to fish, big difference.

Re:Which platform? (4, Informative)

LithiumX (717017) | more than 6 years ago | (#22666848)

I do believe the original question was how do you know when you're off-track, rather than asking if he should drop his specific technology.

Using the shoe analogy, I'd probably say that if she shoe was comfortable, wasn't breaking down after a week of use, and people weren't openly ridiculing your choice of footwear, then your brand should be fine. If it wasn't comfortable but everything else checked out, I'd suggest a different type of shoe regardless of brand. If it was breaking down immediately, hell yes get another brand, and consider spending more than $15 bucks next time. If people are laughing, then you venture into a whole new line of questioning.

Through that whole thing, I don't need to know what brand you wear now. If I did know, I could give you better advice, but what if you were wearing a brand that might not be popular on a particular forum? You would have to separate out the BrandX-haters who make reasonable arguments from people who honestly don't care but have a low opinion of that specific brand.

Which proves the man is running a Microsoft product, because he's hiding something. Only MS can produce that level of guilt.

Re:Which platform? (5, Insightful)

mooingyak (720677) | more than 6 years ago | (#22666474)

The platform is irrelevant. Maybe you could list a dozen problems with it off of the top of your head, but THAT'S NOT WHAT HE'S ASKING.

He wants to know, generically, how you decide that what you're using is the wrong choice.

Re:Which platform? (5, Interesting)

orclevegam (940336) | more than 6 years ago | (#22666644)

He wants to know, generically, how you decide that what you're using is the wrong choice.
All choices are wrong, some are just more wrong than others. Generally you attempt to find the least wrong choice at that time, and then periodically re-evaluate the cost of switching to a newer less wrong choice.

Easy answer. (4, Funny)

Colin Smith (2679) | more than 6 years ago | (#22666874)

He wants to know, generically, how you decide that what you're using is the wrong choice.
Well, that's simple. It's when you are more than two standard deviations away from the mean.
 

Re:Which platform? (1)

RingDev (879105) | more than 6 years ago | (#22666676)

His question is: "How are folks out there determining when you've backed the wrong horse, and getting back on track?"

Knowing which platform he is using is irrelevant to the topic.

Not only that, but can you imagine the flame fest, evangelism, crazy modding, and entirely worthless chaos that would ensue from him stating his platform? It would be nothing but Ruby, PHP, ASP, .Net, Java, Flash, Silverlight, AJAX, etc... fans screaming at each other over why their bandwagon is better than all the other bandwagons and flaming each other for even suggesting an alternative. Everyone would end the day with less karma and feeling crappy.

-Rick

Re:Which platform? (1)

fyrie (604735) | more than 6 years ago | (#22666670)

Oh... so true. But seriously, how can it be MS if they are having trouble finding a good developer to support it. MS-abled developers aren't difficult to come by. However, it is possible that it's some niche offshoot platform based on .NET like say Monorail or Castle.

Re:Which platform? (1)

truthsearch (249536) | more than 6 years ago | (#22666806)

MS-abled developers aren't difficult to come by.

Very good ones are. It's not unlike any other popular platform: plenty of developers know enough to get by, but very good developers are often hard to find. I worked in MS-centric IT departments for 10 years and I'd say maybe 10% of the staff were what I would call great developers. It was amazing how many candidates we turned away just trying to find mediocre developers.

measure the hype (2, Insightful)

budgenator (254554) | more than 6 years ago | (#22666330)

I've found that the more a manufacturer hypes a product the more likely it is to be a flash in the pan; If your lucky the previous programmer made a well designed application that will be easy to translate into other platforms or languages. Still sooner or later everything goes the way of the dodoe, I learned COBOL once apon a time.

Re:measure the hype (1)

CastrTroy (595695) | more than 6 years ago | (#22666398)

Most platforms don't provide a simple way to transition between one platform and another, especially in the web development sector. It would basically be a complete rewrite. Some lock you in more than others, but I think it would be quite difficult to switch between them, if you had a reasonable amount of code.

If you have abstraction, switching is a LOT easier (4, Insightful)

quanticle (843097) | more than 6 years ago | (#22666708)

Most platforms don't provide a simple way to transition between one platform and another, especially in the web development sector.

This is why you write an abstraction layer to sit between your business logic and the platform. Lets take databases as an example. Suppose your application is initially written for MySQL. Now, lets say that your application becomes a big hit, and you want to move it to a more robust backend. If you're application is tied directly to the platform (i.e. you've peppered your code with direct MySQL calls), you've got a lot of work in development and testing to make sure that all of the MySQL stuff is replaced with Oracle equivalents. However, if you've got an abstraction layer, the only things you have to rewrite and retest are the components of the abstraction layer. Its not zero work with the latter strategy, but it is a lot less work.

This is actually one of the gripes I have against web programming as it stands today. It seems to me that programmers are far too eager to call the database directly from their application, without using any sort of abstraction layer. Sure, its faster to create the application without an abstraction layer, but it makes porting the app to another backend an absolute nightmare.

Some lock you in more than others, but I think it would be quite difficult to switch between them, if you had a reasonable amount of code.

If you have a good abstraction layer, even the most proprietary platform won't lock you in.

Re:measure the hype (1)

misleb (129952) | more than 6 years ago | (#22666852)

My experience is that there is a lot one can salvage from a web app when moving from one platform to another. All that HTML and CSS takes a long time to develop for a presentable public site. Intranet apps, however, can be a little more rough around the edges. I probably spend more time on that in the long run that anything else. Tweaking things to get it right. Also, you've probably already got another big part of the work done for you: just designing the behavior/specs of the app. You might even have a usable database schema. I, personally, find that the backend code practically writes itself once you know exactly what you need it to do and start with a sane web framework.

The last app I ported from PHP to RoR went pretty quickly. And I was only just starting with Ruby and Rails.

Re:measure the hype (4, Funny)

Kingrames (858416) | more than 6 years ago | (#22666630)

"I've found that the more a manufacturer hypes a product the more likely it is to be a flash in the pan...
--
When is the last time you hadn't thrown your vote away? Ron Paul even if its write-in!"

The Irony is... overwhelming.

Re:measure the hype (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22666730)

don't use two signatures, asshat.

move on? (2, Informative)

Russell2566 (1205416) | more than 6 years ago | (#22666332)

It's hard to give tons of feedback without knowing more about what your currently using (low use tech / vs god hates your HR staff) but if your going to consider making a tech jump, I would highly recomend making a major version jump (assuming your writing that kind of application).

Depending on the age of the current app(s) and skill of your past developers, sometimes a total rewrite is cost saving in the long run by aiding in faster turn-around and all around easy of adding on to the app at a later period...

just (0)

Anonymous Coward | more than 6 years ago | (#22666334)

I don't have an answer per se.. just wanted to say that you want to avoid jumping from latest buzz to latest buzz. One old technology with few developers out there is better than 12 newer technologies imo.

Finding good web developers is hard. (0)

Anonymous Coward | more than 6 years ago | (#22666336)

I don't mean Dreamweaver masters. Somebody that's familiar with several cms systems, databases, web servers, languages (specifically in a web context) and can also write clean compliant HTML/CSS is worth their weight in gold.

Re:Finding good web developers is hard. (1)

FictionPimp (712802) | more than 6 years ago | (#22666532)

I will gladly work for my weight in gold per year.

I estimate that to be about 2.2 mil USD per year.

Re:Finding good web developers is hard. (3, Funny)

sigxcpu (456479) | more than 6 years ago | (#22666872)

Pick me! I weigh less!

- think of an add "wanted: lean, mean programmers, that are worth their weight in gold"
- We pick the small ones, they cost less.

Based on my complete lack of experience... (2, Funny)

PresidentEnder (849024) | more than 6 years ago | (#22666338)

Right now seems like the perfect time to get yourselves a new platform, preferably something easy to maintain.

Re:Based on my complete lack of experience... (4, Insightful)

ajs (35943) | more than 6 years ago | (#22666456)

This is probably not a great idea. Instead, consider broadening your hiring criteria, and hiring people who don't have experience with that particular platform, but know the application domain well. For example, if you're a PHP shop and you need someone to maintain PHPNuke, but can't find anyone, consider bringing in someone who knows Slash or some other Web logging software and has a grasp of the technology.

Make one of the new guy's first tasks the evaluation of competing products and the overhead involved in moving to them, not with an eye to switching, but just to get a lay of the land and further expose him to a breadth of approaches. Periodically, send him off to appropriate conferences too.

All together, you'll end up with a well-rounded employee who can speak to the costs and benefits of your platform.

Re:Based on my complete lack of experience... (0)

Anonymous Coward | more than 6 years ago | (#22666876)

Pretty much. Either their requirements are too strict, or they aren't offering enough money. There is always someone who can do the job.

Two of Each (1)

MightyMait (787428) | more than 6 years ago | (#22666378)

I like Noah's method when it comes to platforms...two of each.

Of course, that can get costly, but, when you work for the government...

Re:Two of Each (2, Funny)

orclevegam (940336) | more than 6 years ago | (#22666776)

Of course, that can get costly, but, when you work for the government...
... you should save time and shoot yourself now. Oh wait, did you fill out the right form for that?

Stick to "standards" (1)

SQLGuru (980662) | more than 6 years ago | (#22666390)

If you are having trouble finding the skillset, then you probably are on a less mainstream platform. It might work for you, but if your goal is to have interchangable parts, stick to platforms that are "standard". Look through the job sites (Monster, Dice, what have you) and figure out the top three requested technologies in your area are and stick to them. If your field is real estate, make sure you weigh postings for work in that field a little heavier (since it is more likely that canned software supporting real estate will also lean that way) -- if it's health care, then weigh those heavier.

This won't ensure that you get anyone of any quality, but it will ensure that you have a platform that can be supported easily.

Layne

A few questions (2, Insightful)

Nightlily (140378) | more than 6 years ago | (#22666396)

You didn't say where your organization is, but have you factored your location into the equation? Maybe in another area, you could find web developers with the correct skill set. Of course on the other hand, you could be using something outdated.

Last time my company hired a new programmer, we had trouble. However it had more to do with the local job market, a general lack of IT talent in the area and other human factors (pay, benefits, etc...).

You know when you are asking about an older technology when most of the younger applicants give you a blank stare and the older ones sit there for a minute thinking about the last time they used it.

Re:A few questions (1)

alta (1263) | more than 6 years ago | (#22666442)

So your recommendation is:
Don't change your platform, change your location! :)

Sorry, had to.

Re:A few questions (1)

tepples (727027) | more than 6 years ago | (#22666528)

Maybe in another area, you could find web developers with the correct skill set.
How much does it cost to open an additional office hundreds of kilometres or miles away, and how much productivity would be lost in the communication between these offices?

Re:A few questions (1)

truthsearch (249536) | more than 6 years ago | (#22666690)

It does sound crazy and expensive, but it's actually a popular trend today. Hire someone that's too far to commute, but not too far for the occasional face-to-face. Let them work from home, or if you find a few people in the same area open a small satellite office. It's usually worth the extra expense and inconvenience of communications if the staff is highly qualified.

Bad Analogy (0, Redundant)

explosivejared (1186049) | more than 6 years ago | (#22666404)

How are folks out there determining when you've backed the wrong horse, and getting back on track?"

That line of thinking is dangerous. The thing to do with horses is to just shoot the horse and breed a new one. I STRONGLY ADVISE YOU NOT TO FIRE BUCKSHOT INTO YOUR SERVERS!! For one thing, electronics do not breed well. Of course there are others, but this is a big one.

when.... (0)

Anonymous Coward | more than 6 years ago | (#22666418)

the platform stops doing what you need it to do, at a price you are willing to pay.

Isn't the answer obvious? (0)

Anonymous Coward | more than 6 years ago | (#22666422)

"When you stopped getting paid (a living wage) for it."

Hiring Wrong? (0)

Anonymous Coward | more than 6 years ago | (#22666426)

Have you considered that you may be hiring wrong? i.e. hiring based on a bunch of keywords that represent the past rather than evaluating a person based on their ability to adapt to the future.

http://www.joelonsoftware.com/items/2007/06/05.html [joelonsoftware.com]

Wrong Question (5, Insightful)

tha_mink (518151) | more than 6 years ago | (#22666434)

Everybody always says about the various platform/language wars, use what you can to get the job done. Since you said "web developer" and not "web developers", I assume the project isn't that large, or at least isn't large enough where you can't afford to do a bit of a re-write. The thing that is more important to me than language and platform, is design. If you have a good design, then refactoring your code_base into a different platform, shouldn't be all that impossible. (Remember, I'm assuming your application/site isn't really really big) And if you don't have a good design, then you need to redesign anyways. Just my two cents though.

Re:Wrong Question (2, Insightful)

Shade of Pyrrhus (992978) | more than 6 years ago | (#22666706)

I fully agree - I came in here expecting to have to preach about design, but seems like you hit the nail on the head.

If you expect things like this to happen, write them down as risks and take them into consideration when you're doing your design and plans. I understand a lot of people, especially with web code, want to sit down and just start writing until it works. At the very least laying, down the framework ahead of time will save you headache in instances like this.

I guess when dealing with this, the best thing you can try to do is get your people to document their code and keep it as neatly modularized as possible. If you know what you had to write for your previous app, you can bet you'll be needing very similar functions/methods in the app created in the new language.

Reverse the philosophy (1)

lars_magnusson (860066) | more than 6 years ago | (#22666832)

It sounds like you did find a developer for your nameless code platform. However, I am a sole developer at a company of 400 employees. We run PHP, PERL, some proprietary guck, and Cold Fusion (I want it gone). My old co-worker used PERL for XML filtering, etc and I am motivated to learn it myself. I will be attending a PERL class soon, just so I can maintain our current code base. My main strength is PHP, so learning PERL should not be a big leap. When hiring a new person, are they motivated or lazy? Are they willing to learn a new platform? I'm willing to do it, learning PERL will help me career wise, and help my employer, and it's (sort of) fun. I said it...PERL and fun in the same sentence, joy!

Over the long haul, we are phasing out a fleet of Cold Fusion properties we run and converting over to PHP. We had vendor lock in with the Cold Fusion, hosting is expensive, and the sites are 'vintage' to say the least. So, for redesigns and recode we are porting the sites over to a heavily customized version of Joomla. For us, it is cost and maintainability to ditch Cold Fusion. However, it really pushed us over the edge when it came to redesigning the sites, we thought 'why not just build from the ground up' on these. If these were enterprise level sites that would be different, they are independent smaller newspapers.

When Should You Ditch Your Platform? (1)

katterjohn (726348) | more than 6 years ago | (#22666440)

When it sucks. And since you chose to leave it nameless, I'd say it probably sucks.

Sometimes, you can't ditch soon enough (4, Insightful)

susano_otter (123650) | more than 6 years ago | (#22666444)

The developers I support have somehow convinced upper management to let them build their app around a third-party application that, get this:
  • Can only be installed by third-party technicians
  • Costs us several thousand dollars for the installation service
  • Must be scheduled at least a month in advance for installation


Yes, this does, in fact, mean that if one of our application servers dies and has to be re-baselined for any reason, our entire application[1] is down for over a month and will cost us several thousand dollars in re-installation fees alone.

[1]The entire application is a system of interlinked application servers, each of which has a different role in the system and each of which represents a single point of failure.

I know what you're thinking: You're thinking we should have ditched the development platform before we ever even implemented it.

But you're wrong. We should have ditched the developer platform the moment they came up with this hare-brained scheme.

Re:Sometimes, you can't ditch soon enough (2, Funny)

Reverend528 (585549) | more than 6 years ago | (#22666780)

The developers convinced the management that they needed to use some god-awful platform? It's like you're working in some evil alternate universe!

Target not acquired (1)

Anonymous Coward | more than 6 years ago | (#22666458)

We need to know what platform you are using the resulting flames can be adjusted to suit. How inconsiderate of you.

What platform? (1, Insightful)

dougmc (70836) | more than 6 years ago | (#22666468)

Knowing the platform would make this question far easier to answer in a useful way.


Jokes about Fortran might be funny, but without knowing what your platform is, we can only answer in very vague ways. If you can't find anybody to work on this platform, and can't train anybody, then you need to replace the platform now and you have no choice. But this probably isn't really true -- what's more likely is that people who know this platform are hard to find or want to be well paid and it becomes a tradeoff. How much is invested in the platform? How much work to move to something else? And what to move to? We need more details ...

duh (0)

Anonymous Coward | more than 6 years ago | (#22666692)

in some parts of the US developers for any platform are a dime a dozen. But in most parts of the country developers are only available for MS platforms. Since he had problems finding people I think it is safe to assume its not MS. I also think its safe to assume its not Apple (while possible the odds are very small). So that leaves (big assumption: US) ..... you guessed it .... Linux and or Java.

Re:What platform? (2, Insightful)

gbjbaanb (229885) | more than 6 years ago | (#22666818)

on the other hand, we can make some inferences from this. We know its not ASP on IIS.

I think that tells you something about why people choose Microsoft no matter what. Quite often the decision to go with a cool, new technology is not a good one simply because it is new and cool. Old and boring generally always wins in this industry.

Sounds like you already made a decision... (4, Insightful)

javabandit (464204) | more than 6 years ago | (#22666476)

If sensible individuals in the organization are starting to question whether or not the platform needs to be replaced, then it probably does. Because usually those discussions don't come about unless you've hit a wall of some sort: performance, unavailability of employees with those skills, incompatability, unsupportability, deprecation, et cetera.

When you start to experience those things in your platform, its usually time to start an exit strategy.

Without knowing the platform, how could we say? (4, Insightful)

seebs (15766) | more than 6 years ago | (#22666480)

You could be talking about anything from RealBasic to perl. Without knowing, we can't even speculate on whether you can't find someone because demand is so high that they've all been snapped up, or because the product is dead.

In general, I tend to look for a healthy third-party community. If there are multiple third-party sites, well run, with competent spelling and grammar, and no legal affiliation with the primary vendor, that's a good sign.

Examples: Ruby, python, perl, C.

Re:Without knowing the platform, how could we say? (1)

jedidiah (1196) | more than 6 years ago | (#22666770)

He is more than likely NOT talking about Perl. He might be. Although then this
would be a discussion of why he doesn't want to pay the market wage.

This is probably something rather obscure. Being an expert in this platform
probably puts you in a deadend position where you're pretty much either working
for this guy or being out of work for 3 more years.

Every 9 Months Obviously (0, Redundant)

aliens (90441) | more than 6 years ago | (#22666482)

You should finish rewriting your site around the same time you start seeing articles extolling the latest and greatest language that some too-smart developer dug up from obscurity after becoming bored with the last obscure language they used and got other bored minds excited about.

Then again you could just write it in Sanscrit, a 5000 year old dead language, I'm sure lots of kids coming out of college majored in that.

When it stops working (1)

downix (84795) | more than 6 years ago | (#22666498)

If the system works, but you are just having an issue finding help, then the issue is not the platform it is the job pool. Perhaps you are setting your sights too high, or perhaps you are wording your help request poorly. I happen to be skilled in Linux admin, yet in my current job I am working with a mixed Solaris and zOS environment. The skill difference turned out to be very slight, and within 2 weeks I was up to speed for the most part.

Its your company (0)

kperrier (115199) | more than 6 years ago | (#22666510)

not the programming platform that is causing the issue.

Immediately (5, Funny)

z-j-y (1056250) | more than 6 years ago | (#22666516)

And I recommend Ruby on Rails. Its developer community has been growing exponentially, from 5 guys in 2006 to 10 guys in 2007. If you are extra conservative, you can try Groovy on Rails. It's just like Java, but better.

Use proven technology (2, Insightful)

uuxququex (1175981) | more than 6 years ago | (#22666524)

You don't give a lot of detail about your current setup.

But here are a few tips anyway, perhaps they can make your decision easier:

  • Use a proven language, not HotNewLanguage v0.09beta. It will do wonders for your stability and you can actually get developers for it, next year when there a new hotness.
  • Use open formats, do not get vendor-locked. Maybe there are a lot of developers for your propietary system, but they are going to use the newest tools that the vendor provides, not your bound-to-be old version.
  • Keep your system simple and modular.

So, in a nutshell, I recommend Perl, Postgresql and FreeBSD. Plenty of experienced developers, and the tools Just Work.

Re:Use proven technology (1)

seebs (15766) | more than 6 years ago | (#22666754)

I endorse the above comment. pgsql is a delight to work with, perl is durable and well-understood, and freebsd shuts up and stays out of your face.

Re:Use proven technology (1)

quanticle (843097) | more than 6 years ago | (#22666840)

One more thing: Abstraction. Make sure that your new setup makes it easy to write an abstraction layer, or includes an abstraction layer. There's nothing worse than having finished your application to realize that the customer wants to run it on a different backend, so you have to rewrite all the database calls that are scattered all across your application. Having all your I/O stuff concentrated in a (relatively) small set of classes does wonders for maintainability and extensibility.

languages, talent, and community (4, Insightful)

davejenkins (99111) | more than 6 years ago | (#22666534)

A platform is a semi-permanent thing. You cannot just switch your website platform for a major ecommerce site over the weekend-- plan on several months of pain. If you don't plan, figure on several years of severe pain.

Platform choice should come down to three things, IMHO:
  • language - must be flexible and interconnectable with 3rd parties. Your platform won't do everything, and you'll be using a lot of 3rd party vendors for analytics, cross-sell, reviews, image hosting, etc. Make sure your language plays nice with others: Java, PHP, perl, .NET are all 'common', so these should be good.
  • talent - in my previous city, there was a good amount of perl people, as well as java developers. Now I am in the midwest, and everyone seems to be all .NET this and .NET that-- so, .NET seems to make sense, as we would be pulling talent from this pool for our staff. Some areas of the country are stronger in different languages and platforms.
  • community - there are some great platforms out there, but their communities are dying or shrinking. Other communities have a lot of people, but most of them are script-kiddies. Beware. A platform should be both 1) a bit mature, and 2) viable community.


Having said those points, DO NOT switch platforms just to make your developer happy. If you have a staff of architects and developers and they all agree that some new platform is better in the short- and long-run, then go ahead and switch. But if this is just the whim of 2-3 guys, tell them NO.

One last point: if/when you do switch, make sure the clock drives the functionality, not the other way around. If you let functionality drive the clock, you'll be 4 years and several million dollars into a nightmare. Set a deadline (a REAL deadline) of 6 months and take what you get at the end of that 6 months. your developer crew (internal or external) will be augmenting and building out on that platform no matter what, so you're far better off having something cuick and crude rather than late and fancy. I cannot emphasize this point enough.

Avoid the latest (1)

andlewis (885878) | more than 6 years ago | (#22666542)

Avoid the latest technology, use languages/tools/etc with a proven mainstream history. This might mean you need to skip having the fastest and flashiest, but in return you'll have code that people will know how to maintain five years from now.

synergizing new platforms and paradigm shifts (0)

Anonymous Coward | more than 6 years ago | (#22666566)

Leveraging existing technologies to advance a new paradigm shift is important. You need to keep in mind that with the advance of Moore's law and the approach of the singularity, that you can't stay in old technology. You see, on one hand, we have programmers, and on the other, we have technology, and together...., wait, oops, what I meant to say was, on one hand we have technology, and on the other, programmers, and together, with synergy, profits will only increase. What concerns me most about your question is that you are only seeking one programmer. Using agile web development you will need at least two programmers, working in a team environment. If you only have one programmer, he is likely to get lonely, which is probably why your last programmer quit. Finally, do you love what you do? This is an important question. You see, if you don't love what you do, how can you expect to hire people that love what they do? Make sure that you love what you do, and if you haven't told your coworkers this lately, be sure that they know it. Before jumping ship to a new platform, keep that in mind.

Get rid of the PHB who is makeing the choises (1)

Joe The Dragon (967727) | more than 6 years ago | (#22666568)

Get rid of the PHB who is makeing the choices and replace him with someone who knowns what they are doing and has the power to put in a new web system that is better.

Well, it depends... (1)

man_of_mr_e (217855) | more than 6 years ago | (#22666570)

My guess is that you're talking about a Mac Server with Ruby on Rails, which despite being a hot buzzword and so much talk about it, really has very few experienced developers out there.

Most platforms are fully capable of dealing with average loads. If the solution is working fine, perfoming well, and just needs maintenance... then I'd suggest that maybe you just need to change your hiring practices. Maybe you really don't need someone with 3 years of experience in the technology. Maybe what you really need is someone with enough experience overall that he can learn or pickup the technology quickly and apply his experience in other technologies to that technology?

On the other hand, training someone in a technology that is in short supply is a sure bet that they'll go somewhere else that will pay them more as soon as they have the requisite experience.

You really need to do a Cost/Benefit analysis. How much will it cost you to convert your platform to something else? How much benefit will that give you?

Well, what is the platform? (4, Insightful)

SmallFurryCreature (593017) | more than 6 years ago | (#22666586)

It matters, because it relates to why you might be unable to find any people for it. It might be a really obscure one that requires deep knowledge. Any programmer worth his salt should be able to switch between PHP/ASP/Perl/Ruby and the likes with relative ease. Did you look for a programmer worth his salt or did you search for someone with 10 years experience with Vista? The more obscure and closed the platform, the less likely you are to find someone with specific knowledge and them more you will just have to hire someone who can train himself on the job.

The easiest way to determining if your platform has support is to look through personal ads, is nobody else hiring people with those skills, then you got to wonder why. Browse for tutorials, see the forums for that platform for activity.

The way to avoid this in the future is to remain low-tech. Don't tie yourself to deeply into solutions crafted onto solutions. For instance use PHP, not bloody frameworks build on that. If you then use a software suit, build on a framework, build on a language, build on a platform, well you are going to have problems finding someone with those exact skills.

Oh and replace PHP with whatever language you prefer.

I see this all the time, some company buys a solution, does some half assed training, do half of the updates that are available and then a couple of years later when the site is hopelessly out of date wonders why they can't find anyone who responds for their personal ads.

Yeah, sometimes you inherit some annoying things (1)

ScentCone (795499) | more than 6 years ago | (#22666602)

Sounds like you've been left out in the Cold... a Fusion of problems, it seems.

But seriously, it's worth mentioning that sometimes the word "platform" is confused with the word "framework" or some other level of organization. A perfectly good scripting language can be used to build up a web site with an intolerably obtuse nested include file strategery. The web site's platform could be a poor implementation of a perfectly usable technology - but with such momentum that it's hard to turn it into something fresher without putting a bullet in it. Yeah, we need a little more to go on here. The advice you need is, ultimately, going to be in the form of a cost/benefit analysis. And that's going to depend on the nature of your web content, who the authors/editors are and how well they can adapt to a new CMS, etc. Those group culture issues can have as much or more to do with the viability of a change than will the decision over whether you have an extra $5k/year to woo a better coder.

If its not backward compatable & you have lots (1)

deweycheetham (1124655) | more than 6 years ago | (#22666608)

then you might want to look at a platform that can be maintained over many years(use 10 years a benchmark) with|without with incremental upgrades as needed.

I recommend any one of the Unix/Linux/BSD (with a maybe on Apples Mac's) as a platform, for running Apache for web applications. There is a long dependable history there. Look for yourself...

hmmm (2, Funny)

circletimessquare (444983) | more than 6 years ago | (#22666618)

i highlighted "When Should We Ditch Our Platform?" but IntelliSense doesn't have any suggestions

When the cost of maintaining it... (5, Insightful)

KillerCow (213458) | more than 6 years ago | (#22666628)

... exceeds the cost of replacing it.

P.S.

I don't buy this "we couldn't find anyone" BS. Were you, by chance, using a 2 year old technology, and your HR drones were looking for someone who "must have 5 years experience" with it. Were you looking for a laundry list of tools, apps, and domain knowledge that, realistically, no-one except the previous employee had? You could, you know, find someone with a modicum of intelligence and [*gasp*] train them. Did you insist on someone with a degree to do little more than cut and paste text files? Were you paying at the market rate? I suspect that the problem was more with your hiring process than with your technology. If it was purely a technology problem, then the answer would be obvious and you wouldn't be asking us.

Exact same problem with Flash (3, Interesting)

paulpach (798828) | more than 6 years ago | (#22666634)

This same thing happened to us with Flash.

Flash was all powerful and pretty. Putting aside the serious deficiencies with flash, hiring quality people to work with it was nearly impossible. The people that where good with flash where graphics designers, they like to do pretty animations and colorful graphics, but they where terrible programmers, and knew nothing about usability and user interfaces. The people that where good programmers avoided flash like the plague ( myself included :), why did I ever go work for them? ). Usability people's first recommendation: dump flash.

So if you are a big enough shop, and you decide to do your web application in flash, you need a minimum of 4 people: A graphics designer to do flash, a user interface guy to design your interface and a programmer to do your code, and a project manager that can make them work together. If you are a small shop, and can not afford 4 people, you should really reconsider your choice of platform.

At the end, we ended up switching to good old HTML, the transition was very painful, but now there are lot more options when hiring, the product improved dramatically, and there is less worry about someone being hit by a bus.

Profit and profit forecasts (1)

revscat (35618) | more than 6 years ago | (#22666638)

It seems this is more of a financial decision than a technical one. Most frameworks work, and with enough expertise can work well. Sure, there's crap [php.net] out there, but by and large this is a function of profit.

1) Is your company currently profitable? If not, is a significant reason for that because of the cost to maintain your applications?
2) If you are currently profitable, are your forecasts showing continued profitability?
3) Is your IT budget forecast to increase, and if so is that due primarily to increased maintenance costs? If yes to both, then maybe.

There's no easy way to know for sure. Despite my previous jab against PHP, there are plenty of successful PHP applications about there. But assuming that it was a relatively unused technology, and you were having a hard time finding PHP coders, I still think this would boil down to a financial decision. If it turns out to be IMPOSSIBLE to find developers, then train the new hires.

let me break the task into smaller ones. (1)

mapkinase (958129) | more than 6 years ago | (#22666640)

* Amount of code behind of old coding solution on old platform
    * Amount of coding needed to be done if old platform changes to platform P.
* Is platform P supporting the features you want to keep?
* Is platform P bringing the features you want to add?

It has to be purely business decision.

seen this before (1)

fred fleenblat (463628) | more than 6 years ago | (#22666642)

My guess is that the guy that quit was actually kind of a superstar-level developer and was doing the amount of work you'd normally get from 3+ people. So your expectations are now so high that you can't find anyone that can slot into your expectations. That's *your* problem not PHP's or slashcode's or anybody else.

If the business is making money and needs to get things done, they will just have to pony up for 3 or more people to do the job this one guy was doing before. They won't all have the exact skill set you're looking for but maybe they will have overlapping 1/2 or 1/3 of the skills each and if you actually manage the project instead of playing office politics all day you can get things whipped into shape with their help.

Do research (1)

shutdown -p now (807394) | more than 6 years ago | (#22666654)

Don't rely on the buzzword of the month to be truly the latest and greatest. It's better to go for solid stats - a bit of Googling should help you with that. In general, it is easy to realize what frameworks you can rely on once you see the numbers - say, if you're looking at Java Web frameworks, it's immediately obvious that Struts and Spring both have plenty of skilled developers and plenty of production code based on them and running fine, and it has been that way for a few years already - so there you have it. Now compare and contrast with Ruby on Rails for an example of something on the other end of the scale.

Due Diligence - Cost of Downtime (1)

SoopahMan (706062) | more than 6 years ago | (#22666656)

Hire someone to assess the cost of building the application on a modern platform. That's your due diligence - finding out the time and cost of the conversion.

Whatever estimate you get in terms of time, triple that then ask yourself, can we survive feature-freezing our app for that long while we spend money converting it to the new platform? If the answer is yes, do it. If not, then you've got to struggle on.

It would really help to know what platform this is though.

Asking the wrong questions.... (4, Insightful)

johnlcallaway (165670) | more than 6 years ago | (#22666668)

So .. you can't find someone with the right 'skill set'.

Maybe what you really need are smarter programmers. Anyone who has talent can pick up new languages, especially when they need to maintain an existing system and not create a new one from scratch. Ignoring C++ developers simply because one has a Java web platform (or WebSphere because one has a JBOSS environment) is just plain ignorant. All languages share common elements, and good developers use those elements to pick up the nuances of syntax. All application servers share common elements, and good application support staff can learn new ones.

Every time I hear a developer or app support person say 'I don't know that', I just want to reach across the room and ask them how stupid they are. The smart ones get online, research, and learn it very quickly, the non-as-smart ones use their ignorance to stay in their comfort zone. I'd rather find the smart ones, because in 6 months there are going to be more changes in the computer industry and I would want staff that can adapt.

So ... go find some smart people and let them loose. They'll take care of it.

Then, once you get those smart people that have experience in other areas, work with them to determine what platform to go to, or if you even need to.

Who says this has to do with the platform? (1)

tulcod (1056476) | more than 6 years ago | (#22666680)

First of all, ask yourself these two questions:
1. Are we missing a feature in our platform?
2. Does our platform have a bug that cannot be fixed because of lack of maintainers?
If either can be responded with a yes, then you should indeed look for a new platform. If no solid yes can be given on either, stick to what you have.

That aside, I doubt this has to do with the platform you're using. You said it took quite some time to find someone with sufficient skills. But what kind of skills are those? If those skills are all about using a certain API, you are looking for the wrong coders. It's not hard to learn using a new API. Hell, it's not hard to learn a totally new language. As long as you've programmed before and the corresponding documentation is available. Just look for a good coder, not a coder who has dealt with this certain platform before.

Watch out for consultants! (0)

Anonymous Coward | more than 6 years ago | (#22666682)

I know several consultants who like the strange and unconventional. Job security.

Figures of speech (0)

Anonymous Coward | more than 6 years ago | (#22666702)

but the rubber hits the road when you have to hire someone to maintain that code. How are folks out there determining when you've backed the wrong horse, and getting back on track?"
When push comes to shove and it's down to the wire and you're stuck between a rock and a hard place, sometimes you gotta bite the bullet, choose to lose the battle but not the war, and dump your fuel in order to live to fight another day. Sorry, you can't have your cake and eat it too.

My first clue is usually... (3, Funny)

penguinstorm (575341) | more than 6 years ago | (#22666710)

when Microsoft "embraces" the platform.

Developer or Programmer? (1)

bushboy (112290) | more than 6 years ago | (#22666760)

I'm never sure exactly how companies define this, but generally - at least in the UK - a web developer is considered the 'cog' between programmer and graphics.

Having said that, the lines are blurred.

Can't help you with your question, but if one of our programmers left, we'd be completely scuppered for a while - very proprietry inhouse systems!

Network! (1)

Mongoose Disciple (722373) | more than 6 years ago | (#22666822)

This is one of the good reasons to build a network throughout your career. (Of people, such as developers/etc. that you know, not like the intarwebs.)

Over the years you've probably met or worked with some people who either:

A) Work somewhere else, in a business with some needs similar to yours or
B) Work somewhere else, with either the technology you're considering replacing or considering replacing that technology with.

Talk to some of those people, explain what your situation roughly is, the problems you're having, and why you're thinking of switching. Asking one person can be hit or miss, but across several qualified colleagues you'll at the very least understand what several of the wrong answers to your question would be. Maybe one developer you know will have done a very similar transition last year and can warn you of the gotchas they encountered on the way.

True Solution to your problem (2, Insightful)

RaigetheFury (1000827) | more than 6 years ago | (#22666834)

I don't need to know your platform to help you qualify that answer. This is easy.

1) When you look the technology up on monster.com, how many results do you get?
2) Does the technology have an active community? How supported is it?
3) How big is your site?
4) How much are you willing to spend for someone to maintain it, convert it, implement it etc?
5) What is your time span?

I've done a hell of a lot of conversion from PHP and ASP to ColdFusion simply because companies want a language that's easy for other developers to come behind and figure what's going on. Like ALL code... even ColdFusion can be made to look ugly by a bad developer.

The most important thing is what many echoed already. Pick a language that has years of support behind it with an active community. You'll find your developers easily then. It also prevents the entrenchment technique used by bad developers.

Do you hate the guy? (2, Interesting)

Spinlock_1977 (777598) | more than 6 years ago | (#22666850)

Here's what I'd recommend:

1) Get 3 vendors to bid on replacing it on your platform of choice, without any functionality changes. Triple the price of the lowest bidder, double the price of the highest, and toss the middle guy out. Then ask: Would you rather pay those prices, or live with what you've got?

2) Answer these questions: Is it a mission critical app? Do you have support for all the hardware and software components - or are some so old that you're on your own?

3) Is the existing code really really a mess, or just the usual well-commented mess most programmers like me leave around?

4) What features do you need to add to it in the next year or two? Can they be added reasonably to the existing code base? Will the hardware, OS, etc support the new functionality, or cave under the weight?

5) Do you hate the guy who wrote the original?

Ok, maybe you should weight that last question a little lightly. But at least there's some things to think about before pulling your own plug, or someone else's chain.

Use mainstream languages (1)

sproketboy (608031) | more than 6 years ago | (#22666854)

Like Java or .NET. Avoid poo like Ruby.

this is not a horse race (1)

obarthelemy (160321) | more than 6 years ago | (#22666858)

It's not about having backed the wrong horse. It's about having a tool that meets your needs, and will for the short+medium term.

Since your setup sounds modest, I'd say
- stick with well-represented, run-of the mill solutions (open or proprietary 'standards'), especially if they are widely used in your industry
- don't change anything unless your concurrent system starts to perform unsatisfactorily (features, reliability, speed..), or if you KNOW it will soon be insufficient/too expensive
- keep in mind that at one point you WILL need to change/overhaul your system, and/or your Web guy will leave: keep everything well structured and well documented. This does have a cost. It's well worth it.

Cost (1)

Shagg (99693) | more than 6 years ago | (#22666862)

If the maintenance/development cost (including the cost of finding people to support it) of your current platform is higher than the cost to switch to another one, then switch. If not, then stay where you are (assuming that the current platform meets your needs, etc).
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...