Hey, I hate to be "that guy"...but since you're applying for a front-end job, here goes:
- You're loading scripts in your head tag, and a crap-ton of them. At least some of these could be concat'd together. HTTP request carry a lot of overhead, so fewer is better. I bet at least some could be moved to the bottom as well, with some CSS/JS to avoid the dreaded Flash Of UnBehavioured Content.
- In a similar vein, you're loading a lot of images, more overhead again. At least some of these (like the clouds) could probably be combined into one file and then separated out with CSS.
- You're not setting long expire headers on your resources, bad for caching.
- You don't seem to be serving up gzipped resources.
- Some of the scripts aren't even minified.
Take clouds.js for example, you use a whole HTTP request on this one file, and it's small. It's also not very DRY, you have a bunch of repeats of basically the same code, it probably could have been re-written to something like:
I realize some of this stuff is not entirely necessarily on a site like this, but considering how easy it is and the fact that you're applying for a front-end engineering job, I'd think you'd want to follow best practices.
Overall it's a cool idea, very fun and nice looking. Good job.
(BTW, I'm available for work. If anyone from Airbnb is reading this, I can haz Job plz? )
Ever heard of premature optimization? Doing things like concatenating images into sprites and using css to display them is overkill for pretty much anything except Google's doodles. I also find it to be very inelegant.
When I lock the door when I leave the house, I am not "prematurely optimizing" against burglaries. The lock is there, I just have to turn it. I'm expending a minimal amount of effort for a comparatively large payoff. When I spend 10,000$ on an alarm system to protect my 50$ stereo...that's prematurely optimizing.
Most of the stuff I'm talking about is the default. There are a million and one tools to handle this stuff for you...there's a couple switches to flip in your server config, etc. It's not like you have to go out of the way to do these things, you almost have to go out of the way not to.
I mean, this is a pretty simple page...and it has a loading screen that takes a couple seconds? Maybe implementing some of these best practices could take care of that.
Little effort, good payoff.
>I also find it to be very inelegant.
HTTP requests cost. Putting the images together and then selecting them with CSS is a very elegant solution to that problem IMHO. It's also very simple to do.
You're entitled to your opinion of course.
Anyway, if you want to impress a prospective employer, I think it's a good idea to try and impress instead of just doing the absolute minimum. (not saying that Loren didn't impress or slacked off..this thing is beautiful looking and well written, but I mean hypothetically if I was doing something like this I'd want to know I did the best possible job for the effort spent)
Or - to extend your metaphor - if Loren was applying to work at a physical security firm, he'd be better off saying, "I'm a security nut, so much so that I installed an amazing security system at my house, with lasers and a shark-pit and whatnot," than if he just said, "I regularly lock the door at my house."
Sure, the lasers and shark-pit might be overkill for any normal home's security needs, but if they're being used as evidence of talent in the field where you're looking for work, their purpose isn't to be practical for your everyday needs, but to demonstrate applicable skills.
If we are talking about throw-away project you are right.
If we are talking about regular web site you are very wrong.
80-90% time of user waiting for the page to load is spent client side waiting till all resources are ready.
I'd recommend exactly the same things M1573RMU74710N did. If you want performant web site you should minimize the number of HTTP requests (hence concatenating .js and .css files, using image sprites and setting expires and cache-control headers to avoid 304 Not Modified), make sure that resources don't block while loading (hence move JS to the bottom), make sure resources are small (hence image optimization and gzipping).
This should not be "best-practices" these should be "that's-how-things-are-done".
And the guy's page is an application for the front-end engineer positions — if I were him I'd make sure that my application page shows my best skills.
However, considering the whole point is to apply for a front-end dev job, and the stuff I describe is SUPER easy to do. I think it's relevant. I'd think I'd want to "put up" so to speak, and say "check it out, I follow best practices".
This is really really low-hanging fruit, the sort of thing you should be doing by default basically.
Perhaps it was a conscious decision not to minify and concat. - to show how he works when developing.. in which case, a comment acknowledging so might have been extra-cool.
Also, although not the be all and end all in Front end decision making.. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.lorenburt... just food for thought. Most are to do with unescaped ampersands in links.
Or it was carefully crafted to raise the number of comments here...?
...did two failed searches looking for the xkcd where one guy get's 100s of comments more than other on a post because he crafted a spelling mistake. So, picture it in your mind to close the joke.
Let me be clear here since on the Internet people are not always able to discern what you are saying.
My comment is made in 100% good faith, and is in no way intended to put down or detract from Loren. I'm a web developer, and I'm passionate about it. I enjoy talking to other web developers and trading knowledge. My intention here is only to share some knowledge.
>Sure, it might not be 100% optimized...but does it matter, really ?
I believe it does.
This isn't a case where "You could have tweaked this for 2% more foo"...this is a case of multiple lapses in standard and basic best practices.
I'm not prepared to extrapolate this one failure into a generalization about Loren or anything, I think this in no way speaks about his ability except to say that he doesn't always follow best practices. That's something he maybe needs to work on, and there's nothing wrong with that. We all need to work on something.
The whole idea here is to really shine...this is supposed to be a bid for the attention of a possible employer...and that is not the time to skip some really really basic steps. t's like if you were applying for a job as an automotive painter, and you didn't sand the body first. Or if you applied for a job as an editor with a resume riddled with spelling errors. That's fine if you're working on a personal project, but it's not up to professional par.
Even disregarding that, I would feel inclined to point it out, just as I would hope someone would inform me of ways I can improve my work.
> He showed initiative, gumption, and creativity.
Sure, and I applaud it wholeheartedly. However, we're talking about an engineering position here...If I was hiring a front-end engineer and they didn't follow the simplest, first-day, default, standard practice stuff...that would be a couple points off.
>Also, adding that you are available for work, does NOT help your case.
That was said mostly tounge in cheek. The point was not "hey you should hire me instead of this guy, I'm way better"
That's the whole point; this stuff is so basic I don't expect anyone would be impressed by it.
The idea is I imagine some Airbnbers (or maybe others) will read this thread at some point, and since we're all asking for jobs on HN I thought I'd make a playful remark about it. If that playful remark gets me a lead on a job, so much the better.
Just as someone may see his initiative and graphical ability and want to hire him... so may they see my devotion to sharing knowledge, having open and frank discussions about web development, and following best practices and want to hire me.
I realize a lot of people have taken this as an attempt to tear down Loren or something, but that's just not the case.
I took time out of my day to go through this guy's site and offer some helpful advice. I didn't just run his page through ySlow or something, I actually went through to see what he was doing and how he could improve it.
I did it in a respectful way, and made a point of complimenting him because I think he did a nice job, and I wanted to make clear I wasn't tearing that down.
If you knew me, you'd know I spend a lot of time in the web development community in IRC and various message boards helping people improve what they are doing, and getting help myself occasionally when I'm stuck on a contract.
It didn't occur to me that so many people would just assume bad faith, personally I try to give people the befit of the doubt...and I never assume that I know exactly what they are saying because text is such a difficult medium to convey these things. In retrospect I could have really hammered in that point, but hindsight is 20/20, and I suspect there still would have been a bunch of people bristling.
This tendency to project things on to other people and then get all offended about what you think they are saying is my biggest issue with some geeks.
Like I said, it's both the best and worst thing about geeks. They are very intelligent, but often lack tact and political savvy. They just charge right in with the right answer, which again, is both good and bad depending on who you ask.
This is what you call a HATER!!!!!!! Stop being mad at the guy because he came up with a creative way to attract an employer!!! You could obviously tell your downgrading his skills by your ending comment "BTW, I'm available for work. If anyone from AirBnb is reading this.... etc" Please dude get a hold of yourself and stop HATING!!!!!! If you follow best practices and your so HOTSHOT, then why are you not working for a company right now? Why are you available for work?
Relax, seriously. Try to give people the benefit of the doubt instead of just projecting whatever you want onto them. When you read what someone has written on the Internet, sometimes you will misunderstand them...and you need to understand and appreciate that.
BTW, the job thing was a joke about how we're all asking for jobs on HN now. I would think the lol-cat would be an obvious clue that it was intended in jest.
For the record, I am more or less always available for work beause I'm a freelancer.
my chrome browser froze upon "inspect element" - perhaps that is intentional of the author to prevent me from seeing how he made those cute clouds move.
However, M1573RMU74710N makes a good point - engineers are tested on their code.
M1573RMU74710N just gave Loren the answers to the interview questions "how would you optimize this site?"
Inspired and motivated by some fantastic advice from the HN community, I’ve decided to pursue a frontend engineering position at Airbnb. I’m an entrepreneur at heart, but I love what they’re doing and could see myself working as a part of the team. In fact, Airbnb is one of the only companies I’ve really felt the urge to work with.
In addition to submitting a resume and cover letter, I thought it would be fun to put together this little project. I’m not personally sending a link to Airbnb, so any chance they have at seeing this is entirely up to the community. I guess this is an experiment of sorts - we’ll see how it goes. Thanks HN!
The page speaks for itself; there's really not much of a pragmatic difference between pg emailing the link and pg emailing the link as well as pointing out the obvious.
I don't think so. He mentioned that he "expects" that they contact him soon, but he is not even sure they'll do. It's good in case the founders missed the post.
There are only four of us on the frontend team right now. We need more!
We like engineers with passion. People who get excited talking about the new frontend development frontier. Conversations like this happen all the time:
- Think Node.js would be cool for a realtime dashboard? Yes, do it.
- Maybe we could try using backbone.js and a fat client for this feature? Fork it and let's go.
- What's SASS? Install the gem. We're using it.
Our fourth frontend engineer just started last week. We sat him down, showed him how we were doing things and we asked him, "What do you think?" and he says, "Have you guys heard of Jammit? It's used for asset packaging. It's pretty cool" -- A couple hours later he was showing us the page load speed increase and how to use it.
If you're a frontend engineer wondering what it's like to work at Airbnb, feel free to email me: harry@airbnb.com or if you prefer character limits I'm on Twitter: @hshoff.
Your points are all true and he may make a great web designer. As for front-end engineer position there is a room for improvement.
Luckily it's not me hiring so all the best to Loren.
One thing I noticed was that your bolding (e.g., in real/airbnb/traveling/entrepreneur/challenges) was hard to see. (I prefer my bolds to be, well, bold, or to stand out in some way.) However, I am not at all a UI guy, so YMMV.
In any case, that's just a minor nitpick, the site looks beautiful! (And far, far better than the other directed resumes I've seen on HN.)
I enjoy the design but I find it very decorative. By which I mean there are a lot of visual elements (clouds, arrows) that serve no real function and distract from the message. It's fine for a resume page but doesn't say much about your ability to design the front-end user experience of a consumer web app, except that it's possible you might spend a lot of time on glitter.
THERE IS A HOLIDAY SOON.
I AM ALIVE AND HAPPY.
I HOPE YOU ARE ALSO.
ME.
Actually, that would be kind of funny. It would capture one's attention in a way that the typical cute and whimsical holiday card would not. Just as this cover letter gets one's attention in a way that a direct, factual, minimal, utterly banal and archetypal cover letter would not.
So, while this is novel and all, it seems to me that these "resume 2.0" applications indicate a real failure of systems like "jobvite" or whatever backend air bnb is using to simplify their hiring decisions.
On HN we've been seeing a bunch of these hyper-targeted reverse resumes in the past year because I suspect people have gotten tired of submitting waves of resumes and hearing nothing back within a reasonable timeframe from companies that advertise open positions on their websites but never, for whatever reason, respond.
What i'm seeing here, is that traditional recruiting practices are failing in some way because priority is achieved by a) making it to the hn frontpage which b) gets pg to vouch for you. Which is basically no better (or efficient) than the traditional method of hiring folks that you've networked with via friends/school/etc or what have you.
I understand that historically those online resume systems are a real losing proposition for applicants, but this suggests that they're more like a black hole rather than a mail slot.
Again, this is a critique of these automated systems which seem to be visibly failing because people are going out of their way to subvert them in order to achieve any success.
"What i'm seeing here, is that traditional recruiting practices are failing in some way because priority is achieved by a) making it to the hn frontpage which b) gets pg to vouch for you. Which is basically no better (or efficient) than the traditional method of hiring folks that you've networked with via friends/school/etc or what have you."
Well, yeah. The purpose of jobvite isn't to get the candidate attention, and these "resume 2.0" (ew...I already hate myself for writing that) shiny, whizzy, attention-getting things aren't scalable. If everyone did this, it wouldn't work. It would just raise the noise level.
Also, keep in mind that you're focusing your attention on the wrong side of the problem: it's always possible that this guy could show up for an on-site and stink the place up, because there are plenty of people out there who have lots of enthusiasm and a smattering of ability, but aren't qualified to write code for a big website. So this kind of thing is great for personal marketing, but it's not a solution to the core problem of recruiting from a company's perspective (namely: lots of mouth-breathers are applying, and we need to filter them from the tiny stream of good applicants).
If everyone did this, it wouldn't work. It would just raise the noise level.
That's the beauty if it. Everyone can't do this, because it takes work. It's customized for the specific company, and that's the only reason they work. It's like a cover letter on crack. If he made one that didn't find AirBnb's visual style, that didn't include specific information about what makes him special for AirBnb, it wouldn't succeed.
You've missed the point: The fact that someone did "work" doesn't mean that they're qualified. It just means that they're enthusiastic enough to make a website for a single employer. And that's great, but it's just the start of the whole hiring process. Once you get noticed, you also need to prove that you're a good engineer, employable, a culture fit, etc.
The OP was (vaguely) implying that the success of this guy's effort indicates that everyone else is somehow Doing it Wrong, because we're using jobvite, passing around resumes, etc. But what this guy did is the digital equivalent of those dudes who pay for a billboard on the freeway that says "Hire Me". It's a clever trick that may work for the first few people who try it, but it won't work consistently. The rest of us are still going to need a resume, recommendations, etc.
> If everyone did this, it wouldn't work. It would just raise the noise level.
Actually I think it would continue to work rather well -- it is a lot easier to judge based on this style of resume than a plain piece of paper with bullet points.
And a lot of the current noise level is just incapable of producing this type of resume. From the resumes I've seen just producing a properly targeted cover letter (not one where you've just search & replaced the company name) would put you in the top 10% of applicants.
Escalation. Once everybody is doing a shiny, whizzy attention-getting thing, then folks will start competing by being more shiny, more whizzy and more attention-getting than everyone else. Instead of a nicely-designed colourful scrolling webpage people are submitting half-hour semi-interactive animated feature films in which the ghost of Ghandi rises from the grave to tell you all about the advantages of hiring so-and-so while you fight off lizard men and can-can girls.
As soon as you said that, the phrase "unfashionably early" came to mind. I didn't immediately post it because I figured it would be interpreted negatively/argumentatively. That's not really my intent. I am just thinking of your remarks in terms of "fashion trends": Looking back historically, hemlines go up and down again, ties get fatter then skinnier again and so on.
I don't personally read any big significance into the possibility that this is part of a trend towards over-the-top, bling-bling, excessively flashy job-hunting techniques. Maybe it is but I think the value in this particular post/microsite is that he seems to be genuinely interested in this company and that he made the webpage and posted it here rather than sending it directly to the company. So it got notice because other people already vetted it for him so to speak. I think sincere interest in a particular company is always something of value for that company. I remember reading a story where a recruiter at IBM said he would hire the next person who knew what the letters "IBM" stood for because he was so sick of interviewing people who had zero idea what the company did. Most folks who are job-hunting are just looking for a paycheck. There is limited value in that from the perspective of the company.
That's not to point fingers at anyone. I am as guilty of that as anyone and that is part of why I am still stuck in an entry level job in an industry I never had any interest in. I'm a former homemaker who was going through a divorce and I needed a paycheck. I did try to apply to jobs in the field I was training for/had relevant education for but I never completed my bachelor's and ultimately took the first job offered me, having nothing to do with any of that. I am envious of Loren for having a clear idea what he wants to do and being in a position to go after it. In terms of career, I have not ever been in that situation: I either knew and wasn't qualified or didn't know (and also had other significant obstacles). I sincerely wish him all the best. (If his site somehow ends up promoting over-the-top, bling-bling horrors in the future, may he find absolution for this small sin.)
Systems like "jobvite or whatever" are at odds with this approach, which, for lack of a better term, I'll call the "What Color Is My Parachute"† (WCIMP) Technique.
In the WCIMP mindset, you make a shortlist of specific companies you'd like to work for. You brainstorm a pitch about how you believe you'd like to add value to their company. Then, treating every step of the hiring process up to "interview with decision maker" as an obstacle, you run the ropes course for each company.
Jobvites and Resumorps and Interfleebs are all obstacles. Is there a system you know about that truly accepts the fact that HR is an obstacle between engaged hiring managers and engaged candidates? I don't know about it. For the most part, these tools all seem geared towards reducing the cost for companies of maintaining their existing obstacle courses.
And that's fine, because most people don't take the WCIMP approach to job hunting. Instead, they have a role in mind, and their overall goal is to hunt for a satisfactory place to practice that role. Those people are never going to think about your company and put you on a shortlist and devise a sales pitch, but are only marginally less likely to be awesome as the WCIMP candidates. Your job is only partly one of attracting candidates; it's also to filter them.
Personally, I don't see WCIMP tactics as evidence of the failure of obstacle course hiring; rather, they're just particularly graceful ways of navigating the course.
† Not endorsing the book, it's just the first one of its kind that I read, 15 years ago.
"On HN we've been seeing a bunch of these hyper-targeted reverse resumes in the past year because I suspect people have gotten tired of submitting waves of resumes and hearing nothing back within a reasonable timeframe"
Perhaps. But another point of view is that "standard" job application / resume submission techniques are fine for ordinary people, but that extraordinary people will always find a better, or at least different way. I strongly get the impression that Loren wouldn't be happy/satisfied at the sort of marginally creative middle management job that you land by using American Typewriter instead of Times New ROman for the heading font on your Microsoft Word template #3 reume to "stand out"...
This is an excellent example of what I'll call "Resume 2.0" or "How to get a job in our new economy".
It's always boiled down to an employer knowing if you can handle yourself and get the job done. The only facilities we had available to try and assess that in the past were those stump-the-chump questions and interviews at a desk sitting across from a committee.
I love what technology has enabled us to do. It has enabled everyone to be a self-starter and enabled us to brandish our accomplishments in really damn creative ways (e.g. this Loren fellow rocking the AirBNB application).
HN is a bit of an echo-chamber for these types of cutting edge job acquisition moves, I don't expect most people to try and get a job this way, but it is the beginning of a trend that I think will make everyone happier as a result.
Loren, best of luck to you. You certainly got an upvote for me and it sure looks like ABNB would be lucky to have you.
The ROI on these in terms of career growth absolutely ROFLstomps effort at improving a traditional resume and playing spray-and-pray. (The ROI of networking is probably better than both but, hey, what can you do.)
Loren, that's a very nice resume page. But I think it's missing something, which is quite important: Your portfolio.
Collect some of your best work, and create a slider in one of your clouds. If you have also worked in some companies in the past mention it. Stackoverflow, Github, Dribble... links are also useful.
hint: Change the white up arrow color, so that it contrast well with the background. You can detect this with scrolling and assign colors. This will show that you put lot of attention to small details ;)
Fumbled around with integrating a portfolio, but ultimately decided to leave it out and keep things simple (for aesthetics, primarily). I was sure to include relevant projects and descriptions in my resume, however.
Nice. And renders on a few browsers I tried. I'm always surprised with how many people consider themselves professional web devs, but can't bother to get IE to work properly.
I'll bite. Is this actually that good? Spending a lot of time on it, sure, but other than it being quirky (which is hugely valuable) is it doing it's job? No specific accomplishments, core skills, and no software in the wild for us to see.
You could have linked to your Airbnb profile ("hey i use it!") linked to your google map ("hey i travel!") and then listed all your software projects and links and things about each that you are especially proud of, and that'd have been awesome.
Thanks for the feedback. Without proper context, I see where you're coming from - but the reality is that this was created in an addition to a submitted resume + cover letter, both of which listed specific accomplishments, core skills, personal projects, and experience. This was certainly not meant to be a standalone "Hey look, hire me!" page, and would be rather incomplete as such.
Edit: Also, one of the primary goals of this project was to display the things that are commonly difficult to convey in a resume - passion and personality.
I tried getting a meeting with him several times back when I was still a student at UIUC, I read how he launched a t-shirt web site and made some money from it, and it seems every response I got was: "sorry man, I didn't get any sleep last night, I was busy working on something. Can we try again next week?" Seems like a hustler.
I had seen he was working on projects, but that was just my impression. I know how it goes when you're focused on something that you can't take meetings and you only work on stuff for long uninterrupted periods of time. I didn't harass him about it though, I only asked twice and I think it was just bad timing. I'm sure it would have happened if I kept persisting, but even I was pretty busy myself and had forgot about it.
I was interested in working for Airbnb too. Last January I tweeted out about how much I love them, and through the tweet I ended up visiting their offices and chatting with Joe, one of their founders. They were very generous with their time.
Took me 10 seconds writing out the tweet, but the face time I got out of it was very valuable. This is another thing one might look into to get the attention of companies.
Not going to critique the technical quality of the work (particularly since I'm not a front-end web guy), but as a hiring manager, I'd be frigging floored if someone spent an evening (maybe more? Although I suspect you're pretty quick by now, based on your comments) putting together a tight on-point microsite for my consumption.
The big job boards are a joke since they have reduced the entire process to buzzword bingo - and a fairly poor form of one at that. There's basically zero insight into how good someone actually is. Looking at someone's blog or contributions to open source projects is potentially an indicator, but there are a number of solid folks for whom that isn't a serious options (significant risk of their old economy management freaking out - a problem when you have a couple of dependents you need to keep fed, housed, and healthy).
So you get interviews like the one I conducted two weeks ago - "you have written free form SQL before?"...."yes, many times"... " Excellent, I have a little problem for us to solve..."
[walks to board, draws three data tables - one transaction file and two dimensions - and outlines a requirement for a basic report that involves joining, summing, and filtering data - I validated it with a recent hire, took him 3 min]
"uh"... twenty minutes later we bring the painful exercise to a close.... "I didn't think you would have me write code"
Huh? Huh? The job description explictly mentions that you need to know free form SQL COLD and asks that you have higher level programming experience (real languages). Do you seriously expect to get a role like that w/o coding?
Shoot - beats the cracker jack wanna-be pricing analyst we had apply off monster who explicitly mentioned his pricing experience...at Walmart... as a positive...
The one decent player in the online recruiting space that I've seen is linkedin - most of the contacts I've had off of that which show serious intent (eg. tailored message) are pretty promising. Especially if they are a connection of someone you trust.
Linkedin's biggest problem is that all participants get the same view of a candidate, including your corporate HR people (don't laugh - I was hauled in and yelled at about this a couple of years ago) - if there was a way to make more of this platform private, the value of the network would increase.
Lauren, what is it about airbnb that you love so much? There are a lot of amazing san francisco startups doing incredible things that would probably all love to have you on their team.
this is what makes me visit HN every day. This will give me inspiration for the entire week. Hell of a resume loren, wish I had creativity like you and knew css better :)
How long did it take you to put this effort together and did you send your "formal" resume to airbnb before coming up with this idea?
what i love about these types of sites is that the individuals applying realize they have to step out in front of the pack to distinguish themselves, and are showing true initiative. Far cry from the monster.com droves which send HR departments generic cover letters + resumes.
- You're loading scripts in your head tag, and a crap-ton of them. At least some of these could be concat'd together. HTTP request carry a lot of overhead, so fewer is better. I bet at least some could be moved to the bottom as well, with some CSS/JS to avoid the dreaded Flash Of UnBehavioured Content.
- In a similar vein, you're loading a lot of images, more overhead again. At least some of these (like the clouds) could probably be combined into one file and then separated out with CSS.
- You're not setting long expire headers on your resources, bad for caching.
- You don't seem to be serving up gzipped resources.
- Some of the scripts aren't even minified.
Take clouds.js for example, you use a whole HTTP request on this one file, and it's small. It's also not very DRY, you have a bunch of repeats of basically the same code, it probably could have been re-written to something like:
I realize some of this stuff is not entirely necessarily on a site like this, but considering how easy it is and the fact that you're applying for a front-end engineering job, I'd think you'd want to follow best practices.Overall it's a cool idea, very fun and nice looking. Good job.
(BTW, I'm available for work. If anyone from Airbnb is reading this, I can haz Job plz? )