Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A few words about software development

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

A few words about software development

A talk given to the School of Code bootcampers.

Avatar for Luke Bennett

Luke Bennett

November 19, 2020
Tweet

Other Decks in Technology

Transcript

  1. About me 20 years in software (web) development, 17 in

    a leadership role Skipped uni, started freelancing whilst still in sixth form Led development of SaaS apps (content/info management) Worked on projects across multiple verticals (banking, construction, property, public sector...) 10+ years in retail/e-commerce
  2. “Bravissimo is the champion of women with big boobs. We

    aim to inspire our customers to celebrate their figures and feel confident and amazing.
  3. “Any organization that designs a system (defined broadly) will produce

    a design whose structure is a copy of the organization's communication structure. Conway’s Law - Melvin E. Conway
  4. Four steps to building the right thing 1. Listen to

    your users 2. Listen to your users 3. Listen to your users 4. Listen to your users
  5. “ People are part of the system. The design should

    match the user's experience, expectations, and mental models. Principles of computer system design: an introduction
  6. Principle of Least Surprise Minimise the learning curve Adopt approaches

    and conventions familiar to your users Be consistent When faced with a decision, go with whatever would surprise the user less Guard against the “curse of knowledge” Keep It Simple Stupid (KISS)
  7. “Always code as if the person who ends up maintaining

    your code is a violent psychopath who knows where you live. John F. Woods
  8. Write once, read many times Be consistent (use prettier/linter) Look

    out for “code smells” (e.g. large methods/files, excessive commenting, redundant code) Don’t hardcode “magic” strings/values – use env vars/config file Don’t use “clever” hacks e.g. fancy one-liners Don’t abbreviate identifiers Avoid duplication …
  9. Principle of Least Surprise Minimise the learning curve Adopt approaches

    and conventions familiar to your developers Be consistent When faced with a decision, go with whatever would surprise the developer less Guard against the “curse of knowledge” Keep It Simple Stupid (KISS)
  10. “The whole principle came from the idea that if you

    broke down everything you could think of that goes into riding a bike, and then improved it by 1%, you will get a significant increase when you put them all together Dave Brailsford
  11. “It’s an idea that might seem extreme at first but

    will soon prove indispensable in your quest to take full advantage of the value of deep work: Schedule every minute of your day. Deep Work, Cal Newport