password
username
Sponsored by CakeMail, an email marketing software.
Newsletter preview

Tuesday, Aug 12, 2008

Change Spring configuration without restarts

The new JavaRebel Spring plugin lets you skip redeploy even when changing Spring configuration files or using the new annotation based configuration. It supports registering new Spring beans, adding/removing dependencies and adding new MVC controllers and handler methods on-the-fly.

Download the free plugin today!

Perspective


Be sure and
check out a
No Fluff Just Stuff
Java conference
coming your way!

08/15-08/17 San Deigo
08/15-08/17 Cincinnati
08/22-08/24 Orlando
09/12-09/14 Boston
09/19-09/21 Seattle
09/26-09/28 Calgary


A Developer's Perspective
Next section
Rebecca Murphey is a freelance front-end developer and web consultant
based in Durham, N.C. She was the lead front-end developer at
DailyStrength.org, a health-oriented social networking site, and
previously worked at interactive agencies serving corporate clients
and universities. You can reach her at rmurphey@gmail.com.

5 reasons you don’t really want a jack-of-all-trades developer
By Rebecca Murphey

I've spent the last couple of weeks trolling Craigslist and have been shocked at the number of ads I've found that seem to be looking for an entire engineering team rolled up into a single person. Descriptions like this aren't at all uncommon:

Candidates must have 5 years experience defining and developing data driven web sites and have solid experience with ASP.NET, HTML, XML, JavaScript, CSS, Flash, SQL, and optimizing graphics for web use. The candidate must also have project management skills and be able to balance multiple, dynamic, and sometimes conflicting priorities. This position is an integral part of executing our web strategy and must have excellent interpersonal and communication skills.

Really.

Now I don't know about you, but if I were building a house, I wouldn't want an architect doing the work of a carpenter, or the foundation guy doing the work of an electrician. But ads like the one above are suggesting that a single person can actually do all of these things, and the simple fact is that these are fundamentally different skills. The foundation guy may build a solid base, but put him in charge of wiring the house and the whole thing could, well, burn down. When it comes to staffing a web project or product, the principle isn't all that different -- nor is the consequence.

I've thought a lot about this these last couple of weeks, and I don't think this post is sour grapes about the fact that I don't have the top-to-bottom, front-to-back web development skills that this ad and others seem to be asking for. I'm proud and confident of the abilities I've assembled when it comes to front-end development, and I have a rock-solid understanding of what makes websites tick.

The thing is, the more you know, the more you find out you don't know. A year ago I'd have told you I could write PHP/MySQL applications, and do the front-end too; now that I've seen what it means to be truly skilled at the back-end side of things, I realize the most accurate thing I can say is that I understand PHP applications and how they relate to my front-end development efforts. To say that I can write them myself is to diminish the good work that truly skilled PHP/MySQL developers are doing, just as I get a little bent when a back-end developer thinks they can do my job.

So to all of those companies who are writing ads seeking one magical person to fill all of their needs, I offer a few caveats before you post your next Craigslist ad:

  1. If you're seeking a single person with all of these skills, make sure you have the technical expertise to determine whether a person's skills match their resume. Outsource a tech interview if you need to. Any developer can tell horror stories about inept predecessors, but when a front-end developer like myself can read PHP and think it's appalling, that tells me someone didn't do a very good job of vetting and got stuck with a programmer who couldn't deliver on his stated skills.
  2. A single source for all of these skills is a single point of failure on multiple fronts. Think long and hard about what it will mean to your project if the person you hire falls short in some aspect(s), and about the mistakes that will have to be cleaned up when you get around to hiring specialized people. I have spent countless days cleaning up after back-end developers who didn't understand the nuances and power of CSS, or the difference between a div, a paragraph, a list item, and a span. Really.
  3. Writing efficient SQL is different from efficiently producing web-optimized graphics. Administering a server is different from troubleshooting cross-browser issues. Trust me. All are integral to the performance and growth of your site, and so you're right to want them all -- just not from the same person. Expecting quality results in every area from the same person goes back to the foundation guy doing the wiring. You're playing with fire.
  4. Asking for a laundry list of skills may end up deterring the candidates who will be best able to fill your actual need. Be precise in your ad: about the position's title and description, about the level of skill you're expecting in the various areas, about what's nice to have and what's imperative. If you're looking to fill more than one position, write more than one ad; if you don't know exactly what you want, try harder to figure it out before you click the publish button.
  5. If you really do think you want one person to do the task of an entire engineering team, prepare yourself to get someone who is OK at a bunch of things and not particularly good at any of them. Again: the more you know, the more you find out you don't know. I regularly team with a talented back-end developer who knows better than to try to do my job, and I know better than to try to do his. Anyone who represents themselves as being a master of front-to-back web development may very well have no idea just how much they don't know, and could end up imperiling your product or project -- front to back -- as a result.

If your budget really is limited to a single position, you might want to consider whether you'd be better off working with several contractors with specific and proven skills, rather than a single person who claims to encompass everything you're after. Your management overhead will increase in the near term, yes, but your headaches down the road will decrease exponentially. In the process, you'll gain access to people who can help you evaluate potential full-timers, and probably gain some insight into the actual list of skills a full-timer needs to provide.

If you're one of the people who's written these ads, all is not lost. Invest in a technical consultant -- probably one you can't afford to hire full-time -- to help you really understand your needs and the skills required to solve them. Often they can assist you with writing and posting the ad, and interviews too. For example, I'll meet with a client, write and post a detailed ad, identify candidates, and interview contenders; if I don't have the technical skills required to evaluate a candidate, chances are I personally know someone who can. Doing that homework up front, and understanding and describing what your needs really are, is vastly more likely to give you the perfect fit you're after than if you just cast a wide net and see what you catch.

Until next time,
Rebeccca Murphey

To read more of Rebecca's work, visit her blog.


JProbe Freeware: Java Profiling and Memory Analysis

JProbe Freeware is an Eclipse plug-in that checks heap dump memory issues for quick and efficient memory profiling. Get your copy today and be entered to win an iPhone 3G.

Download your copy now.

DZ Top Links

DZone Top Links
Next section
Back to top
most clicked this week from dzone.com

dzone

Most-clicked links this week



Popular at JL

Popular at Javalobby
Next section
Back to top
A recap of some of the most popular and active Javalobby.org discussions this week.

C# Refcard

As C# has evolved over the past few years, there’s more and more to remember. You’ll find this reference card useful whatever type of C# project you’re working on, and whichever version of C# you’re using. It covers many topics, from the basics of string escape sequences to the brave new world of query expressions and LINQ in C# 3. Download now.

0 replies - 700 views - 08/11/08 by Jon Skeet in Refcardz

If I Could Recommend Five Books For Java Developers....

There are many books that are essential for your bookshelf if you're a Java developer. But if I had space for just five books, which ones would I recommend?...

9 replies - 8728 views - 08/08/08 by James Sugrue in Articles

Tasktop for Eclipse - Get More out of Mylyn

The Tasktop Plug-ins for Eclipse extend the capabilities of Eclipse Mylyn to other aspects of the developer's workweek. In this article we take a brief look at...

0 replies - 6331 views - 08/05/08 by robert.elves@ta... in Articles

Java VMs Compared

Our current stack is based on phoneME Advanced, a configuration not available in Open Embedded. That forced us to look at other options as we started working...

0 replies - 5506 views - 08/01/08 by kschultz.buglabs in Articles

What's New in Seam 2.1 - An interview with Peter Muir

In this podcast interview, Peter Muir previews some of the upcoming features in Seam 2.1, including support for GWT and Wicket, improved security enhancements...

0 replies - 4826 views - 08/03/08 by Nitin Bharti in Articles

JavaFX's Killer Feature

Many believe that JavaFX is too little too late for Sun to become a player in the rich client space, but I think that if Java 6 U10 is successful that Sun will...

34 replies - 4544 views - 07/28/08 by Kevin Daly in Articles

Service-Orientation vs. Object-Orientation: Understanding the Impedance Mismatch

Object-oriented programming languages and techniques provide a powerful means for designing and building applications. These techniques do not always...

6 replies - 3989 views - 07/31/08 by Masoud Kalali in Articles

 
White Papers & Announcements

Product Announcements
Next section
Back to top
Product and service announcements for Java developers.

JNode 0.2.7 - Java Based Operating System

The JNode team is proud to announce the release of JNode 0.2.7.JNode is a free, open source Java technology based operating system implemented in the Java...

0 replies - 1764 views - 08/08/08 by Martin Husted H... in Announcements

Swing Extreme Testing

We've spent ten years developing a highly-successful artificial intelligence system used in pathology labs around the world. As a very small team, one of the...

0 replies - 874 views - 08/09/08 by Tim Lavers in Announcements

Framework over webMethods 7.x CAF/BPM

I would like to take this opportunity to introduce some of the frameworks and reusable components we have developed over webMethods Fabric 7.x CAF. Purpose of...

6 replies - 743 views - 08/05/08 by Khurram Majeed in Announcements

FEST-Swing 1.0b1: GUI Testing Made Easy

FEST-Swing is an Open Source Java library, released under the Apache 2.0 license, that provides a fluent interface for functional Swing GUI testing. This...

0 replies - 660 views - 08/05/08 by Alex Ruiz in Announcements

Free Webinar: Coverity Software Readiness Manager for Java

Join Coverity for a web seminar to learn more about Coverity Software Readiness Manager, our newest product for ensuring superior software integrity. Today’s...

0 replies - 374 views - 08/05/08 by Martin steve in Announcements

ThinkUI SQL Client 1.0.8: New Batch Code Generation Feature

ThinkUI Software Inc. is pleased to announce the availability of ThinkUI SQL Client 1.0.8. About:The ThinkUI SQL Client is a graphical program that allows...

0 replies - 371 views - 08/09/08 by Huy Tran in Announcements

 
Your Account

Your Account
Next section
Back to top
Manage your account info for this and other Javalobby publications.

Manage your Javalobby membership details

Click on the following links to:


Contact Info
Next section
Back to top
Here's how to reach us, we love to hear from you.

Email us
Send news items to editor@javalobby.org
Send questions, complaints, or suggestions to feedback@javalobby.org
Send advertising inquiries to advertise@javalobby.org
 
  Call us
  Our number is (919) 678-0300. We'd love to hear from you!

Legal
Back to top
The fine print we'd rather avoid completely.
  Feel free to redistribute this newsletter in part or in full to your friends.
 
Javalobby News is a service mark of DZone, Inc.
Copyright ©2001-2008 DZone, Inc.
 

Thank you for your continued support of Javalobby and DZone. Click here if you prefer not to receive the Javalobby weekly newsletters.

DZone, Inc. - 1251 NW Maynard Rd. - Ste. 300, Cary, NC 27513 - (919) 678-0300