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).
#023: Innovation vs. Expertise: Tech Decision Challenges
📚 ABOUT THE EPISODESoftware 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⌚ TIMELINE00:00:00 - Intro00:01:24 - Examples of choices we had to make00:05:24 - What can drive the decision making process00:10:00 - Unknown as a possibility for learning00:13:59 - Proof of Concept implementations - a way to explore00:19:30 - When would we go for "the new" solution to a problem00:23:52 - When would we stay with "the known" solution to a problem00:27:04 - Wrap up🔗 LINKS FROM EPISODEhttps://twitter.com/GregBDavies/status/1144530496078123009🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
7/14/2023 • 28 minutes, 8 seconds
#022: Monorepos: The Good and Bad
📚 ABOUT THE EPISODEAre you considering moving to Monorepos with your projects? In the 22th episode Grzegorz, Artur and Marek share their valuable opinions and experiences related 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⌚ TIMELINE00:00:00 - Intro00:01:12 - Subjective opinions on Monorepos00:03:58 - Benefits and challenges of Monorepos00:26:20 - Recap and closing thoughts🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
5/11/2023 • 30 minutes, 28 seconds
#021: What went wrong with Microservices
📚 ABOUT THE EPISODEIn 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. ⌚ TIMELINE00:00:00 - Intro00: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 / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
3/26/2023 • 36 minutes, 16 seconds
#020: Continuous Deployment
📚 ABOUT THE EPISODEIn 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⌚ TIMELINE00:00:00 - Intro00:01:21 - How do we define Continuous Deployment00:05:20 - Benefits of Continuous Deployment00:13:21 - Challenges and requirements for CD implementation00:21:54 - Tools which you can use to build CD 00:30:49 - Outro🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
1/19/2023 • 31 minutes, 32 seconds
#019: Benefits of Continuous Integration
📚 ABOUT THE EPISODEIn 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⌚ TIMELINE00:00:00 - Intro00:01:19 - How do we define Continuous Integration00:05:59 - The benefits of Continuous Integration00:16:20 - Challenges and requirements for CI00:23:36 - CI tools for pipelines (NodeJS)00:29:19 - Wrap up🔗 LINKS FROM THE EPISODEContinuous Delivery by Jez Humble and Dave Farleyhttps://martinfowler.com/books/continuousDelivery.htmlBulb light indicatorhttps://en.wikipedia.org/wiki/Build_light_indicator🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
12/5/2022 • 30 minutes, 32 seconds
#018: Implementing background jobs
📚 ABOUT THE EPISODEWelcome 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⌚ TIMELINE00:00 - Intro01:14 - How to identify candidates for background jobs08:28 - Employ the transactional outbox pattern11:53 - Dealing with state in background jobs15:29 - Scheduling and processing batched operations18:40 - Avoiding state with Event Carried State Transfer pattern21:14 - Silver bullets and golden hammers - the tooling28:08 - Emphasis on idempotency🔗 LINKS FROM THE EPISODEM. Fowler: What do you mean by “Event-Driven”?https://martinfowler.com/articles/201701-event-driven.htmlTransactional outbox pattern descriptionhttps://microservices.io/patterns/data/transactional-outbox.htmlBullMQhttps://docs.bullmq.io/RabbitMQ Delayed Message Pluginhttps://github.com/rabbitmq/rabbitmq-delayed-message-exchangeTemporal:https://temporal.io/🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
11/16/2022 • 29 minutes, 52 seconds
#017: Why you should write Unit Tests
📚 ABOUT THE EPISODEWelcome 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⌚ TIMELINE00:00 - Intro01:35 - To be clear: how do we define Unit Tests05:02 - Sound reasons for why we write Unit Tests12:38 - To mock, or not to mock?20:58 - Writing testable code27:02 - Wrap up🔗 LINKS FROM THE EPISODEts-mockito mocking libraryhttps://www.npmjs.com/package/@johanblumenberg/ts-mockitojest-mock-extended mocking libraryhttps://www.npmjs.com/package/jest-mock-extendedinversify library for dependency injectionhttps://www.npmjs.com/package/inversify🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
10/25/2022 • 28 minutes, 15 seconds
#016: Tips on integration testing
📚 ABOUT THE EPISODEWelcome 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⌚ TIMELINE00:00:00 - Intro00: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 / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
10/4/2022 • 30 minutes, 13 seconds
#015: Leveraging E2E tests in your project
📚 ABOUT THE EPISODEIn 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⌚ TIMELINE00:00:00 - Intro00:01:15 - What is the "Test Pyramid"00:03:13 - Defining E2E tests and hints for implementation00:09:37 - Why should we invest in E2E tests00:12:52 - Who should be responsible for E2E tests00:19:18 - The length of the feedback loop00:22:10 - Wrap up🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
9/19/2022 • 23 minutes, 7 seconds
#014: About data and state consistency in software
📚 ABOUT THE EPISODEIn 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?⌚ TIMELINE00:01:17 - 🏖 Little warm up - about our vacations00:08:10 - 🚔 Security system's data consistency00:23:59 - 🏠 Smart home - decision making based on asynchronous inputs00:31:44 - 📲 How eventual consistency affects the end-user experience00:38:57 - 👋🏼 Dear listener, we need your help!🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
9/5/2022 • 39 minutes, 43 seconds
#013: Why long term projects are awesome with Jarosław Wiśniewski from Viessmann R&D Center
📚 ABOUT THE EPISODEIn 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 GUESTJarosław WiśniewskiTechnical Leader, Architect at Viessmann R&D CenterPersonal web page: https://appsisle.com/LinkedIn: https://www.linkedin.com/in/softdeveloper/🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
8/22/2022 • 53 minutes, 11 seconds
#012: From Software Developer to Business Owner with Pierre de Wulf from ScrapingBee
📚 ABOUT THE EPISODEIn 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🤝 THE EPISODE'S GUESTPierre de WulfCo-Founder of ScrapingBeeYou can find more about the project here: https://www.scrapingbee.com/Twitter: https://twitter.com/PierreDeWulfMail: pierre@scrapingbee.com🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
6/20/2022 • 1 hour, 6 minutes, 38 seconds
#011: Thoughts and opinions on Live-Coding during job interviews for programmers
📚 ABOUT THE EPISODEIn 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 - Intro00:01:34 - Highlights from the last two weeks00:06:52 - Marek's experience with live-coding during interviews00:11:50 - Artur's experience with live-coding during interviews00:15:55 - Grzegorz's experience with live-coding during interviews00:21:32 - What information about the candidate does a live-coding exercise provide?00:32:34 - Tips for doing the live-coding exercise right00:35:38 - The importance of doing it right for employer branding00:37:08 - Retrospective summary - how do we feel about live-coding after this conversation00:47:20 - Dear listener, we need your help :)🤝 CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.com You can also check out our website: https://artistryofcode.com😍 FOLLOW US ON SOCIAL MEDIAPodcast Social AccountsFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewski Marek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDev Artur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
6/6/2022 • 48 minutes, 47 seconds
#010: Out of order and ensuring delivery in the asynchronous communication
ABOUT THE EPISODEThis 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 COVEREDIn 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 - Intro00:01:37 - Our last 2 weeks00:07:37 - The problem of ordering in async communication00:10:06 - Issues with ordering comming from the producer00:11:20 - Competing consumers as source of ordering problems00:14:03 - Tackling the concurrency issues on the entity level00:22:13 - Ordering in queues vs event streams00:25:55 - Ensuring delivery00:36:05 - Idempotency in the asynchronous communication00:42:26 - Long running processes00:51:08 - Importance of requestId/correlationId00:53:15 - Wrap upCONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.comFOLLOW US ON SOCIAL MEDIAPodcast Social AccountsFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
5/23/2022 • 56 minutes, 5 seconds
#009: Challenges of asynchronous communication
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 processingBTW. Something new is coming to the Artistry of Code podcast: This time we showed our faces with a video recording!CONTACT US / COLLABORATIONIf 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 showThen please contact us via: podcast@artistryofcode.comYou can also check out our website: https://artistryofcode.comFOLLOW US ON SOCIAL MEDIAPodcast Social AccountsFacebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-codeReddit: https://www.reddit.com/r/ArtistryOfCode/Grzegorz GodlewskiLinkedIn: https://www.linkedin.com/in/ggodlewski/Twitter: https://twitter.com/GGodlewskiMarek UrbanowiczLinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/Twitter: https://twitter.com/UrbanowiczDevArtur WolnyLinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/
5/9/2022 • 57 minutes, 1 second
Snippet #005: Sustainable Development Pace
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:https://agilemanifesto.org/https://agilemanifesto.org/principles.htmlhttps://kanbanize.com/agile/project-management/principleshttp://www.extremeprogramming.org/rules.htmlhttp://www.extremeprogramming.org/rules/overtime.htmlhttp://www.extremeprogramming.org/rules/velocity.htmlLink to Grzegorz's article:[To Be Added]
5/3/2022 • 8 minutes, 15 seconds
#008: Highlights from Technology Radar 2022
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
4/25/2022 • 1 hour, 5 minutes, 18 seconds
#007: Making Clean Architecture happen with Nicolas De Boose
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 Nicolashttps://www.mechantblog.com/Nicolas on Twitterhttps://twitter.com/nicodeboose
4/10/2022 • 57 minutes, 50 seconds
#006: Forms of "Knowledge Sharing"
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!
3/28/2022 • 44 minutes, 30 seconds
Snippet #004: 4 tips for developer's professional development
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/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCodeLinkedIn: https://www.linkedin.com/company/artistry-of-code/
3/21/2022 • 5 minutes, 2 seconds
#005: Who is the QA anyway?
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!
3/14/2022 • 51 minutes, 13 seconds
Snippet #003: Learn, Apply, Repeat
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-godlewskiMake 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.
3/7/2022 • 9 minutes, 51 seconds
#004: Modern developer's toolkit
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: keep an eye on the code quality and style, help you write the code or can be useful when testing or deploying it;collaborate with other developers;visualize the problem to solve and the solution from a higher perspective.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 🎼 Intro00: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)
2/28/2022 • 56 minutes, 9 seconds
Snippet #002: The quick guide on sizing the "unit" for Unit Testing
In the second episode of The Snippet Series Artur is giving his insights into the topic of proper sizing "unit" for Unit Testing.How to make Unit Testing well-grained? Is every piece of code worth having separate test suite? What to do when the size of your test files overwhelm you? 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.
2/21/2022 • 8 minutes, 22 seconds
#003: Approaching Refactoring
In the third episode, Artur, Marek and Grzegorz share their approach towards refactoring of code.How to be well prepared?What to focus on?What to avoid while performing refactoring?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 :)
2/14/2022 • 33 minutes, 57 seconds
Snippet #001: Before you start your epic migration to TypeScript
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/1093815648566894594https://marekurbanowicz.medium.com/migrating-large-codebase-to-typescript-do-it-right-from-the-beginning-7109a80b2a3dVisit us on:- Facebook: https://www.facebook.com/ArtistryOfCode- Twitter: https://twitter.com/ArtistryOfCode#typescript #javascript #nodejs #SoftwareDevelopment #SoftwareEngineering #programming #software
2/7/2022 • 8 minutes, 53 seconds
#002: Things you didn’t know about solving BUGS in software
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:https://oss.redis.com/redisearch/https://snyk.io/blog/open-source-npm-packages-colors-faker/Visit us on:Facebook: https://www.facebook.com/ArtistryOfCodeTwitter: https://twitter.com/ArtistryOfCode#bugs #bug #debugging #qos #QualityOfSoftware #SoftwareDevelopment #SoftwareEngineering #programming #software #defects #opportunities
1/31/2022 • 50 minutes, 26 seconds
#001: Hello world & New Year's resolutions
Who we are, what we do, where we are from.In the first episode: Artur, Marek and Grzegorz talk about:- measuring the value of software delivery,- "managing the time" or rather, "managing ourselves in time",- handling our egos at work,- introducing "Programmers Workout" to the weekly plan.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#NewYearResolutions #future #development #SofwareDevelopment #SoftwareEngineering