Top Job Applicants Never Stop Learning

From time to time, my job allows me to be a part of the hiring process for our technical positions. Unfortunately for some of the applicants, I repeatedly come away from these interviews amazed at the responses I get from pretty standard and basic technical questions related to Web Development.

Recently we were looking for a front-end web developer that was good at UX and design and proficient at HTML, CSS, and JavaScript. One of the things that we tend to ask everyone is to rate themselves on a scale of 1 to 10 as to how good they are with each technology. The majority of responses are in the 5-8 range with the corresponding answers to the questions about each techology falling about in the range you would expect. A couple of applicants were brave enough to rate themselves at a 9.5 out of 10 on HTML, CSS, and JavaScript, leading us to believe they were “exceptional applicants”.

Intrigued, we began to delve into the technical questions about each technology. One of the first questions centered on the applicant writing a snippet of CSS that made the text in a div blue. The typical applicant would attempt to write the appropriate CSS rule with a couple of slight syntax issues, but would successfully complete the task. It never failed that the “exceptional applicants” would look at the sample HTML for a couple seconds and then proclaim that they didn’t remember how to do it. A common excuse for not knowing how to begin to answer this simple CSS question was that they didn’t memorize anything since you can easily just go look it up on Google or Stack Exchange when working on a real project. I don’t know about you, but when I think of a non-entry-level front end developer, I am not envisioning an employee that has to look up on Google every line of JavaScript and CSS that they write.

This may make me sound old, but I’m willing to risk it. There are way too many people out there that believe that they don’t have to learn, or ‘memorize’ as they refer to it, anything as they can always go find it on the Internet. Unfortunately for people like these “exceptional applicants”, writing CSS, JavaScript, and HTML by hand is something that you should be able to do the vast majority of the time without consulting Google or Stack Exchange for the way to do it. If, however, you attempt to write the code by hand first, determine it doesn’t work the way you anticipated, and have exhausted things to try to make it work correctly, then it is time to look online for the answer.

A competent front end web developer should be able to perform their major job duties, which includes writing CSS, JavaScript, and HTML without the need for any internet or network connection on any of their various devices. Even without a connection, they should be able to create a mostly functional webpage that is ready for peer review and testing.

Since it seems too rare, the Never Stop Learning motto should become the motto of more professionals eager to climb the occupational ladder, lest we forget that there is more to learning than wrote memorization.

Related Posts

May 23, 2014
2 minutes

Avoid SiteCatalyst's useForcedLinkTracking and target="_blank"

All sites rely upon some third party analytics software to track at the very least the number of visitors to a site. Many sites use Google Analytics, which provide much more information that just the number of visitors. Another option that some of the bigger sites use is Adobe Analytics, aka SiteCatalyst to enable more custom tracking options that are not evident through the Google Analytics interface.

One feature of SiteCatalyst is that it allows you to set an option useForcedLinkTracking that will track every link on your site for clicks whether or not you have setup custom tracking for the links or not. Effectively what the code does is create a JavaScript event handler to intercept all click events on the <a href="http://url.com">Link</a> hyperlinks. Once they are intercepted, SiteCatalyst sends its tracking information to its servers and then procedes to attempt to make sure that the link functions properly. Unfortunately, in some versions of the SiteCatalyst code, it attempts to create a synthetic click event that works in many cases. However, if you are using Safari with the popup blocker turned on, and a target="_blank" in the hyperlink, then it will trigger the popup blocker, which simply ignores the click, and the user sees nothing happen at all. In order to fix it, hopefully the latest version of the SiteCatalyst code will handle it, turn off useForcedLinkTracking, or, as the very last resort, convert the <a /> links to another type of element and use JavaScript to open the new window manually when listening for the click event on the new element. It seems this works all the time, but it will prevent SiteCatalyst from tracking those clicks.

Sep 4, 2014
2 minutes

Parallax Background Scrolling on Internet Explorer is Not Smooth

One of the pleasures of working on a website that is using some of the latest technologies is that you often run into strange compatability issues that only affect one browser or another, and many of the forums have little to no information about how to properly address the issues. Parallax scrolling is a technique that has been around for a while now, highlighted by Apple’s own iPhone 5s card-esque scrolling on their homepage, among others. While the site I am working on does not have as elaborate a parallax implementation, it does not work instantly across browsers by default either.

Mar 31, 2014
2 minutes

JavaScript Templating

Many times it becomes useful to be able to make an AJAX request for some data, insert it into some HTML that is already on the client, and then display it to the user. There are a few ways to implement this, each approach has its benefits and drawbacks.

String Concatenation

Possibly the simplest way to accomplish the templating in JavaScript is to use simple string concatenation with ‘+’. This is the approach that I see many newcomers to JavaScript use in their code, as it is the simplest to implement. However, it does have a major drawback in that this method has the worst performance of all, especially in older versions of Internet Explorer. This could be implemented as below: