Épisodes

  • #023: Innovation vs. Expertise: Tech Decision Challenges
    Jul 14 2023

    📚 ABOUT THE EPISODE

    Software projects are filled with all these hard decisions. Deciding between making use of a known technology or pattern versus picking something entirely new is one of the most difficult and impactful ones. In this episode, Grzegorz Godlewski, Artur Wolny and Marek Urbanowicz discuss how they approach this particular type of decision. Tune in for valuable insights!

    📑 TOPICS COVERED

    👉 When we think it's good to go with the solutions we already know
    👉 What are the benefits of embracing the unknown
    👉 What are the factors you should take into account while making such decisions
    👉 Considering the macro, impact of the decision on your and other teams

    ⌚ TIMELINE

    00:00:00 - Intro
    00:01:24 - Examples of choices we had to make
    00:05:24 - What can drive the decision making process
    00:10:00 - Unknown as a possibility for learning
    00:13:59 - Proof of Concept implementations - a way to explore
    00:19:30 - When would we go for "the new" solution to a problem
    00:23:52 - When would we stay with "the known" solution to a problem
    00:27:04 - Wrap up

    🔗 LINKS FROM EPISODE

    https://twitter.com/GregBDavies/status/1144530496078123009

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    28 min
  • #022: Monorepos: The Good and Bad
    May 11 2023

    📚 ABOUT THE EPISODE

    Are you considering moving to Monorepos with your projects? In the 22th episode Grzegorz, Artur and Marek share their valueable opinions and experiences realted to working with these. Tune in to learn about the potential benefits and challenges of this approach.

    📑 TOPICS COVERED

    👉 We share subjective opinions and experiences from working with Monorepos in the JavaScript/TypeScript ecosystem
    👉 We talk about hidden complexity - when a "simplification" on one end results with higher complexity in other areas
    👉 We comment on the state of tooling for Monorepos specific in the JS/TS ecosystem

    ⌚ TIMELINE

    00:00:00 - Intro
    00:01:12 - Subjective opinions on Monorepos
    00:03:58 - Benefits and challenges of Monorepos
    00:26:20 - Recap and closing thoughts

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    30 min
  • #021: What went wrong with Microservices
    Mar 26 2023

    📚 ABOUT THE EPISODE

    In the 21th episode Grzegorz Godlewski and Artur Wolny share their negative experiences with implementing Microservices. Three examples of misuse of that useful pattern shows us that even the greatest idea can lead us down the blind alley, when we are narrow-minded about it.

    Listen and take conclusions from those lessons that we learned!

    📑 TOPICS COVERED

    👉 Impact of blindly following recommendations: costly premature optimisations.
    👉 Thing that might go wrong when you're focused too much on domain assignment of feature and too less on the app maintainability.
    👉 How microservice hype-trains and poor organisational decisions lead to project failure.

    ⌚ TIMELINE

    00:00:00 - Intro
    00:02:08 - Story #1: Blindly following recommendations.
    00:08:22 - Story #2: Too much domain, too little maintainability.
    00:14:20 - Story #3: Microservice hype-train.
    00:19:15 - Microservices or monolith? Benefits & drawbacks.
    00:34:46 - Outro

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    36 min
  • #020: Continuous Deployment
    Jan 19 2023

    📚 ABOUT THE EPISODE

    In the 20th episode of the main series Grzegorz Godlewski, Marek Urbanowicz and Artur Wolny discuss their experiences and preferences regarding the implementation of Continuous Deployment. With this episode we complete our micro-series focused on CI/CD implementation. We strongly believe that all code should hit production as soon as possible, as frequently as possible in a reliable, repeatable and automated manner.

    Tune in for experience and inspiration! 🎧

    📑 TOPICS COVERED

    👉 How implementing Continuous Delivery can benefit your team & product, optimizing costs and shortening the feedback loop
    👉 What it takes to have a successful CD implementation
    👉 Some tools/products which you might consider for your implementation

    ⌚ TIMELINE

    00:00:00 - Intro
    00:01:21 - How do we define Continuous Deployment
    00:05:20 - Benefits of Continuous Deployment
    00:13:21 - Challenges and requirements for CD implementation
    00:21:54 - Tools which you can use to build CD
    00:30:49 - Outro

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    32 min
  • #019: Benefits of Continuous Integration
    Dec 5 2022

    📚 ABOUT THE EPISODE

    In the 19th episode of the main series Grzegorz Godlewski, Marek Urbanowicz and Artur Wolny discuss their experiences and preferences regarding the implementation of Continuous Integration. We really encourage you to give this episode a listen, as we're sure that having a great CI implementation is key to launching products faster and with better developer experience!

    Tune in for experience and inspiration! 🎧

    📑 TOPICS COVERED

    👉 The common misconception about Continuous Integration
    👉 How implementing Continuous Integration can benefit your team & product
    👉 What it takes to have a successful CI implementation
    👉 Some tools/products which you might consider for your implementation

    ⌚ TIMELINE

    00:00:00 - Intro
    00:01:19 - How do we define Continuous Integration
    00:05:59 - The benefits of Continuous Integration
    00:16:20 - Challenges and requirements for CI
    00:23:36 - CI tools for pipelines (NodeJS)
    00:29:19 - Wrap up

    🔗 LINKS FROM THE EPISODE

    Continuous Delivery by Jez Humble and Dave Farley
    https://martinfowler.com/books/continuousDelivery.html

    Bulb light indicator
    https://en.wikipedia.org/wiki/Build_light_indicator

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    31 min
  • #018: Implementing background jobs
    Nov 16 2022

    📚 ABOUT THE EPISODE

    Welcome to the 18th episode of the main series!

    This time Grzegorz Godlewski and Marek Urbanowicz met up to discuss their experience and recommendations on implementing background jobs. Any system which is growing in scale, will need those at some point either to implement performance improvements (by putting some work into the background) or new business requirements (which are supposed to run in background).

    Tune in for insights on how this can be done! 🎧

    📑 TOPICS COVERED

    👉 How simple business analysis can help you in determining candidates for background jobs
    👉 What software architecture patterns come in handy while implementing them
    👉 What are the best practices for reliable implementations
    👉 Some tools/products which you might consider for your implementation

    ⌚ TIMELINE

    00:00 - Intro
    01:14 - How to identify candidates for background jobs
    08:28 - Employ the transactional outbox pattern
    11:53 - Dealing with state in background jobs
    15:29 - Scheduling and processing batched operations
    18:40 - Avoiding state with Event Carried State Transfer pattern
    21:14 - Silver bullets and golden hammers - the tooling
    28:08 - Emphasis on idempotency

    🔗 LINKS FROM THE EPISODE

    M. Fowler: What do you mean by “Event-Driven”?
    https://martinfowler.com/articles/201701-event-driven.html

    Transactional outbox pattern description
    https://microservices.io/patterns/data/transactional-outbox.html

    BullMQ
    https://docs.bullmq.io/

    RabbitMQ Delayed Message Plugin
    https://github.com/rabbitmq/rabbitmq-delayed-message-exchange

    Temporal:
    https://temporal.io/

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    30 min
  • #017: Why you should write Unit Tests
    Oct 25 2022

    📚 ABOUT THE EPISODE

    Welcome to the 17th episode of the main series!

    This time we reach the bottom of the Test Pyramid, focusing on the most common type of test: the Unit Test. As big fans of TDD (Test Driven Development) we happily discuss our experiences and approaches. We cover proven benefits which you could use as support material in introducing the practice of Unit Testing and TDD in your organization or day-to-day work.

    Tune in for new stream of inspiration! 🎧

    📑 TOPICS COVERED

    👉 How unit testing can be beneficial for individuals and organizations
    👉 The do's and don'ts of unit testing
    👉 How to write testble code
    👉 Some mocking libraries for NodeJS which you might want to try out

    ⌚ TIMELINE

    00:00 - Intro
    01:35 - To be clear: how do we define Unit Tests
    05:02 - Sound reasons for why we write Unit Tests
    12:38 - To mock, or not to mock?
    20:58 - Writing testable code
    27:02 - Wrap up

    🔗 LINKS FROM THE EPISODE

    ts-mockito mocking library
    https://www.npmjs.com/package/@johanblumenberg/ts-mockito

    jest-mock-extended mocking library
    https://www.npmjs.com/package/jest-mock-extended

    inversify library for dependency injection
    https://www.npmjs.com/package/inversify

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    28 min
  • #016: Tips on integration testing
    Oct 4 2022

    📚 ABOUT THE EPISODE

    Welcome to the 16th episode! We continue our step-down and share with you our understanding of integration tests and best practices we've learned when implementing them. In the IT world full of APIs, SaaS and databases, checking how your code collaborate with third parties is a must have.

    Want to know our way of integration testing? Just press play 🎧

    📑 TOPICS COVERED

    👉 Learn about our opinions on integration testing
    👉 What NodeJS community is doing wrong in integration tests
    👉 Get useful hints from people who implement integration tests on a daily basis
    👉 Learn about the pros of having your code collaboration tested
    👉 Learn when to favour integration testing over E2E or unit testing

    ⌚ TIMELINE

    00:00:00 - Intro
    00:00:56 - What is our definition of integration testing?
    00:06:50 - Why do we need integration tests?
    00:14:06 - When do we favour integration tests over E2E tests?
    00:21:37 - What tools we use for integration testing in Node?
    00:25:44 - How to make your integration tests robust and solid stable?
    00:29:15 - Wrap up

    🤝 CONTACT US / COLLABORATION

    If you:
    - want to send us your valuable feedback
    - you would like to appear on the show as a guest
    - you would like to help out the show to grow
    - you would like to sponsor the show

    Then please contact us via: podcast@artistryofcode.com
    You can also check out our website: https://artistryofcode.com

    😍 FOLLOW US ON SOCIAL MEDIA

    Facebook: https://www.facebook.com/ArtistryOfCode
    Twitter: https://twitter.com/ArtistryOfCode
    LinkedIn: https://www.linkedin.com/company/artistry-of-code
    Reddit: https://www.reddit.com/r/ArtistryOfCode/

    Grzegorz Godlewski
    LinkedIn: https://www.linkedin.com/in/ggodlewski/
    Twitter: https://twitter.com/GGodlewski

    Marek Urbanowicz
    LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
    Twitter: https://twitter.com/UrbanowiczDev

    Artur Wolny
    LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

    Voir plus Voir moins
    30 min