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

We love developing but... how do we keep developing ourselves?

We love developing but... how do we keep developing ourselves?

The journey of a developer is a majestic one. The contextual world we live in is such a large place that we need several years of experience to feel ourselves comfortable enough in what we do. But what do we really gain with experience? Is it learning the tools of our trade, or is it something more? Does our growth stop at some point?

Most of you will think “No” at this point…but why is our epic tale a never-ending story in the most positive sense of the word?

We strive for the best quality of (our) software…and the views on what is "the best quality" is always in flux. What is software quality and what is the current view on qualitative software? More importantly, how can we be adaptive enough to keep up with this changing view, and keep improving ourselves as developers?

Bas W. Knopper

September 18, 2017
Tweet

More Decks by Bas W. Knopper

Other Decks in Programming

Transcript

  1. WE LOVE DEVELOPING
    BUT HOW DO WE KEEP DEVELOPING OURSELVES?
    #CHANGEIT

    View Slide

  2. CHANGEISTHEONLYCONSTANT

    View Slide

  3. INANDOUTADVENTURE

    View Slide

  4. OURJOURNEY

    View Slide

  5. SOFTWAREQUALITY

    View Slide

  6. QUICKINTRODUCTION

    View Slide

  7. WHOAMI
    BAS W. KNOPPER, MANAGING PARTNER @ JCORE
    @BWknopper
    linkedin.com/basknopper
    [email protected]

    View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. WHOAMI
    BAS W. KNOPPER, MANAGING PARTNER @ JCORE
    @BWknopper
    linkedin.com/basknopper
    [email protected]

    View Slide

  14. View Slide

  15. View Slide

  16. WHOAMI
    BAS W. KNOPPER, PASSIONATE JAVA DEVELOPER @ JCORE
    @BWknopper
    linkedin.com/basknopper
    [email protected]

    View Slide

  17. View Slide

  18. View Slide

  19. #CHANGEIT

    View Slide

  20. OURJOURNEY

    View Slide

  21. SOFTWAREQUALITY

    View Slide

  22. OURJOURNEY

    View Slide

  23. HELLOWORLD
    public class HelloWorld {

    public static void main(String[] args) {

    System.out.println(“Hello World!”);

    }

    }

    View Slide

  24. IT’SABIGWORLD

    View Slide

  25. BUILDTOOLS
    VERSIONCONTROL
    IDE
    BEGINNING
    DESIGNPATTERNS
    OBJECTORIENTED
    JAVA
    FRAMEWORKS

    View Slide

  26. OURJOURNEY

    View Slide

  27. CI/CD
    CODEREVIEWS
    UNITTESTING
    E2E
    SONARQUBE
    WORKINGASADEVELOPER
    CLEANCODE
    DEVELOPMENT
    METHODOLOGY
    PAIRPROGRAMMING
    SOFTWARE QUALITY
    TEAM EFFORT

    View Slide

  28. OURJOURNEY
    SOFTWAREQUALITY

    View Slide

  29. WHATISSOFTWAREQUALITY?

    View Slide

  30. WHATISSOFTWAREQUALITY?
    1
    WORKS
    AS INTENDED

    View Slide

  31. “TRUST, BUT VERIFY”
    — RUSSIAN PROVERB USED BY RONALD REAGAN

    View Slide

  32. FITFORPURPOSE

    View Slide

  33. SQUIRREL
    BRIDGE
    5
    SQUIRRELS

    View Slide

  34. SOFTWAREQUALITY
    1
    WORKS
    AS INTENDED

    View Slide

  35. SOFTWAREQUALITY
    1 MAINTAINABLE
    2
    WORKS
    AS INTENDED

    View Slide

  36. “I DIDN'T HAVE TIME TO WRITE A
    SHORT LETTER, SO I WROTE A
    LONG ONE INSTEAD”
    — BLAISE PASCAL

    View Slide

  37. SOFTWAREQUALITY
    1 MAINTAINABLE
    2
    WORKS
    AS INTENDED

    View Slide

  38. SOFTWAREQUALITY
    WORKS
    AS INTENDED
    1 MAINTAINABLE
    2 OPERATIONAL EASE
    3

    View Slide

  39. “IT WORKED ON MY MACHINE”
    — EVERY DEVELOPER EVER

    View Slide

  40. SOFTWAREQUALITY
    1 MAINTAINABLE
    2 OPERATIONAL EASE
    3
    WORKS
    AS INTENDED

    View Slide

  41. METRICS != SOFTWARE QUALITY

    View Slide

  42. DISCIPLINE

    View Slide

  43. EQUIFAX

    View Slide

  44. VULNERABILITY IN APACHE STRUTS
    source: http://gizmodo.com/

    View Slide

  45. source: http://www.zerohedge.com/

    View Slide

  46. OURJOURNEY
    SOFTWAREQUALITY

    View Slide

  47. OURJOURNEY

    View Slide

  48. AI
    ARCHITECTURE
    FRONTEND++
    CLOUDNATIVE
    ANDBEYOND
    REACTIVEPROGRAMMING
    DEVOPS
    TUNING

    View Slide

  49. OURJOURNEY

    View Slide

  50. CHANGEISTHEONLYCONSTANT

    View Slide

  51. OURJOURNEY

    View Slide

  52. View Slide

  53. WAKE
    UP
    CALL

    View Slide

  54. KEEPDEVELOPING

    View Slide

  55. KEEPEVOLVING

    View Slide

  56. KEEPEVOLVING
    COMMUNITY
    1

    View Slide

  57. COMMUNITY

    View Slide

  58. COMMUNITY
    1.
    WORK ENVIRONMENT

    View Slide

  59. COMMUNITY
    1.
    WORK ENVIRONMENT
    2.
    CONFERENCES, MEETUPS, ETC.

    View Slide

  60. COMMUNITY
    1.
    WORK ENVIRONMENT
    3.
    INTERNET
    2.
    CONFERENCES, MEETUPS, ETC.

    View Slide

  61. COMMUNITY
    1.
    WORK ENVIRONMENT
    3.
    INTERNET
    2.
    CONFERENCES, MEETUPS, ETC.
    4.
    JDRIVEN EVENTS

    View Slide

  62. KEEPEVOLVING
    COMMUNITY
    1

    View Slide

  63. KEEPEVOLVING
    COMMUNITY
    1 KEEP UP-TO-DATE
    2

    View Slide

  64. KEEPUPTODATE

    View Slide

  65. KEEPUPTODATE
    1.
    READ

    View Slide

  66. KEEPUPTODATE
    1.
    READ
    2.
    READ A LOT OF CODE!

    View Slide

  67. KEEPUPTODATE
    1.
    READ
    3.
    TRAINING
    2.
    READ A LOT OF CODE!

    View Slide

  68. KEEPUPTODATE
    1.
    READ
    3.
    TRAINING
    2.
    READ A LOT OF CODE!
    4.
    FOLLOW TRENDS

    View Slide

  69. KEEPEVOLVING
    COMMUNITY
    1 KEEP UP-TO-DATE
    2

    View Slide

  70. KEEPEVOLVING
    COMMUNITY
    1 KEEP UP-TO-DATE
    2 LEARN A NEW CONCEPT
    3

    View Slide

  71. LEARNANEWCONCEPT

    View Slide

  72. LEARNANEWCONCEPT
    1.
    A LANGUAGE

    View Slide

  73. LEARNANEWCONCEPT
    1.
    A LANGUAGE
    2.
    A FRAMEWORK

    View Slide

  74. LEARNANEWCONCEPT
    1.
    A LANGUAGE
    3.
    FOCUS ON CONCEPT
    2.
    A FRAMEWORK

    View Slide

  75. LEARNANEWCONCEPT
    1.
    A LANGUAGE
    3.
    FOCUS ON CONCEPT
    2.
    A FRAMEWORK
    4.
    RECOGNISE HYPE!

    View Slide

  76. OURJOURNEY

    View Slide

  77. CANWEDOBETTER?

    View Slide

  78. QUALITYOVEREVERYTHING?

    View Slide

  79. “ITDEPENDS”

    View Slide

  80. View Slide

  81. WHATABOUTVALUE?

    View Slide

  82. QUALITY
    TIME
    COST
    “THETRIANGLE”

    View Slide

  83. View Slide

  84. “THETRIANGLE”
    QUALITY
    TIME
    COST

    View Slide

  85. WHATABOUTGOINGFAST?

    View Slide

  86. WHATABOUTGOINGFAST?

    View Slide

  87. WHATABOUTGOINGFAST?

    View Slide

  88. SOFTWAREQUALITY
    1 MAINTAINABLE
    2 OPERATIONAL EASE
    3
    WORKS
    AS INTENDED

    View Slide

  89. KEEPEVOLVING
    COMMUNITY
    1 KEEP UP-TO-DATE
    2 LEARN A NEW CONCEPT
    3

    View Slide

  90. TOINFINITYANDBEYOND

    View Slide

  91. View Slide

  92. View Slide

  93. View Slide

  94. THANKYOU!

    View Slide

  95. #CHANGEIT

    View Slide