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 full-size slide

  2. CHANGEISTHEONLYCONSTANT

    View full-size slide

  3. INANDOUTADVENTURE

    View full-size slide

  4. SOFTWAREQUALITY

    View full-size slide

  5. QUICKINTRODUCTION

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. SOFTWAREQUALITY

    View full-size slide

  10. HELLOWORLD
    public class HelloWorld {

    public static void main(String[] args) {

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

    }

    }

    View full-size slide

  11. IT’SABIGWORLD

    View full-size slide

  12. BUILDTOOLS
    VERSIONCONTROL
    IDE
    BEGINNING
    DESIGNPATTERNS
    OBJECTORIENTED
    JAVA
    FRAMEWORKS

    View full-size slide

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

    View full-size slide

  14. OURJOURNEY
    SOFTWAREQUALITY

    View full-size slide

  15. WHATISSOFTWAREQUALITY?

    View full-size slide

  16. WHATISSOFTWAREQUALITY?
    1
    WORKS
    AS INTENDED

    View full-size slide

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

    View full-size slide

  18. FITFORPURPOSE

    View full-size slide

  19. SQUIRREL
    BRIDGE
    5
    SQUIRRELS

    View full-size slide

  20. SOFTWAREQUALITY
    1
    WORKS
    AS INTENDED

    View full-size slide

  21. SOFTWAREQUALITY
    1 MAINTAINABLE
    2
    WORKS
    AS INTENDED

    View full-size slide

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

    View full-size slide

  23. SOFTWAREQUALITY
    1 MAINTAINABLE
    2
    WORKS
    AS INTENDED

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  27. METRICS != SOFTWARE QUALITY

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  30. OURJOURNEY
    SOFTWAREQUALITY

    View full-size slide

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

    View full-size slide

  32. CHANGEISTHEONLYCONSTANT

    View full-size slide

  33. KEEPDEVELOPING

    View full-size slide

  34. KEEPEVOLVING

    View full-size slide

  35. KEEPEVOLVING
    COMMUNITY
    1

    View full-size slide

  36. COMMUNITY
    1.
    WORK ENVIRONMENT

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  40. KEEPEVOLVING
    COMMUNITY
    1

    View full-size slide

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

    View full-size slide

  42. KEEPUPTODATE

    View full-size slide

  43. KEEPUPTODATE
    1.
    READ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  49. LEARNANEWCONCEPT

    View full-size slide

  50. LEARNANEWCONCEPT
    1.
    A LANGUAGE

    View full-size slide

  51. LEARNANEWCONCEPT
    1.
    A LANGUAGE
    2.
    A FRAMEWORK

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  54. CANWEDOBETTER?

    View full-size slide

  55. QUALITYOVEREVERYTHING?

    View full-size slide

  56. “ITDEPENDS”

    View full-size slide

  57. WHATABOUTVALUE?

    View full-size slide

  58. QUALITY
    TIME
    COST
    “THETRIANGLE”

    View full-size slide

  59. “THETRIANGLE”
    QUALITY
    TIME
    COST

    View full-size slide

  60. WHATABOUTGOINGFAST?

    View full-size slide

  61. WHATABOUTGOINGFAST?

    View full-size slide

  62. WHATABOUTGOINGFAST?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  65. TOINFINITYANDBEYOND

    View full-size slide