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

How to be more pragmatic around the choices we make

How to be more pragmatic around the choices we make

As developers we make choices every day such as what framework to use, what tools to use and what browsers to support. All these decisions have a huge impact on both our experience as developers and the users experience when using out sites. Unfortunately these two areas are not aligned so lets have a look at how we can be pragmatic as developers taking into account both our users and developers experiences.

Jonathan Fielding

May 01, 2018

More Decks by Jonathan Fielding

Other Decks in Programming


  1. How to be more pragma&c around the choices we make

    Jonathan Fielding @jonthanfielding
  2. A bit about me… • Engineering Manager at Beamly (WE

    ARE HIRING) • Author of ‘Beginning Responsive Design’ • Regular contributor to open source, including SimpleStateManager, Echo.js, FT’s Polyfill Service, Doccy among many projects • My twiKer username is a accidental mis-spelling and is now a username I use EVERYWHERE
  3. Each piece of technology tries to solve a set of

    problems that developers face
  4. To a developer this means to make choices that fit

    within the constraints of our project
  5. This also impacts the Ume in which we can spend

    researching technology choices
  6. and when being pragmaUc you need to make a decision

    that sits within these constraints
  7. Successful developers are those who are able to evaluate all

    potenUal opUons and choose the one that is best for the situaUon
  8. This can manifest itself in both how we search for

    informaUon and how we interpret it
  9. During normal decision making, we tend to weigh a specific

    piece of informaUon more heavily than other factors
  10. If we have had a problem using a technology before

    we might assume that our 2nd or 3rd Ume using it might go beKer
  11. To overcome gamblers fallacy you need to understand why you

    might have failed at using a technology in the past
  12. If a technology is featured regularly on a subreddit we

    regularly visit, when it comes to making a decision we're more likely to recall informaUon on it which will bias our decision
  13. To avoid this bias you need to ensure you are

    looking across a selecUon of technologies
  14. See if you could rewrite the arUcle, using the same

    informaUon, to tell a completely different story
  15. Clarify your project Define a evaluation criteria Evaluate your success

    Implement Research each option Make the decision
  16. A visitor to a website will have different requirements to

    the content editor who manages the content
  17. Taking the answers from each of our sets of users

    we can define a set of requirements
  18. It is important to include in your criteria details around

    whether you or your team has had experience using the technology
  19. How mature is the technology? Does the it have comprehensive

    documentation Does it meet my performance requireements Does it allow me to build accessible interfaces …
  20. Weighting How mature is the technology? 20 Does the it

    have comprehensive documentation 100 Does it meet my performance requireements 20 Does it allow me to build accessible interfaces 100 … …
  21. The first step in researching what technology to use is

    to shortlist those you want to evaluate
  22. The easiest way to determine the age of the technology

    is to look at when the iniUal commit was made
  23. We can then see how acUve the community is by

    looking at issues and pull-requests
  24. We can then use these examples to see how code

    is structured for a parUcular framework
  25. A special thanks goes out to Charlie Fielding along with

    the folks at Beamly for being the guinea pigs for this talk