Dave Farley Profile Banner
Dave Farley Profile
Dave Farley

@davefarley77

33,358
Followers
149
Following
2,589
Media
18,949
Statuses

Software Engineer, Consultant & Author Latest YouTube Video: Support Me On Patreon:

Joined December 2010
Don't wanna be here? Send us removal request.
@davefarley77
Dave Farley
2 years
Scare a software engineer in 5 words or less 👇
2K
212
2K
@davefarley77
Dave Farley
2 years
“Code is like humour. When you have to explain it, it’s bad.” -Cory House
4
174
692
@davefarley77
Dave Farley
1 year
Microservices are maybe not what you think they are, so here's a #Thread to describe them... 1/14
25
205
641
@davefarley77
Dave Farley
2 years
Look what arrived last week 🏆 Thanks again for all your support on the Continuous Delivery channel!
Tweet media one
Tweet media two
39
13
583
@davefarley77
Dave Farley
2 years
The ability to change software easily, safely and with confidence is a marker of its quality.
11
121
583
@davefarley77
Dave Farley
2 years
Software metrics are for the team to see their progress - not for others to critique their performance.
14
91
545
@davefarley77
Dave Farley
1 year
My recipe for Continuous Delivery (a thread)... 1/14
6
89
488
@davefarley77
Dave Farley
2 years
Here are a few thoughts on things I wish I knew when I was first a tech lead... a thread 1/7
11
133
471
@davefarley77
Dave Farley
1 year
Agile isn't dead, but it is widely misunderstood and more unusual than most people think. a #Thread 1/12
12
118
461
@davefarley77
Dave Farley
4 years
Why hasn’t TDD taken over the world? Anyone have any ideas? 🤷‍♂️
327
115
441
@davefarley77
Dave Farley
3 years
📚 BIG NEWS! 📚 My upcoming book is available for preorder NOW! 🚨 Get 35% OFF when you use this link and the code MODERNSWENG ➡️ Helping you to think about your work more effectively and improve the quality of your applications AND your work life!
Tweet media one
29
68
423
@davefarley77
Dave Farley
5 years
Yes, but to be clear, for exploratory testing, not regression testing. Let's use Humans for what they are good at: Fuzzy pattern matching, intelligent analysis. Let's use machines for what they are good at: Fast repeatable results for 10's, or 100's, of thousands of tests.
@e4developer
Bartosz Jedrzejewski
5 years
World expert on continuous delivery @davefarley77 recognising manual testing as an integral part of the pipeline #bitrconf
Tweet media one
0
13
33
6
183
403
@davefarley77
Dave Farley
1 year
What is the most important thing that I have learned in my career as a software developer? Here's a #Thread 1/18
15
126
402
@davefarley77
Dave Farley
1 year
I confess that I am not a big fan of "The Test Pyramid" so here's a #Thread on what I think is a better focus for your automated testing strategy... 1/14
21
78
374
@davefarley77
Dave Farley
4 years
What is the machine you used to write your first ever bit of code? Do you remember? 👇
1K
50
363
@davefarley77
Dave Farley
1 year
Excellent blog post on Trunk Based Development in preference to Feature Branching here: "When you have a team, or teams, however, working on a project together, feature branching creates problems"
17
103
352
@davefarley77
Dave Farley
2 years
Unit Testing or Acceptance Testing? Actually you need both for the best test-strategy. a thread... 1/12
12
63
343
@davefarley77
Dave Farley
2 years
If you can improve just one thing in your software development, make it getting faster feedback.
13
82
323
@davefarley77
Dave Farley
1 year
I think that an average team can produce excellent software with the right approach. What do you think?
100
14
311
@davefarley77
Dave Farley
11 months
TDD is a talent amplifier. It makes bad developers better and good developers great.
24
62
300
@davefarley77
Dave Farley
2 years
💯 A professional cook doesn't ask for permission to clean their tools, before moving on to the next dish. Refactoring is the same. We should not ask permission to do a professional job!!
@abel_soares
Abel Soares
2 years
@raimeyuu @allenholub @davefarley77 @MichalBartyzel I don’t see any need for them. Yesterday I was implementing a user story when I found that the ci pipeline needs upgrade. I upgraded it. Then I found that one of the pipeline packages was a private package from my team that also needs upgrade, I upgrade it and while there
1
0
16
11
59
290
@davefarley77
Dave Farley
1 year
“Programming is the immediate act of producing code. Software engineering is the set of policies, practices, and tools that are necessary to make that code useful for as long as it needs to be used and allowing collaboration across a team.” - Titus Winters
6
74
294
@davefarley77
Dave Farley
1 year
I'm delighted by how positively my "Modern Software Engineering" book has been received - and it is now being taken on by several Universities as a recommended text 🙌🏻. NEW out as Audiobook - 📖 Kindle and paperback
Tweet media one
16
24
286
@davefarley77
Dave Farley
2 years
In software, when something is painful, the way to reduce the pain is to do it more frequently, not less.
22
84
294
@davefarley77
Dave Farley
7 months
I recently talked about User Stories on my YouTube channel, and got asked by several people about how I would deal with "Back End Stories", so here is a thread User stories for "Back End" vs User stories for "Front End" a #Thread 1/14
11
61
287
@davefarley77
Dave Farley
8 months
I think that Continuous Integration, and the disciplines that it forces on us to achieve it, is probably the most profound idea in SW dev practice. So here's a #Thread to explain why I think that this is about much more than semantics or personal preference. 1/15
5
86
275
@davefarley77
Dave Farley
4 years
What is a book that changed your professional career forever? Let me know 👇
211
50
269
@davefarley77
Dave Farley
2 years
A few thoughts on the properties of good automated tests (Hint TDD encourages these properties more than after-the-code-unit testing): A Thread. 1/9
7
89
268
@davefarley77
Dave Farley
4 years
Can you believe it is 10 years since my book “Continuous Delivery” was published?! Check out my Blog Post and enter a free draw to get a free signed first edition copy of the book.
13
41
242
@davefarley77
Dave Farley
2 years
“An expert is a person who has made all the mistakes that can be made in a very narrow field.” - Niels Bohr.
8
41
233
@davefarley77
Dave Farley
11 months
Dealing with "Coupling" is one of the things that makes SW a genuinely difficult activity. But I think Coupling is at least as big a deal for SW dev teams as it is for the software itself. Here's a #Thread 1/14
11
45
232
@davefarley77
Dave Farley
1 year
WELCOME TO THE ENGINEERING ROOM 🗣️ Kent Beck On The FIRST Testing Frameworks, TDD, Waterfall & MORE | The Engineering Room Ep. 16 ➡️ Thank you for joining me @KentBeck ! #SoftwareEngineering #SoftwareDevelopment
Tweet media one
4
45
222
@davefarley77
Dave Farley
1 year
NOW AVAILABLE ❗ Kelsey Hightower On Kubernetes & Cloud Computing | The Engineering Room Ep. 13 ➡️ Thanks for joining me @kelseyhightower ! Let us know what you think about the topics discussed in the pod 👇 #SoftwareEngineering #SoftwareDevelopment
Tweet media one
3
39
222
@davefarley77
Dave Farley
3 years
You can have "E2E Testing Strategies" or "Microservices" but not both. Microservices are, by definition, "independently deployable" so you don't get to test them together before you deploy, because if you do you now have a distributed monolith - which is fine, but not m-service
@serroba
Sebastian Machuca
3 years
@samnewman , I have read a lot about microservices but one topic I haven't seen much is end-to-end tests approaches for when start to adopt eventual consistent architectures. Your testing strategy has to evolve accordingly, adopting new expectations, but I wonder about strategies
2
0
2
29
47
222
@davefarley77
Dave Farley
1 year
"First make the change easy (warning: this might be hard), then make the easy change." - @KentBeck
6
52
212
@davefarley77
Dave Farley
1 year
Excellent article on the value of "Trunk Based Development" from @trisha_gee , well I would say it is "excellent" because it says I am right 🤣🤣 ...but thanks Trish 😁😎
11
42
205
@davefarley77
Dave Farley
2 years
Manual Regression Testing is slow, expensive, low quality, and a poor use of people’s time. Let’s use computers for what they are good at, accurate repetition. Automate all regression testing!
17
46
207
@davefarley77
Dave Farley
2 years
It is worth emphasising that branching by feature is really the antithesis of continuous integration, and all of our advice on how to make it work is only about ensuring that the pain isn’t too horrible come merge time.
14
67
203
@davefarley77
Dave Farley
6 years
Just had an idea. If we send an asynch message, the system is in a "super-position of states". As far as the sender is concerned the change, implicit in the message, has both occurred and has not yet occurred. It amused me anyway, physics is one of my nerdisms ;-)
13
46
198
@davefarley77
Dave Farley
2 years
AVOID. CODE. OWNERSHIP.
28
31
200
@davefarley77
Dave Farley
1 year
“The function of good software is to make the complex appear to be simple” - Grady Booch.
6
34
200
@davefarley77
Dave Farley
2 months
After years of trying to improve their software development approach with processes like SAFe, Walmart eventually achieved agility by instead focusing on engineering problems, and fixing them using the techniques of CICD. Thanks to @BryanFinster . 📽️ ➡️
11
41
201
@davefarley77
Dave Farley
4 years
I think code reviews are good, but pair-programming is better and pair-programming combined with TDD, acceptance tests and Deployment Pipelines is best of all 😎
@jhumelsine
Jim Humelsine
4 years
@davefarley77 - I'm reading "Continuous Delivery". I don't see code reviews mentioned, but I haven't completed the book. I did a search and checked the index and didn't find anything. What's your opinion on manual code reviews?
1
0
1
6
45
196
@davefarley77
Dave Farley
2 years
Continuous Integration means little, or no branching. Instead we continuously make small changes to Trunk (Master). If branches exist at all, they are tiny and short-lived - for a day at most. Get my CI Top Tips here:
9
53
195
@davefarley77
Dave Farley
1 year
150,000 SUBSCRIBERS ON YOUTUBE 🤩 A milestone I've been working towards before the end of the year! Mission accomplished. I'll be celebrating in Australia with some nice Australian red wine tonight! 🍷 #ContinuousDelivery
18
6
195
@davefarley77
Dave Farley
2 years
One of the few things that I can be absolutely definitive about is the definition of a "Deployment Pipeline", because I defined it. So here is a short thread that answers the question “What is a Deployment Pipeline". 1/9
7
61
193
@davefarley77
Dave Farley
1 year
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.” - Eric S. Raymond.
8
39
189
@davefarley77
Dave Farley
1 year
📢 New Engineering Room clip! @KentBeck On AGILE vs WATERFALL ➡️ #waterfall #agile
Tweet media one
11
47
187
@davefarley77
Dave Farley
3 years
I am currently writing a book, on SW engineering. I thought that I would write the same app in Angular and in tech that was available in 1996 (Java, JS, HTML, CSS). So far the code from the 1990's looks like about 1/4 of the code from the 2020's to to the same thing!!?
@iterex
Tim Mackinnon
3 years
@davefarley77 I’m thinking more of languages and tool chains with ridiculous numbers of keywords and concepts vs fundamental simple building blocks you use to build your own abstractions and complimentary tools
5
1
8
26
33
188
@davefarley77
Dave Farley
5 months
It seems to me that "which do you prefer" is the wrong measure. Which one results in the better code in the shortest time would be a better measure and my vote is for PP (no "extra" review)
@housecor
Cory House
5 months
Out of 4,000+ replies: 77% prefer coding alone over pairing. 81% prefer having code reviews. Poll:
Tweet media one
23
3
76
44
25
188
@davefarley77
Dave Farley
3 years
The answer to the question 'what makes software development difficult?' is simple... It's people.
16
29
188
@davefarley77
Dave Farley
1 year
The data says working in small teams is one of the keys to success, so what gets in the way of small autonomous teams?
103
9
179
@davefarley77
Dave Farley
3 years
Git Flow Is A Bad Idea ➡️ #softwaredevelopment #cicd
Tweet media one
9
50
183
@davefarley77
Dave Farley
2 years
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook. 😂
2
45
180
@davefarley77
Dave Farley
2 months
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook 😂
4
35
174
@davefarley77
Dave Farley
2 years
What's your favourite software engineering quote? 👇
240
26
172
@davefarley77
Dave Farley
5 months
The survivor bias argument is pernicious. The other version I like is that when Ignaz Semmelweis promoted the idea that surgeons should wash their hands, the surgeons complained because *some* patients survived without the need to waste time washing. TDD = handwashing for code.
@thinkfoo
Dave H
5 months
I've seen plenty of successful projects with no unit tests
Tweet media one
14
25
130
4
39
171
@davefarley77
Dave Farley
3 years
What's your number one rule for writing clean code? 👇
168
46
170
@davefarley77
Dave Farley
1 year
This Sunday, welcoming to the Engineering Room... Kent Beck. Sunday 26th 2pm (UK). An insightful chat with one of the forefathers of our industry about the ideas that have shaped how we see modern day software engineering.
Tweet media one
5
25
171
@davefarley77
Dave Farley
1 year
What's the best way to notice poor software at first glance? 👀
229
17
166
@davefarley77
Dave Farley
1 year
I think that if I am to pick one thing, one pice of advice, it is this: ***Work in Small Steps*** 3/18
1
38
161
@davefarley77
Dave Farley
2 years
I just came across this fantastic resource from the guys at @mob__mentality It's an organised collection of links and information to stuff that can help you in your work.
2
44
152
@davefarley77
Dave Farley
1 year
If you work on an "agile team" and it is not working well, then to be agile in any real sense of the word, YOU MUST CHANGE IT, otherwise you aren't being agile at all. 7/12
5
30
152
@davefarley77
Dave Farley
6 months
Software development speed, matters, we want to create software quickly and efficiently, and the assumption that this comes at the expense of high-quality software or high-end software development is simply a mistake.
10
34
151
@davefarley77
Dave Farley
2 years
Just passed 20k followers on Twitter 😯 Thank you! 😎
9
3
148
@davefarley77
Dave Farley
3 years
💡 Always remember... EVERYONE IS A JUNIOR AT SOMETHING! Keep learning. It's OK to say 'I don't know'.
6
28
147
@davefarley77
Dave Farley
4 years
There is a lot of interesting stuff in this article about Amazon's CD experience. For example: "Microservices in pre-production environments typically call the production endpoint of any services owned by another team"
4
50
145
@davefarley77
Dave Farley
5 years
Yes, I am not really a big fan of the idea of Monoliths vs Microservice though it is very common. The real issue is managing coupling appropriately. It is important at *all* scales, in all architectures and technologies. Separation-of-Concerns is a fundamentally good idea!
@markburgess_osl
Mark Burgess
5 years
Yes, as I've been demonstrating formally, a connected service mesh is just a monolith on a larger scale.
12
50
153
8
37
144
@davefarley77
Dave Farley
5 months
If pair programming was such a bad idea, why do so few teams that practise it go back to working without it? 🤷‍♂️
30
15
142
@davefarley77
Dave Farley
1 year
What would be your advice to somebody that is about to be promoted into a team lead role? 💬 (I'll be using some of these pieces of advice for a video!)
139
16
144
@davefarley77
Dave Farley
2 years
"I Hate Agile!" | @allenholub On Why He Thinks Agile And Scrum Are Broken ➡️ Check out this 8 minute clip from our recent Engineering Room episode together! 🎬 #agile #softwareengineering
Tweet media one
4
28
141
@davefarley77
Dave Farley
2 years
100,000 subscribers! Thank you!
Tweet media one
13
5
140
@davefarley77
Dave Farley
3 years
In #SoftwareDevelopment , we spend too much time obsessing about tools and not enough time thinking about what we are actually aiming to achieve. Can focusing on “behaviour” help us to take more ownership of the problems we are trying to solve?
20
25
133
@davefarley77
Dave Farley
2 years
Revealing the first guest on The Engineering Room... The fascinating @martinfowler ! An hours chat with a giant of our industry. 📅 Available from SUNDAY THE 5th DECEMBER 2pm (UK) ➡️
Tweet media one
4
28
135
@davefarley77
Dave Farley
1 year
"Modern Software Engineering gets it right and describes the ways skilled practitioners engineer software today." "There are lots of books that will tell you how to follow a particular practice; this book is different." 📚 Grab your copy ➡️
Tweet media one
7
8
133
@davefarley77
Dave Farley
3 years
My NEW BOOK is number 1 in Amazon's software engineering chart... DESPITE IT ONLY BEING ON PREORDER! 😱 Pre-order from Amazon HERE ➡️ OR 🚨 Get 35% OFF when you use this link and the code MODERNSWENG ➡️
Tweet media one
14
17
134
@davefarley77
Dave Farley
2 years
Have you got your copy yet? 📚 'Modern Software Engineering' OUT NOW AMAZON 🔗 INFORMIT 🔗 Think about your work more effectively, manage it more successfully. #softwareengineering #softwaredevelopment
Tweet media one
11
25
132
@davefarley77
Dave Farley
2 years
Exactly 2 years from when I created the CD YouTube channel... I've just hit 4,000,000 total views 🤯 Thanks for the support so far.
Tweet media one
8
2
131
@davefarley77
Dave Farley
6 years
One interesting behaviour that I have seen with teams using #ContinuousDelivery with VERY high levels of test automation, is the move to use code as config rather than text files. By this I mean config written in a full programming language, with all its advantages, and tested.
@springrod
Rod Johnson
6 years
Delivery and infrastructure should be programmable using core development skills and practices. They're powerful. The work of Turing, Hopper, Dijkstra and so many other greats led to modern programming languages. Let's not ignore it and type ever more YAML.
6
32
84
13
63
132
@davefarley77
Dave Farley
5 years
Just as a matter of interest, when did #ContinuousDelivery become CI/CD? Continuous Delivery is MUCH more than deployment automation. (It actually requires a broader scope than DevOps too, but don’t get me started on that!) 😁
10
61
128
@davefarley77
Dave Farley
1 month
Most software job interviews include a session where the applicant is quizzed on details of the programming language in use by the team. But does skill with your programming language really matter? #Thread 1/12
9
26
129
@davefarley77
Dave Farley
5 years
Agreed! The fundamentals don't change. I think that quite a lot of this idea of us being a fast-moving industry is guff! The ephemeral stuff changes, the stuff that you can learn in a few weeks of use, the rest stays the same. </GrumpyOldManMode>
11
34
127
@davefarley77
Dave Farley
2 months
"Semantic Diffusion" is everywhere and why this matters... a #Thread 1/19
7
54
125
@davefarley77
Dave Farley
3 years
💯💯I am convinced that a lot of people have never seen software done well.
8
14
124
@davefarley77
Dave Farley
6 months
Why hasn't TDD taken over the world? That's what I'm discussing tomorrow, 7pm (UK) on the CD Channel.
42
14
124
@davefarley77
Dave Farley
3 months
Continuous Delivery specifically and Agile development in general is primarily about optimising our work so that we can make progress in small steps, and so better understanding our progress after each small step, but what does this mean for Software Architecture? 1/14 #Thread
2
25
125
@davefarley77
Dave Farley
6 months
One of the common pushbacks I get about learning TDD, is that people like me who teach it use overly simple examples in code, there are several reasons for this, and some of them are VERY good reasons... "In defence of Coding KATAs" a #Thread 1/20
10
27
123
@davefarley77
Dave Farley
11 months
“It’s really complex to make something simple.” - Jack Dorsey
7
15
123
@davefarley77
Dave Farley
1 year
Working incrementally is vital to doing a great job. Complex systems evolve through a series of many small steps.
7
20
121
@davefarley77
Dave Farley
2 years
TOP 5 TIPS FOR TDD Last night's video reminded me that there are a lot of good developers out there still making simple mistakes when it comes to #TDD . Below are my tips for success and why it WILL work for you. A THREAD 🧵🪡 #SoftwareDevelopment #SoftwareEngineering
3
31
119
@davefarley77
Dave Farley
1 year
TDD applies a pressure to create code that is objectively “higher quality". This is irrespective of the talent or experience of the software developer.
6
21
117
@davefarley77
Dave Farley
2 years
Perhaps the most important role of the Team Leader is to create a learning culture and a safe environment in which colleagues can share ideas, and where we can all safely make mistakes and learn from them. 7/7
7
11
118
@davefarley77
Dave Farley
2 years
The most important practice for continuous integration to work properly is frequent check-ins to trunk or mainline. You should be checking in your code at least a couple of times a day.
4
39
118
@davefarley77
Dave Farley
2 years
I quite like @martinfowler 's joke: "You either change the company that you work in, or you change the company that you work in" 😉
@dipasqualew
William Di Pasquale
2 years
@J_D_Luke @davefarley77 I agree! But I also believe that a healthy culture is something we can build day by day, and that we are not doomed to keep working in environments of low trusts. Hard to do but good leadership can fix that
1
0
3
5
22
115
@davefarley77
Dave Farley
1 year
So if you build your microservice, but before you release it into production, you need to test it with the current version of all the other services, it *isn't a microservice* it's something else. 10/14
2
24
116
@davefarley77
Dave Farley
2 years
If it hurts, do it more frequently, and bring the pain forward...
6
19
115
@davefarley77
Dave Farley
7 years
I quite like this In study of over 4k projects teams with 5 people out perform teams of 20 by factor of nearly 4:1
@samnewman
Sam Newman
7 years
OK braintrust - are there any studies out there that you trust that look at optimum team size for software development?
10
5
2
0
101
114
@davefarley77
Dave Farley
2 years
What are your TOP 3 #software books RANKED? 1️⃣. 2️⃣. 3️⃣.
47
18
115
@davefarley77
Dave Farley
2 years
What's the biggest red flag when applying for a new job? 🚩👇
161
25
115
@davefarley77
Dave Farley
2 years
📅 THIS SUNDAY @allenholub and I talk about AGILE, amongst other topics, in the latest instalment of The Engineering Room! 🔔 Subscribe and turn on notifications to never miss an upload.
Tweet media one
6
16
114