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

Simplicity

 Simplicity

How principles impact my work, selection of tools and code that I write. This talk is a work-in-progress for me as well, but I believe it is way too easy for us to use new frameworks and tools only for the sake of using them. This talk won't answer all your questions but it may help you look at things in a different way.

krzychukula

March 19, 2016
Tweet

More Decks by krzychukula

Other Decks in Programming

Transcript

  1. Simplicity
    @krzychukula

    View full-size slide

  2. 1. Simple
    2. Principles and Ideas
    3. Tools and Code

    View full-size slide

  3. Do you like …?

    View full-size slide

  4. Simple vs Easy

    View full-size slide

  5. Simple == One Thing

    View full-size slide

  6. Easy == Familiar

    View full-size slide

  7. Simple Complex

    View full-size slide

  8. Simple Complex
    Easy
    Hard

    View full-size slide

  9. Simple Complex
    Easy
    Hard

    View full-size slide

  10. Simple Complex
    Easy function
    Hard

    View full-size slide

  11. Simple Complex
    Easy
    Hard

    View full-size slide

  12. Simple Complex
    Easy
    Hard Physics

    View full-size slide

  13. Simple Complex
    Easy
    Hard

    View full-size slide

  14. angular-typescript-react-babel-boilerplate

    View full-size slide

  15. angular-typescript-react-babel-boilerplate

    View full-size slide

  16. Simple Complex
    Easy boilerplate
    Hard

    View full-size slide

  17. Simple Complex
    Easy
    Hard

    View full-size slide

  18. Simple Complex
    Easy
    Hard FP

    View full-size slide

  19. Simple Complex
    Easy function boilerplate
    Hard FP Physics

    View full-size slide

  20. 2. Principles and Ideas

    View full-size slide

  21. Avoid Zone.js

    View full-size slide

  22. Obscure Spells

    View full-size slide

  23. Avoid DI Frameworks

    View full-size slide

  24. Magic has Costs

    View full-size slide

  25. Innovation Tokens

    View full-size slide

  26. Choose Boring Technology
    Dan McKinley

    View full-size slide

  27. One Innovation Token

    View full-size slide

  28. CV Driven Development

    View full-size slide

  29. Sunk Cost Fallacy

    View full-size slide

  30. The Law of the Instrument

    View full-size slide

  31. If the only tool you have is a hammer,
    everything looks like a nail.
    Abraham Maslow, 1966

    View full-size slide

  32. If the only tool you have is a RX.hammer,
    everything looks like a stream.
    Krzysztof Kula, 2016

    View full-size slide

  33. If the only tool you have is a Angular,
    everything looks like a directive.
    Krzysztof Kula, 2016

    View full-size slide

  34. If the only tool you have is a React,
    everything looks like a component.
    Krzysztof Kula, 2016

    View full-size slide

  35. Framework Developers

    View full-size slide

  36. “Our strategy around recruiting is to find the best
    and brightest engineers. We don’t bring them in
    specifically because the engineer knows Erlang,”
    Jamshid Mahdavi

    View full-size slide

  37. “Our strategy around recruiting is to find the best
    and brightest engineers. We don’t bring them in
    specifically because the engineer knows Erlang,”
    Jamshid Mahdavi

    View full-size slide

  38. “Our strategy around recruiting is to find the best
    and brightest engineers. We don’t bring them in
    specifically because the engineer knows Erlang,”
    Jamshid Mahdavi

    View full-size slide

  39. WhatsApp now has 900 million
    monthly active users.

    View full-size slide

  40. ~50 engineers

    View full-size slide

  41. Learn New Things

    View full-size slide

  42. scalpel-chainsaw-boilerplate

    View full-size slide

  43. First, do no harm

    View full-size slide

  44. Self Contained Systems

    View full-size slide

  45. Progressive Enhancement

    View full-size slide

  46. 3. Tools and Code

    View full-size slide

  47. 1. Editor
    2. Code Style
    3. Builds
    4. Libraries
    5. this
    6. DI

    View full-size slide

  48. Learn C The Hard Way

    View full-size slide

  49. THE RULES
    15 min
    HTML/CSS
    No previews

    View full-size slide

  50. JavaScript Standard Code Style

    View full-size slide

  51. It just works.

    View full-size slide

  52. npm install -g webpack

    View full-size slide

  53. npm install -g webpack

    View full-size slide

  54. npm install
    npm start

    View full-size slide

  55. Self Contained Systems

    View full-size slide

  56. You Don’t Know JS
    Kyle Simpson

    View full-size slide

  57. DI Without Magic

    View full-size slide

  58. function (config) {

    View full-size slide

  59. Most Important

    View full-size slide

  60. Learn New Things

    View full-size slide

  61. Be Like a Surgeon

    View full-size slide

  62. Thanks!
    @krzychukula

    View full-size slide

  63. We’re Hiring!
    SmartRecruiters

    View full-size slide

  64. • Web dev in 2016: https://twitter.com/iamdevloper/status/694198210894520320
    • You could be better: https://twitter.com/andrestaltz/status/698958921717964800
    • Simple Made Easy by Rich Hickey: http://www.infoq.com/presentations/Simple-Made-Easy
    • Beyond Features by Dan North: https://www.youtube.com/watch?v=lz5HBtDl-1A
    • Choose Boring Technology by Dan McKinley: http://mcfunley.com/choose-boring-technology
    • Law of the Instrument: https://en.wikipedia.org/wiki/Law_of_the_instrument
    • http://codeinthedark.com/
    • http://standardjs.com/
    • XKCD Standards: https://xkcd.com/927/
    • You Don’t Know JS by Kyle Simpson: https://github.com/getify/You-Dont-Know-JS
    • 8 Lines of Code by Greg Young: http://www.infoq.com/presentations/8-lines-code-refactoring

    View full-size slide