Which mode are you in?

One of the hardest things to master as a software developer, and in particular for someone working on UI, is adjusting your approach to the work as the goals change.

Building a prototype to test in user research and building a UI that can’t be changed (ever) once it’s shipped are about as far apart as working modes can get.

When dishing out advice or opinions about development practices, it’s easy to assume a default set of circumstances. For web software, this usually looks like a small agile team who are able to deliver working software regularly to production servers in the cloud, with users able to use that newly shipped software immediately.

But of course, this is not necessarily how all teams must work.

Perhaps you are sharing platform and UI code between web and hybrid native apps, with differently release cycles.

Perhaps you work in a security-restricted organisation with strong release controls.

Perhaps you ship your software on physical media exactly once a year. Yes, this still happens.

All three situations are using web technologies. But there is no one true way to build products based on these technologies.

How software development practices are adopted and shaped by a team must depend on the context, and what the intention of the work is. There are no real ‘best practices’ here, just good things that work well given the circumstances.

Having said that, some things are more of a no-brainer in most circumstances. Linting, perhaps. At least some form of testing.

Reply and tell me: What special circumstances do you work under that shape how you go about dev work?

All the best,

– Jim

Receive emails like this in your inbox

I write about front-end engineering leadership every weekday.

Sign up now and get my Front-End Engineering Responsibilities Laundry List PDF for free.

You'll get regular emails about front-end development. Unsubscribe at any time.