9 Signs You Shouldn’t Hire THAT Web Guy – 2013 Edition
Back in February 2008, this blog arguably hit its peak (/me weeps). I was still a bit of a noob web developer and I cringe when I see some of my older code, but it's back then when I wrote 9 Signs Not to Hire THAT Web Guy. The post blew up the internet, being featured on the Reddit homepage, Digg homepage, and even got featured (picked by Kevin Rose) on Diggnation. It was an incredibly proud time and the post adequately depicted the type of webmaster that no one should hire.
Times have changed but that simply means that the ... qualities ... we look for in ruling out a developer ... have changed. Here are today's nine signs that you shouldn't hire THAT web guy.
Mobile Sites Only Work in Mobile WebKit
iOS-based devices and Android devices dominate the mobile market share and use WebKit-based browsers, as do their native-wrapped HTML5 apps. That has led developers to exclusively use -webkit- prefixes in the mobile code, ignoring the fact that Opera, Mozilla, and Internet Explorer have a growing internet presence. It's the equivalent of coding only for Internet Explorer back in the 4, 5, and 6 days. Mozilla has unprefixed most CSS properties so as long as you're using standard CSS you'll be fine, but it still pays off to use -moz- prefixes for edge properties. The important thing to remember is that there's more to mobile than WebKit, and the upcoming Firefox OS launch will prove that (if Firefox for Android hasn't already).
They're a "{{ js framework}} Developer"
I've given dozens of technical interviews over the past few years and it becomes apparent quite quickly if the candidate is a knower of a framework or a developer that knows JavaScript -- two vastly different stories. I'll ask something as simple as "How do you get the child nodes of an given element," almost spelling out the answer, and I'll hear something like "I use the children() method." Not good enough.
They're a "lump.js" Developer
Tools like RequireJS and curlJS make JavaScript module loading so easy that there really isn't much of an excuse to not write modular code. If your site only uses a bit of JS, that's fine, but there's no point in creating massive .js files out of laziness or lack of skill.
Their Design Isn't Responsive
Very few websites and web applications are desktop-only, so clients should expect their modern-day designs to be, at the very least, presentable on mobile devices. Media queries are so easy to use and implement that there's no excuse not to use a few of them to modify structure and content display. The mobile display of this site took little effort and looks great, so why shouldn't every dev do so?
They Know "HTML5"
Knowing "HTML5" is the equivalent of yesteryear's "Web 2.0" . HTML5 is somewhat of a marketing term and a blanket statement that you know HTML5 is probably a sign that...you may not know its components. Press anyone claiming to know HTML5, asking them about specific APIs. Don't know much? Don't hire THAT web guy!
They Don't Use Feature Detection
Every seasoned developer knows that using UA sniffing can bite you in the ass but even worse is not using feature detection in the first place, simply assuming that all browsers have the given feature. Or not backing up your CSS properties with browsers prefixes. THAT type of web guy will get you in trouble quick.
They Include Unnecessary Libraries
JavaScript libraries and micro-libraries are incredibly useful but oftentimes incredibly overused. If I had a dollar for every time I've seen jQuery within a page for just the purpose of a quick animation or a bit of DOM use, I'd be a millionaire. I'll also see all of Modernizr included for one feature test, when simply grabbing the code for that test will do. That type of laziness bloats the page and executes loads of unnecessary processing.
They Still Think "Mobile" Means iPhone and iPad (iOS)
iPhone ands iPads weren't the original mobile devices but they were the first to take off, so for a short time they were all you really needed to account for. Unfortunately THAT web guy is still living in the past, while Android and Firefox OS devices are becoming more and more popular.
They Think HTML Apps are a Fad
THAT web guy still thinks that HTML-based apps are a fad and that PhoneGap is the only route to making them. Enter Firefox OS and the numerous other web OS' hitting the market. If it works in your browser it will work on the new OS', so a negative HTML app attitude will get you in trouble in a hurry.
While the definition of THAT web guy has changed over the years, you can always spot him. Be on the look out -- this dude can put you down the wrong path in a heartbeat!
About the responsive part:
http://xkcd.com/1174/
I agree with everything expect the {{ js framework }}’s example. I would be satisfied, for example, if he understands closures and object inheritance rather than remembering a specific function of the DOM API.
Other than that, I couldn’t agree more :D
“If I had a dollar for every time I’ve seen jQuery within a page…”
I can’t tell if that was on purpose or not. *:^)
on the point of He’s a “lump.js” Developer.
Require.js can be used in combination of modular / non modular patterns in javascript.
Modular pattern are not always the solution, but nonetheless Requirejs will certainly help load javascript files faster and organize structure.
also on the point of he is a {{js developer}} he should have a good foundation of javascript, but javascript itself is not enough, he should KNOW how to use javascript frameworks to speed up development
Replace the generic Developer with Front-End Developer and the article makes more sense…
Regarding your point about “Feature Detection” – it is possible to write good HTML(5) and CSS(3) without relying on a JS crutch to tell you which CSS keywords to use. I think in that scenario, it’s desirable to not have CSS styling dependant on JS load/wait/domready/check.
If a dev came to me and wasn’t aware of feature detection, I would likely never teach them it, and instead favour only good/stable CSS keywords
That has led developers to exclusively use -webkit- prefixes in the mobile code, ignoring the fact that Opera
Opera switched to Webkit recently
He’s a “{{ js framework}} Developer”.
I don’t get this one. Is it bad to use jQ even for small projects? It will be an overhead? Do I need to create my own framework and method for selecting child nodes? Re-event a wheel?
I can say that I handle OOP in JS way very good but for manipulating DOM I always use jQ.
No no no. I mean that you want a developer who knows “JavaScript”, not just “[insert framework here]”.
#10: He thinks that developers can only be guys.
Come on, it’s 2013 – be gender inspecific already!
I’ve always used “that guy” as inspecific. Girls can be “that guy” too!
I’m glad to see the “framework developer” point.
Libraries will come and go, but it’s all just JavaScript and knowing that will go a long way in all situations.
@David Walsh: “He” – is NOT gender inspecific.
My understanding of English is that you write assuming male if you don’t want to write “he/she” or “he or she” everywhere. Sorry if you’re offended.
It’s modern and accepted for “guy” to be gender neutral. But assuming male gender in pronouns is falling out of style. “They” and “Their” are acceptable substitutes for the clumsy “He/She” and “His/Her”, respectively, in many cases, including in the article’s section headings. This especially holds true in a field looking to encourage and empower more women.
Comments like this will always break gender equality. I wish we can get past this and realize that David is not being sexist or bi-est but just making his life easier than being all “PC”
“They” and “their” are not grammatically acceptable replacements for “he/she” and “his/her”. “They” is strictly plural. English does not have a gender-neutral singular pronoun. In the same vein, “myself” is not an acceptable replacement for “I” or “me”. People do that all the time to make themselves sound more “professional”. But in reality, it makes them sound stupid.
Totally agree Jeremy.
This article said “He’s a “{{ js framework}} Developer”
Well I run
alert(window.$ ? "He uses jQuery" : "He reinvented the wheel")
on this page and the answer is simple, “He uses jQuery”. Looks like as if the writer downgrades others but hey, he is not reinventing the wheel as well. ENOUGH SAID.This site does not use jQuery. And I’m not saying you shouldn’t frameworks, I’m saying you should know basic JavaScript.
Temitayo,
If you did your alert code in the Chrome developer console, it will always say “He uses jQuery” because Chrome makes $ and $$ available in the console even if your not using a framework or other code that uses $. (And $ is just an identifier that anyone can reuse if they want to.)
TR
Man, do not use
window.$
to detect the presence of jQuery in a website, not just the$
and$$
available in Chrome, Firebug, etc, also any variable can be named$
.Sorry, chrome’s and my bad ran it again and hey, you guys reinvented the wheel. not bad, at least there are something I’d love to do with jQuery but are available here, well I see you guys eats and sleep js. I had a change of mind about the paragraph and I have added it to the comment thread.
Thanks for the tip, see why we should keep leaning learning and knowing the odd language. Thanks again
Well, regarding the JavaScript part, definitely, if jQuery was already loaded (and needed) on the page, I would prefer him to use
.children()
. I wouldn’t use that to assert his knowledge of JS. I would go for the caveats/pitfalls of JS like:– the change of what ‘this’ refers to when inside or outside a function;
– the
==
conversion weirdness (and assert he knows about===
);– the
||
forvar
attribution;etc.
Regarding the “He Thinks HTML Apps are a Fad” you are meaning HTML apps for mobile or HTML apps in general?
Mobile does only include iOS devices…. because android is a feature phone operating system and android users are people who don’t browse the web (pretty much at all). Windows is barely a blip of marketshare and everyone else has dropped off the map.
So, if you don’t hire someone because he recognizes reality, that says more about you than him.
This is the most ignorant, myopic, and most importantly, absolutely false bit of apple fanboi-ism I’ve read on the internet. Pull your head out of the sand, buddy. It’s 2013 and apple has about 25% of the mobile market-share, with about 40% belonging to Android. To say they don’t browse the web is pretty much the stupidest thing ever. You should look at yourself in the webcam of one of your gratuitously expensive idevices and re-evaluate your life decisions.
To be honest, I agree with Engineer in some way. I work with iOS and Android and the difference in performances is unbearable. If you want to develop something something for desktop, we should all definitely take in consideration Firefox, IE, Chrome, Safari. When developing for mobile, TODAY, I’m more focused on iOS because Chrome on Android is still very buggy and Firefox has a very tiny market share.
In any case, when developing like a website, we make it compatible for most of the browsers out there, therefore they should (sigh) simply work on mobile too :)
About #3 I have some apps that has one big JS file. One big file doesn’t mean that
you don’t write modular code (see Sprockets or grunt-concat).
Yeah, I can agree with that.
The percentage of visitors coming to any given site form Firefox Mobile or OS will likely be perishingly small. Is optimizing for those browsers really a productive use of time?
http://allthingsd.com/20130403/safari-still-winning-the-mobile-browser-war/
Yes, but David works for Mozilla so of course he’ll be pushing Firefox OS as if it were the next big thing.
Same was said about Firefox ;)
Trust me — Firefox OS *will* be big.
Your enthusiasm is appreciated, but the fact remains that optimizing for edge case browsers simply doesn’t make sense for most developers, as there are usually a pile of other requests that are needed *now*, as opposed to possibly in a year from now.
Yeh…and become the happiest geek in the graveyard!
He Knows “HTML5”
Love this, but I have a different take on it.
They Want “HTML5” When employers *want* HTML5, and I ask them what features of HTML5 they are interested in, I hear crickets…
HTML5 knowledge is the new `DHTML/AJAX` developer spec. Alas, asking something like ‘Which particular features of HTML5 do you find most useful’ that can be discussed for hours normally renders a blanket response of ‘er. shadows. and round corners. GRADIENTS (looking proud). New form elements. And a more semantic mark-up’. So far, of 10+ interviews, 1 person mentioned sockets, 2 storage (and they did not know IE had this before nor about storage events). Super lucky if they know of `transitionend` or `RAF` w/o having ‘just heard of it but not had a chance to play with it because… you know. I need to support IE’. Don’t get me started on feature detection. eg. How would you test if an element supports `placeholder`? A: by using modernizr (look of pride for knowing a right answer).
I interviewed someone once who put HTML5 and CSS3 on their resume, so I asked “what is your favorite new feature in HTML5?” and later “what is a new rule in CSS3?”, he was unable to answer both of them…
THAT webguy also thinks there is only iOS, Android and an upcoming-not-yet-released Firefox OS in the mobile market ;) *heheh*
The “{{js framework}}” part reminded me of the classic “endorsed for jQuery in LinkedIn by people I don’t know”.
All I can think of is “So, when you go to an expensive restaurant you compliment the chef on their french fries? Or hard boiled eggs?” Urgh!
@David Walsh Thank you.
Really much concerned with the framework thing. I believe, jQuery for example is just a plus to speed up work. If you dont know core javascript, you cant even finish your own work let alone getting employment. If you dont have a good understanding of javascript object for instance, I dont see how you want to use a tool like backbone.js, if you dont know want modular scripting is all about, require.js will look like magic. so frame work or no framework, it is not a matter of “you need to know core javascript”, it is a matter of “you MUST know core javascript”. Many times I have tried to use jQuery to manipulate some complex thing but the library just look at me like dummy, that is where the js knowledge comes in. An experienced friend once said, just use jQuery, and do not make it your base, it was made to make life easier and not to take over life.
In conclusion, framework is good, find one and stick to it, BUT, before you can be an Einstein in the field, start leaning that odd but widely used language, javascript.
I was against that paragraph at first, but i think he (Walsh) is right. at least there is a clarification in the comment thread.
A bit misleading article… ‘that front-end web developer guy’ is more appropriate
Also, to measure skills by asking about a specific javascript function, like the child node… peewwww that’s just OLD SCHOOL. You can just google it and find the answer… no need to memorize. The important thing is having the basic idea of how to approach the problem. Besides… there is no ONE way of solving the problem.
My testcase usually is to ask: ‘How can I maintain the scope in a setTimeout function without using bind()’ . This should be enough, anyway it’s really impossible to describe good web developer and bad ones. Just like JavaScript, truthy or falsy :)
Ohhhhh, that’s a good one. I’ll remember that.
Good list of things to watch out for.
However, for the “They’re a {{ js framework}} Developer” section, if someone was to say use the “children()” method, it’s not too far off from saying they would use “.children”. I don’t think you can judge somebody based on that considering it’s basically the correct answer.
I guess he meant the answer to be
.childNodes
… I don’t have a problem with jQuery – right tool for the job sometimes you just don’t have time to mess around and write tons of js when jQuery can provide answer out of the box in one simple line.Could you please include double tap function to zoom in the text.
Thanks for share your thoughts with us. Great blog!
I’m not sure I agree with some of these things. The part about using a js framework just doesn’t jive with me. I understand that you’re saying the person should know basic javascript and for the most part I do agree with that itself but the thing about some of these js frameworks is that they were designed to make doing various things in a web page easier than using regular javascript. If that’s the case, then why not use them?
I don’t really agree with the idea that every site should be responsive. Some sites simply do not look good on smaller screens no matter how much you manipulate them to display on those smaller screens. Then there’s also the fact that some sites just don’t want/care to be viewed on smaller screens, so in those cases the extra css (media queries) are just overkill.
Then the fact that someone says they know HTML5 but really don’t know all of HTML5, how many web developers out there can say that they really truly know all of HTML5? Not to mention the fact that everyone starts out not knowing diddly squat about any programming language. Sure you can go and get books and read tutorials on the internet and end up with a general knowledge of a lot of things about HTML5 (or any language for that matter) but without actual first hand experience using that language and all of it’s pieces and parts chances are you are never really going to know HTML5. Therefore, if the person you’re interviewing knows enough about HTML5 to at least get going and they seem like a person that can easily learn, then automatically discounting just because they don’t really know various aspects of the language just isn’t very real in my opinion.
I’m a self-taught web developer that came from a background of mainframe programming. If any of my past employers (or even my present really) had discounted me and decided immediately to not hire me just because I didn’t know all of the aspects of a given language that they use, I would’ve ended up working at some low minimum wage job a long time ago. Since those employers chose to give me a chance and learn on-the-job I can say that I have a really good web developer job now and I am fairly knowledgeable about the web dev languages I do use on a regular basis. However I know that there is always a ton more to learn.
Their Design Isn’t Responsive – thats harsh no?
In most cases, the developers we hire have been given the design (website or app) and asked to.. well develop it.
The designer is responsible for the design, on all devices. Judging a developer on design is not really fair. Unless you are hiring that ‘guy’ who does it all.. you know, they are JS, PHP, Design and HTML ‘experts’
Thats a big ask, especially when I visit the personal pages of the developers I like. Yeah the sites look ok, but they are clearly not designers and I dont judge them based in it.
about : Their Design Isn’t Responsive
I agree it’s a bit aggressive against web dev, Many time i have been asked to not “waste” time on making a site responsive, simply because the web designer didn’t made the site to be responsive ready or because my boss don’t want me to pass extra time on it.
Also, you should add a point about developers who don’t understand semantic coding and the difference between block and inline elements ^^
I’m extremely pleased to uncover this web site. I want to to thank you for ones time for this fantastic read!! I definitely really liked every bit of it and I have you saved to fav to see new information on your web site.
Sorry for being here again but I want to ask, does it really make sense to be a know-it-all developer/designer at the same time. I am or I should say I am trying to be because there are no hands that understand OOP, design pattern and semantic coding/design around me. But in the right sense, is jack of all trade good in web development.
Agree except for the Modernizr comment. Proper CDNs remove the network overhead of pulling the library, and copy-pasting code is wrong 90% of the time, if not more.
As the OWNER of thatwebguy.ca, I could really easily dislike you.
23 years in Graphics, and 20 online building for clients that include DivX, City of Brampton, Hunter Douglas and the list just goes on and on…..
Try looking at things from a different viewpoint:
1. Clients dictate EVERYTHING, including responsive and stand alone mobile.
2. MONEY dictates HOW far ANY project goes and what level of love is put in
3. Please rename your blog.
4. My lawyer agrees with point 3.
Ranting about the “other” guy NEVER gets you anywhere. Frankly, you do yourself a BIG disfavor by slagging anyone (fictitious or not) in the manor in which you do. Everyone is entitled to an opinion, and entitled to pay for shitty design and code – if that’s what they want. Look around at the majority of sites online…. any questions?
Saying you know HTML5 is completely different from saying you know Web 2.0, because HTML5 is actually a technology…
Where are you getting your statistics on FF OS in market share? as far as I can tell its barely on the map.
as far as picking on or the other [native/other] there are lots of good articles out there and it all really depends on your needs. (*http://venturebeat.com/2013/07/29/native-v-web-chart/). Can’t help but notice those apps looking for rich features tend to become native ones. Facebook, now Outlook(http://www.zdnet.com/microsoft-delivers-native-outlook-web-app-clients-for-iphone-ipad-7000018143/). Then factor in that kids/grandparents tend to interact much more with native apps…. then there is more to think about.(http://www.huffingtonpost.co.uk/graham-barlow/why-web-apps-are-still-not-the-future_b_2614298.html)
I need a master web-developer. My company is based in Cleveland, Ohio. I’m looking for somebody with prior experience and has extreme knowledge of their craft. In-house…Call me 2/644-2204
Huge difference in native and web apps..huuuuge…but this article is talking about a web developer not an app developer so I do not see how this is relevant because the difference is pretty big..I’ve worked with native apps