No video

Is This Why You’re Bad At Programming? • Dave Farley • GOTO 2023

  Рет қаралды 11,551

GOTO Conferences

GOTO Conferences

Күн бұрын

We’re so pleased to announce that we’ve teamed up with Dave Farley, author of “Continuous Delivery” and frequent GOTO Conferences speaker, for a monthly video series featuring ideas about continuous delivery, DevOps, test-driven development, BDD, software engineering and software development in general.
Find plenty more from Dave on his ‪@ContinuousDelivery‬ channel.
Dave Farley - Continuous Delivery & DevOps Pioneer, Award-winning Author, Founder & Director of Continuous Delivery Ltd.
ABSTRACT
What are the bad programming habits that make bad software? What are the common excuses that programmers make for writing software that is worse than it needs to be? What are the common software developer mistakes that people make?
In this episode, Dave Farley describes the common excuses that developers make for doing a worse job and describes his software engineering approach to how we can debunk mythology and lazy thinking in software. So if you are a junior software developer or any software developer who strives to do a great job, take a look and see if you have any of these bad habits, and listen to Dave’s advice on how best to avoid them, or maybe show where Dave is wrong.
CD TRAINING COURSES
If you want to learn Continuous Delivery and DevOps skills, check out Dave Farley's courses
bit.ly/DFTraining
RECOMMENDED BOOKS & LINKS
You can grab Dave Farley's new book 'Continuous Delivery Pipelines' here:
leanpub.com/cd...
David Farley • Modern Software Engineering • amzn.to/3GI468M
Dave Farley & Jez Humble • Continuous Delivery • amzn.to/3ocIHwd
Forsgren, Humble & Kim • Accelerate • amzn.to/367RI5o
/ gotocon
/ goto-
/ gotoconferences
#GOTOxDaveFarley #TDD #Programming #SoftwareArchitecture #CD #ContinuousIntegration #Testing #UnitTesting #UnitTest #DevOps #DaveFarley #GOTO #GOTOcon #ContinuousDelivery #Accelerate #Complexity #ProgrammingTutorial
DAVE'S LINKS
www.continuous...
/ davefarley77
www.davefarley.net
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotopia.tech
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
www.youtube.co...

Пікірлер: 29
@pnwsnewton
@pnwsnewton Жыл бұрын
7 Excuses 1. You can't do serious work without feature branching 7:13 2. My manager says I don't have time to do 'x' 9:22 3 & 4 . Writing tests is a waste of time, My code is good so I don't need tests 12:50 5. You can't do code review with continuous integration 14:38 6. These ideas may work for simple web apps but not for my system 16:55 7. We've always done it this way and it works for us 18:22
@Wineblood
@Wineblood Жыл бұрын
I haven't watched the video yet, but are points 3 and/or 4 basically "tests good therefore TDD good"?
@Tony-dp1rl
@Tony-dp1rl Жыл бұрын
Is there a repo containing applications or libraries Dave wrote that make use of the techniques he talks about, so we can check them out? Nothing speaks to this sort of thing more than actual code.
@nickdolan8068
@nickdolan8068 Жыл бұрын
30 Years ago, I worked in a 10 man Financial Team writing C code for Banks, our "trunk" and CI was a set of floppy disks passed around at the end of each day for everyone to commit to the floppy and then after you committed / pulled you build the code to make sure it compiled .... seems we've not moved far or are returning to old ways :-)
@manojtutika7461
@manojtutika7461 Жыл бұрын
I'm a CTO with 9 people team, I would have shared this video with my team if it wasn't for the dumb click bait title. :/
@Rcls01
@Rcls01 Жыл бұрын
Unless it's a greenfield project, I don't imagine ever bumping into a project that uses continuous delivery. Somehow organizations and people believe feature branches and pull requests are the only way to do things. Add in some manual QA testing that takes half a day and you already have a cycle times of multiple days at best.
@vanivari359
@vanivari359 Жыл бұрын
worse: many young developers can't imagine working without them. One reason is that they love to develop on their own (instead of using at least some kind of "pair programming" to get early feedback, but also because... you know...procrastination), but don't trust their abilities (not without reason) so they demand code reviews of giant pull requests which is kinda worthless because it's hard to see anything, it takes forever and it is too late to make significant changes.
@7th_CAV_Trooper
@7th_CAV_Trooper Жыл бұрын
it's due to lack of trust.
@deang5622
@deang5622 Жыл бұрын
Waterfall is generally not a good methodology but I have seen instances where it does work and one of those was a $4.3 billion project. You have to spend a lot of time in the requirements definition phase.
@Walruz1000
@Walruz1000 Жыл бұрын
What is wrong with shortlived feature branches? I can't really see a huge difference between only using trunk and using features that live for a day or two? I also find the PR mechanism good for building ephemeral environments which are then automatically torn down when the branch merges to trunk. I thought this was a nice approach and we still deploy changes in day to production and integrate code with trunk regularly. If I regularly rebase my feature branch against trunk am I not in theory working on a branch that is being continously integrated?
@atlasstic
@atlasstic Жыл бұрын
No company claim to do waterfall because waterfall is not a framework or methodology. It is a consequence of working in a certain way and while not everyone has the same phases, everyone that work with expert areas and not generalists do use a phase cycle way of working. This is true in all companies that have project based organizations and all companies that have ideation that is based on scientific research rather than throwing shit on the wall and see what sticks :) The problem with phase based work that people call waterfall was the length of the cycles and the isolation of each phase. If you change that then phase cycles are no better or worse than any other ways of working. In fact most companies that I have worked with that claim to be Agile are doing phase based cycles with Scrum rituals and roles.
@deang5622
@deang5622 Жыл бұрын
I disagree. Waterfall is a methodology with defined phases. However, what tends to happen is companies recognise the shortcomings of it and they change it and one way they change it is by having a number of cycles with a delivery at the end of each cycle. Yes, it's starting to look more agile like, but it is not agile.
@atlasstic
@atlasstic Жыл бұрын
@@deang5622 Would you mind pointing me to where you find that methodology described? Isolation and "throwing things over the wall" type of handovers are bad in any methodology or framework. Scrum suffer from self-isolation and detachment when used the wrong way for example. If you shorten down a phase based way of working to the same length as a Scrum sprint, or PI plan, and collaborate instead of isolate each phase... there is not much differentiating it from Agile frameworks.
@kyuss0x1
@kyuss0x1 Жыл бұрын
What if the feature I am implementing will take more than a day to complete should I push my crappy code into master branch just to pretend we do continuous integration ?
@Mr7Shane
@Mr7Shane Жыл бұрын
less click bait thanks
@RFalhar
@RFalhar Жыл бұрын
"It is always a chance that any one of us will end up working for a dumb manager." I would say that it is rarer to work for a non-dumb manager. In the few teams I worked in, only small few were what I would consider non-dumb.
@Constantialismus
@Constantialismus Жыл бұрын
There is a typo at the beginning of the video: "proffesional software developer"
@justwanderin847
@justwanderin847 Жыл бұрын
Your banking systems and ATM's were most likely developed decades ago and used waterfall. Agile is just mini-waterfalls.
@EchoMeToo
@EchoMeToo Жыл бұрын
I like Dave but I think his presentations are getting too long, not to the point. I started watching because of the title: "Is This Why You’re Bad At Programming?". Then at 1:00 he introduces the topic: "7 common excuses..."....Not what I expected. Then he starts talking about waterfall and I am loosing my interest in what Dave wants to say. At minute 4 I still can't say what this video is about. When do we learn the promised subject? Time is at premium and I want the information fast and concise. It is like those classes with hundreds and thousands of lines of code. Unfortunately as much as I appreciate Dave and any YT for the efforts this style of presentations no longer fits my need. Thumbs up for the effort though!
@EchoMeToo
@EchoMeToo Жыл бұрын
@@hunahpuyamamoto3964 Because Dave is a great guy.
@filipetome6738
@filipetome6738 Жыл бұрын
I'm sure this video is filled with sensible common place advice. There was a point in my life where Dave Farley helped me understand some key concepts in building software. But this click bait title playing to insecurity is just obscene. There's no excuse for such a buzzfeed-esque approach to content for professionals. I won't be giving mr Farley my attention again.
@donaldstrubler3870
@donaldstrubler3870 Жыл бұрын
Understood. Consider though, that moderate thinkers understand the theme itself and appreciate the "nature" of the contents he's presenting. If one sucked at programming they wouldn't be able to fully appreciate the wisdom in this video. Therefore the title is paradoxical either way. Excellent people don't want to suck. Not that they don't want to suck entirely, rather they become excellent by not sucking in specific life domains successively. I don't want to suck on documentation, and I'll gladly watch a "why your documentation sucks" video. It's the contemporary language, sadly.
@deang5622
@deang5622 Жыл бұрын
Up to you whether you give him your attention again, but I see that is naive and immature behaviour, because you don't know if you will benefit from future videos he produces. You might. So you are in fact doing yourself a disservice. If all or the majority of his previous videos were rubbish then you might be justified in not watching future videos because you've observed a pattern and you can use that pattern to make a prediction about future videos - which is that they too will be rubbish. You have clearly benefited from watching videos produced by him in the past. And that benefit is obtained at an individual video level. So you can't identify now today whether you will benefit from future videos from him because they haven't been produced yet. Your freedom to do what you want, but you are supposed to be an educated professional and so you should be intelligent enough to exercise good judgment. But I don't see it.
@YefoAkira
@YefoAkira Жыл бұрын
"pull requests were invented for Open Source projects" ... yeah!!!!!
@ben.aka.bigben
@ben.aka.bigben Жыл бұрын
Good contents with a bad title
@wjrasmussen666
@wjrasmussen666 Жыл бұрын
where do I get the dev ops report. I googled but there are a number of them but I think it isn't the one you want. Only 77 pages.
@arcfide
@arcfide Жыл бұрын
Dave, I love your take on CI, and I've seen it applied very successfully. However, I've seen teams complain that some members of the team are so productive that the system changes so rapidly that other members of the team can't possibly read all of the commit logs coming in and keep track of all the changes. They want to halt development in order to discuss the changes that have occurred, claiming they can't integrate their changes since "by the time I read the commit logs and get up-to-date on all of the things happening in trunk, it's changed again!" Do you have any thoughts on this? What do you do when you're working with a rapidly evolving system and some people feel that CI is impossible because the pace of changes makes it impossible for them to integrate any changes themselves? This is assuming that automated testing and even pair programming is already established.
@stephanweinberger
@stephanweinberger Жыл бұрын
That sounds more like group of lone warriors than a team. Limiting branch lifetime to one day (point 1 on the list) and pair programming (point 5) could be approaches to solve (or at least mitigate) this.
@arcfide
@arcfide Жыл бұрын
@@stephanweinberger Both of these practices were already mostly happening on the teams I'm thinking of. The problem was still that even with rotating pairs that kept all of the pair programmers rotated around, some pairs would always outperform some of the others so much that the other pairs would complain of not being able to keep up. I suppose one approach would have been to limit integrations to no *more* than once per day, which sometimes was done, but that still resulted in the problem of some teams producing so many changes that it took "too long" for the other teams to be able to grok the changes to begin their own integration. If the pacing of changes were reduced as much as I think some people wanted, the project never would have had a chance of getting done at all. I guess the core problem I'm wondering about is how you deal with situations in which the disparity in productivity is so high in some teams that some of the members, even with pair programming, don't feel that they can keep up, without turning the entire project into a slow crawl for the sake of the least productive members of a team? Is this just a matter of needing to rebalance teams to not have this? Or, is there some way to deal with this disparity and eventually eliminate it?
The 3 Types of Unit Test in TDD • Dave Farley • GOTO 2022
17:30
GOTO Conferences
Рет қаралды 8 М.
Enterprise Architecture Vs. Solution Architecture
20:30
Enterprise Architecture Radio
Рет қаралды 6 М.
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
MrBeast
Рет қаралды 164 МЛН
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 6 МЛН
Get 10 Mega Boxes OR 60 Starr Drops!!
01:39
Brawl Stars
Рет қаралды 18 МЛН
Why Your Software Team Can't Scale • Dave Farley • GOTO 2023
18:56
GOTO Conferences
Рет қаралды 7 М.
The Difference Between Continuous Delivery & Continuous Deployment
17:59
Continuous Delivery
Рет қаралды 21 М.
A Guide To Managing Technical Teams • Dave Farley • GOTO 2023
17:51
When Test Driven Development Goes Wrong
21:11
Continuous Delivery
Рет қаралды 72 М.
What Software Architecture Should Look Like • Dave Farley • GOTO 2022
19:26
Why Does Scrum Make Programmers HATE Coding?
16:14
Thriving Technologist
Рет қаралды 515 М.
Improving Observability and Testing In Production
19:21
Continuous Delivery
Рет қаралды 13 М.
Object Oriented Programming is Good | Prime Reacts
31:30
ThePrimeTime
Рет қаралды 303 М.
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
MrBeast
Рет қаралды 164 МЛН