Innovation Automation through process, products and people

Innomation

Subscribe to Innomation: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Innomation: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


In recent months, we’ve ‘tested the limits’ with QA notables Jack Margo - DevShedlike  James Whittaker, Rosie Sherry and Andrew Muns.  This month, we’re jumping over to the dev side of the aisle by sitting down with Jack Margo, SVP of Internet Operations at Developer Shed .

Developer Shed is owned by Ziff-Davis and manages a bunch of tech sites — many devoted to open source technologies and communities.  They serve millions of visitors per month, for every breed of developer. Topics range from troubleshooting an Apache web server to programming a complicated Java application to successfully marketing a website.  Their tagline says it all: “Tools for Geeks!”

Today, we talk about what developers really think about testers, Jack’s take on Microsoft vs. open source, the reason he’s mad at Java, why net books are a fad, and which programming language has the biggest upside.  Check back tomorrow for part 2.

uTest: What do developers look for in their testing counterparts?
Jack:
First off, most developers will ultimately hate their testing counterparts. The best developers have an almost g-d like complex where they think their code is always solid and their work infallable.  We know that is not the case.  A developer needs, in a good testing counterpart, a person who understands this and can reach the developer on a personal level.

Testers need to really keep reminding the developers that it’s not personal.  On the other hand, it’s important to state that not every functionality issue is a bug… I’ve had issues where a business spec was delivered, my team developed to spec, but the UI was just not right and the tester opened bugs against the developer.  It’s important to have a tester that can tell the difference between an enhancement and a true bug.  I know, it sounds so ridiculously trivial but finding quality testers who can also understand the nuances of business is key.

uTest: What’s the most overused buzzword in the lexicon of software apps?

J: Haha!  I’ve always hated the term “Single point of failure”.  No matter how robust a system you build, there will always be a single point of failure (unless, of course, you’re working with an unlimited cash fund and can afford to have a hot-swap machine at the ready for every single piece of architecture).  The job is to work around that and mitigate the stress on that point as much as possible… and keep a good emergency plan.  Oh, and I personally hate the word “Federated”, and yes its applicable to databases and meta data that ties records together, but it’s being used in “Federate Sites”, “Federate Users”. I’ve even heard someone say “Federate our ROI”.  (Editor’s note: huh???)

uTest: What’re the hottest debate in development right now?
J: We’re seeing the battles raging right now between the two constant contenders – Open Source vs. Microsoft.  Microsoft has taken an interesting tack on the subject with a, “If you can’t beat them, join them” philosophy for the most part.  The funny part is that there’s no right answer.  I tell people, some folks like chocolate and some folks like strawberry.  More importantly, and something developers will fight against if they are one-language purists, but the right tool should be used for the right job.

In my opinion, you usually can’t convince one side over the other on who is correct…and that leads to the conclusion that both are indeed correct.  Personally, I’m not a big fan of licensing fees but we do run MS SQL 2008 server on at least one of our platforms and MySQL on others.  To me, you need to accept a blended world and that’s where API’s and the like come in to tie them together.

One other big debate is web and application hosting.  Lots of folks have become early adopters of Cloud Computing.  I think it’s incredible how distributed computing and grid / cloud computing has really taken a forefront in a lot of IT discussions and debates…and it’s really not a new idea.  You can trace this back to Ross Perot selling mainframe cycles with EDS…this is just the next iteration of that type of thinking.  There are stalwarts that insist on physical servers, but Amazon’s cloud service has brought a lot of credibility and stability to the argument.  I think in the end you’ll see prices eventually stabilize and that’s when you’ll have a more en-masse flow towards the Clouds.

uTest: Where do you fall in the philosophical debate between Google (web-based apps that live in the cloud) vs. Microsoft/Apple (owned hardware/software that runs on a traditional OS)?  Which philosophy will prevail?
J: I’m a moderate on this debate because both have merit.  I don’t think you’ll have a single winner but instead have a merging of worlds where parts run on traditional OS’ and parts are cloud-based apps.  I find it amazing how many spin ups and spin downs there are.  Realistically, its less about the platform and more about the bandwidth.  Both of these application sets require bandwidth and the better the infrastructure and connectivity the more you’ll see blending of the two worlds (ala Google Gears, for example) and offline/online becoming more seamless.

I do think netbooks are a fad.  I couldn’t do much aside from a telnet session and maybe checking mail before my hands would cramp into carpal-tunnel world and I’d go blind.  People want the lightweight portability of a netbook, but they also want the big screen as well.  I don’t think that Netbooks come close to solving that…but I digress.

uTest: Which coding language (PHP, Rails, Java, .Net, etc) has the brightest future?

J: I’m mad at Java so I have to abstain from picking or not picking that.  In 1998 SUN promised that Java would be on my refrigerator and tell me when I am low on milk.  10 years later, I’m lucky to have crushed ice from mine.  I’m partial to PHP because I’ve been developing in that for a long time.  I’ve done PERL, .NET, classic ASP, TCL (good ol’ AOLServer was a TCL-based system) and others.  But the one constant is that if a language has OOP principles, people will gravitate and support that language.  So all are truly viable to have bright futures.

Again, not to sound like a broken record, but you need to choose the right tool for the right job, and that includes the decisions on hardware, software (off the shelf or 3rd party), SaaS services you choose to interface with, etc.  For me, you choose the language based on the availability of funds, hardware and people that are going to work on it.  However I will reiterate, to SUN (now Oracle, I suppose) that I want my smart fridge and then I’ll consider J2EE again.

uTest: What separates a good developer from a great one?
J: Simply pride and passion for your work.  Development is an art form, in my opinion.  You can teach people languages such as Python, PERL and whatever else you throw into a mix.  That doesn’t mean the person is a developer in that language.  Amazingly, in the late 1990’s, the shakeout from the bubble bursting was actually a good thing.  It really took out a lot of the fodder and folks that were only in it for a quick buck and left a really great group of hardcore, passionate developers.

When I am looking at candidates, one of the things I like to find out is whether they learned computer programming or development in college or if they had any experience beforehand.  That’s a telling sign; the developers that had experience or the story, “I had a vic 20 and learned when I was 12” are the hobbyists and not just folks who went to school because they saw dollar signs.  There’s a certain mesh of logic, passion and love for the code that makes a developer great.

uTest: What advice would you would give to younger developers getting started?
J: I recently was on a virtual conference in Second Life for a project we work on IBM with.  I was asked this same question.  Essentially, it comes down to passion for what you do that separates the fair from the great.   If you don’t have the desire to learn and expand your knowledge of languages, or are in development because it’s good money you won’t get far.

The days of specialists are mostly killed from the recession…you have to be flexible and know multiple disciplines to exist in today’s dev environment.  In web development alone, you need to be proficient with XML, DHTML, JS, a DB flavor, an OS flavor, a programming language and some semblance of UI Design to even handle front-end.  I have friends who knew only HTML or only PERL.  They are struggling to say the least

Remember, part 2 of our discussion with Jack will be published soon.  We’ll cover topics like community-building, crowdsourcing and whether anyone is truly agile in a recession.

In the meantime, I’m curious to hear what our testing community thinks about some of these same questions — what do YOU look for in a dev counterpart?  Which coding language do you think has the brightest future?  Has Java let you down too, or do you have your smart fridge and jet packs?  Drop us a comment and weigh in on the debate.

· What’re the most powerful trends (or hottest debates) in development right now?
We’re seeing the battles raging right now between the two constant contenders – Open Source –v- Microsoft.  Microsoft has taken an interesting tack on the subject with a, “If you can’t beat them, join them” philosophy for the most part.  The funny part is that there’s no right answer.  I tell people, some folks like chocolate and some folks like strawberry.  More importantly, and something developers will fight against if they are one-language purists, but the right tool should be used for the right job.  In my opinion, you usually can’t convince one side over the other on who is correct…and that leads to the conclusion that both are indeed correct.  Personally, I’m not a big fan of licensing fees but we do run MS SQL 2008 server on at least one of our platforms and MySQL on others.  To me, you need to accept a blended world and that’s where API’s and the like come in to tie them together.

One other big debate is web and application hosting at this point.  Lots of folks have become early adopters of Cloud Computing.  I think it’s incredible how distributed computing and grid / cloud computing has really taken a forefront in a lot of IT discussions and debates…and it’s really not a new idea.  You can trace this back to Ross Perot selling mainframe cycles with EDS…this is just the next iteration of that type of thinking.  There are stalwarts that insist on physical servers, but Amazon’s cloud service has brought a lot of credibility and stability to the argument.  I think in the end you’ll see prices eventually stabilize and that’s when you’ll have a more en-masse flow towards the Clouds.


· What separates a good developer from a great one?
Simply pride and passion for your work.  Development is an art form in my opinion.  You can teach people languages such as Python, PERL and whatever else you throw into a mix.  That doesn’t mean the person is a developer in that language.  Amazingly, in the late 1990’s, the shakeout from the bubble bursting was actually a good thing.  It really took out a lot of the fodder and folks that were only in it for a quick buck and left a really great group of hardcore, passionate developers.  When I am looking at candidates, one of the things I like to find out is whether they learned computer programming or development in college or if they had any experience beforehand.  That’s a telling sign; the developers that had experience or the story, “I had a vic 20 and learned when I was 12” are the hobbyists and not just folks who went to school because they saw dollar signs.  There’s a certain mesh of logic, passion and love for the code that makes a developer great.

· What do developers look for in their testing counterparts?
First off, most developers will ultimately hate their testing counterparts. The best of developers have an almost g-d like complex where they think their code is always solid and their work infallable.  We know that is not the case.  A developer needs, in a good testing counterpart, a person that understands this and has many ways of communicating to reach the developer on a personal level.  Testers need to really keep reminding the developers that it’s not personal.  On the other hand, it’s important to state that not every functionality issue is a bug…I’ve had issues where a business spec was delivered, my team developed to spec, but the UI was just not right and the tester opened bugs against the developer.  It’s important to have a tester that can tell the difference between an enhancement and a true bug.  I know, it sounds so ridiculously trivial but finding quality testers who can also understand the nuances of business is key.

· What’s the most overused buzz word in the lexicon of software apps?
Haha!  I’ve always hated the term “Single point of failure”.  No matter how robust a system you build, there will always be a single point of failure (unless of course you’re working with an unlimited cash fund and can afford to have a hot-swap machine at the ready for every single piece of architecture.  The job is to work around that and mitigate the stress on that point as much as possible…and keep a good emergency plan.  Oh.  I personally hate the word “Federated”, and yes its applicable to Databases and meta data that ties records together, but it’s being used in “Federate Sites”, “Federate Users”…I’ve even heard someone say Federate our ROI.

· This question was recently posed by blogger Andy Beal: “Crowdsourcing is hot now, but will participation fatigue set in?”
Sure.  And Facebook is a fad.  And Twitter won’t last 6 months.  I’ve seen crowdsourcing in action…and a good friend of mine, Chuck Lin, has used a site called crowdspring.com to get a ton of great, affordable designs.  People in our industry are motivated by three things – Money, Notoriety and Discover.  Crowdsourcing, by it’s nature, filters out the not-so-good and leaves you with the best ideation that a group of collaborating individuals can provide.

· Some have suggested that the focus on mobile apps is weakening web applications. Any truth to this from your perspective?
Not at all.  It’s just a different methodology to the build itself, but there are ample developers and specialists to go around.  I’ve not done a lot of mobile application development but the ramp up of something like Objective-C (one of the most crazy languages in my opinion) is steep for most.  I think you’ll see a convergence when Android and other phones start to offer Flash as a development platform.  The main weakening, if there is one, is mainly from ad-hoc rules that cell phone manufacturers impose.  Make a phone that can run PHP applications, and you’ll have a ton of web/mobile-app developers.  Likewise, make a website that can run on Objective-C and you’ll get the converse.  It’s one’s chosen discipline, but I definitely do not see a weak web app dev community.  Bifurcated?  Yes.  But not weaker.

· Where do you fall in the philosophical debate between Google (web based apps that live in the cloud) vs. Microsoft/Apple (owned hardware/software that runs on a traditional OS)?  Which philosophy will prevail?
I’m a moderate on this debate because both have merit.  I don’t think you’ll have a single winner but instead have a merging of worlds where parts run on traditional OS’ and parts are cloud-based apps.  I find it amazing how many spin ups and spin downs there are.  Realistically, its less about the platform and more about the bandwidth.  Both of these application sets require bandwidth and the better the infrastructure and connectivity the more you’ll see blending of the two worlds (ala Google Gears, for example) and offline/online becoming more seamless.  I do think netbooks are a fad.  I couldn’t do much aside from a telnet session and maybe checking mail before my hands would cramp into carpal-tunnel world and I’d go blind.  People want the lightweight portability of a netbook, but they also want the big screen as well.  I don’t think that Netbooks come close to solving that…but I digress.

· Which coding language (PHP, Rails, Java, .Net, etc) has the brightest future?
I’m mad at Java so I have to abstain from picking or not picking that.  In 1998 SUN promised that Java would be on my refrigerator and tell me when I am low on milk.  10 years later, I’m lucky to have crushed ice from mine.  I’m partial to PHP because I’ve been developing in that for a long time.  I’ve done PERL, .Net, classic ASP, TCL (good ol’ AOLServer was a tcl based system) and others but the one constant is that if a language has OOP principles, people will gravitate and support that language.  So all are truly viable to have bright futures.  Again, not to sound like a broken record, but you need to choose the right tool for the right job, and that includes the decisions on hardware, software (off the shelf or 3rd party), SaaS services you choose to interface with, etc.  For me, you choose the language based on the availability of funds, hardware and people that are going to work on it.  However I will reiterate, to SUN (now Oracle I suppose) that I want my smart fridge and then I’ll consider J2EE again.

· Which development methodology (waterfall, agile, XP, etc) has the brightest future?
If you asked me this question before we hit a recession, I would say agile.  Agile, hands down, wins against any development paradigm as long as you have the core team to support it.  The breakdown comes when you lack the resources to dedicate to both scoping out projects and to get the job done technically…and in a recession headcount is a premium.  Most everywhere I have worked has put in a SDLC, a SDM and other safeguards that work perfectly in a textbook.  In reality, what you get is a good effort towards Agile that ends up in a hybrid Agile-Fall.  It’s like using Agile to know your roadmap, but when the roads are closed, the map fails and time is ticking, every developer I know ends back in some form of waterfall if even just for a week.  The larger the project, the more likely someone is going to have to wait on someone else, and that is what induces waterfall.  Personally, however, I love XP on the development side, especially when you have a developer twin you work with a lot.

· Where did the idea for DevShed come from?
I’ve only been with DevShed, a subsidiary of Ziff Davis Enterprise, for 18 months.  The business was actually started in the internet boom probably around the late 90’s.  In around 2001-2002, Jonathan Caputo purchased DevShed.com and several other sites to combine into a developer’s network.  There were others out there, but for the time nothing was as comprehensive across the board and fostered community among developers like DevShed.  In 2007, ZDE and Developer Shed’s networks merged forming a news, review, information and tutorial suite that covers technologists from early programming stages (devshed.com) all the way up to the CEO/CIO levels (cioinsight.com).  Ultimately, it was Caputo’s vision that pulled the disparate community elements together to form the network.  Disclaimer:  Jonathan and I have been friends since we were 13.

· What was DevShed like in its very early stages (in terms of discussion, participation, expertise, etc.)?
** I cant really answer this because I wasn’t here, but the above question mixes in the answer.  I’ll choose and add a question as a bonus :) **

· What’s surprised you the most about the collective intelligence of the Dev Shed community?
The users of the communities that Dev Shed and sites such as aspfree.com and seochat.com are extremely protective of what they consider their community.  Newbies are often ignored or shunned if they are not using proper etiquette (such as don’t ask a question twice, don’t repost, don’t spam).  On the flip side, they often complain about ads, and without the ads we can’t keep resources applied to the network.  So it’s great that they are so loyal and defensive of their turf, and their discussions are extremely enlightening to both the novice and professional, but it works against you as a business when you want/need to expand revenues and the community essentially votes something down.

· Why has DevShed succeeded in building such a vibrant, engaged community, where others have failed?  What’s your secret?
If we gave away the secret, it wouldn’t be a secret…but I would encourage all community-based sites to listen to their users.  We have had times where we have not and paid for it in user loss and general malaise.  Wherever possible, do what the users want.  I’d like to publicly apologize to our users for an incident where we lapsed; earlier this year we had 3 months where the quality of moderation wasn’t what our users were used to.  Part of running a good community is ‘fessing up when you’ve done some wrong.  Overall, I believe we provide our users a stable, interactive and informative forum for their open exchange and our reward is that they stick around.

· What software-related nightmares keep you up at night?
I wish it were software only.  Those days are gone, sir.  In my position, I worry about everything from the bottom line of costs/revenue to the project queue all the way down to the legacy code we’re migrating and how long it’s running over.  I think our software situation is pretty stable, thankfully.  We do not have a lot of developers but we do have some world-class talent and the synergies connect up to provide a team that really can do a lot more than each could uniquely.  Aside from constantly worrying about systems failure and being hacked, there’s not a lot of nightmares.

· What’s next for DevShed?  What do you look like in 2012?
DevShed is currently working on a couple of new ideas that will bring in a different audience.  We currently focus on the developer who comes to the site for information on a specific topic but either join or don’t join the community.  I think you’ll see more interactive products and newer categories before 2012.  That’s what’s really the great thing about having a site that deals in information – the only thing that changes are the topics.  The cornerstones of what we have as a community will continue to ebb and flow over the years, but if the past 5 have been any indicator, the next 5 will be just as active from a community standpoint.

· What is the advice you would give to younger developers getting started?
I recently was on a virtual conference in Second Life for a project we work on IBM with: www.smartertechnology.com.  I was asked this same question.  Essentially, it comes down to passion for what you do that separates the fair from the great.   If you don’t have the desire to learn and expand your knowledge of languages, or are in development because it’s good money you won’t get far.  The days of specialists are mostly killed from the recession…you have to be flexible and know multiple disciplines to exist in today’s dev environment.  In web development alone, you need to be proficient with XML, DHTML, JS, a DB flavor, an OS flavor, a programming language and some semblance of UI Design to even handle front-end.  I have friends who knew only HTML or only PERL.  They are struggling to say the least


Rating: 4.5/5 (8 votes cast)

Read the original blog entry...

More Stories By Jennifer Moebius

Jennifer Moebius, Public Relations Manager at uTest, champions media efforts, analyst relations and speaking/awards programs. A media maven and creative writer, Jennifer’s accomplishments include feature articles in BusinessWeek, Fortune, Dow Jones, The New York Times and Investor’s Business Daily. Prior to uTest, Jennifer was Senior Account Executive at boutique PR firm Emerge Public Relations where she managed PR programs for a variety of tech clients including Burton Group, Information Builders, Action Engine, Tizor Systems, good2gether and Harvard Business Publishing.