![Picture of me](/assets/profile.webp)
I'm Jay Dan Howard!
I believe compassion makes tech worthwhile
Evolving list of loosely held, hopefully not pretentious sounding, and strong beliefs about software engineering, mayhaps only applying to the web world:
- Code that feels good to write is productive code
- Teams should use auto-formatters
- Unit test files that have more lines of mocks than tests is a really bad sign since they cement contracts that will be null and void when business needs and implementations change
- Dogma is as rampant in tech as it is anywhere else people are involved. We should always stay open-minded
- Everything in software is about getting things to communicate "well"
- To people: other developers, business stakeholders, users, API consumers
- To machines: clients to services, services to services, processes to processes
- To present-tense code: interfaces between functions, classes, network calls
- To past-tense code: gracefully handling old versions of code after deploying to prod
- To future-tense code: today's code will happily swap in and out with tomorrow's code
- We need to remember performance is a measurement of the latency and throughput of the communication between or within machines
- Performance claims that aren't measurable tend to be a result of engineers being shy about being called artists. We should not be shy
- Large multi-hundred-line PRs indicate problems in the process
- Poor developer utilization
- Slower and more painful feedback cycles (requested changes have to happen in the service code and in tests)
- Behind-the-scene iteration from single developer battling dragons