2

This is a followup question to the Pro JavaScript programmer interview questions (with answers).

What is considered professional and industrial standard for a professional browser side Java Script developer when it comes to his workshop configuration, and maybe from-concept-to-shipment process?

What are the most popular IDE's, utilities and probably libraries, not limited to the free ones. These that can help cut development time (eg. IDE), help with achieve better quality (eg. unit testing tools), reliability and maintainability.

I'm looking for a baseline to which I could compare potential candidates based on their ability to keep their tools sharp and workshop efficient (pro's should invest time&money in good tools, right?).

Community
  • 1
  • 1
Janusz Skonieczny
  • 17,642
  • 11
  • 55
  • 63
  • are you looking for candidate employees or free lancers? because the former should not invest money in good tools - their employers should. in case of the latter i guess this coment doesn't apply =) – David Hedlund Mar 30 '10 at 18:15
  • @David IMO in both cases developers should invest, the difference is who's money :) their investing. I generally do not like people that are not actively looking to optimize their workshop. If the tools are given by the employer, employee should be content that they are optimal for the task they're doing, if not he should look for alternatives. – Janusz Skonieczny Mar 30 '10 at 19:08
  • but it's not that often that the devs have much authority when it comes to purchasing licenses. i'll agree that if a dev is not content with the tools at hand, he should be looking for alternatives, but in some situations, the only option might be looking for an alternative employer, and i guess that much can be said about anyone applying for the position you're offering. i guess as long as the developer has a strong preference, tho, he'll just say that that is what he's currently using ;) – David Hedlund Mar 31 '10 at 06:19
  • @David ... and here's come my question :) With your answers I would like to know how to what I could expect from someone that is looking for better tools, form one that will just list tools that he was just given. – Janusz Skonieczny Mar 31 '10 at 08:06

3 Answers3

4

Libraries/Frameworks

What libraries people use is very much a matter of preference. I was very fond of Prototype back in the day, but have made the switch, as so many others, to jQuery, since that seemed to be what was most desired by employers.

If you've got a project up and running that is based on some javascript framework, you want to make sure that the person you're hiring is proficient in that particular framework, regardless of whether or not it is "the best one" for the task, because you do not generally want to mix several javascript frameworks. If, on the other hand, you're a startup, you're more at liberty to go with whatever library your developer prefers.

Judging developer skill by library preference would be a real challenge. On one hand, jQuery is quite the new library on the block, so an impressive jQuery proficiency would be a sign that the developer has had the will and ability to quickly adapt to a new framework. On the other hand, jQuery is very easy to get started with, so a basic level understanding of jQuery doesn't really mean anything, and I've seen a lot of people who can use jQuery, but with no real understanding on how plain javascript works. I would really advise against drawing conclusions based on library preference.

IDE

As others have pointed out, it's hard to find an excellent javascript IDE. I'm from the .NET world so Visual Studio is the obvious IDE choice for me, since it's really well adapted to .NET programming needs. You'll find that a lot of really good javascript developers are not only javascript developers, and as such, their choice of IDE might not be based purely on what's good to write javascript in.

For what it's worth, Visual Studio 2010 has some real innovative intellisense for javascript. It has native intellisense for jQuery, and it also understands dynamically created variables (if you write for(var i = 0; i < 10; i++) window['myVar'+i] = i;, and later in your code starts typing myV..., intellisense will pop up suggestions myVar1, myVar2, etc...). VS2010 is only a release candidate, though, and Visual Studio 2008, which is the latest final release is terrible when it comes to javascript.

I would see a developer running release candidates as something positive, though =)

Tools

It cannot be stressed enough how much javascript development is facilitated by Firebug for Firefox. I definitely think that the developer should mention Firebug or Chrome developer tools, for debugging purposes.

Another tool it'd be great if the developer used would be PageSpeed for Firefox, which is an excellent way of inspecting what javascript functions can be deferred until after page load, for instance. This one definitely isn't a deal breaker, though.

I think the developer should be able to explain what JS Lint is, although there's no need for a proficient javascript developer to use it in everyday development, so it's not alarming if the tool isn't mentioned; it's just a good thing if the interviewee can explain what it is, if you actively ask about it.

As for minifying, I don't think that this should be a task that js developers should have to worry about. Minifying and script combining should be an automated deployment task, or an on the fly serverside task.

David Hedlund
  • 128,221
  • 31
  • 203
  • 222
  • Thx for the insights :). In regard of deployment (eg. minifying), I consider such tasks as a developer tasks. I once read that: "Developers are paid to ship not to program" - I 100% agree. Because of that I would like to hire someone that understands all the implications of his work, up to deployment, and even further into solution life cycle (optimization, maintenance and solution retirement). – Janusz Skonieczny Mar 31 '10 at 14:11
  • @WooYek: I'll agree that it's a developer's task, but I wouldn't say that it's the plain-js-developer's task, as an efficient implementation of this will not require writing any javascript code. If you want an all-round-developer to write serverside code as well as clientside code, javascript should probably be peripheral at least to choice of IDE. The js-centricity of the questions lead me to believe that you were looking for an isolated JS dev role. – David Hedlund Mar 31 '10 at 14:32
0

i've been doing pretty heavy JS development for a the last year and a bit and there's a frightening lack of good tools for js. particularly on the IDE front.

I was using Spket, but it broke when upgrading to vista and is unusable. the very idea of code-completion in the js world is out the window unless you want to get into eclipse based IDE's which I don't.

as for the baseline you're discussing. the baseline you're concerned with is code quality. tools are just that. they increase/decrease productivity but a developer with all the best tools and no experience will still write poorly.

ruzz
  • 63
  • 3
0

I don't know "what is considered professional and industrial standard" but I use Aptana Studio 2 for an IDE for JavaScript, CSS and JSP/HTML. It's not perfect - navigation to highlighted objects could be better, for example - but it's robust and predictable and because its based on eclipse it feels 'right' to me.

For javascript/animation libraries I use prototype.js and scriptaculous because they are cleanly coded and (to my mind) intuitive. Others use JQuery and mootools and are very happy with those choices too - so any of those 3 will work.

plodder
  • 2,304
  • 18
  • 19