DEV Community

kaelscion
kaelscion

Posted on

A Back End View on Front End Design

So, yesterday I posted about barely meeting a deadline, which you can find here. Today, I'm going to give you my opinion of front-end development as I have come to see it over the years.

First of all, how did web design ever happen? Who was the first person to learn html, when it was one of many markup languages to choose from, and think "You know, I've been working at Pac Bell for awhile now, and people really love the work I am doing; I am respected, admired, and people are really into the things I am building. Honestly, I'm getting kind of bored. Plus, that huge bug in the software I deployed yesterday took down the infrastructure of the leading companies in America, and they weren't even mad! I want to work on projects that people will hate even if I build exactly what they ask for, under time and budget. What would also be nice, is if somebody called me every day and insisted that something arbitrary was wrong for no reason. I'm thinking that I will only truly be happy if I can argue with somebody about shades of green for at least 6 hours every day." But this is the world that full time web developers live in! Let's be clear, I will never claim to be a front end designer or developer, at least not really. I also would not be even considered "full stack". I am a back end developer, plain and simple. My career started with C#, progressed to Python, and i am currently trying to replicate the Flask framework in Julia. Don't get me wrong, we back-end folks are masochists of code too (see aforementioned reference to porting a web framework to a language meant to be used for data center administration and data science), but how do you full time front-enders do it?

Most of the clients my wife and i work with are businesses, so the majority of our development is automation of systems, integration with existing technologies, or building web-scrapers for B2B lead gen or "APIs" to help small businesses with no technical staff reliably share their services and data with each other. Needless to say, this is very "back end" work. But, as is mentioned in my previous post, we do take on front end contracts every so often. But the contracts are typically taking a site that is already built and leveling it up in terms of responsiveness, appearance, and performance. If we had to deal with: "I have an idea for a business, but don't know how i want the site to look, behave, or what colors to use. I also don't have a logo or any font preferences. Can you help?", We'd probably quit. So, next time your company let's one of you architecture folks out of the basement, find your front-end team and give them a hug. Also tell them " it's not your fault" over and over again because trust me, they need it.

The difference, mainly, between the FE and BE of development, in my eyes, is that the minor errors of the BE are somehow FAR more acceptable than those of the FE. For some reason, companies (especially small to medium sized ones) are sort of fine with the fact that things may not always work correctly, but will incite a mob to storm your studio if their form-submit buttons have
"padding-right: 1rem" rather than the "padding-right: .95rem" that they "could have sworn they CLEARLY requested". In my personal experience, i think that this is largely due to the idea of branding and the culture of " I'll buy it if it's shiny" that we all have been taken in by. Think about it; why else would somebody care more about how their website/app looked, than how it worked? Did i miss something somewhere? Wouldn't you think that color theory would be less important to your customers than, i don't know, whether the system they paid to use actually functions the way it should?

In a large, and VERY generalized way, it has become my opinion that web design is largely a game of "accounting for stuff". Much of software development revolves around edge cases, but in aesthetics its insane. I once had a web client tell me that their website was not as responsive as they would like. Ready to help them out, i asked what device they had tried it on. They responded "In Google chrome i used the responsive tab and it got all weird at a certain point."

Oh my! Well, i use the responsiveness tool in Chrome all the time, i must have missed that screen size. "What was the pixel size of the responsive window when it broke?" I asked, to which he responded: "185px by 225px". The silence that followed was uncomfortable as i tried to decide whether he was messing with me. Deciding to be professional, i told him " Well, you won't have to worry about that. That screen size is about the size of a small smart watch."

"yeah, I know." He replied "but wearables are the next big thing so i want it fixed."

I'll spare you the conversation that followed, where I decided to rescind on my decision to be professional, so that nobody gets any ideas that might hurt their career. For context, this person owned a car dealership. Hardly the type of website you would wish to browse on a watch, even if you COULD. Second, he had been a ROYAL pain, ignoring our Scope of Work contract time and time again while paying his invoices AT LEAST 30 days late so, suffice to say, i was ready to cut him loose anyway.

The moral of the story is, the front end is hard. I've helped design ML software, written web crawlers that can collect tens of thousands of requests worth of data every day and like to study trigonometry, calculus and applied physics in my spare time. But designing a responsive, fast, easy to use interface that your customer actually likes on the first try...that is a beast I don't think i will ever tame. Hat's off to you full time designers, front-end web, and UI/UX folks. I hope you like your job, because i certainly don't like your job.

Top comments (0)