Live data from Hacker News

The boring front-end developer

thebfed.com

11–20 of 149 posts

Re: The boring front-end developer

#12
post #2

Good article, I agree with a lot of this, but I can't help myself from commenting. >>> When given the choice to add a preprocessor (e.g. LESS, SASS, CoffeeScript etc) to the technology stack, the BFED realises there is a deeper impact beyond just "writing less code". Will it be harder to onboard developers? Will debugging code be more difficult? If the answer to any of these questions is yes then the BFED will say no…

With regard to the preprocessor question, I didn't read that as condemning preprocessors. Rather, it was in answering the question. Let's use LESS as an example

> Will it be harder to onboard developers?

No. LESS is similar enough and we've automated the build process, so it will not be harder. People that can write CSS can learn LESS easily.

> Will debugging code be more difficult?

No. Again, the similarities are already well established, and most debugging will happen within the browser. The tooling already exists to make this easy.

To me, harder doesn't mean you won't have to learn something new, but it's actually more difficult. And that entirely depends on how you have things setup and what tooling you have. This does mean that if I invite LESC and want to use that instead of LESS, it will be harder to use precisely because the tooling isn't present.

Re: The boring front-end developer

#13

A nice thought, but front-end tools are not really mature enough to be boring, sorry. I mean one could credibly say "oh I'm so boring, I use jQuery everywhere" but... that's not actually going to be a boring development experience. It will be exciting, in the bad way.

The problem with jQuery is not so much jQuery itself, it's the architecture of sites/apps written with many jQuery plugins and no code organization. I wrote many apps using simple JS modules (with browserify) using jQuery for DOM manipulation and the approach worked great. While I don't really use jQuery anymore, it's great for what it aims to do: DOM manipulation.

The point is that exciting development experiences (in the bad way) are usually due to developers not really not knowing what they're doing. Picking your tools is part of that and no tool will, inherently, provide a bad development experience.

Re: The boring front-end developer

#14
> “As a Lead JavaScript Engineer, I try to get my team to write as little JavaScript as possible.”

I would argue that the wisdom of this goes beyond JavaScript to all programming.

Or, to put it slightly differently: how can you tell the difference between an inexperienced programmer and an experienced one? The inexperienced programmer thinks of every line of code as an asset. The experienced one thinks of every line of code as a liability.

Re: The boring front-end developer

#16
>The BFED realises that while not all experiences will be identical, all browsers can be used to consume a website, even gasp, IE6 and below.

I don't understand this point. He must be speaking of degrees, not a binary decision, right? Surely he wouldn't advocate supporting Netscape 1.0?

>When given the choice to add a preprocessor (e.g. LESS, SASS, CoffeeScript etc) to the technology stack, the BFED realises there is a deeper impact beyond just "writing less code". Will it be harder to onboard developers? Will debugging code be more difficult? If the answer to any of these questions is yes then the BFED will say no to preprocessors.

Covered by another commenter, this is way too simplistic. There's a tradeoff between the benefits of a technology and the increased complexity of your app and increased training time for new hires. I highly doubt a great BFED would refuse to make any tradeoffs that might increase complexity or require more training. We are professionals after all, some learning of tools is expected of us!

>The BFED realises that users have different abilities and preferred ways of using a device, whether its a mouse, finger, thumb, screen reader, keyboard or a combination of all, websites should be consumable no matter the audience, screen size or capability of the browser.

Yep, though this seems more like a point in the cool front end developer's camp. A healthy percentage of the huge amount of JS libraries that are released all the time these days (and bemoaned on HN and blog posts like this one) have to do with accessibility and responsive design for multiple interfaces.

>The BFED embraces the constraints and limitations of the browser so that he/she doesn't find him/herself in a world of Adaptive Design and UA sniffing because that world is horrible, ill-advised and costly.

Due to my own inexperience I'm not quite sure what they're on about.

>The BFED will also suggest the use of native form controls realising that browsers will enhance the experience where possible, particularly on mobile, and doesn't try to control the look and feel too much as he/she knows that the brand will not suffer because of that decision.

A good point, and I tend to advocate for those too. But it's sort of a call that gets made above the code monkey's pay grade in my experience.

>The BFED will also suggest that links are styled as such, and with underlines, so that users can identify them within copy.

Subjective. Seems like engineers tend to prefer this style and assume everyone else does too.

>The BFED will carefully select third party code based on the quality of the code itself by reviewing source code, not based on the popularity of said code. He/she favours reliability over popularity every time.

Fair enough.

>The BFED will adhere to the following quote (by Anon): “As a Lead JavaScript Engineer, I try to get my team to write as little JavaScript as possible.”

I agree.

>Furthermore, the BFED realises that Single Page Applications cause severe problems and that by avoiding them and leaning on the server appropriately provides a better experience and reach.

Definitely disagree, but to even start on that discussion is way beyond the scope.

Re: The boring front-end developer

#17
post #2

Good article, I agree with a lot of this, but I can't help myself from commenting. >>> When given the choice to add a preprocessor (e.g. LESS, SASS, CoffeeScript etc) to the technology stack, the BFED realises there is a deeper impact beyond just "writing less code". Will it be harder to onboard developers? Will debugging code be more difficult? If the answer to any of these questions is yes then the BFED will say no…

Controversial opinion, but I myself use CSS preprocessors quite sparingly. I actually see nothing wrong with the CSS syntax. I like the fact that CSS is (almost) nothing but a bunch of named key-value pairs. The real issues have always been semantic, in the subtleties of the box model, which Flexbox is addressing somewhat, though more daring ideas like constraint-based styling are still niche.

Just look at the LESS example on the front page. The compiled output is simpler than the source you're writing. I find having some code duplication to be an acceptable trade-off for turning a basic declarative configuration language into a chimera DSL that must be incorporated into the build process.

The more a configuration language strays away from being declarative, the less desirable this becomes.

Re: The boring front-end developer

#18
> The BFED realises that while not all experiences will be identical, all browsers can be used to consume a website, even gasp, IE6 and below.

Where would we be if we supported all legacy software? Does there not come a point where cutting support for a class of platforms is a good thing? This article makes some good points, and I think a lot of frontenders (myself included) would benefit from being a bit more "boring", but this article is going a little too far the other way.

Re: The boring front-end developer

#19
post #2

Good article, I agree with a lot of this, but I can't help myself from commenting. >>> When given the choice to add a preprocessor (e.g. LESS, SASS, CoffeeScript etc) to the technology stack, the BFED realises there is a deeper impact beyond just "writing less code". Will it be harder to onboard developers? Will debugging code be more difficult? If the answer to any of these questions is yes then the BFED will say no…

> > > There's a time and place for SPAs, you can't just dismiss it entirely. Every web app today should be an SPA.

I feel like this is a joke or amusingly unintentional.

Re: The boring front-end developer

#20
Front-end is crazy, so I can sympathize with the author's desire to use it minimally.

I think if this really is your perspective, and you are waiting for the front-end chaos to settle before investing heavily in front-end development, you should just stick to server side pages and use jQuery to sprinkle in some JS sugar.

>>> Be a great front-end developer. Be boring.

I think you could rephrase this to...

Be a great front-end developer by being a server side developer.

His arguments:

Browser support - me: situational but makes very good points.

Preprocessors - me: completely disagree

Accessibility - me: very good points but not restricted to any one type of developer (web apps, spa, server side templates, native mobile, native desktop)

UI design - me: totally agree with his point on browser sniffing, a dangerous game

Third party CSS and Javascript libraries and frameworks - me: seems like he should avoid these altogether

UI architecture - me: this really seems like an opinion that is easily debatable

CV - me: a good voice to have on your team regardless of tech / project requirements.

Post reply on HN