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

Developer Joy - The New Paradigm

Developer Joy - The New Paradigm

Ever been told “work is not a place to be happy?” It’s not true! As developers, our job is to be productive, and we’re most productive when we’re in flow, doing friction-free creation. How do we embrace the happiness paradigm, without throwing out the old ones we also need, such as efficiency and safety? In this talk, Holly will explain how our industry is changing, and present a number of productivity tips for the lazy, happy, developer.

Avatar for Holly Cummins

Holly Cummins

October 16, 2025
Tweet

More Decks by Holly Cummins

Other Decks in Programming

Transcript

  1. #IBM @holly_cummins piglet litters grow faster if they play more

    https://www.flickr.com/photos/tambako/8746156155
  2. #IBM @holly_cummins “Your brain at positive is 31% more productive

    than your brain at negative, neutral or stressed. " https://hbr.org/2012/01/positive-intelligence
  3. #IBM @holly_cummins "Individuals [who just watched a comedy video] have

    approximately 12% greater productivity." https://www2.warwick.ac.uk/fac/soc/economics/staff/eproto/workingpapers/happinessproductivity.pd
  4. @holly_cummins #IBM → productivity tip for the lazy, happy, developer

    it’s probably waste get rid of boring stuff
  5. @holly_cummins #IBM what should be automated? - tasks that are

    error-prone - tasks that people can do half-asleep
  6. @holly_cummins #IBM → productivity tip for the lazy, happy, developer

    go beyond infrastructure automation automate knowledge
  7. #IBM @holly_cummins Guillaume, my CI was red. Is there a

    known failure in the vertx suite? Guillaume, my CI was red. Is there a known failure in the gRPC suite?
  8. #IBM @holly_cummins Guillaume, my CI was red. Is there a

    known failure in the vertx suite? Guillaume, my CI was red. Is there a known failure in the kafka suite? Guillaume, my CI was red. Is there a known failure in the gRPC suite?
  9. #IBM @holly_cummins Guillaume, my CI was red. Is there a

    known failure in the vertx suite? Guillaume, my CI was red. Is there a known failure in the kafka suite? Guillaume, my CI was red. Is there a known failure in the gRPC suite? Guillaume
  10. #IBM @holly_cummins Guillaume, my CI was red. Is there a

    known failure in the vertx suite? Guillaume, my CI was red. Is there a known failure in the kafka suite? Guillaume, my CI was red. Is there a known failure in the gRPC suite? the solution? “auto-Guillaume” Guillaume
  11. @holly_cummins #IBM → productivity tip for the lazy, happy, developer

    go beyond infrastructure automation make coding better
  12. @holly_cummins #IBM </> build time runtime load and parse •

    config files • properties • yaml • xml • etc. Java dynamism
  13. @holly_cummins #IBM @
 @ </> build time runtime • classpath

    scanning and annotation discovery • attempt to load class to enable/disable features Java dynamism
  14. @holly_cummins #IBM @
 @ </> build time runtime build a

    metamodel of the world Java dynamism
  15. @holly_cummins #IBM @
 @ </> build time runtime start •

    thread pools • I/O • etc. Java dynamism
  16. @holly_cummins #IBM what if we start the application more than

    once? @
 @ </> @
 @ </> @
 @ </> @
 @ </>
  17. @holly_cummins #IBM what if we start the application more than

    once? @
 @ </> @
 @ </> @
 @ </> @
 @ </>
  18. @holly_cummins #IBM what if we start the application more than

    once? @
 @ </> @
 @ </> @
 @ </> @
 @ </> so much work gets redone every time
  19. @holly_cummins #IBM what if we initialize at build time? @


    @ </> build time runtime start • thread pools • I/O • etc.
  20. @holly_cummins #IBM what if we initialize at build time? @


    @ </> build time runtime ready to do work! start • thread pools • I/O • etc.
  21. @holly_cummins #IBM don’t make humans tell the computer what the

    computer already knows the dream is now achievable
  22. @holly_cummins #IBM package com.example; import org.jboss.logging.Logger; public class Thing {

    private static final Logger log = Logger.getLogger(Thing.class); public void doSomething() { log.info("It works!"); } }
  23. @holly_cummins #IBM package com.example; import org.jboss.logging.Logger; public class Thing {

    private static final Logger log = Logger.getLogger(Thing.class); public void doSomething() { log.info("It works!"); } } import io.quarkus.logging.Log; Log
  24. #IBM @holly_cummins testcontainers integration … without quarkus @TestConfiguration(proxyBeanMethods = false)

    public class ContainersConfig { @Bean @ServiceConnection public PostgreSQLContainer<?> postgres() { return new PostgreSQLContainer<>(DockerImageName.parse("postgres:14")); } } public class TestApplication { public static void main(String[] args) { SpringApplication .from(MySpringDataApplication::main) .with(ContainersConfig.class) .run(args); } } @Import(ContainersConfig.class)
  25. @holly_cummins #IBM what if… you could inherit boilerplate Hibernate queries

    from a superclass, instead of having to write them all? example: hibernate
  26. @holly_cummins #IBM @ApplicationScoped public class GreetingRepository { public Entity findByName(int

    name) { return find("name", name).firstResult(); } void persist(Entity entity) {} void delete(Entity entity) {} Entity findById(Id id) {} List<Entity> list(String query, Sort sort, Object... params) { return null; } Stream<Entity> stream(String query, Object... params) { return null; } long count() { return 0; } long count(String query, Object... params) { return 0; } } example: hibernate with panache
  27. @holly_cummins #IBM DAO @ApplicationScoped public class GreetingRepository implements PanacheRepository<Greeting> {

    public Entity findByName(int name) { return find("name", name).firstResult(); } } example: hibernate with panache
  28. @holly_cummins #IBM this isn’t using gen AI to automate code

    generation this is making the need for the code go away
  29. @holly_cummins #IBM but if you do have to write boring

    code … gen AI can help a lot. gen AI can help a lot.
  30. #IBM @holly_cummins I am most productive while - showering -

    running this slide was written while running
  31. @holly_cummins #IBM → productivity tip for the lazy, happy, developer

    use voice memo to capture all the work you do while running * the text on this slide was originally a voice memo
  32. @holly_cummins #IBM but what if you’re not debugging-in-your-head while running?

    what if you’re feeding chocolate into the office fan, to see what happens?
  33. #IBM @holly_cummins the new paradigms - joy has business value

    - get rid of dumb work - if you can’t get rid of the work, make computers do the work
  34. #IBM @holly_cummins the new paradigms - joy has business value

    - get rid of dumb work - if you can’t get rid of the work, make computers do the work - don’t make humans tell the computer things the computer already knows
  35. #IBM @holly_cummins the new paradigms - joy has business value

    - get rid of dumb work - if you can’t get rid of the work, make computers do the work - don’t make humans tell the computer things the computer already knows - get rid of flab from the programming model (like quarkus does!)
  36. #IBM @holly_cummins the new paradigms - joy has business value

    - get rid of dumb work - if you can’t get rid of the work, make computers do the work - don’t make humans tell the computer things the computer already knows - get rid of flab from the programming model (like quarkus does!) - measure the important metric, not the one that’s easy to measure