I’ve had a motto since I started my professional career that went something like “I like to figure out how things work and make them better”. I got this bug working for an early stage startup company, I think. The energy was very much, first principle analysis, then putting things together into products / services / things people like. We would roast our own coffee, brew our own beer. And we would learn about what works for weight loss, business models / products / innovation, and try and put them together into something that works.

I’ve been more aligned to an evolution of this motto lately, which is “learn stuff build stuff”. I feel like this the more engineering focused version, but I really like it, and I think it’s a good lense to think about my career.

In school, I did a co-op program, where I would do school for 4 months, and work for 4 months. This was literally structured as “learn stuff build stuff”, and I loved the rhythm of that. I would learn another chunk of how computers worked (databases, HCI, operating systems, …), then go and apply that learning in the field.

When I got to my fulltime job, that rhythm expanded to all sorts of things. I got really interested in how companies worked, and a lot of the management side of engineering.

Since I didn’t have the school terms for the strict time to “learn stuff”, I started to read a lot more books. My manager at the time would feed me books on all sorts of startup, management and tech topics. I got in the habit of, when I encountered something new I didn’t know being used, I would ask “where did you learn that?” or “is there a book for that?”. This is an amazing habit, because while you learn things on the job with experience, you can learn a lot and much deeper with the right set of books.

What’s exciting about software engineering to me is that you can always keep learning totally new areas and expand your knowledge. The “material” of what we build with in software is knowledge (as opposed to say, concrete materials in something like civil engineering) and it’s just out there waiting to be acquired. And in a compound interest sort of way, this acquisition starts to snowball, where you find you’re able to come up with really robust solutions very quickly, using these foundations you’ve been building in your mind.

I think this is also a really good lense for software mentorship. Growing software engineers basically means they’ve got more experience building stuff and they know more stuff. If your a mentor or manager, find out what your report is interested in and try and find a project and a book to go along with it. They’ll get to explore their passion and grow, an their growth means a more effective team. It’s win / win. This is basically a more structured way to enact a growth mindset.

Software engineering - learn stuff build stuff.