10 things I’ve learned in front-end development

Here is some knowledge, take it or leave it

I’ve been doing front end web development for almost thirteen years now. In that time, I’ve seen the web grow from an afterthought based in tables and heavy javascript (800 pixel width max of course) into a streamlined, beautiful idea that can only grow from here.

Truthfully, I am more excited for what the web will become than I was back in 2003. If someone told me I should be ready to design for a watch I would have laughed them out of our good-economy era conference room (minus all the cocaine, Mom).

During that time, I’ve discovered a few nuggets of truth along the way. So in true modern web buzz-feed style writing, here are the top ten things I’ve learned.

10. Don’t get consumed

I remember a client who would sit and design over my shoulder (in Macromedia Flash 4.0 no less) until he was happy with what I came up with. After I finally convinced him to give me until tomorrow to wrap it up, I spent a good 24 hours on this project, sending myself into my first and only panic attack.

Returning to work the following day, a senior designer was blown away by my story, stating simply:

This is just a job, don’t let it take over.

And he was right! No amount of work that we do is going to cure cancer or put a person on Mars. The fortunate thing about our jobs as compared to say, an ER surgeon is that at the end of the day, nobody will die or survive solely on how much work we get done.

So enjoy your time doing what you love. Do it to the best of your ability, but don’t take it home with you.

9. Take pride in what you accomplish

In my earlier years, I would love to fret over the small things. No matter how well a site launch went I would be thinking about how I could have made that animation smoother, or that the layout is one pixel off alignment.

Instead of enjoying the happy hours of a site launch I was worried about fixing an issue that didn’t really exist. Come Monday, this would be a five minute edit but instead I let it destroy my weekend.

8. Frameworks are not your friend

I went over this in my last post, so I don’t want to copy/paste the whole damn thing in here. My bullet points are as follows:

  1. Developer uses frameworks cause they’re hip and don’t understand the basic building blocks behind them.
  2. Developer is asked to make an improvement outside the scope of the framework.
  3. Developer can’t complete request because he doesn’t know how to actually code.

Thats all you have to know, please check out my other post for an in-depth rant on the subject.

7. Necessity is the best motivator

I recall building a web app that included the D3 library and was built on react.js. At the time, I knew neither of these two technologies.

(hindsight is 20/20 but we should have gone with Angular for this job)

A little background about me: code books bore me to death. Unless I’m working on a living project, I have a hard time picking up new technologies. The beauty of this situation was that I had no choice, I had to learn this, and fast. So instead of trying to steer the technology to a comfortable place, I decided to take the plunge and learn what I needed to.

What I’ve found over the years is that if I’m working to an actual goal of producing a live product, I can learn anything. I picked up both of these technologies in a week or so to make the product work.

The moral of this story is if you’re having trouble motivating yourself to learn something new, make it part of a deadline.

6. Push your boundaries

Maybe your boss wants to sell Google analytics for 1000 dollars. Maybe your CEO doesn’t want to invest in anything except Lotus Notes as a CMS and run everything on aging Domino servers. Maybe the twelve hours you’ve quoted is being billed at forty? (all true stories).

Whatever the reason, if you fully believe you’re right, stick to your guns. If you get fired for speaking up against something thats wrong, then you’ve done the right thing and don’t let anyone tell you otherwise. At the end of the day, as long as you can live with yourself, that’s what will keep you sane and moving forward in this industry.

5. Grow your community

We have a very special field. Its special because unlike most of the employees I’ve encountered in other fields, there are thousands of amazing people that truly care about it. Going to conferences and even happy hours with fellow designers is one of the easiest ways to become inspired all over again. Seeing the passion in these people’s speeches and getting to know them really makes you feel like we’re a part of the same team.

A colleague of mine said in one of his talks:

This stuff is hard, but we’re all in this together.

That simple statement has stuck with me for years since. And its that simple inspiration that I hope you bring to other developers down the road.

So volunteer for to be a speaker, hell, volunteer for every speaking gig you can find. You may not be great at it at first (I know I wasn’t), but being able to share what you know with people has been one of the most rewarding experiences in my career.

4. Embrace new technology

I’ve been doing this job for thirteen years now. I’ve learned that the secret to growth is to always be open to new challenges, however scary they may be.

I recall the first time a client requested a Drupal CMS I was hopelessly lost but instead of going to the client and backpedalling we spent a few long evenings learning this new CMS in order to make this work, and by the end of the project, we got pretty damn good at it.

The lesson here is we took a few hours out of our lives to learn a completely alien system and in the end gave the client what they wanted and tacked on a valuable new skill to our service offerings.

Use an axe to build websites

3. Code like your mother will review it

Depending on how long you’ve been in this game, you have probably had to fix bugs in production.

I recall countless times in my early years where I would fix one bug, send it out as “good to go” while another bug had popped up, which is CSS’s way of telling you that you’re a jerk.

When you are asked to fix a bug in production, don’t panic. Your manager, client or even your dog knows that you can take an hour without the world catching fire to fix a z-index issue.

This nugget of advice doesn’t stop at bugs though. Maybe you know of a slightly harder yet slightly better way to build your current project. Are you going to say “that would be nice” and ship your current code or is it worth it for you to take that next step and end up with something you’re truly proud of?

2. Never settle for “good enough”

This is the perfect follow up to point 3.

I’ve seen a lot of developers in my time get set in their ways, which to me, puts a time stamp on your career. As the web keeps changing, it’s your personal responsibility to change with it.

I worked as a developer at a technology firm for a few years. I got a layout from the designer (back when static designs were the status quo) which I quickly rebuilt in CSS and HTML. I then passed it off to out back-end developers who were shocked when nothing worked.

I looked at the deployment and realized the CSS file wasn’t linked, to which I got the response:

CSS File? I don’t know what you mean by that.

This was 2007, not 1996. At the time, this company had only developed sites with tables using Lotus Notes as a CMS.

I left the company soon after due to differing opinions of what technologies we should use. I often wonder if those developers are still building table websites to this day…

1. Never stop learning

The point of this whole post, is very very simple. The second you stop being excited in this field, you fall behind. New methods, devices, standards and tricks are being built every single day, and that makes every day a chance to change the world and learn something new.

I often tell people that I went into web development with a simple goal; I want to be able to learn something new every day. And in that sense, I had picked the perfect field.

It’s important to keep pushing yourself to learn more. It can be as simple as reading one blog post a day, or trying one new CSS trick that you didn’t know yesterday. Whatever you do, keep moving forward, and remember:

This stuff is hard, but we’re all in it together.