I think, my background is important on this matter, I started getting into Frontend long before JavaScript took off, had my first Jobs at a time where JavaScript started to become a really chunky big thing, at the time I’m writing this, I have got about eight years experience as a front end developer and about three doing mainly full stack work.

So, there’s this discussion ongoing about a descriptive essay by Chris Coyer how the front-end (as in the field in the industry) got split up into two groups, one consisting of mainly JavaScript folks, the other consisting of people who’re more concerned about the UX-part of the stack. As I have read it, I haven’t necessarily planned to write a post myself about this, though I agreed on most of the description being made by Chris Coyer. A week later this discussion went big & instead of rambling on Twitter (I deactivated my account days ago) about this; I felt like I may be better of just writing a piece about this anyways.

Whenever those discussions are on the agenda, I feel like, that they’re getting their focus entirely wrong. I know that this may sound like a weird hot take, but most of the time, it felt like that they’re more about devaluing each others skill set and more about tech dogmatism than about creating a better Internet.

I will try to make three points in this blogpost:

  • At first, on how to choose a Stack for a certain project.
  • Second, about Accessibility and a better Internet.
  • Last, about that ongoing payment discussion.

Evaluating Which STACK Fits the Best

The footer of my work related website says “I like JavaScript. I really do. However, this page is made without it <3” and this actually says a lot about my approach on tech. When I rewrote my work website when I left the small Software consultancy I worked for until December 2018, I, at first, thought about creating that web page with react. However, I ended up creating a HTML/CSS only site without any frameworks or JavaScript. The reason for that was, that I wanted to display my major projects, contact details, small bits of my skill set and two bits about my uni and home hackspace. That’s not only entirely static content, but also content I only need HTML, to structure the page, and CSS to add some design to it, for. React however, felt out of scope, and so does using a static site generator like Hugo (this blog is running on it) or Gatsby (I’ve used it for my podcast), for content I probably change three times in a decade.

Evaluating All the Things!

What I want to say is, that languages are just tools. You wouldn’t use a drilling machine (or a ThinkPad) for nailing a nail into a wall, would you? And while people will give you weirdly interesting looks for doing so anyways, building web pages and application on the most unreasonable STACKs seems like a common thing to do & people posting amazed posts, about why it is the best throwing insert overengineered Stack choice here on the most basic problems on a certain awful orange website, isn’t questioned at all.

In the end, programmers are payed for solving problems & I would say there’s a lot room of making a better job on this, especially when it comes to evaluating what Stack one should use for a certain problem, and I felt like the current buzzword-ish tech culture doesn’t make things easier (as in people talking about machine learning when their problem is most likely solveable by some SELECT queries).

The truth is, using node.js may not always be the best choice for a back-end. Using vanilla JavaScript or no JavaScript at all may not always be the right choice for a project, and sometimes you want to do things you obviously can’t do using purely a markup language.

One may or may not feel comfortable working with a certain Stack fitting best for a project, and here, the approach to learn in companies should change, since there should be more room to learn new things.

Instead of devaluating each others skill sets we totally do need a less hostile culture and more encouragement and empowerment. All langauges require work to learn and a big similarity of HTML, CSS and JavaScript is, that all of them are difficult and can be overwhelming at first. However I do feel like, that, while the split in front end is real, it would be the best working more closely together again, especially when it comes to sharing knowledge.

Accessibility Matters

Especially in the modern web accessibility falls short in so many web applications, since some of them may raise more questions in how to wow investors instead of having the humans, who will end up using the applications, in mind (there’s a similar discussion in general/open source programming ongoing as well, but that’s another tea).

The Worst of UX and Accessibility

When I went job hunting during most of January, I have visited so many blinky and just inaccessible company pages, some of them happen to be a worst-case scenario in terms of UX and accessibility.

Alternated scrolling behavior, styled scrolling bar (which just isn’t convenient), an at least 1s animation on like any element one could find.

If you need a last-gen MacBook or ThinkPad to display a webpage giving information about a company and a job description, you’re not just doing something wrong, but also waving a huge red flag to me; since you’re actively shutting out people using low-end hardware. There’s not a single reason to justify why a ThinkPad x201 shouldn’t be able to display such kind of a webpage smoothly.

It’s Wrong Putting UX Against JS Communities

And here lays the part where you start needing both, JavaScript engineers and UX designers, and where that “versus split” made up in discussions doesn’t make any sense anymore. I generally perceive that UX is often treated as poorly or less valuable, which fits into the trope that humanities in general and things like diversity policies are treated poorly in a male-dominant technocratic IT-environment & that’s a part of a toxic nerd culture.

A Better Internet

As a JavaScript developer I know that there are way too many projects not caring about accessibility & I share the concerns that perceiving the Internet as a delivery platform for a product is actually a harmful approach for the Internet in general.

Instead of splitting and dividing communities, we should aim together for a better internet. To not make that sound like a buzzword, but fill it with meaning, to me, a better internet is:

  • accessible (A11Y standards)
  • decentralized and less corporate owned
  • open and build upon open web standards
  • user-centric

And since it’s always easy to start talking about a better internet and not seeing our own responsibility, as developers, in this, we should do better in our own environments as well, which means:

  • Stop writing ~think pieces~ about if “developer X should learn language Y”, since the answer’s is always: if they want to do so, yes.
  • Care about workspace accessibility and about accessibility in products.
  • Don’t bother those “front-end vs. back-end”, “language x vs. language y”, “UX vs. JS” wars, instead focus on delivering great experiences and start building good software.
  • Learn from each other & about how the web is designed, intended to be and what concepts there are.

about://payment

One of the major questions being raised on that end was if there should be a difference in payment when it comes to monetizing on one hand a JS-focussed skillset, and on the other a UX-focussed skillset.

It’s About Time Not Skills

Since JavaScript Developers and UX-focussed developers spend the same hour of time developing a product, there’s not a single reason justifying a different payment. Both is difficult work, both requires a time investment, that’s it. And in terms of inequalities we, as developers may be better off talking about why we’re getting pay reasonably more money than the folks who’re serving us our coffee or cooking our lunch at restaurants in Kreuzberg and wherever anyways. Since, big surprise, they’re probably spending the same hours of work as we do each and every day and get payed reasonably less than we do. Instead of putting us up against each other, like parts of the front end community are trying to do, we should talk a lot more about solidarity and may start thinking of our own position as certainly privileged instead of engaging in and reproducing all the market economy chatter of devaluing labour by differentiating between the on-market value of different professions.

Toxic Nerd Culture

I feel like this is an important appendix to add. While I talked a lot about evaluating programming languages and Stacks for projects and about learning new things, this does not mean that one has to know everything. In January, I talked about the things I do not know on here, and it’s perfectly okay not knowing things. You don’t have to be full stack. It’s okay just knowing one or two programming languages or just the HTML/CSS tea. You deserve a good payment for what you do. Mandy Michael made some good points on this, I recommend reading this 2017 piece of her as well.