Things that inspire us to craft better software

A plant and wavy lines behind it

Talks and videos that inspire us

The Three Laws of TDD (Featuring Kotlin) by Uncle Bob

In this talk, Uncle Bob describes the three laws of Test-Driven Development and demonstrates the discipline using the Kotlin language, followed by a question and answer round.

Trisha Gee

Reading Code Is Harder Than Writing It - SCL Conf 2019: Even those who promote software as a craft sometimes fall into the trap of often talking about writing clean code that people can read, yet not placing much emphasis on the skill of reading the code. In this talk, Trisha provides useful advice on how to learn and practice skillful code reading.
- Codurance

Becoming a better developer by using the SOLID design principles by Katerina Trajchevska

Katerina Trajchevska, the co-founder of Adara, the global developer network talks about SOLID design principles and how to write better code that is easier to maintain and understand

Testing and Refactoring Legacy Code by Sandro Mancuso

In this video, we take a piece of crappy Java code with no tests. Our objective is to write tests for it and then refactor to make it better. The code has the most common problems that much larger legacy applications have, like Singletons, static calls, and feature envy. It also has some design problems. Fixing that is quite hard, mainly when we need to write all the tests before we start the refactoring. Another rule: We cannot change production code if it is not covered by tests but quite often, we need to change the production code in order to be able to test it. How to solve this problem? Well, we hope to answer all these questions in this video.
- Sandro Mancuso

When To Use Microservices (And When Not To!) by Sam Newman & Martin Fowler

Upgrade your microservices knowledge by listening to a spirited conversation between two living legends: Sam Newman and Martin Fowler. The two touch upon the main reasons for using or not using microservices, and, if you decide to do use microservices, what else you should change along the way to fully benefit from the switch, plus much more.
- GOTO Conferences

Principles Of Microservices by Sam Newman

Microservices are small services with independent lifecycles that work together. There is an underlying tension in that definition - how independent can you be when you have to be part of a whole? In this talk/tutorial Newman presents the core seven principles that represent what makes microservices tick. After a brief introduction of what microservices are and why they are important, we'll spend the bulk of the time looking at the principles themselves: * Modelled Around Business Domain * Culture Of Automation * Hide Implementation Details * Decentralize All The Things! * Deploy Independently * Isolate Failure * Highly Observable In terms of learning outcomes, beginners will get a sense of what microservices are and what makes different, whereas more experienced practitioners will get an insight into practical advice into how to implement them.
- Devoxx

"Uncle" Bob Martin - "The Future of Programming"

How did our industry start, what paths did it take to get to where we are, and where is it going. What big problems did programmers encounter in the past? How were they solved? And how do those solutions impact our future?

What mistakes have we made as a profession; and how are we going to correct them. In this talk, Uncle Bob describes the history of software, from it’s beginnings in 1948 up through the current day; and then beyond. By looking at our past trajectory, we try to plot out where our profession is headed, and what challenges we’ll face along the way
- Paul Stringer's Mobile Tech

Agile Estimating by Mike Cohn

The first step in creating a useful plan is the ability to estimate reliably. In this session, Mike Cohn discusses various approaches to estimating including unit-less points and ideal time that dramatically improve a project’s chances of on-time completion.

Reasons & Ways to Improve Code Quality by Venkat Subramaniam (GOTO 2021)

As programmers we crank out code day in and day out. In the pressure to deliver faster and to keep up with change, it's easy to forget about code quality. Over time, we may not even realize how much the code has deteriorated except that we feel the pain moving forward, as with each line of code we touch gets harder and slower to change. In this video, we discuss reasons to maintain good quality code and ways in which we, each one of us, can be part of creating quality code.

Books that we recommend

In today's software development environment, we need broad knowledge along with an in-depth specialization. Reading and acquiring new knowledge can upskill people for today's environment of agility and DevOps

Know more >>