• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Curious, Healing

Curious, Healing

Books about healing, business, and fun

  • About Sonia Connolly

software

“Refactoring” by Martin Fowler

December 10, 2022 by Sonia Connolly Leave a Comment

book cover

Recommended to me by: Sam Livingston-Gray

Refactoring is the art of improving software through a series of small steps without changing how it functions, specifically without introducing new bugs. In an attempt to make it closer to a science, Martin Fowler defines a series of recipes to make safe changes, a series of “code smells” that indicate that change is needed, and adds examples and stories along the way.

I bought the book through my job because I was responsible for a whole menagerie of semi-abandoned applications in varying states of disarray, and I wanted ideas and support for how to improve them. The main benefit I got directly from the book is the idea to take very small steps, and to keep checking whether the application still works correctly at each step.

Indirectly, I got a lot of other benefits. I started a weekly study group where we went over 5 pages or so of the book each time, sharing things we agreed and disagreed with and examples from the code we were working on. In theory people were reading ahead, but everyone is busy and I made it welcoming whether people had read the week’s section or not.

It was hands-down the best part of my job, connecting with coworkers outside of my small group, learning together, and hearing how people were improving their code using the techniques we discussed.

The book’s examples are in Javascript, which made them harder to read for those of us working in Python and Ruby. Those of us who had been programming for years had an easier time with the book than the people who were just starting out. In particular, one person pointed out that it was difficult to tell the difference between unfamiliar programmer lingo and “funny” asides about methods gathering at the water cooler to share gossip.

Recommended for more experienced programmers who want a deeper understanding of refactoring. Read it with a group if you can!

Available at Powell’s Books.

Filed Under: nonfiction Tagged With: software

“The Manager’s Path” by Camille Fournier

May 28, 2022 by Sonia Connolly Leave a Comment

book cover

Subtitle: A Guide for Tech Leaders Navigating Growth & Change

I expected this book to be boring, but it’s engagingly written and connects with my experience of working in tech. Camille Fournier writes from her own experience as a CTO (Chief Technical Officer) at several companies and includes quotes from other tech leaders, both men and women.

She starts with mentoring, which almost every technical person is expected to do eventually, and works up through tech lead, manager, director, up to CTO and VP of Engineering. She advises anyone who wants to be a manager of software engineers to spend enough time learning to code (5-7 years) to have those skills solidly available going forward.

I’m a software engineer who has mentored people and led projects, but will not be climbing the corporate ladder any higher. It was interesting to hear about the concerns that arise at higher levels. The need to figure out who is unhappy, why teams are not working well together, who is managing badly, and who might leave suddenly. The need to make good decisions about future directions on insufficient data. The need to develop intuition and keep taking in information to guide those decisions.

As she talks about mentoring interns and managing individual contributors, she includes all technical roles. Her primary advice is that relationships and communication are crucial even though programming might appear to be a solitary technical occupation. Not only do successful projects require communication with other engineers and the manager, they require communication with the stakeholders who say what to build, and the sales and marketing people who help it go out into the world.

She talks a lot about the importance of one-on-one meetings between managers and the people they manage to build trust and address problems early. She recommends skip-level meetings, where a director who manages managers also meets with individual contributors.

In addition, positive relationships are crucial to success in the working world. Not only do they make work more pleasant, they help people collaborate and share information. People who like working together help each other get jobs in the future.

I can clearly see this is true over the 30 years of my career. I built positive working relationships naturally, and I’m still not sure the advice makes sense until one experiences it. It’s not about fake, forced networking with people one doesn’t like – it’s about staying connected and friendly with people one does like to support one another going forward. In school, success artificially depends only on individual actions (although I think kids do more group work nowadays), but most accomplishments out in the world depend on interconnected people building things together.

The pronouns in this book bothered me. Rather than using she/he or they, Camille Fournier switched between using he for some examples and she for others. An intern was he while being described in general, and then she when performance problems came up. After that the pronouns were more even-handed, but I was very aware of them all the way through, braced for women to be portrayed negatively. As far as I remember, they/them pronouns were not used for anyone.

Recommended to anyone who works in a technical field, and especially anyone who wants to become a manager.

Links from the book:
The Tyranny of Structurelessness by Jo Freeman aka Joreen, a classic essay on why managers are necessary.

On Being A Senior Engineer which includes the suggestion to use senior influence to sponsor (rather than mentor) underrepresented people in engineering. Recommend them for positions. Highlight their accomplishments. Praise them publicly. Also refers to What Does Sponsorship Look Like by Lara Hogan.

Available at Powell’s Books.

Filed Under: nonfiction Tagged With: business, communication, feminism, software

“99 Bottles of OOP” by Sandi Metz, Katrina Owen, and TJ Stankus

February 23, 2022 by Sonia Connolly Leave a Comment

book cover

Subtitle: A Practical Guide to Object-Oriented Design

Recommended to me by: Sam Livingston-Gray

This book creates and then refactors (edits to improve) code to generate the “99 Bottles of Beer” song. (When I was a kid on field trips, we started at 100 Bottles.)

I read most of this book in 2015, but didn’t finish it, so didn’t add a post for it here. Apparently the initial “Shameless Green” code (straightforward code that makes the tests succeed) stuck with me, because I mostly reproduced it in the half-hour recommended to attempt the problem before reading the rest of the book.

There are lots of great points about object-oriented design and recipes for refactoring. The Ruby code that results at the end is elegant and easy to modify, although its readability benefits from the step-by-step walkthrough to get there. I will probably refer back to the book for refactoring tips when faced with Ruby code to improve.

Recommended for people wanting to improve their object-oriented coding skills, especially in Ruby. There are now editions available with code examples in PHP and Javascript as well, and the beverage can be beer or milk. Now I’m curious to see their code that generates the different versions of the book!

The book’s page and Sandi Metz’s website.

Available at SandiMetz.com.

Filed Under: nonfiction Tagged With: software

“Practical Object-Oriented Design in Ruby” by Sandi Metz

February 19, 2022 by Sonia Connolly Leave a Comment

book cover

Subtitle: An Agile Primer

Recommended to me by: Sam Livingston-Gray

I first read this back in 2012. It struck me as friendly rather than condescending this time, which is an interesting shift.

In 2012 I was just learning Ruby and focused on deciphering the example code as I read. Coming back to it after having programmed in Ruby for three years, I could read the examples fluently and focus more on the general points in the book, even though I haven’t looked at Ruby code in a while.

Some points that stuck with me this time:

  • The purpose of design is to allow future changes in code, since requirements and circumstances keep changing.
  • In object-oriented design, pay attention to the messages passing between the objects.
  • Each object should have a single responsibility. (I’ve seen a downside to this, where you have to chase through a mass of fine-grained objects to find where something is actually done.)
  • Manage dependencies to reduce risk. An object should depend on objects that change less often than it does.
  • Inject dependencies, use Ruby’s duck typing: Send in an object as an argument that responds to the needed message
  • Delay design decisions until you have at least three examples of what a class needs to do. (Two, if pressed.)
  • Good design is TRUE: Transparent, Reasonable, Usable, Exemplary
  • DRY: Don’t Repeat Yourself.
  • Law of Demeter: Don’t chain calls through many objects, since that entails knowing too much about the insides of other objects.
  • Isolate risky bits of code inside a wrapper, so they can be improved easily later.
  • Test an object’s public interface (messages it responds to), and command messages it sends (messages with side effects).
  • Use Ruby Modules to share code and tests.

Highly recommended as a guide for both general design, and how to write maintainable, flexible Ruby code.

The book’s website and Sandi Metz’s website.

Available at Powell’s Books.

Filed Under: nonfiction Tagged With: software

“EPUB Straight to the Point” by Elizabeth Castro

January 3, 2017 by Sonia Connolly Leave a Comment

book cover

Subtitle: Creating ebooks for the Apple iPad and other ereaders

Recommended to me by: Finding it at the library

Creating an epub ebook from an InDesign print book file involves a whole lot of hidden settings and mysterious outcomes. I read a lot of blog posts, and this book was also helpful in getting the details squared away. It has step by step instructions for creating an epub ebook from Word and InDesign, and then further step by step instructions for editing the epub directly to refine the results. Since I learned HTML before CSS was a thing, and epub uses CSS, this was helpful to get oriented. It’s from 2011, but still useful.

It has some iPad-specific details, like a list of the fonts it supports and previews of each.

Available at Powell’s Books.

Filed Under: nonfiction Tagged With: software, writing

“The Non-Designer’s InDesign Book” by Robin Williams

August 1, 2016 by Sonia Connolly Leave a Comment

book cover

Subtitle: Essential design techniques for print projects

Recommended to me by: Finding it at the library

I’m formatting my book with Adobe InDesign. While it does work to do a web search to find out how to do things like add more pages to the book, or move a title farther down the page, I decided I wanted more of an overview of the whole program and its features.

A friend suggested checking a book out of the library. This was perfect, because I could check out several books and see which one I liked, and since I have an older version of the program, older books were just right.

This book won because it is inviting, clear, direct, and brief. The design examples are varied and interesting (not all for sports and bars). Some of the examples are even from “Mothering Magazine”! While Robin doesn’t address book projects, the aesthetics and attention to detail in her examples fit in with how I work. Not only am I happy to support a woman author of a technical book, I feel more at home reading her book.

Highly recommended if you need to wrestle with InDesign CS5. I got her Photoshop book too, and I’m looking forward to reading that next, to work on the book cover and interior illustrations.

Available at Powell’s Books.

Filed Under: nonfiction Tagged With: software, writing

  • Go to page 1
  • Go to page 2
  • Go to Next Page »

Primary Sidebar

Recent Books

  • “Six Reasons to Travel” by Stuart Gelzer
  • “Unmasking Autism” by Devon Price, PhD
  • “Ask for Horses” by Tina Tau
  • “Refactoring” by Martin Fowler
  • “Flying Solo” by Linda Holmes
  • “Thanks for the Feedback” by Douglas Stone & Sheila Heen
  • “Tales From Moominvalley” by Tove Jansson
  • “Crucial Conversations Third Edition” by Patterson, Grenny, McMillan
  • “The Changeling Sea” by Patricia McKillip
  • “The Manager’s Path” by Camille Fournier

Tags

activism aging anti-racism bodywork business childhood abuse childrens communication disability domestic violence feminism finance Focusing food fun healing health at any size illustrated lgbt marketing memoir natural world neurodiversity politics psychology relationship science singing software spirituality survival story trauma writing young adult

Categories

Archives

Please note: Amazon and Powell's links are affiliate links. Copyright © 2023 · Genesis Sample on · WordPress