5 Reasons Front-End Developers’ Lives Are Shorter

Photo Credit: Chris Fleming

The greater the applied stress range, the shorter the life. –somewhere on wikipedia

Maybe it isn’t a proven scientific fact, but it is common knowledge that front-end developers deals with way more stress than back-end devs do.  These people, working with CSS, HTML, JavaScript and all that is contained in a web page are becoming increasingly jealous of their back-end counterparts’ quality of life.  Here are the top 5 reasons why:

Compile time (or lack of)

This an outstanding source of stress.  When you burst out a big chunk of code, you guys hit F5 and see the result, right?  Not working? Get back to work.  Now.

Back-end developers can always rely on compile time (or more contemporarily, build time) to relax a bit.  They can soothingly peek at their EVE online character skill training queue, answer a couple of tweets, or practice their vi kung fu.

Source code management

In my experience, front-end devs aren’t at ease with SCM (subversion, Git, etc).  That means when there’s a fire, a hard drive failure or a giant dinosaur spits fire on your laptop, you lose everything.  Sure, there’s a copy on the server, but that’s not how you do things (and what if the dinosaur also ate the server?).  Lots of time lost here, lots of stress.

Web standards

Web standards are a good thing.  But web standards, as they are advertised right now, are a real joke: you still rely on browser maker’s willingness on implementing them.  You still have a lot of tweaks, hacks, and duplicated code to craft.

Standards for back-end programming (JEE, SOAP, SQL, to name a few) are well defined, and mandatory.  The developer can lean on them and blame the product company which failed to implement them correctly (and get congratulated for it because you earned your company free support time).

Have you ever tried calling Microsoft, and open a support ticket for that unsupported CSS thing in IE?

The look

Even the worst snippet of C++ code, if it works, isn’t judged by anyone.  Why?  Nobody understands it. Nobody gets to see the actual code, it’s all 1s and 0s.

On the other hand, you front-end guys have to deal with the judging eyes of everyone in the company.  You have to take all the “Meh. I still don’t like that turquoise” … even if it ‘s the best darn piece of code you ever wrote!  You literarily get stripped of all your intrinsic self-worth.

View source

What if you were in a crowd (a big one, think Tahrir square), and someone removed all your clothes.  Nobody would like that, unless you’re sexually deviant.  That’s what happens when some guy does a right-click -> view source on your code.  Guilt, doubt, fear.

Conclusion

I fear for you guys.  Really.  I could suggest a couple of COBOL books, or Java certification classes, but if you already have a couple of years of experience behind you, I guess it’s a little bit too late.  What might help is if you try yoga, tai-chi, or as a last resort you could try the essential works of Yanni.

Cheers,

JS.
Back-end developer.

Rock Star

Photo Credit: Tim Samoff

Justin (a fictional person for this article) considers himself to be a very good designer. He trained at a local college, discount got decent grades, and even landed a respectable job at an agency in his area. But Justin feels that he can do more with his skills as a freelancer, or perhaps move on to a more well-known studio for work. Unfortunately, he can’t seem to get the attention from those who will ultimately help him achieve his long-term goals.

Part of the problem is how easily Justin becomes frustrated when he sees work that is superior to his own. He begins hitting creativity walls and starts asking the wrong questions, like “Why can’t I be that good?”, or “Why don’t people see me for my worth?”,  or even “Do I suck at this?”.

You might be Justin, or you might know someone who is. I’ve had days where I feel just like this, and so have you. We all know these feelings, because deep down inside, we all kind of like the idea of being mini-rockstars in our own circle of what we do, yet we also have days where we feel that we don’t deserve it when seeing what our peers are up to.

The obvious response would be to tell the Justins of the world to just keep at it. “Work hard and never give up!”, “Be strong!”, and “Hang in there!”. I know I’ve heard that more than a few times in my life. And even though it’s the pure truth of what needs done, there’s so much more to it than that.

An Analogy

Let’s say that there’s a chef who is looking to really make a culinary impact on his city. To make something that people would want to come to his restaurant for. He makes a killer dish, but his food turns out tasting much like that prepared by 40 other chefs in his area. So, he has an idea: to alter his recipe into something that few other chefs are doing. He creates his own blend of flavors.

At this point, something very interesting happens – his audience begins to divide into two primary groups: Those who criticize his cooking skills, and those who rave about it. All eyes (and taste-buds) turn to our chef to see what he’s been up to. Even people reading the critics turn up, generally out of curiosity – because most people are a little nosy. The raving reviews even earn him a couple of mentions in the local newspaper, which he appreciates.

Now, our chef is becoming locally famous, is bringing attention to his area (and his restaurant), and is beginning to make some of his dreams really come true, all because he stopped trying to make everyone happy, and started specializing in something truly unique. By altering his recipe just a tiny bit, he was able to move forward in his career.

Back to Justin

The one thing that keeps Justin from “good” versus “great” at this point is being afraid of creating something that some people will not like, by trying to make something that everybody will like. It’s nearly impossible to pull this off, but yet there he is, over and over again, creating designs that look like everyone else’s because trying something different is too high risk.

Justin probably has one thing in his skill set that he’s good at, more than anyone else, because it’s something he loves personally. By learning to focus his attention on this, channelling his design energy into that skill, he will, in point of fact, be creating his own chef’s recipe.

If we all learn one thing from Justin, it’s that we can’t be afraid of creating something that may potentially not be liked by everyone. When we design with our hearts, with passion, people recognize that, and follow you on your own path to greatness. We don’t need to be better than everyone else, we just need to be better than ourselves.

Managing your career in the world of Web development

I used to be that guy, once.

The one-man webmaster, creator and designer and strategist and coder and sysadmin and dBA. Yes there really was a time when one person could do all that – and more. Do it for many websites. Some of you reading this were likely in grade school when this was so – the art and craft of mastering websites has evolved exponentially, to the point that even the simplest blog requires a minimum of 2 people – you and the person managing the hosting.

Back in the day it was easy to plan your career. Things fell into place easily and largely because you were one of a rare few that understood the arcana of http, ftp, gopher, IRC and you actually had a netsol ID number. (Mine is KS443 – for us old fogeys they kept some of the records alive for posterity even they don’t use them anymore ). You could command vast sums of money, work any hours you chose, get all the latest toys and have a total blast using view Source and Kai’s Power Tools. A great day in the office was downloading the newest version of Navigator.

Nowadays, not so much. In fact, it’s fair to say the current generation of web workers (web developer is too limiting a box) has become commoditized. Technical schools, arts colleges, even some Universities now have programs designed to compress 20 years of whirlwind innovation into 2 or 3 years of specialized training and spit out an unending stream of assembly line workers. We have hierarchies and R&R documents.  We have Architect, Front End, Back End, Middleware, User Experience, Strategy, Rich Media – all of whom are good at one thing and familiar with a couple more and fully expect to work in a team environment where artifacts of their labour get passed around like so many auto parts waiting for final assembly.

Sound familiar? I’m not surprised. It’s a case of the pendulum having swung to the other side and while I am sanguine to know it will cycle back to normalcy I am both impatient for that time and struggling with my own contributions to its kinetic energy. I am spending a lot of my time recently interviewing candidates for various positions within our company and I see daily evidence of what I speak. And I ask myself time and time again ‘how are these people ever going to get out of the assembly line?’.

In our next installment, and at the risk of sound patronizing, I am going to offer some tips on how to manage your career in the coming years. And in a third and final episode I will offer some tips on how to avoid the pitfalls of ambition in the world of Web development.

Confessions of an IT conference traveller (part 1 of 6)

Christian Heilmann covers the different stages of travelling for IT conferences in this six part series. Be sure to read part two.

“So what did I forget to bring?”

When I was asked to write for this publication the main request was not to write about something technical but about the things that surround the tech world and my experiences in it. Well, my current role as a developer evangelist puts me constantly on the road, travelling from conference to conference so I agreed to write down a few tricks of the trade that keep me sane (some people would argue describing me as sane but my 12 foot green hippo friend George agrees with me that they are wrong) despite my ridiculous agenda.

If you have seen the movie “Up in the air” with George Clooney you can get a feeling of how my life is – except that I travel internationally rather than only in the US. There are more inaccuracies in the movie which I will cover later – for now let’s just say that George did a good job trying to be like me but didn’t manage to be as sexy.

What I will write about now and in the future

This series of articles will cover the different stages of travelling for IT conferences:

  • Part 1: “So what did I forget to bring?” (this part) tells you about how to pack, what to take with you and how to get to the airport
  • Part 2: “Dealing with discomfort and public humiliation” covers your experiences at airports
  • Part 3: “God I wished I had packed tranquilliser blow darts” covers the journey in the air
  • Part 4: “Parlez-vous Anglais?” – travel from the airport to the hotel
  • Part 5: “Checkout at 11” – going to the conference and back to the hotel
  • Part 6: “Here’s my business card” – travel back and conference follow-up

Before we begin, I think I have to point out a few things that may skew the usefulness of these tips and tricks for you:

  • I am a male geek which means that the breadth of my fashion sense and need to accessorise is rather limited. Sometimes I go wild and iron my t-shirts but it is not a very common happenstance.
  • I live in London, England (North of the river) and this is normally my home port for my travels. It being very much an international air-travel hub makes it a bit easier for me than coming from rural areas to the next airport. This also means that my modes of transport might not apply to you.

So without further ado, let’s get into it.

Micro-optimizations

It’s 12:34am. I notice the time every night because of the sequence. Hopefully I’ll be in bed before 1:23am, but in all likelihood I won’t. I’ll be back at the office in less than seven hours, and damn it would be nice to get that kind of sleep, but it’s a matter of priorities. I’m coding.

At some point (I’ve long since stopped paying attention to the time), I realize I’m spending more time with my eyes closed, not typing, than with them open. I admit defeat, hit `:w` in vim, and begin my evening ritual.

I get up and clear the kitchen table. I leave the laptop open so I’ll receive corp email and my twitter stream for tomorrow’s bus ride—I ride the bus because I can be productive during my commute, but it’s also good for the environment.

I move my backpack from the floor to the stool next to my laptop and make sure the backpack is open.

I place my shoes next to the table, facing toward it.

I fill the dog food bowl and place it in the cabinet.

I move my pocket items, except my phone, into the pair of shorts I pick out for tomorrow and stack shorts and the rest of the outfit above my shoes on the kitchen table in the reverse order I will apply each article in the morning.

I separate my socks and put them and the phone on my night stand. The phone is my alarm clock, and the socks are to make my departure quieter, less likely to wake my children.

I step outside and move my bike next to the patio door, facing outward, then head back inside and shower. My head is shaven, so I can shower in the evening and not worry about bed head. Ok, and I’m balding.

I purposely don’t notice the time when I go to bed, and drift off quickly, pondering the subtle nuances of prototypal versus pseudo-classical inheritance.

My phone alarm goes off. It’s 6:00am. I have to be at the bus stop about a mile away in seventeen minutes. This particular bus runs only once a day in the morning and once in the evening, so I can’t be late.

Normally I get out of bed at the first alarm, but this morning my sleepy mind notices a label on the phone next to one of the buttons on the outside screen.

The alarm goes off. It’s 6:05am after an unplanned snooze. Oh shit! I should be dressed and the dog should be eating by now. I hit snooze, put my socks on, hop out of bed, apply some deodorant in the bathroom, then sneak down the hall to the kitchen table with my phone, closing my laptop as I pass it. I put on my outfit, stepping through my shorts into my shoes. I put my phone in my pocket as I turn around to put my laptop in the bag. I sling it on a shoulder while I pull Daisy’s food from the cabinet. I take the bowl outside and place it on the patio with Daisy tight on my heels. I close the door behind us, put on my helmet and get on my bike.

After a minute or two, my phone alarm goes off again. It’s 6:10am. This is my reminder that I should be getting on my bike no later than now. I’m ahead of schedule. I’ll make the bus, and will be coding again in about nine minutes. I turn off the alarm.

On the road within four minutes of waking. Apparently I’ve given myself five more minutes than I need in the morning. And perhaps I should move my deodorant to the nightstand.