Archive for January, 2022

Pragmatic Programmers – Philosophy and Approach

One of the book clubs I’ve joined last year with my fellow Improvers was on “The Pragmatic Programmer – Your Journey to Mastery – 20th Anniversary Edition”. I remember reading the 1st edition sometime around 2006 and am glad I reviewed its newer edition.

Here are some notes wrote down…

“You shouldn’t be wedded to any particular technology, but have a broad enough background and experience base to allow you to choose good solutions in particular situations.”

That! I have (bad) memories of wasting a lot of time because a particular tech stack was chose for no reason other than a marriage to a particular vendor, despite of it not offering the best technology to achieve the client’s goals.

Care about your craft: there is no point in developing software unless you care about doing it well.

I wouldn’t trust surgeons who don’t care about doing their craft well. Would you?

“Over the long term, your time investment will be rapid as you and your team become more efficient, write code that’s easier to maintain, and spend less time in meetings

I love the point above. I enjoy doing code review with team members so we can learn from each other. I’ve worked on teams where at some point we couldn’t tell which one of us wrote the code, because we’ve learned to value the same best practices, which we kept in mind in our daily work. Whenever someone learned something new, they’d share with the team, and we’d evolve together.

“We who cut mere stones must always be enviosioning cathedrals”

YES! Developers shouldn’t be content with dropping a button onto a form that when clicked shows whatever message; they should see through it and understand the bigger context.

If technology seems to be passing you by, make time (in your own time) to study new stuff that looks interesting. You’re investing in yourself, so doing it while you’re off-the-clock is only reasonable.

That’s precisely what I’ve been doing for a very long time. The main difference is that I started to apply that not only to technology, but also to many other areas of life. What I’ve done off-the-clock has always been the biggest driving force behind my continous improvement.

Above all, your team needs to be able to trust and rely on you – and you need to be comfortable relying on each of them as well. Trust in a team is absolutely essential for creativity and collaboration. In a healthy environment based in trust, you can safely speak your mind, present your ideas, and rely on your team members who can in turn rely on you. Without trust, well…

If you ever visit Improving.com, you’ll immediately see the following words: “Trust Changes Everything”. As I look back on my professional career, I can point out several opportunities and growth that came out of being trusted by people from all walks of life. A team without trust isn’t much of a team.

Pushing that concept a little further, I like a point raised by the authors of “Yes, And: How Improvisation Reverses ’No, But’ Thinking and Improves Creativity and Collaboration — Lessons from The Second City” (another book club we had last year!) The point they raised is to go from team to ensemble, which is an even more collaborative relationship. In Improv, it’s very easy for one to become very uncomfortable, but a strong ensemble is there to support each other when ramping up skills or going through an off night.

Don’t live with broken windows. Hopelessness can be contagious.

That one makes me think of teams that abandon their automated tests because they have become brittle, hard to maintain, hard to write, hard to fix when they start to fail.

Be a catalyst for change

Nobody else writes tests? You should do it, regardless. Nobody else writes clean code? You do it! Nobody else says “thank you” anymore? You do it. Thank you.

There were many other great things in this book and I strongly recommend it to anyone who’s anywhere near software development. Most of the lessons taught have stood the test of time, and the ones that didn’t (due changes in technology and such) were revised and updated in this 20th Anniversary Edition.

Advertisement

Leave a comment

My Favorite Quotes in 2021

I’ve just reviewed my favorite quotes in 2020, which gave me some ideas for potential blog posts. But for this post, here are my favorite quotes collected in 2021. These are quotes that made me write them up on my whiteboard, reflect, journal, introspect. Hopefully you’ll find one or two that’ll have the same effect on you!

“The best ideas are the honest ones. Ones born out of personal experience. Ones that originated to help a few and ended up helping many.” – Simon Sinek

“Continuous improvement is better than delayed perfection.” – Mark Twain

“Associate with people who are likely to improve you. Welcome those who you are capable of improving. The process is a mutual one: men learn as they teach.” – Seneca

“Instead of getting angry at other people’s poor execution, focus on the deficiencies in your instruction. Instead of resenting their protest, examine whether you’ve been persuasive enough. Don’t get mad about red tape—think about all the bad ideas this process actually has helped stop. Be forgiving of other people’s stupidity or rudeness—because you’ve been plenty guilty of it yourself at one time or another.” – Daily Stoic

“People will forget what you said, people will forget what you did, but people will never forget how you made them feel.” – Maya Angelou

“Your mind will take the shape of what you frequently hold in thought, for the human spirit is colored by such impressions.” – Marcus Aurelius

“One of the greatest discoveries a person makes is to find they can do what they were afraid they couldn’t do.” – Henry Ford

“Creativity is intelligence having fun.” – Albert Einstein

“Happy is the person who can improve others, not only when present, but even when in their thoughts!” – Seneca

“Our worth is measured by what we devote our energy to.” – Marcus Aurelius

“No person has the power to have everything they want, but it is in their power not to want what they don’t have, and to cheerfully put to good use what they do have.” – Seneca

“Though you cannot go back and start again, you can start from now and have a brand new end.” – Unknown

“An amateur practices until they can play it correctly, a professional practices until they can’t play it incorrectly.” – Unknown

“A writer—and, I believe, generally all persons—must think that whatever happens to him or her is a resource. All things have been given to us for a purpose, and an artist must feel this more intensely. All that happens to us, including our humiliations, our misfortunes, our embarrassments, all is given to us as raw material, as clay, so that we may shape our art.” – Jorge Luis Borges

“I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.” – Bruce Lee

“Most geniuses—especially those who lead others—prosper not by deconstructing intricate complexities but by exploiting unrecognized simplicities.” – Andy Benoit

“Nothing but opinion is the cause of a troubled mind” – Epictetus

“A virtuous person does not jump to hasty judgments about other people. A virtuous person is generous with assumptions.” – Daily Stoic

“The world will ask you who you are, and if you do not know, the world will tell you.” – Carl Jung

“Reading after a certain age diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking, just as the man who spends too much time in the theater is tempted to be content with living vicariously instead of living his own life.” – Albert Einstein

“Where you are is a result of who you were, but where you go depends entirely on who you choose to be.” – Hal Elrod

“You may have a fresh start any moment you choose, for this thing that we call “failure” is not the falling down, but the staying down.” – Mary Pickford

motivational-quotes-3248657_960_720_full.jpg

3 Comments

Favorite Books I’ve Read in 2021

Here are some of my favorites books read in 2021, in no particular order.

Unshakable

I had been planning to review my approach to personal finances and this book helped me quite a bit with that, validating some of the things I’ve been doing for decades, as well as teaching me things I had no clue about and making act on it.

The Art of Mentoring

This was a re-read. I’ve first read this book in 2004 and decided to pick it up again. I’ve enjoyed it as much as the first time through. I really like books that teaches things as a novel (some of my favorites include The Goal, The Phoenix Project, The Unicorn Project).

The Artist’s Way

This book was first recommended to me back in 2016. For years, I kept seeing it recommended by many people whose opinion I value. I finally decided to pick it up and read it, and I’m glad I did it. I’ve gotten a lot out of it, as it helped me improve my journalling, finish lyrics for new original songs, practice my creativity in many aspects, organize and add more clarity to my thoughts, validate my thoughts about hobbies, just to name a few things. It’s the kind of book from which the lessons learn will stick around with me for a long, long time.

The Pragmatic Programmer

I remember reading the first edition of The Pragmatic Programmer in the mid 2000s. I thoroughly enjoyed reading its 20th Anniversary edition with other Improvers in a book club. It was great seeing how many things I’ve learned from that book have stuck with me after all these years. I’m yet to create my “must-read list” for software developers, but this book is very likely to be included.

How to Lead when you’re Not in Charge

This was a book that I had to work hard to read through the author’s style and get what I needed out of the content. While the book was “ok”, it inspired me to write one of my favorite posts last year, as well as it made the core message stuck in my mind: “lead through influence, not through authority”.

Yes, And

After taking classes on Improv and leading some Improv sessions at Improving (I’ve talked about some of those experiences), it was great to have a book club dedicated to this book.

How to Live

One of my favorite books in 2020 was Sum: Forty Tales from the Afterlives, which I heard about through Derek Sivers (the author of two of my favorite books in 2020!). In 2021 he published his own book inspired by the style he learned from “Sum”, and it’s such a great book. When Derek asked his readers to write a review, this is what I sent him:

As I was reading this book, I kept highlighting sentences and paragraphs on it. At times, I noticed I highlighted almost entire chapters! Besides writing my own notes on the pages.

Derek’s skills to boil important thoughts down into something that grabs my attention is insane. It has been only 2 months or so since I’ve read the book, and I’m planning on reading it again very soon, setting aside time for self-reflection.

The year isn’t over yet, but this is already among my favorite books in 2021!

Now that 2021 is over, I can confirm this was one of my favorite books, and I have started reading it again pretty much on January 1st.

Implementing Domain-Driven Design

This one was also part of a book club at Improving. This is a dense book, and it took us 4 months to go through it. The group decided to revisit certain chapters, add meetings after we were done discuss some topics again, and we closed it with a round of lightning talks offered to our internal AppDev community, with the book club members sharing their main takeaways from the book.

It had been a long time since I’ve read Eric Evans’ seminal book on DDD, and it was great to revisit the topic. It was interesting to see some things that I didn’t quite grok when I first read that book but ended up learning through other means over the years.

Rainbow in the Dark

Ronnie James Dio is one of my all-time favorite singers. I’ve listened to his music (Rainbow, Black Sabbath, Dio) since I was a kid, and I continue listening to it with the same level of enjoyment. I’ve picked up this auto-biography to read as soon as it came out.

Fifty Quick Ideas to Improve your User Stories

I have been blogging about user stories, as well as giving talks on the subject and leading a few workshops. This topic has been hot for for several years now. This book validated some of the ideas I’ve been trying out over the years and it also gave me some new ones. Highly recommended! Developers, take a moment to put down that book on JavaScript, C#, (name your language of choice), and read this one instead.

Intro to EventStorming

This book came in handy as I work in a project that includes DDD, CQRS, and Event Sourcing.

Even though I’ve read many books published by LeanPub in the past, this is the first time I have actually read one that isn’t fully finished yet. I enjoyed the experience: many chapters are missing big chunks, but still, I’ve learned enough to enable me to run some EventStorming sessions and get great value from it. This book was also a great compliment to the DDD and the User Stories books mentioned above.

Badass: Making Users Awesome

If you’ve been following my blog, you might remember that this book was featured in my favorite books read in 2020. And here it is again. Yes, it is that good for me.

Since I’ve read it I’ve been putting lessons learned into practice with great success! So much so that I wanted to read it again, and figured I should drag Improvers with me, so I’ve led a book club. The conversations were great, and we’re just about to have a round of lightning talks to share our takeaways with our internal community.

Leave a comment

2021: Annual Review

It’s Annual Review time, starting where 2020 ended regarding what I was working toward:

So let me reflect on that list, as well as whatever else came up.

What went well in 2021?

Book Reading: Daily reading habits have been maintained all year. I’ve gone through several books on a great variety of topics. But most importantly, I believe I’m getting better value from my reading habits.I started the year thinking of re-reading at least one previous book every month. Looking at my notes I see that was too ambitious: one book every other month is what I did, and am happy with it.

Here’s a big highlight for me in this area: the internal AppDev community at Improving started book clubs this year and I love it!! I’ve joined 7 clubs and led 2. We’ve covered books both on Technical and Soft Skills, and I personally got a lot out of my reading habit through this experience.

Sharpening technical skills: I started the year thinking of taking one pluralsight course a month. I did take a few, but then decided to change my approach to consume whatever resource I found to be directly related to technical things I was currently doing (or planning to in the near future). So I’ve joined two technical book clubs with my fellow Improvers, watched videos on YouTube and Udemy, and read blog posts. Most importantly, I’ve put the acquired knowledge into practice and discussed it with my team and co-workers

Blogging: I haven’t put out as many blog posts as I had planned, but I’m happy with many of the posts I’ve put out on this blog, the favorite ones are…

Another highlight for me is my “Context-based testing in the life of Don Testa’Lot Moore” post to the Improving Thoughts blog. Not only is that a topic I’ve been coaching many developers on for several years, but I also like the whimsical tone I came up with to have a slightly different voice to that I use in my personal blog.

Also, I’ve been looking forward to seeing my fellow Improvers put out their great thoughts in our company’s blog and we’re now seeing a ton of content delivered through that channel.

Publishing my book: That didn’t happen, but the first draft is almost done. What did go well, though, is that for the last 18 months or so I’ve been putting into practice on a daily basis the things that are going on the book, and will enable me to refine the content. I’ve also spent 3 months going through a deliberate writing practice to sharpen my chops.

Growing Beyond the Track: I’ve grown both as a rider as well as my Beyond the Track efforts.

  • We’ve put together a BTT Endurance Team, did a few races, had a lot of fun,  learned a lot together, and every rider on the team got better throughout the year
  • We have custom-made under-suit shirts with the BTT logo on the front, and our names on the back
  • I finally rode with world renowned California Superbike School, and it was everything I had been hoping for since 2016
  • I got a LOT of seat time
  • I cranked up my data analysis skills and used it both to improve my own riding as well as to coach other riders

Our endurance team after our 1st race (we finished 3rd place in our class!)

Riding with California Superbike School

A lot of things I’ve been doing with Beyond the Track since 2018 has been inspired by California Superbike School

…and I got to meet Keith Code, the founder of CSS, and a huge inspiration for me.

A few other great things…

  • I got an Elliptical machine so I can exercise at home while watching things. Also started playing tennis weekly again
  • Got more serious with my journalling habit.
  • Started going back to the office for the main team meetings. 
  • Got into the habit of updating my Now page somewhat frequently.
  • Achieved one of my 2020 goals that had to be postponed due to the pandemic: traveling to a Spanish-speaking country and making the effort to speak mostly Spanish while I was there. The trip is currently ranked as my best vacation ever!

What didn’t go well?

Blogging: What was I thinking when I said I was planning on putting out “at least one blog post every week”?! In 2020, I’ve averaged 1.5 posts/week, so that’s what was in my mind at the time. In 2021, I’ve average 1 post/month! As I come to think of it, I probably did as much writing, except that I’ve kept most of it to myself (through my journalling habit).

Publishing my book: Yeah, so that didn’t happen. But, I’m fine with that, as I mentioned earlier. Some of my priorities had to shift during the year and the book project was affected by that.

What am I working toward?

Continuous Learning and Applying: I’ll keep re-reading books. Maybe one per quarter. As I say that, I’m just starting two book clubs at Improving to go over two books that I’m re-reading. I don’t want to only quickly chug through books; I want to put some of the learnings into practice, and I want to make it a collaborative effort with my friends and co-workers.

Improving: our company and our Improvers keep helping me have a balanced life, and I’m working on expanding this experience to our stakeholders. It sounds broad, but my private notes are more detailed. For my readers, suffice it to say that I enjoy my job a lot and am dedicated to make it even better.

My book: I’m working on having elements of the book released this year for readers to start consuming it.

Riding: I’m always working on that! This year I’ll keep improving my riding as well as my Beyond the Track, continuing our monthly meetings, the endurance racing team, and a few more things the group has discussed for the short, mid, and long term.

Technical Communities: The Virtual Brown Bag continues, and I hope to make it better so we can grow our attendance. I’m also bringing back the Improving Code user group as a hybrid (in-person and virtual) offering.

Music: I’d like to put out at least 2 or 3 new original songs.

Leave a comment