Front-end web developers have a heck of a job to do. It’s their job to make the internet awesome.
Seriously, you know all of the amazing things that you can do online? Things like upvoting pictures of cute puppies, sharing jealousy-inspiring vacation pictures with all of your friends, changing the world in 140 characters or less, becoming an internet sensation in your underwear or learning how to program a self-driving car could not possibly happen if it weren’t for incredible teams of front-end web developers who make the internet the most awesomest place on Earth (or space!).
But what do those front-end developers do all do all day? What questions do they ask themselves as they shape the landscape of the World Wide Web?
1. Is this going to break?
OK, the internet lies to you. You know how online tutorials and lessons (including Udacity’s) make coding look so easy? You see us type, type, type on screen (no typos, of course), press enter and voila! the code works perfectly. That’s because we’re using video editing technology to skip the part where everything is broken and ohmygod why is this $%^)@*$ script not working now!? (Udacity blooper reels might or might not exist. And they might or might not be filled with words the FCC wouldn’t approve…)
Front-end developers save themselves time and frustration by testing their code as often as possible.
2. How can I do this better?
Front-end devs encounter lots of speed bumps as they develop websites with features previously thought impossible. Speed bumps represent unnecessary steps or pauses in workflow. You want to go as fast as possible from point A to point B, but for some silly reason there’s a speed bump in the middle of the road despite the fact that there aren’t any children or other cars within hundreds of miles. So what should you do? Flatten speed bumps.
Front-end engineers frequently work with new technology and custom tools. Unlike the streamlined, polished workflows that they create for users, the process of building websites often involves clunky interfaces and repetitive operations. Write code. Save code. Restart server. Open browser. Navigate to site. Open DevTools. Paste script. Type command. See results. Refresh page. Rinse and repeat thirty times a day. Speed bumps aren’t just frustrating, they lead to lots of wasted time.
Good front-end developers think carefully about their workflows and try to smooth out speed bumps whenever they can. They recognize that a few extra minutes spent automating their work or removing unnecessary steps saves a lot of time and frustration in the long run.
3. How will people use this?
All front-end developers create products specifically made to be consumed by people. Other software engineers, who might find themselves building interfaces between application layers or writing kernal code running in the background, deal with perfectly logical computer interfaces. The interface between human and website offers a unique set of challenges.
As such, front-end developers must constantly ask themselves how people will react to their work. Sure, the button you may have just developed represents the pinnacle of well-written HTML, but will a person want to click on it? That’s a completely different challenge.
As front-end developers make websites come to life, they are forced to step back to consider how people, temperamental and impatient as they are, will react and flow through their work. Human focused fields of study like psychology, behavioral sciences, and design theory come into play as front-end developers try to shape and perfect website experiences.
4. What can I do with this?
There’s a massive landscape of front-end development technologies available. You’ve got AngularJS and BackboneJS if you want your websites to follow an MVC model. You can dive into web components if you want to introduce object-oriented principles to your visual components. CSS frameworks like Bootstrap and Foundation provide much, much more than just grid systems. And of course there’s the mighty jQuery, which makes DOM manipulation easy.
Once they decide to implement a technology for a project, front-end developers experiment, pore through documentation and get in touch with other developers using the technology in order to eke as much as they can out of it. Building a deep understanding of their technology allows front-end developers to not only build awesome sites but also push the limits of what front-end technology can accomplish.
5. What is this new thing?
Technology changes quickly. WHOA! Whoa! I know. Your mind is blown.
The tools behind the web are evolving just as quickly as the websites built with them. Front-end developers have to stay on top of the latest and greatest technology or risk falling behind.
There are many reasons to learn new tech. There’s a good chance it’ll lead to performance boosts for your websites. You may find tools that let you probe into your sites in ways you hadn’t imagined before. You may find tech that simplifies your codebase or your workflow. Or it might open up new opportunities to simply make better websites.
Constantly experimenting with new technologies is the only way to stay current. The good news is that the internet is filled with free resources to help you learn new front-end tools (**cough**Udacity!**cough**). Hear about something cool? Give it a shot because you never know how it may help your career.