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 and having fun with in doing so. Software, architecture, soft skills, teamwork (and other, crazy, buzzwords).
๐ 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/
๐ 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/
๐ 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/
๐ 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/
๐ 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/
๐ 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/
๐ 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/
๐ 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/
๐ 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: 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/
๐ 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: 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/
๐ ABOUT THE EPISODE
In the 13th episode of the main series, we hosted a friend of ours: Jarosลaw Wiลniewski, who's working as Technical Leader and Architect at Viessmann R&D Center.
Together with Jarek, we talked about "Why long-term projects are really awesome". We did it by sharing valuable experiences, lessons learned and actionable tips you might want to pick up!
๐ TOPICS COVERED
๐ The key lessons learned from developing the same product for 8 years
๐ How iterative code refactoring could ease your customer's cognitive shock
๐ How to communicate UI/UX changes to the customer's to avoid the backlash
๐ Deciding between evolution and revolution in a software product
๐ How working longer with a product helps in building professional seniority and open your path to a leadership role
๐ What are the pros and cons of working long with the same product
๐ What helps to keep great developers on board
๐ค THE EPISODE'S GUEST
Jarosลaw Wiลniewski
Technical Leader, Architect at Viessmann R&D Center
Personal web page: https://appsisle.com/
LinkedIn: https://www.linkedin.com/in/softdeveloper/
๐ค 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/
๐ ABOUT THE EPISODE
In the 12th episode of the main series, we hosted Pierre de Wulf - the co-founder and one of the core developers of ScarpingBee.
Tune in to learn about Pierre, his path to running a successful business and the challenges he had to face along the way. In this episode, we also cover the technical challenges of building & operating developer-oriented software products. Together with us, you'll see that a "programmer's life" comes in different forms and flavours!
๐ TOPICS COVERED
๐ How programmers could use their day-to-day job to find a business idea
๐ Advantages and disadvantages of being a dev and building a product (both for marketing and building)
๐ Getting involved in the community you want to help now
๐ How ScrapingBee is built internally
๐ Why developers are the coolest testers in the world :)
๐ How Pierre approaches architecture and scalability challenges
๐ What techniques and practices are applied to help a small team to build their product
โ TIMELINE
00:00:00 - Intro
00:01:02 - Welcome to 12. episode - meet our guest - Pierre de Wulf
00:10:59 - How developers can find ideas for their own products?
00:16:10 - How to make business out of the open-source projects?
00:18:21 - Is it worth to target developers as potential customers?
00:19:40 - What it takes to stop being the developer and start an own business?
00:25:00 - How to distribute responsibilities - on the example of ScrapingBee team.
00:26:00 - How to use the power of developers community to kickstart your product?
00:30:14 - What problem does ScrapingBee solve?
00:32:41 - What (technical) challenges Pierre needed to solve to make ScrapingBee work?00:38:58 - How ScrapingBee is secured against misusing of its API?
00:42:50 - What's under the hood of ScrapingBee API?
00:47:24 - What are the good development practices that are cultivated in ScrapingBee?
000:50:56 - What programming languages have been used to create ScrapingBee and why those?
00:54:44 - What programming principles are applied to ScrapingBee API codebase?
00:57:12 - Pierre's "words of wisdom" for our listeners
01:03:11 - Pierre's recommendations on valuable resources to learn from
01:04:30 - How to reach Pierre and find more about ScrapingBee
๐ค THE EPISODE'S GUEST
Pierre de WulfCo-Founder of ScrapingBee
You can find more about the project here: https://www.scrapingbee.com/
Twitter: https://twitter.com/PierreDeWulf
Mail: pierre@scrapingbee.com
๐ค CONTACT US / COLLABORATION
If you:
Then please contact us via: podcast@artistryofcode.com
You can also check out our website: https://artistryofcode.com
๐ FOLLOW US ON SOCIAL MEDIA
Podcast Social Accounts
Facebook: https://www.facebook.com/ArtistryOfCode
Twitter: https://twitter.com/ArtistryOfCode
LinkedIn: https://www.linkedi
๐ ABOUT THE EPISODE
In the 11th episode of the main series, Grzegorz, Marek and Artur talk about their experience with live coding during job interviews for programming positions. How did these look like and if they enjoyed it at all.
Tune in to hear about the thoughts and opinions on the matter, along with ideas on how to make it a pleasant experience for everyone involved. If you're hiring a lot, that's a must-listen :)
๐ TOPICS COVERED๐ How each of the hosts experienced live-coding exercises - what was great or bad about it
๐ Based on the bad experiences, how can this be done better
๐ How can this exercise be helpful or harmful for employer branding
๐ What are the traps waiting for the interviewers and candidates alike
๐ Tips on preparing for such an exercise
๐ Should live-coding exercise be part of all interviews
โ TIMELINE00:00:00 - Intro
00:01:34 - Highlights from the last two weeks
00:06:52 - Marek's experience with live-coding during interviews
00:11:50 - Artur's experience with live-coding during interviews
00:15:55 - Grzegorz's experience with live-coding during interviews
00:21:32 - What information about the candidate does a live-coding exercise provide?
00:32:34 - Tips for doing the live-coding exercise right
00:35:38 - The importance of doing it right for employer branding
00:37:08 - Retrospective summary - how do we feel about live-coding after this conversation
00:47:20 - 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: podcast@artistryofcode.com
You can also check out our website: https://artistryofcode.com
๐ FOLLOW US ON SOCIAL MEDIA
Podcast Social Accounts
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
This episode follows up on the subject of challenges in asynchronous communication which was started in episode #009 ๐งต. Join us for another journey into the depths of this domain!
TOPICS COVERED
In episode #010, in which we dug deeper into the ground of Asynchronous Communication, talking about:
๐ข How we can deal with "out of order" processing? Is it the responsibility of the transport layer only?
๐ฌ How to ensure the message delivery? What strategies are used by message brokers to give us some guarantees? How does using those strategies affects a producer and a consumer code?
โฑ Using Asynchronous Communication in long-running business processes and how to make it blend into the synchronous APIs environment?
That's not all the concerns one needs to consider when implementing Asynchronous Communication. We intend to follow up on this in future!
TIMELINE00:00:00 - Intro
00:01:37 - Our last 2 weeks
00:07:37 - The problem of ordering in async communication
00:10:06 - Issues with ordering comming from the producer
00:11:20 - Competing consumers as source of ordering problems
00:14:03 - Tackling the concurrency issues on the entity level
00:22:13 - Ordering in queues vs event streams
00:25:55 - Ensuring delivery
00:36:05 - Idempotency in the asynchronous communication
00:42:26 - Long running processes
00:51:08 - Importance of requestId/correlationId
00:53:15 - Wrap up
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/
Welcome to episode #009. Today's topic is the Challenges of asynchronous communication.
Do you have enough of waiting for HTTP responses to finish? Your application times out on a day-to-day basis? Check out the 9th episode to see if async communication patterns can ease, or maybe aggravate your pain?
In this episode, you'll learn:
๐ How to determine if using asynchronous communication is the right choice
๐ What are the most popular patterns of asynchronous communication
๐ What are the aspects worth considering when picking a pattern for your use case
๐ What to focus on while implementing the async communication pattern in the application
๐ How to handle processing issues during message processing
BTW. Something new is coming to the Artistry of Code podcast: This time we showed our faces with a video recording!
In the fifth bonus episode of the Artistry of Code Snippets series, Grzegorz shares his experience in achieving the "Sustainable Pace of development".
Tune in for an interesting story and some good tips on how to implement this practice for yourself or the team you're working with. The steps are simple, and the return of investment is quite fast. What to expect from it? Happy and performant teams, better balance, more quality outcomes, less overburdening and exhaustion, nurtured performance and creativity.
There's much more to that - start from this episode, and experience it yourself!
Links to resources mentioned in episode:
Link to Grzegorz's article:
[To Be Added]
Another episode is out live! In the #008 weโve taken a look at the latest 26th volume of ThoughtWorksโ Technology Radar. Each of us brought a few points of his choice from the report, making a highlights list of things that we find especially interesting, valuable or important in our daily work.
If you donโt know what the Technology Radar report is - itโs fine, because weโve made an effort for our listeners to understand its assumptions and how to read it.
Read the full Technology Radar report on the Thought Works website: https://www.thoughtworks.com/radar
Interested in AMQP Prosumer - the OS project from Grzegorz?
You can find it in the NPM registry:
https://www.npmjs.com/package/amqp-prosumer
Welcome to the โJames Bondโ of AoC episodes - #007. We used this special opportunity to host a special guest - Nicolas De Boose, Tech Lead from Urbantz. Nicolas is a friendly, warm and open-minded person and a true professional at the same time, which makes him a perfect fit for the position.ย
In our conversation we revealed a few highlights from his career, we got to know what drives him for development, but mostly we focused on his love for Clean Architecture and his experience in applying that idea in a real-life, business environment.
Links and resourcesBlog of Nicolas
https://www.mechantblog.com/
Nicolas on Twitter
https://twitter.com/nicodeboose
In this episode, Artur, Marek and Grzegorz share their views and experiences with different forms of so-called "knowledge sharing" on levels of: organizations, teams and individuals.
๐ก Some of the ideas can be implemented by you in a matter of hours, some of them require more time and alignment with the surrounding organization. But all of them are worth giving them a try!
๐ฌ We'd like to encourage you to implement such initiatives as we consider them as great means for both: professional development and ensuring that your projects or products succeed.
๐ If you learned something or got inspired by this episode, feel free to share it with others, leave us a comment under the episode!
๐ฃ And if you're new to the show, consider subscribing to our channels over YouTube, Apple Podcasts, Spotify or any podcasting app of your choice. This way we'll stay in touch and you won't miss any updates!
Enjoy the show!
In the third episode of the Snippet series, Marek shares his 4 tips on the professional development of software developers. If you want to grow as a developer - this episode is for you!
Do you have any other tips to help others to grow? Share them in the comments on our social media profiles!
Make sure you've subscribed to our podcast, don't hesitate to share this episode with others and tell us what you think about the content we deliver.
Facebook: https://facebook.com/ArtistryOfCode
Twitter: https://twitter.com/ArtistryOfCode
LinkedIn: https://www.linkedin.com/company/artistry-of-code/
Another episode released! In #005 weโve tried to answer the question โWho is the QA anyway?โ of delivered software. Is it a manual tester, Quality Assurance Engineer, or someone else?
Weโve analyzed the typical process of Agile software development to find an answer. Do you have your opinion already? Press the โplayโ button and compare it to our findings!
In the third episode of the Snippet series, Grzegorz shares his tips on implementing the "Learn, Apply, Repeat" mantra. If you were looking for ways on how to structure your personal development - you will find this episode really useful!
The full article can be found here:
https://www.linkedin.com/pulse/learn-apply-repeat-grzegorz-godlewski
Make sure you've subscribed to our podcast, don't hesitate to share this episode with others and tell us what you think about the content we deliver.
Episode #004 is already here! This time we wanted to share with you the selection of tools that might help you forget about the routine tasks and focus on things that really matter (and fortunately machines canโt do them yet ๐ ) - solving business problems.
Weโve brought our daily helping tools that can:
We encourage you to try out our selection of tools and weโre looking forward to your proposals that you consider handy in the daily work.
List of contents:
00:00 ๐ผ Intro
00:47 ๐ก What NodeJS tools Marek found lately?
02:52 ๐ What occupied Artur that much?
04:37 ๐ What Grzegorz is preparing to?
05:37 ๐
What tools can help us deliver the code of good quality?
22:04 ๐ค How proper tools can help us with collaboration?
38:50 ๐ What tools can be handy in the testing procedure?
48:54 ๐ค What can assist us in our daily work?
55:20 ๐ Will you share your favourite toolkit with us?
Tools mentioned in the episode:
General usage:
โญ SonarQube: https://www.sonarqube.org/
โญ JetBrains IDEs: https://www.jetbrains.com/products/
โญ JetBrain Code With Me: https://www.jetbrains.com/code-with-me/
โญ docker-compose: https://docs.docker.com/compose/
Visualization:
โญ Excalidraw: https://excalidraw.com/
โญ Miro: https://miro.com/
โญ Figma: https://www.figma.com/
โญ Web Sequence Diagrams: https://www.websequencediagrams.com/
โญ Obsidian: https://obsidian.md/
โญ mermaid.js: https://mermaid-js.github.io/mermaid/#/
For Node:
โญ eslint: https://eslint.org/
โญ prettier: https://prettier.io/
โญ jest: https://github.com/facebook/jest
โญ npm-check: https://github.com/dylang/npm-check
โญ stryker: https://github.com/stryker-mutator/stryker-js
For PHP:
โญ humbug: https://github.com/humbug/humbug
โญ PHP CodeSniffer: https://github.com/squizlabs/PHP_CodeSniffer
For testing:
โญ MockServer: https://mock-server.com/
โญ Gatling: https://gatling.io/
โญ ToxiProxy: https://github.com/Shopify/toxiproxy
โญ Blockade: https://blockade.readthedocs.io/en/latest/ (deprecated)
In the second episode of The Snippet Series Artur is giving his insights into the topic of proper sizing "unit" for Unit Testing.
You can find answers to those questions in the episode.
00:00 Intro ๐ผ
00:28 How it all started? ๐
01:22 How to classify Unit Testing? ๐จ๐ปโ๐ซ
02:07 What is the "unit" for Unit Testing? ๐งฉ
03:41 Is every "unit" worth being tested? ๐ฎ
06:15 What if the "unit" is too big? ๐
07:42 Summary ๐
Make sure you've subscribed to our podcast, don't hesitate to share this episode with others and tell us what you think about the content we deliver.
In the third episode, Artur, Marek and Grzegorz share their approach towards refactoring of code.
Answers to these and other questions can be found inside.
Make sure you subscribe to the show in your podcasting app! You can also drop us a review :)
In the first episode of our SNIPPETS series, which we deliver to you with a promise of all episodes being not longer than 10 minutes, Marek talks about migrating the code to TypeScript, the ways to do that right and safe, but also explaining why it is a business decision, not only a technical one.
In this episode you will hear about:
๐ผ 00:00 Intro and series introduction
๐ 00:30 TypeScript was not great at the beginning
๐ 01:27 Personal disclaimer about Marek and TypeScript
๐ 02:00 TypeScript and business :moneybag:
๐ 02:30 How to justify the cost of the migration?
๐ 03:03 Why itโs worth to await a promise? ๐
๐ 04:30 What are the not obvious benefits of having types in your code?
๐ 05:35 How did the AirBnb benefit from implementing TypeScript in their organisation? ๐
๐ 05:57 Big picture tips and tricks on coding part of this process ๐ป
๐ 08:12 Sad information about TS and quality of the code ๐ญ
๐ 08:29 Outro ๐
How do you find the SNIPPETS series? We would like to hear your feedback!
Tell us what you think, so that we can prepare more interesting content for you to enjoy.
Hear you next time!
Links mentioned in the episode:
https://twitter.com/remohjansen/status/1093815648566894594
https://marekurbanowicz.medium.com/migrating-large-codebase-to-typescript-do-it-right-from-the-beginning-7109a80b2a3d
Visit us on:
- Facebook: https://www.facebook.com/ArtistryOfCode
- Twitter: https://twitter.com/ArtistryOfCode
In episode #002 weโve brought up the topic that some love, others hate, but all of us need to take care of eventually. Errors, defects, mistakes, bugs... Itโs all about them, or rather how to get rid of them and make it stay this way.
In this episode you will hear about:
๐ 00:00 Intro ๐ผ
๐ 00:30 How grateful we are for your feedback and attention ๐ค๐ฅฐ
๐ 01:20 What makes Artur excited about his new job? ๐ฅ
๐ 04:35 How effectively Marek is performing full text search? ๐ต๏ธโโ๏ธ
๐ 06:50 News from Grzegorz and comments on a recent disaster in OpenSource ๐ง
๐ 10:56 Whatโs a bug anyway? ๐
๐ 12:35 Where do bugs come from? ๐๐ณ
๐ 22:35 What does it mean to fix the bug? ๐จโ๐ง
๐ 34:08 If fixing bugs can be fun? ๐ฅณ
๐ 36:13 How to get the most out of the buggy situation? ๐
๐ 40:04 What to do and what to avoid to keep their number under control? ๐ฎโโ๏ธ
๐ 49:19 How precious is your feedback? ๐ฐ
We would like to hear your feedback! Tell us what you think, so that we can prepare more interesting content for you to enjoy. Hear you next time!
Links mentioned in the episode:
Visit us on:
Who we are, what we do, where we are from.
In the first episode: Artur, Marek and Grzegorz talk about:
We would like to hear your feedback! Tell us what you think, so that we can prepare more interesting content for you to enjoy. Hear you next time!
Visit us on:
- Facebook: https://www.facebook.com/ArtistryOfCode
- Twitter: https://twitter.com/ArtistryOfCode