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

code is a job

code is a job

Writing great code is a challenge. We have to use the best frameworks, spend every hour of every day at the keyboard.. The key to writing great code, we're told, is passion. But what if, in order to write great code, we need to do exactly the opposite? Code is a job, after all. What if the simplest way to improve our code is to treat it like one?

Garann Means

June 22, 2015
Tweet

More Decks by Garann Means

Other Decks in Technology

Transcript

  1. code is a job
    MediterráneaJS / @garannm

    View Slide

  2. buenas tardes
    • circa 1997
    • Etsy, Editorially, Joyent
    • community organizer
    • technical author
    • conference speaker

    View Slide

  3. please allow me to
    pick up where i left off

    View Slide

  4. “I

    View Slide

  5. but today tho
    • writing better code
    • ignoring nonsense
    • not believing the hype
    • doing a good job

    View Slide

  6. participate in
    your own
    exploitation

    View Slide

  7. meritocracy is
    a hell of a drug

    View Slide

  8. “we’ve been trying different things for a while, and these seem to
    be the common threads among ourselves, and the most successful
    and trustworthy people we’ve lived with before”

    View Slide

  9. falling off the
    level playing
    field

    View Slide

  10. self reinforcing
    • you didn’t learn the latest framework
    • you didn’t put enough time into open source
    • you didn’t stay late and let your outside interests atrophy
    • you weren’t “passionate” enough

    View Slide

  11. passion is
    poison

    View Slide

  12. too much “passion”
    ruins good code

    View Slide

  13. http://www.mirror.co.uk/news/ampp3d/bransons-holidays-right-graph-shows-4323133

    View Slide

  14. View Slide

  15. there is no right
    tool for the job

    View Slide

  16. you still have to
    get the job done

    View Slide

  17. JS templates
    • jTemplates
    • jQuery Templates plugin
    • Mustache
    • Angular / React / etc

    View Slide

  18. JS templates
    • jTemplates: independent
    • jQuery Templates plugin: ecosystem
    • Mustache: independent
    • Angular / React / etc: ecosystem

    View Slide

  19. JS templates
    • jTemplates: uses JS to produce HTML
    • jQuery Templates plugin: uses JS to produce HTML
    • Mustache: uses JS to produce HTML
    • Angular / React / etc: uses JS to produce HTML

    View Slide

  20. it’s all bike-
    shedding

    View Slide

  21. all that matters or
    will ever matter is
    the user’s experience

    View Slide

  22. performance
    • browser game?
    • news site?
    • collaborative tool?

    View Slide

  23. performance
    • eliminate bad performance in code
    • don’t make a bunch of requests
    • get whatever you can from cache
    • don’t block loading

    View Slide

  24. performance
    • eliminate bad performance in code: good judgement
    • don’t make a bunch of requests: good judgement
    • get whatever you can from cache: good judgement
    • don’t block loading: good judgement

    View Slide

  25. as coders, we
    work below the
    surface

    View Slide

  26. what makes a great
    coder isn’t code

    View Slide

  27. there are no
    natural coders

    View Slide

  28. pro code skills
    • ability to organize tasks
    • very simple logic
    • very simple math
    • rules of grammar and language
    • things you learn before your 20s

    View Slide

  29. pro code skills
    1. problem solving
    2. communication

    View Slide

  30. you don’t learn
    to code arguing
    about editors

    View Slide

  31. great code
    comes from not
    coding

    View Slide

  32. hot code tips
    • go for a walk
    • make friends
    • read a book
    • watch the news
    • make something physical

    View Slide

  33. myopic code
    makes a half-
    assed product

    View Slide

  34. View Slide

  35. View Slide

  36. “natural” just means
    you anticipated the
    problems

    View Slide

  37. a “natural” coder
    remembers people
    use their code

    View Slide

  38. but that’s design!!
    • code involves design work
    • building anything does
    • the more of the big picture you see, the better your design
    • hence, the better your code

    View Slide

  39. code experience is
    meaningless without
    human experience

    View Slide

  40. code is a
    living

    View Slide

  41. passion don’t
    pay the bills

    View Slide

  42. food, water, sleep
    safety and security
    friends, love
    respect
    code

    View Slide

  43. after a decade
    “good” code
    isn’t enough

    View Slide

  44. food, water, sleep
    safety and security
    friends, love
    respect
    a better
    world

    View Slide

  45. “just” a job
    • in capitalism, a job is essential
    • in a job, accountability is essential
    • if the code is important, make it a job

    View Slide

  46. stop pretending
    you’re going to
    cash out at 30/
    40

    View Slide

  47. #goals
    0k
    50k
    100k
    150k
    200k
    20s 30s 40s 50s 60s

    View Slide

  48. over your
    career, results
    matter most

    View Slide

  49. great code is
    more than just
    some typing

    View Slide

  50. great code gets
    you home in
    time for dinner

    View Slide

  51. someone is
    always wrong
    on the internet

    View Slide

  52. even the biggest tool
    authors will probably
    fade into obscurity

    View Slide

  53. usefulness is the
    only metric that
    matters

    View Slide

  54. just like any
    other job in the
    world

    View Slide

  55. gracias!
    @garannm
    !

    View Slide