
Sign up to save your podcasts
Or


π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π 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: [email protected]
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/
π ABOUT THE EPISODE
In the 15th episode we met to discuss the matter of E2E (end-to-end) tests. DefinitelyΒ one of the most difficult types of testing which also has considerable benefits, next to a comparable list of drawbacks.
We decided that from this episode we'll aim to deliver shorter content, so that you can enjoy it more spontaneously π§, without scheduling a big block of time. Tell us if you like the new format π!
π TOPICS COVERED
π Learn about our opinions on E2E testing
π Get useful hints from people who did implement E2E tests
π Learn about the traps and caveats of E2E testing
π Learn how you might set this up in your organization
β TIMELINE
00:00:00 - Intro
00:01:15 - What is the "Test Pyramid"
00:03:13 - Defining E2E tests and hints for implementation
00:09:37 - Why should we invest in E2E tests
00:12:52 - Who should be responsible for E2E tests
00:19:18 - The length of the feedback loop
00:22:10 - 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: [email protected]
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/
π ABOUT THE EPISODE
In the 14th episode we met in our full squad to talk about our hands-on experiences of data consistency challenges.
Each of us has brought one detailed example from his career that challenged us to make the choice between strong and eventual consistency.
Did you have to make that decision? Or maybe you're about to make one? Listen to this episode to learn what we have done to align data consistency and service availability.
π TOPICS COVERED
π How to make security team arrive at the right property?
π How to make decisions based on multiple asynchronous sensors in home automation systems?Β
π How to present temporal inconsistencies to the end user?
β TIMELINE
00:01:17 - π Little warm up - about our vacations
00:08:10 - π Security system's data consistency
00:23:59 - π Smart home - decision making based on asynchronous inputs
00:31:44 - π² How eventual consistency affects the end-user experience
00:38:57 - ππΌ Dear listener, we need your help!
π€ 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: [email protected]
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/
From the publisher's feed
The IT podcast where Grzegorz Godlewski, Artur Wolny and Marek Urbanowicz, together with their guests, talk about topics related to the world of IT. We are looking for ways of doing things rightβ¦