40 Years Of Software Engineering Experience In 19 Minutes

preview_player
Показать описание
What lessons does over 40 years in software development teach you? When does software development become software engineering?

In this episode, software engineer and author Dave Farley uses his career to explore and list some of the key learnings that helped him in his career to build world-class software and great software development teams. Farley author of best-selling books “Continuous Delivery”, “Modern Software Engineering” and “Continuous Delivery Pipelines” explores software engineering and software development through the lens of his experience. So how do you become a software developer? How do you become a software engineer? Farley explains how it happened to him.

-

☀️ SUMMER COURSE SALE 20% ALL COURSES 🧑‍🎓

-

⭐ PATREON:

-

👕 T-SHIRTS:

A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!

🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery

-

BOOKS:

and NOW as an AUDIOBOOK available on iTunes, Amazon and Audible.

📖 "Continuous Delivery Pipelines" by Dave Farley

NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.

-

🖇 LINKS:

-

CHANNEL SPONSORS:

#softwareengineering #programmer
Рекомендации по теме
Комментарии
Автор

1. 1:27 We get to create tiny worlds inside our computers
2. 2:03 Build a mental model for how things REALLY work
3. 5:37 Always strive to write clear, tidy, well-structured, readable code
4. 6:54 Good design is well structured and navigable
5. 8:05 Abstraction is at the core of what we do
6. 8:14 Abstraction is risky without sound foundations
7. 8:21 Distributed programming is MUCH more difficult
8. 9:44 Automate or lookup the details, focus your skills elsewhere
9. 11:27 Automate repetitive tasks, especially if they are complicated
10. 12:24 Messages, events and asynchrony help tame distributed systems
11. 12:38 Understand the next layer down before abstracting
12. 13:25 Fast feedback via continuous integration is invaluable
13. 14:07 Test behaviour, not implementation
14. 14:34 XP (eXtreme Programming) works well for big projects, as well as small
15. 15:54 You have to de good at a lot of things build great software
16. 16:20 Continuous delivery works for VERY complex problems
17. 16:34 Software engineering needs software engineers
18. 17:41 Good software engineering depends on mechanical sympathy

hardi.stones
Автор

My story is similar. I started on a 48K ZX Spectrum behind the iron curtain at the time. I quickly filled the entire memory with code, and realized the need to switch to assembly, which allowed me to learn how the CPU worked. I was around 13, so didn't immediately have that much success with Z80 machine code. It was my uncle, an assistant professor, who brought his PC home. As soon as the borders opened to the West, we bought enough components to build a PC and I switched to C, Pascal, then C++. I also had a knowledgeable coworker early in my career who taught me about inheriting from public interfaces by overriding virtual methods, and I slowly became an architect, instead of just a smart coder. Unit tests and CI came later. I've always specialized in documents (PDF, image processing, DOCX, AI page segmentation). I'll have to read your book now.

cppguy
Автор

Two principles of abstraction that have guided me well in the last 30+ (cough) years:
1. Understand one layer above, and one layer below.
2. One problem that cannot be solved by abstraction is having too much abstraction (often due to a lack of understanding the required layers, see #1).

RonaldChmara
Автор

Similar story for myself. My uncle loaned me a ZX81 for a few weeks when I was 11 - later that year my parents got me an Amstrad CPC464 for christmas. I was immediately hooked on BASIC and learning Z80. Few years later I moved up to an Atari ST and started working with C and 68000. University at 17 - 4 years later left with a HND and Degree in CS. Its pretty amazing to think my 30 year career in computing actually stems from what many saw as a toy in the home computer boom. I owe so much to my parents for getting me that 8-bit box of discovery - without it my life would have been very different.

IanGratton
Автор

My Dad bought me a Zx Spectrum in 1983 when I was 6. I feed my family now thanks to my dev skills I learned way back then. Thanks Dad ❤

Fascinating video, thanks for this!

Etcher
Автор

Hey Dave. Just wanted to say that your book, Continuous Delivery, was the first thing I picked up 8 years ago when I started my move from traditional infrastructure/app support towards "build/release", which eventually became DevOps. Today, I have the privilege of leading a top-tier DevOps team, and the principals are as valid today as they were back then. I'm thrilled to see you're still out there teaching.

robertcowher
Автор

Great story, very much in line with my own. I started in depot repair with Data General Nova computers, learned assembly programming on paper tape editors and assemblers. Then progressed to a OSI Challenger 6502, again in assembly language... but I built it! I wrote a network bridge on my first PC Clone bridging a little endian minicomputer to little endian Novell networks in 1983, including my homebrew ethernet driver, . Users could transparently retrieve and store WordPerfect documents between environments. I settled into C, but over my 50 years programming, I've used many SQL systems, FoxPro, Delphi (object pascal), PHP and more Javascript that I care to remember. To this day in retirement, I still program in C/C++ and server-side PHP. Mainly as a hobby I wake every day with yet another new project or algorithm to fill my days.
Thanks for your story, good memories.

mt-qcqh
Автор

Apricots were the first PCs I used, writing FORTRAN applications for engineers. We had started with buying time on CDC mainframes in bureaus, then it was cheaper to have a PDP11/45 in house, and then going smaller again to the Apricot. It had the advantage of more RAM available to the program than other PC clones. The major lesson I learned was how to do useful work with very little RAM and "primitive" output devices. For example, we did earthquake analysis of nuclear power stations on non-linear soils on the PDP with just 392kB of RAM and a 20MB disk the size of a washing machine, and plotted 3d structures using hidden line algorithms on Tektronix screens and Calcomp paper plotters. Happy days!

PeterBeresford-hfiz
Автор

Hi there! I've been at this for over 40 years as well. I first learned assembly language from a radio station technician in the Arctic when I was a kid. Over time, I worked my way through most of the programming languages on x86 architecture, starting with the 8088. In the 1980s, I coded for the Swedish military (details declassified in 2022, but the content remains classified). They provided me with a cover job, so no one knew the full extent of what I was really doing. I've done extensive inline assembly for large corporations, including space applications. It’s been quite the journey! - I was hit by a massive stroke a year ago, and now I can only do music .. can't complain :)

larswillsen
Автор

That is some extraordinary experience compression algorithm! 20 million minutes of expertise compressed into 20.
Now i understand how HRs can demand for graduates with 24 years experience in software development.

orange-vlcybpd
Автор

Finding Continuous Delivery book im the library in 2013 was the moment that really changed my life. From that moment, i could easily name things that companies i work for, do wrong and i knew how to Fix it. This book gave me not only the knowledge, but also lots of courage

RobertGalewski
Автор

We had a similar kind of startup... I started poking around on BASIC in 1977 on a Model 1 TRS-80, then a VIC-20 in 1981, I had games out commercially in 1982 and a few decades of Embedded system Experience at companies here in Silicon Valley. I really like hearing those stories about the low-level assembly language all the way to the concurrent systems and RTOS. After 40 years you can look back on all of it like it was a blur and marvel at the speed of how systems evolved and we had to adapt to them. Good times, wouldn't want to change them for anything.

raymitchell
Автор

Same here, TI-99, Vic20, 64, Atari, Mac. Same Start, same Game. Interesting. Suffering from machine details brought me to write for middleware. First proprietary middleware like Realbasic, then Java, then Processing. Since then I feel no need to move on, because codes and libs that I wrote 20 years ago, compile still and run fine. What I learned: Make it cleaner, cleaner, cleaner. And: read, teach, learn, discuss, produce, all together brings you further. I you leave something of those 5 out, it slows your evolvement.

jensBendig
Автор

I, too, went from BASIC to 6502 assembly on an Apple ][ because I needed faster computing for a game! And I love the term "mechanical sympathy" to describe understanding how the underlying technology works.

daverooneyca
Автор

I concur with your final comments on LMAX. They were good times. Thanks for the video Dave

anotherchrissmith
Автор

Following a similar journey to yours, Dave. Learn the basics, get burnt with abstractions, learn to abstract well while exploring testing, now moving through XP-fueled coaching and consultancy to help other teams scale their efforts in CD/testing.

Alpheus
Автор

Thank you, Dave, for a good summary of a great life experience and important lessons. Ordered the book, eagerly awaiting the delivery.
My father purchased Amstrad Schneider CPC 464 in late 1980's, and learned from magazines to make quizzes e.g. capitals of the world - I was around 10 at the time, and mostly typed in the code 😊
Then came high-school, 486, Turbo Pascal and Dephi 1.0 on Windows 3.1 ❤

dexterBlanket
Автор

My first computer was also an ZX81 (also 1K) :)

youcasc
Автор

We started the same way. I wrote my first program on a ZX81 Sinclair exactly 40 years ago in the summer of 1984. I had the 16K extension :-)

However I had started a few months before that learning the BASIC language and writing programs on a piece of paper.
My dream job was to become an analyst programmer. I graduated as a software engineer in 1994 and have been a professional programmer since then.

amirnathoo
Автор

Wow. What an amazing video. Thank you very much. I am happy to see that YouTube can still produce content with this high quality.

baronvonherzenberger