5
c3r38r170
254d

Ok, let's do the opposite (reference to a previous rant).
Should a frontend developer know about:
- Data structures and algorithms?
- User interface design patterns and usability?
- User experience heuristics?
- Accessibility?
- Design tools?
- How websites work on the browser after the frameworks have done their job?
- Data flow, and artifacts like user stories?

Comments
  • 1
    what are UX heuristics?
  • 1
    @lorentz Or "laws".
  • 2
  • 5
    The frontend developers of Spotify should know about jail
  • 4
  • 6
    Whether you‘re frontend, backend or a completely different field, you‘re a software engineer and should therefore know about all of this as it will always be used in some way eventually
  • 2
    SEO suspicions are missing in the list
  • 0
    @ingosteinke I always forget this one.
  • 0
    Yes, except for design tools. It depends if you have a dedicated designer in your team.
  • 1
    Every job requires different skills. It's not about a generic role it's about the actual job. A lot of these things change over time too.

    For example SEO is mentioned as a must know. If you are hired to build the next version of Grafana, supplier interface or internal tools. SEO has zero impact. That is for people that work on the marketing side.
  • 2
    @hjk101 the most boring but the most correct answer is always "it depends" :)
  • 1
    At least the original list included accessibility and usability. But what's the "front end"?

    From a back end view of a database, the server-side business logic looks like the front end. From there, any client looks like the front end, although it might be middleware logic or a proxy. We might say, everything that's executed in a browser is the frontend, but what about the JavaScript code of an SPA that communicates with a backend API vs. the actual view or presentation layer with its look and feel?
  • 1
    @ingosteinke I like this analysis, and personally I wouldn't exclude anything from the "browser", as the notion of layers is not as rigid as the notion of the duality of server-side vs client-side.
    What I mean is, there are backends without layers, or with more layers than those of, let's say, database and business logic.
Add Comment