$30 off During Our Annual Pro Sale. View Details »

Christoph Dreams Of Simple Code (Laravel Vienna Meetup)

Christoph Dreams Of Simple Code (Laravel Vienna Meetup)

Since the early days of my coding career, I have always thought about improving my code. I learned as much as I could, and I tried all the best practices I found: The Repository Pattern, Factories, DRY, SOLID, TDD, you name it.

The more I learned about complex strategies and solutions, the more I noticed that those principles did not serve me and my applications.

Today, after ten years of coding experience, I found my perfect way of programming, and it's through simple code.

In this talk, I will showcase the power of simple code and how it lets me work fast on applications while providing clean, readable, and testable code. Moreover, it makes applying changes and new features easy, so your code can grow steadily with your application's needs. The only downside is that simple code is not always easy to write. Let me help you with that today.

Christoph Rumpel

September 27, 2023
Tweet

More Decks by Christoph Rumpel

Other Decks in Programming

Transcript

  1. HELLO HELLO

    View Slide

  2. View Slide

  3. View Slide

  4. Christoph Rumpel
    DEVELOPER - VIENNA
    @CHRISTOPHRUMPEL

    View Slide

  5. 1985

    View Slide

  6. View Slide

  7. Since I was born I


    dreamed about simple code
    Chapter 1

    View Slide

  8. Since I was born I


    dreamed about simple code
    Chapter 1

    View Slide

  9. 1990

    View Slide

  10. • Since I was a child I dreamed about how to improve my code...
    I dreamed of...

    View Slide

  11. 1999

    View Slide

  12. And also of...
    ✦ Band: No More Encore

    View Slide

  13. 2009

    View Slide

  14. 2009 - 2012
    ✦ University

    View Slide

  15. 2009
    ✦ Age 24


    ✦ First lines of code


    ✦ PHP 5.2


    ✦ Laravel was not released yet.

    View Slide

  16. Since I started coding, I
    dreamed about better code.
    Chapter 1

    View Slide

  17. 2011

    View Slide

  18. First paid project
    contact.php

    View Slide

  19. First paid project
    contact.php

    View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. Good code is
    working code.

    View Slide

  24. 2012

    View Slide

  25. ✦ PHP 5.4


    ✦ CodeIgniter


    First side project

    View Slide




  26. First side project
    highscore_v.php

    View Slide

  27. I was willing to learn

    View Slide

  28. I was willing to learn

    View Slide

  29. I was willing to learn

    View Slide

  30. I was willing to learn

    View Slide

  31. I was willing to learn

    View Slide

  32. I was willing to learn

    View Slide

  33. 2013

    View Slide

  34. First job as developer

    View Slide

  35. 2014

    View Slide

  36. ✦ Famulous


    ✦ PHP 5.6


    ✦ Laravel 5.3


    Another side project

    View Slide

  37. ✦ Famulous


    ✦ PHP 5.6


    ✦ Laravel 5.3


    Another side project

    View Slide

  38. ✦ Famulous


    ✦ PHP 5.6


    ✦ Laravel 5.3


    Another side project

    View Slide

  39. View Slide

  40. 🙈

    View Slide

  41. I was still willing to learn

    View Slide

  42. I was still willing to learn

    View Slide

  43. I was still willing to learn

    View Slide

  44. I was still willing to learn

    View Slide

  45. I was still willing to learn

    View Slide

  46. 2015

    View Slide

  47. I realized something

    View Slide

  48. They said,


    I followed.

    View Slide

  49. I'm not building
    Facebook.

    View Slide

  50. It depends!

    View Slide

  51. What code do


    I dream of?
    Chapter 2

    View Slide

  52. 2018

    View Slide

  53. ✦ Decide the projects to work on


    ✦ Decide the clients to work with


    ✦ Quality over quantity
    Founded my own


    one-man company

    View Slide

  54. ✦ Meetups


    ✦ Conferences


    ✦ Open Source


    ✦ Blog
    Working in public

    View Slide

  55. Surround yourself with
    smart AND positive people

    View Slide

  56. View Slide

  57. ✦ Syntax


    ✦ Simplicity


    ✦ Environment


    ✦ Dev UX


    View Slide

  58. We developers are
    important too!

    View Slide

  59. Refactoring to
    Collections

    View Slide

  60. Teaching

    View Slide

  61. Teaching

    View Slide

  62. Teaching

    View Slide

  63. Teaching

    View Slide

  64. Tailwind CSS

    View Slide

  65. 2023

    View Slide

  66. Today I dream


    of simple code
    Chapter 3

    View Slide

  67. ✦ Easy to read


    ✦ Easy to understand


    ✦ Less Code


    ✦ Tested code
    For me simple code means

    View Slide

  68. Easy to read
    ✦ Array manipulation

    View Slide

  69. Easy to read
    ✦ Array manipulation

    View Slide

  70. Easy to read
    BEFORE
    ✦ Array manipulation

    View Slide

  71. Easy to read
    ✦ Refactor to collection
    AFTER

    View Slide

  72. Easy to read
    ✦ Descriptive methods
    BEFORE

    View Slide

  73. Easy to read
    ✦ Descriptive methods
    BEFORE
    AFTER

    View Slide

  74. Easy to read
    ✦ Descriptive methods
    BEFORE

    View Slide

  75. Easy to read
    ✦ Descriptive methods
    AFTER
    BEFORE

    View Slide

  76. Easy to read
    ✦ IDE
    BEFORE

    View Slide

  77. Easy to read
    ✦ Customized IDE
    AFTER

    View Slide

  78. Easy to understand
    ✦ Facades

    View Slide

  79. Easy to understand
    ✦ Facades

    View Slide

  80. Easy to understand
    ✦ Facades

    View Slide

  81. Less code
    BEFORE
    ✦ PHPUnit

    View Slide

  82. Less code
    ✦ PEST
    BEFORE
    AFTER

    View Slide

  83. Tested code
    ✦ Tests from Larastreamers

    View Slide

  84. ✦ Definitely NOT simple to write


    ✦ Definitely NOT less code


    ✦ BUT


    ✦ Easy to change/maintain


    ✦ Easy to hand over to someone else
    (future proof)
    Tested code

    View Slide

  85. ✦ Easy to read


    ✦ Easy to understand


    ✦ Less Code


    ✦ Tested code
    For me simple code means

    View Slide

  86. ✦ Quality of my projects


    ✦ For my future self


    ✦ For my clients and colleagues


    ✦ Challenging myself
    Why am I doing all of
    this?

    View Slide

  87. ✦ Should you use Facades now?


    ✦ Should you write tests now?


    ✦ Should you use Laravel now?


    ✦ Should you...
    What about you?

    View Slide

  88. Who am I to tell
    YOU what to do?

    View Slide

  89. What code do you
    dream of?

    View Slide

  90. Goodbye

    View Slide