List

Rough to Fine: Programming Lessons from Woodworking

Rough to Fine: Programming Lessons from Woodworking

by Mark Simoneau

Rough to Fine: Programming Lessons from Woodworking, presented by Mark Simoneau at RailsConf 2017, draws parallels between woodworking and software development, emphasizing the craftsmanship inherent in both fields. The talk begins with Simoneau sharing his background as a remote developer and his burgeoning interest in woodworking, framing the craft as a valuable metaphor for development practices.

Key points discussed include:

- Safety in Craftsmanship: Emphasizing the importance of safety, both immediate and long-term, in woodworking. Simoneau relates this to developer health, urging investment in ergonomic tools and fostering good habits to mitigate risks such as RSI and vision problems.

- Repeatability in Processes: The use of repeatability to enhance speed and consistency is highlighted through the use of jigs and measurement strategies in woodworking. The analogy connects to software development practices like using generators in Rails to streamline project setups.

- Understanding and Improving Tools: Simoneau discusses the significance of knowing one’s tools and maintaining them, illustrating this with experiences from woodworking where fighting faulty equipment hindered progress. He encourages developers to regularly refine their development environments.

- Tackling Known Problems: The speaker stresses that addressing known issues is more productive than fearfully contemplating all potential problems. He shares a personal anecdote about facing fears of making mistakes while building a table, concluding that a known flaw is manageable, while uncertainties can paralyze progress.

- Project-Driven Learning: The necessity of having a specific project to encourage learning and expertise development is asserted. Simoneau illustrates this point by sharing his journey of building a table, which grounded his woodworking skills.

In conclusion, the presentation outlines several key takeaways for developers:

- Invest in safety tools and cultivate good habits to ensure long-term health.

- Search for ways to achieve repeatability in processes for greater efficiency.

- Focus on resolving known problems rather than worrying about potential issues.

- Maintain tools and systems to enhance work effectiveness.
- Finally, consider a project-based approach to learning new skills or technologies.

Simoneau's insights encourage a mindset that appreciates craftsmanship, whether in woodworking or software development, urging the audience to observe or participate in crafts that foster continuous improvement.

RailsConf 2017: Rough to Fine: Programming Lessons from Woodworking by Mark Simoneau

Woodworking has experienced quite a renaissance as of late, and a very popular style involves using power tools for rough work and hand tools for detail and precision work. Using both defines each woodworker's speed and ability to produce beautiful/functional pieces. The same can be true of developers. Automation, convention, powerful IDEs, generators and libraries can make each developer go from nothing to something very quickly, but what about diving deeper to get the precision, performance and beauty you need out of your applications? Come find out.

RailsConf 2017

00:00:12.639 everyone thank you for coming uh my name
00:00:15.280 is Mark Simo and uh I work remotely as a
00:00:20.039 developer for Stitch
00:00:21.600 fix in fact uh over the last five years
00:00:24.359 in the last three companies I've
00:00:25.560 actually worked remotely uh from my
00:00:27.720 closet in uh a Suburban uh House near
00:00:31.640 Austin Texas and uh I've calculated that
00:00:34.719 over that time I've saved between
00:00:38.480 152,000 hours of travel uh just to give
00:00:42.079 you the scale of that that's nearly a
00:00:44.039 full-time job for a year uh which is
00:00:46.840 kind of
00:00:47.760 mindblowing uh and in that amount of
00:00:50.239 time I've spent some time with my family
00:00:52.800 but I've also done something near and
00:00:55.160 dear to geek's heart and that's
00:00:57.120 developed a bunch of
00:00:58.719 hobbies uh
00:01:00.640 now I know Geeks that are collectors and
00:01:04.439 film Buffs and comic enthusiasts I in
00:01:07.240 particular like music and board games
00:01:09.080 and things like that but I think that
00:01:10.560 there is a classification of hobbies
00:01:13.560 that are distinct and those are
00:01:16.119 crafts um I think a craft is different
00:01:19.320 in the fact that it produces
00:01:21.720 something that other people
00:01:24.200 value and maybe at first the other other
00:01:27.079 people that value it are like your
00:01:29.040 significant other and your mom but
00:01:32.560 overall I think it's something that as
00:01:34.520 you
00:01:35.840 progress you are able to produce things
00:01:38.439 that other people value
00:01:40.720 so I contend that we as developers in
00:01:44.159 this room are crafts people and we take
00:01:47.680 the bits and the bites and the
00:01:49.840 requirements and the ideas and we
00:01:52.200 combine that with our Knowledge and
00:01:53.360 Skills and we make
00:01:55.479 apps um and so I think we can learn from
00:02:00.840 other crafts and in case you couldn't
00:02:02.880 tell from the title of The Talk The
00:02:04.920 Craft that I've taken up lately and that
00:02:06.920 I'd like to try to learn from is
00:02:10.520 woodworking uh now just to give you a
00:02:12.959 little bit of background for
00:02:16.239 me I have kind of been roughly
00:02:19.879 interested in woodworking for a long
00:02:21.640 time and didn't even realize that my
00:02:25.720 father and my grandfather were amateur
00:02:28.560 uh furniture makers for most of my life
00:02:31.160 until well into my 30s this is a picture
00:02:33.879 of my dad working on my grandfather's
00:02:36.239 shopsmith from the 50s
00:02:40.200 and I was really excited to to that to
00:02:44.640 learn that he had this that he was a
00:02:46.159 resource for me but he also lives a few
00:02:48.480 hours away from me so whenever I kind of
00:02:51.400 had this notion of being interested in
00:02:52.680 woodworking I couldn't exactly just pop
00:02:54.319 over to his house and learn from him so
00:02:58.879 I sat on it for a few few years
00:03:01.680 until a friend of mine who I played D
00:03:04.319 and D with posted
00:03:07.000 this this is The Geek Chic Sultan now
00:03:10.440 this is the Cadillac of board game
00:03:12.879 tables uh this thing is absolutely
00:03:15.480 gorgeous it is a marriage of Form and
00:03:18.080 Function it's amazing um they know it
00:03:20.840 too it's priced like a Cadillac uh
00:03:23.040 according to the website it will cost
00:03:24.879 between 25 and
00:03:28.200 $30,000 and so that's little out of my
00:03:30.280 price range for a table my kids would
00:03:33.439 like to eat and possibly go to college
00:03:35.319 so out of the cards for me but they have
00:03:39.080 other tables on their website and so I
00:03:40.519 started looking around and I got
00:03:42.159 interested in this idea of having a
00:03:43.480 board gaming table and I saw this one
00:03:45.280 this is the Vanguard much simpler table
00:03:47.920 much more affordable it's only3 or
00:03:50.360 $4,000 still has a bunch of the same
00:03:52.959 features it looks like a dining room
00:03:54.200 table you can put a top on it even has
00:03:56.079 this little Groove in the side that you
00:03:57.360 can put cup holders kind of hook them
00:03:59.519 into too and when I looked at this I
00:04:02.840 thought hey that's that's pretty cool
00:04:04.519 but $3 or $4,000 is still a bit much uh
00:04:07.519 so I'm G to spend five or six thousand
00:04:09.920 making a workshop so I can build
00:04:13.360 it build versus buy right yeah
00:04:17.759 so I bought a bunch of tools collected
00:04:21.160 them and built a few little things here
00:04:24.960 and there to kind of build up my skills
00:04:26.720 these are relatively simple
00:04:28.560 pieces and
00:04:30.880 and after I had done this for a little
00:04:33.000 while and I kind of had a few skills I
00:04:34.400 decided all right it's time to find some
00:04:36.840 plans for a table or come up with
00:04:38.680 something and figure this
00:04:41.320 out so I want to build a table I went to
00:04:44.720 the wood whisper.com and got these plans
00:04:47.160 and I found out that a table is pretty
00:04:49.960 simple
00:04:51.080 it's as much as there's some complex
00:04:53.800 being putting it together it's really
00:04:55.479 just legs aprons that join the legs
00:04:59.479 together
00:05:00.520 and then a top and in this particular
00:05:03.400 table the Top's a little complicated but
00:05:05.960 it's still just a
00:05:07.240 top and so I want to walk you through
00:05:10.560 the process that I took to build this
00:05:12.759 table and some of the lessons that I
00:05:14.080 learned that were really surprising to
00:05:15.360 me from
00:05:16.320 weworking so that uh I think we can
00:05:19.280 learn from them as
00:05:20.919 developers but before we get
00:05:24.199 going I need to say something about
00:05:27.840 safety I put this first because if you
00:05:30.360 don't pay attention really to anything
00:05:31.560 else I think this is actually pretty
00:05:33.000 valuable so
00:05:36.039 um every of the several hundred hours of
00:05:39.360 YouTube videos that I've watched on on
00:05:41.560 woodworking almost all of them at one
00:05:43.720 point or another mention safety or have
00:05:46.039 safety implied and they talk about two
00:05:48.360 different kinds of safety they talk
00:05:50.479 about immediate safety which is hey
00:05:54.400 don't be froto um don't get a piece of
00:05:58.080 wood thrown through your abdomen
00:06:00.280 and protect your eyes it's been said
00:06:02.160 that you can you know shake with a
00:06:04.039 wooden hand walk with a wooden leg but
00:06:05.440 you can't see with a wooden eye so these
00:06:06.800 were important things to protect but
00:06:10.080 there's also long-term safety that's
00:06:13.479 involved and that's stuff like hearing
00:06:16.440 protection and dust collection and dust
00:06:18.960 collection is actually one of the more
00:06:20.880 Insidious uh safety hazards with
00:06:25.319 woodworking the dust that's between half
00:06:28.599 a micron and two and half microns in
00:06:30.759 size is the kind of stuff that gets in
00:06:33.160 your lungs and it's big enough that your
00:06:35.240 lungs can't filter it out and small
00:06:36.919 enough that it can get all the way down
00:06:38.840 it's a known carcinogen it's a real
00:06:40.919 problem um and it's the stuff you can't
00:06:43.360 see so if you see all that dust and it's
00:06:45.440 a big mess in your shop that's fine
00:06:47.800 that's the stuff you can sweep away it's
00:06:49.440 the stuff that you can't sweep away
00:06:50.560 that's the real issue so it actually
00:06:52.880 requires a significant investment to
00:06:55.800 really take care of this stuff well this
00:06:58.080 is Jay Bates and he's pointing at his
00:07:02.039 um his dust collection system that he
00:07:04.360 installed he probably spent a few
00:07:05.639 thousand dollars on it and it took him a
00:07:08.360 lot of effort to put the piping all the
00:07:11.039 way down right next to each one of the
00:07:12.479 tools in his shop uh and as a result of
00:07:16.840 this he actually has cleaner air in his
00:07:19.919 shop than he does in his own
00:07:22.440 house but he spent this money not
00:07:25.879 because a client paid him to and not
00:07:28.680 because he could suddenly build
00:07:30.199 something that he couldn't before this
00:07:31.599 there's no new features here this is
00:07:34.280 just because he still wants to be
00:07:35.840 woodworking in 30
00:07:39.039 years so all of these different safety
00:07:44.280 categories have something that you need
00:07:46.080 to invest in but they also have habits
00:07:48.800 that you need to form and I kind of put
00:07:51.599 this roughly on a scale I think it's
00:07:54.560 actually pretty easy for me to remember
00:07:56.199 that I need to keep my fingers away from
00:07:57.680 a blade that's spinning 30,000 times a
00:07:59.280 minut it back at me but I find it way
00:08:01.960 more difficult to uh figure out that I
00:08:05.479 need to put on my mask for for the
00:08:07.759 dust that said the habits are what keep
00:08:10.599 me healthy long term and so the first
00:08:13.960 lesson that I want us to talk about is
00:08:15.919 that it's it pays to invest in your
00:08:18.039 safety and develop these strong habits
00:08:20.599 uh I don't mean this in some weird code
00:08:22.759 way I mean this in an absolutely direct
00:08:25.240 way RSI lower back pain those are real
00:08:28.879 things vision problems are real things
00:08:31.360 depression is a real thing these are all
00:08:33.519 things that actually come with our job
00:08:35.919 based on the habits that a lot of us
00:08:37.839 take and so it behooves you to be
00:08:42.360 willing to spend money and invest in
00:08:44.920 your safety to make sure that you know
00:08:47.399 you're willing to spend a few hundred
00:08:48.480 dollars on an ergonomic keyboard uh
00:08:50.760 whether or not your company will pay for
00:08:52.160 it by the way s fix will pay for such
00:08:54.080 things if you're interested um but it
00:08:57.760 behooves you to be willing to buy a
00:08:59.079 really good chair uh it's actually a
00:09:02.120 really really great idea to to buy a a
00:09:05.640 solid monitor right those are all good
00:09:07.600 things that help your safety but there's
00:09:10.640 also got to be good habits like you have
00:09:12.399 to sit right in that chair you need to
00:09:15.640 you know look away from the screen
00:09:17.200 periodically and you know you need to go
00:09:20.120 see your therapist or take your
00:09:22.120 medication do all those things those are
00:09:23.600 all things that allow you to still be
00:09:25.240 Computing in 20 years so if you don't
00:09:27.480 hear anything else please hear at least
00:09:29.000 this
00:09:30.440 all right safety lesson over let's move
00:09:32.480 on and actually start
00:09:34.680 building okay first first thing we're
00:09:36.920 going to build is the
00:09:38.399 legs now these legs are four identical
00:09:42.279 pieces they're all rotated differently
00:09:43.800 but they're all identical and what we
00:09:47.640 need to do to make those identical
00:09:48.959 pieces is the you know the age old thing
00:09:51.800 is measure twice cut once but that's not
00:09:55.079 actually how woodworking typically
00:09:58.200 operates especially with power
00:10:00.120 tools we could go and take a piece of
00:10:02.920 wood and measure on it and and Mark a
00:10:05.120 line and then cut but it wouldn't
00:10:08.680 actually get us the accuracy that we
00:10:11.040 want we'd get within maybe a 16th of an
00:10:13.399 inch for each of those and we want this
00:10:15.760 much more accurate than that so the key
00:10:20.360 element to any power tools and
00:10:22.000 woodworking is
00:10:23.760 repeatability so for each of those three
00:10:25.880 things that we want to do we want to
00:10:27.079 have things legs that are the same
00:10:28.440 length we want them to be a perfect
00:10:29.800 square and we want them to all have
00:10:31.360 tapers on the inside we're going to do
00:10:33.440 repeated operations and the the first
00:10:36.639 operation is the
00:10:38.279 length this is J bat's miter saw it's
00:10:41.720 just a saw that cuts across the wood and
00:10:44.519 you place the wood right up against the
00:10:46.680 the back there and this little thing
00:10:49.959 right over here is called a stop
00:10:52.160 block and so instead of meas measure
00:10:55.200 twice cut once you're measuring once and
00:10:57.639 cutting a bunch of times
00:10:59.800 right you place the leg right up against
00:11:02.680 that piece push it up against the back
00:11:06.560 and then pull down the miter saw and you
00:11:09.000 get four pieces that are exactly the
00:11:11.959 same within a few thousandths of an inch
00:11:13.760 at the
00:11:14.560 most you just can't do that another way
00:11:17.120 there's not there's not a consistent way
00:11:19.079 and I can do this within a few minutes
00:11:20.800 it would take me much longer to measure
00:11:22.360 each one and cut them and be really
00:11:24.639 careful about it
00:11:26.839 so I can do the same thing whenever I'm
00:11:29.360 trying to figure out hey how am I going
00:11:30.639 to do the width this is the uh the fence
00:11:33.480 on my table saw and that fence just
00:11:35.519 keeps uh a parallel distance from the
00:11:38.880 blade for whatever I set it at and I can
00:11:42.040 then Place take my piece and feed it
00:11:44.720 through and cut off up something
00:11:47.880 parallel to one side of the piece so I
00:11:51.279 set the distance feed our leg through
00:11:54.720 and then rotate at 90 degrees and feed
00:11:56.200 it through and I get a perfect
00:11:57.880 square it's a it takes a few minutes at
00:12:00.720 the most yet again I'm getting both
00:12:04.760 speed and
00:12:06.600 consistency finally this is a jig this
00:12:10.600 is the tapering jig that allow us to cut
00:12:13.240 the tapers the same every time and all a
00:12:16.480 jig is is really something that allows
00:12:18.560 you to do repeated operations quickly
00:12:20.800 usually unique operations things that
00:12:22.600 that are distinct and
00:12:25.000 so this jig took I don't know three or
00:12:28.519 four minutes to put together he made a
00:12:30.040 cut he put a little piece on the end and
00:12:32.320 that was
00:12:33.480 it this allows us to make these tapers
00:12:38.120 the same angle and the same length every
00:12:41.480 time and I love this because whenever we
00:12:45.240 were done we had four identical legs
00:12:49.839 um and so what I learned from that is
00:12:53.079 that repeatability really increases
00:12:54.519 speed and
00:12:56.279 consistency now I think we kind of
00:12:59.440 naturally understand this as developers
00:13:01.720 we use rails new and it generates us a
00:13:05.320 site way faster than we could normally
00:13:07.079 have and it's completely consistent we
00:13:09.639 have like a a standard kind of way of
00:13:11.720 doing things that's awesome that's
00:13:13.440 totally a repeatability thing um when we
00:13:16.839 deploy things we deploy it and it's one
00:13:19.560 time one action that we're taking and
00:13:21.680 we're able to do it very quickly and
00:13:23.800 repeatably but we also have ways that we
00:13:26.519 can apply this on a much smaller scale
00:13:28.519 like what what if we make a jig the next
00:13:31.320 time we need to replace some or or fix
00:13:35.040 some data that's in production uh we've
00:13:38.199 had data that got out of sync and we
00:13:40.040 needed to wait a little while before we
00:13:41.600 deploy the bug fix um because of how the
00:13:45.079 bug worked and so we made a rake task
00:13:49.920 and we were able to test that against
00:13:51.600 staging and then we were able to run it
00:13:54.839 then a few days later right after we
00:13:56.680 deployed the fix we were able to run it
00:13:58.759 again like clean up any problems right
00:14:01.480 totally works and it increases our speed
00:14:04.800 and consistency versus logging in by the
00:14:07.480 rails console and just doing it manually
00:14:09.279 every
00:14:10.839 time all right so we're done with the
00:14:14.000 legs now we're going to keep working on
00:14:15.519 the
00:14:16.320 aprons uh these aprons whenever I was
00:14:19.320 doing this I actually went up to my
00:14:21.759 dad's shop and we milled everything that
00:14:24.040 means we just made it square and I took
00:14:26.959 these back home and the only thing that
00:14:28.519 was left to cut on them is the little
00:14:30.480 Groove that allows you to put in the cup
00:14:33.320 holders and I was doing the groove a
00:14:35.399 little bit differently than the plans
00:14:37.720 here and I just ended up getting
00:14:40.720 stuck uh I was super concerned that the
00:14:44.880 way I was going to solve this problem
00:14:46.120 wasn't going to work and so the longer I
00:14:49.199 waited the more fears crept
00:14:52.360 in and I ended up having this fear that
00:14:54.880 I was going to have this uncorrectable
00:14:57.120 mistake that I was going to do something
00:14:58.800 that was was going to mess this piece up
00:15:00.600 permanently and I was never going to get
00:15:01.920 this table finished which is not true I
00:15:04.399 could always go buy another piece from
00:15:06.680 the in the lumber yard right there's no
00:15:08.399 such thing as this uncorrectable mistake
00:15:10.959 um but there would be this wasted effort
00:15:14.880 right that sucks I don't want to like
00:15:17.480 think about that so I ended up having
00:15:18.959 all this fear of wasted effort but
00:15:20.839 that's probably not true as well I might
00:15:23.959 have a like a little flaw but in all
00:15:25.800 likelihood I probably wouldn't ruin a
00:15:27.959 piece and so I ended up just having this
00:15:31.440 fear of a flawed final
00:15:33.279 product which I think is also fairly
00:15:35.480 unfounded because all final products are
00:15:38.040 flawed one way or
00:15:40.360 another and so I finally just like
00:15:43.279 psyched myself up and I said hey I'm
00:15:44.759 going to cut this groove and I passed
00:15:46.959 three of my pieces over and on the
00:15:48.399 fourth piece I heard the router like
00:15:50.759 scream a little bit and crunch something
00:15:52.959 and I turned it off and looked at it and
00:15:54.839 it was split and I did
00:15:57.079 this yep it was pretty bad I was really
00:16:01.279 upset and
00:16:04.040 then I took a big deep
00:16:06.560 breath and I thought okay now all those
00:16:09.959 problems all those worries everything
00:16:11.560 that I had those are all gone the only
00:16:14.120 problem I have right now is a split
00:16:15.639 piece right here that's all I've
00:16:19.680 got and so it took a second I glued it I
00:16:23.880 clamped
00:16:24.880 it and I sanded it and it looks like
00:16:27.680 this which if you you look really close
00:16:29.959 you can tell that it's split but only if
00:16:32.639 you look really
00:16:34.519 close so the thing that I learned there
00:16:37.480 was that a known problem is a lot better
00:16:39.000 than a bunch of potential ones it's
00:16:40.440 really really easy to get caught up in
00:16:41.839 potential problems it's really really
00:16:44.160 easy to get paralyzed by potential
00:16:47.600 problems and this happens a lot
00:16:50.680 especially as I consider the how big
00:16:53.360 some of our production apps are and how
00:16:54.839 much we have to manage sometimes it's
00:16:56.839 really scary to deploy especially a big
00:17:00.279 change but moving forward lets you get
00:17:03.720 to the real problems as opposed to all
00:17:05.880 the potential ones now being concerned
00:17:07.319 is okay having some concern is all right
00:17:09.839 it's the fear that paralyzes you that's
00:17:11.439 the real
00:17:12.799 problem all right so we've got the legs
00:17:17.720 we've got the aprons it's time to make
00:17:19.480 the top we have two problems with the
00:17:21.880 top I have to both make this flat and I
00:17:25.039 need to join it together really tightly
00:17:26.640 it's going to be very visible and so I
00:17:28.439 want to make sure that it's that it's
00:17:30.440 really really really well
00:17:33.000 joined uh and I hadn't milled this stuff
00:17:35.919 up with my dad so I had rough lumber and
00:17:39.640 it was time for me to get ready to to
00:17:41.559 Mill this and so I had a couple of
00:17:44.520 options the first thing that I decided
00:17:46.039 to do was let's see if I can use the
00:17:49.039 small Joiner that I bought for my
00:17:51.280 shop and it a jointer in case you don't
00:17:54.440 know is basically just it's got two beds
00:17:56.919 one of them is just a little bit lower
00:17:58.360 than the other and there's a blade
00:17:59.520 that's spinning really fast right here
00:18:00.840 and as you pass a piece over it nibbles
00:18:03.200 a little bit out and so if you make
00:18:04.799 enough passes you end up with a flat
00:18:07.280 board it takes out all the little waves
00:18:08.799 in the
00:18:09.720 board and it takes out the big Scoops as
00:18:12.320 well well if you have a really long
00:18:14.280 board and a really short jointer and you
00:18:16.159 pass it over it doesn't really take out
00:18:17.760 the scoop so this wasn't really the
00:18:19.760 right tool here so I thought hey maybe I
00:18:23.919 can do this with a hand plane I actually
00:18:26.520 know that it's possible to do this with
00:18:27.760 a hand plane a hand plane just basically
00:18:29.360 scrapes off things and has a nice flat
00:18:31.280 bed so it keeps things flat but you have
00:18:33.799 to keep checking it it's not big enough
00:18:36.000 as well right it's not like I have a
00:18:37.520 hand plane that's seven feet long so I
00:18:41.520 needed a big piece that could tell me
00:18:43.679 hey what parts aren't flat yet and I
00:18:47.480 realized that I was struggling as I was
00:18:50.200 trying to sharpen this as I was trying
00:18:52.520 to to use the hand plane it wasn't quite
00:18:54.919 sharp enough or I couldn't keep it sharp
00:18:56.559 enough and then I realized I also had no
00:19:00.159 way of knowing if it was flat because I
00:19:02.080 had nothing in my shop that I could tell
00:19:04.799 if it was
00:19:06.159 flat and I ended up actually going to a
00:19:10.200 nearby shop using a $4,500 Joiner that
00:19:12.840 was really well tuned and getting this
00:19:15.640 done fairly
00:19:17.360 quickly and I bet every one of you
00:19:19.559 thinks that I'm about to turn over the
00:19:21.919 next slide and is this says use the
00:19:23.440 right tool for the
00:19:25.240 job right nope I don't think that's
00:19:28.760 that's the case because there's two
00:19:29.919 right tools here I could have used the
00:19:31.280 hand plane or I could have used the the
00:19:33.280 big jointer the difference was I was
00:19:36.159 really fighting the hand plane and the
00:19:38.880 Joiner was tuned up correctly and so
00:19:42.000 what I learned was that if you're
00:19:43.960 fighting your tools you need to focus on
00:19:45.360 improving them
00:19:47.440 instead
00:19:49.799 um how many times have you fought with
00:19:52.200 your local
00:19:54.200 database how many times have you pushed
00:19:57.120 rebuild on Circle C because you have
00:19:59.880 some flaky
00:20:01.360 tests how many times have you fought
00:20:03.400 with your command line
00:20:06.600 interface or your vmrc right these are
00:20:10.960 all things that we fight with sometimes
00:20:14.240 that keep us from doing the real work
00:20:16.159 that we want to do that's not what we
00:20:17.880 want to be thinking about but if we
00:20:20.120 maintain some of those things and keep
00:20:22.039 them sharp it's it's better Ben orstein
00:20:25.159 talks about how he keeps uh a file on
00:20:28.320 his compter computer called sharpening
00:20:29.799 text and he has a shortcut that allows
00:20:31.919 him to appin to that and anytime he
00:20:34.640 notices something that feels just a
00:20:36.159 little bit inefficient or isn't working
00:20:40.080 quite right and is getting in his way
00:20:41.799 somehow he's fighting
00:20:43.159 it he just makes a little note and every
00:20:45.840 morning he spends 15
00:20:47.520 minutes and works through as many items
00:20:50.679 in that file as he can get through in
00:20:51.919 that time to try to sharpen it and so
00:20:55.159 he's sharpening every day he's making
00:20:57.200 his environment better he's improving
00:21:00.080 what he
00:21:01.280 has uh like to work
00:21:04.440 with
00:21:06.600 okay we've
00:21:08.600 got all the four pieces they're Mill
00:21:11.120 they're ready now we need to join them
00:21:13.279 together so I wanted to make these with
00:21:15.720 miter Cuts these are just like 45 degree
00:21:18.679 joints
00:21:20.279 and it wanted to look something like
00:21:22.400 this and you probably can't see it from
00:21:24.640 the back but this actually has a bit of
00:21:27.000 a gap this is the cut that I made first
00:21:30.760 that was with a friend's miter saw it
00:21:32.200 wasn't all that great it was a
00:21:34.520 inexpensive miter saw and so I couldn't
00:21:36.320 get it tuned up to the point where it
00:21:38.799 would make a straight up and down cut
00:21:41.400 and where it would make a perfect 45
00:21:43.159 degree cut and so I ended up with this
00:21:44.559 Gap here and I started thinking okay how
00:21:47.880 can I solve this problem because this is
00:21:49.480 actually a pretty difficult problem um
00:21:52.000 to get dead on something so they really
00:21:54.320 fit together perfectly and I said well I
00:21:56.880 could buy a better miter sof
00:21:59.320 that's $400 to
00:22:00.320 $600 uh you can go all the way up to,
00:22:02.279 15500 if you really want to for the
00:22:04.159 really awesome stuff on top of that I'd
00:22:06.720 need to tune it up and build something
00:22:08.600 around it so that I could support these
00:22:09.960 really long pieces and once I did all
00:22:12.960 that it would work great but that's a
00:22:14.840 lot of work to make eight
00:22:17.080 Cuts so I
00:22:19.120 said is there another
00:22:21.320 way and I think there might be so I said
00:22:24.880 what about a
00:22:25.880 handsaw this is a $15 handsaw off of
00:22:28.600 Amazon that is a little piece of scrap
00:22:30.799 wood that's perfectly 90° I clamped it
00:22:33.440 on I put it at a dead-on 45° angle that
00:22:36.400 I was able to to gauge with a
00:22:38.600 bevel and I just cut
00:22:42.559 it after it was done I took my plane and
00:22:47.440 I made it to where it was exactly on
00:22:49.919 that bevel line I knew it was dead on 45
00:22:52.200 degrees and when all that was said and
00:22:56.600 done I got a good joint out of
00:23:03.840 now what I learned from this was that
00:23:07.080 knowing my tools and my techniques
00:23:09.640 really improve my
00:23:11.720 Effectiveness and I think that this
00:23:13.400 applies to us whether we're dealing with
00:23:16.360 clients and we need to be able to inform
00:23:18.120 them hey you actually don't need to do
00:23:20.440 800 Cuts here you actually don't need to
00:23:22.320 be able to support millions and millions
00:23:24.600 of customers what you need is this
00:23:26.880 solution that gives you just a few C
00:23:29.679 that's this is all you need this is a
00:23:31.240 less expensive Solution that's just as
00:23:33.679 accurate or maybe even more accurate
00:23:35.240 than that other solution it just doesn't
00:23:37.520 scale up but you don't need to scale yet
00:23:40.600 that's okay there's also the idea that
00:23:43.679 we need to know our development tools
00:23:46.679 like if you don't know your debugger if
00:23:48.520 you don't know how to use it you don't
00:23:51.640 get to use that whenever you need to
00:23:53.880 solve a problem that way it's just not
00:23:55.200 in your wheelhouse it's not in your tool
00:23:57.440 chest
00:23:58.960 you
00:24:00.480 also like you know you may think hey I'm
00:24:03.159 just going to write puts well puts is
00:24:04.880 fine um but you may if you don't know
00:24:07.279 how to use that really effectively
00:24:08.600 either that's no good Tinder love
00:24:10.559 actually wrote a blog post a couple
00:24:12.159 years ago says I'm a puts debugger he
00:24:14.960 talked about how to use that in a really
00:24:17.039 really really powerful way he talked
00:24:18.760 about all the things that are really
00:24:20.520 interesting uh about even just using
00:24:23.039 puts puts feels like a hand tool to me
00:24:25.360 it's like really really simple right but
00:24:27.039 it can be powerful if you know how to
00:24:29.000 use it so knowing both of those options
00:24:31.960 is a huge
00:24:33.840 deal
00:24:35.480 okay we're back here this is at the
00:24:39.440 lumber
00:24:41.399 yard
00:24:44.200 and when I started I went here and I
00:24:48.440 grabbed a bunch of
00:24:50.080 boards and they were really really rough
00:24:53.880 and I got to turn a bunch of
00:24:56.840 boards into
00:24:58.840 a fine piece of
00:25:01.600 furniture and I'm really proud of it
00:25:07.279 thanks I'm really proud of it um and I
00:25:11.480 finally kind of feel like a woodworker
00:25:13.919 like I was pretty excited about this
00:25:17.600 moment but I I'm not feeling like a
00:25:21.240 woodworker because I wanted to be a
00:25:22.720 woodworker I feel like a woodworker
00:25:24.840 because I wanted a
00:25:26.679 table and I got there
00:25:30.320 right and so I think having a specific
00:25:34.960 project really facilitates and motivates
00:25:36.960 learning so if you're really looking to
00:25:40.000 learn something whatever that is whether
00:25:42.279 it's a technology or a process or a new
00:25:46.399 language or a new database it doesn't
00:25:48.679 matter what it is having a specific
00:25:51.520 project I think will really help push
00:25:53.440 you forward now maybe some people can do
00:25:55.640 a class and that's fine like I have no
00:25:58.000 problem if that's the way you do it but
00:25:59.440 if you're really struggling to get
00:26:01.559 motivated I find this to be very
00:26:04.840 motivating all
00:26:07.200 right let's let's review real quick so
00:26:09.960 first thing safety matters make sure you
00:26:12.679 pay attention to your safety uh invest
00:26:15.640 in it invest and develop your good
00:26:18.480 habits focus on repeatability make sure
00:26:21.039 you find ways to use things in a
00:26:23.360 repeatable
00:26:25.360 way it doesn't just happen by accident
00:26:27.679 you have to actually look for ways to do
00:26:30.720 it if you're stuck focus on finding the
00:26:33.799 known problems rather than just thinking
00:26:35.880 about all the things that are unknown
00:26:37.880 and could go
00:26:39.960 wrong improve your tools whenever you're
00:26:42.480 fighting them
00:26:43.799 especially rather than just kind of
00:26:45.720 dealing with crappy
00:26:48.640 stuff know your options so that you can
00:26:50.960 be more
00:26:52.039 effective and have a specific project so
00:26:54.600 that you can motivate yourself and then
00:26:56.720 my bonus because the problem solving is
00:26:59.399 a skill that can be developed in any
00:27:01.000 craft now I hope that I've inspired
00:27:04.559 maybe one or two people in here to maybe
00:27:07.440 try woodworking I think that'd be really
00:27:09.000 cool um but no matter what I hope that
00:27:12.799 you are able to either observe or
00:27:15.559 participate in a craft that you can
00:27:17.480 learn from because I think that that
00:27:20.039 actually is something we can take back
00:27:21.559 to our day
00:27:23.799 jobs thank you very much my uh Twitter
00:27:27.679 handle is Mark you can follow me uh I
00:27:30.600 also work at Stitch piix and uh we are
00:27:34.399 hiring if you want to have some extra
00:27:37.120 time to develop some of these crafts and
00:27:38.480 work remotely
00:27:40.760 um we hire bright kind and goal oriented
00:27:43.480 people and I would love to talk to any
00:27:44.799 of you about that or woodworking or
00:27:46.600 board games or programming come find me
00:27:49.279 after thanks very
00:27:57.120 much