Why I come to work every day

At our company (and any company) many things change.

We add features and enhancements to our products. We may launch new products and kill off old products. In response to market forces, we may find ourselves changing more fundamental things like our business model. Our cash balance changes, and our runway changes. When we raise new rounds of financing, our board members may change. And, as in any company, people leave the company as new people join.

But there are some things that should not change. These are the most important things. They’re our core values, and they’re the reason we come to work every day. They define our culture.

I’d like to talk about one of those core values, and more specifically, what brings me to work every day. But first, you need some background.

First and foremost, I am a programmer at heart. Computers are deeply embedded in my psyche. I started programming at a young age (5th grade, I believe, using QBasic on my parents’ Samsung 386 machine running Windows 3.1). I tell you this not to inflate my ego, but to illustrate that I didn’t get into programming because I wanted a job. I got into it as a kid and really enjoyed it as a hobby. I’m lucky that such a hobby can turn into a career in the modern age.

Many of you may not know this about me, but I have had a colorful relationship with academia and education in general. I was expelled from high school the day before the graduation ceremony, and then also (later) dismissed from my university. Needless to say, these experiences have had a profound impact on my opinion of both K-12 education and higher education in this country.

When you combine a deep love of programming with a bumpy academic career, you can see what attracted me to the idea of Bloc.

The core value I want to discuss today is the practice of mentorship. And, I want to tell you how I feel about mentorship through the stories of two important mentors I’ve had in my career.

(NOTE: I’ve changed their names to preserve their privacy.)

Mentor #1: Brandon.

I moved to San Francisco in 2010 after graduating from college (yes, they let me back in). I was 24, and I was living out of my backpack in the bay area. I had also never had a real software engineering job before, but due to my background I considered myself a good programmer. And I thought I knew everything there was to know about building software.

Then, I started working with Brandon. We tried to get a startup off the ground in late 2010 and while we achieved a degree of traction and success, we ultimately decided to shut it down before raising money.

Throughout those couple of months, Brandon was my mentor. He was (and still is) one of the most technically intelligent people I’ve ever met, and he taught me a couple of important things that have stuck with me to this day:

  • Code Review: At the end of every day or week, we would sit down and go through the code we had written together. This was the first time I’d ever done that. I got to talk through my code, and more importantly, I got to listen while Brandon talked me through his code. I learned so much just by watching and listening to him describe his approach to structuring code and solving technical problems at a higher level.
  • You can’t add quality after-the-fact, you have to begin with it as a goal.
  • Mental Discipline — many times I watched Brandon go off for several days, deep in thought about a problem. Then, he would sit down at the keyboard and crank out the solution in a matter of hours or days. He also demonstrated a level of discipline in his technical process — with his tools, with his editor, with the command line, and more — a level of discipline I had never seen. It was far more than simply being competent with his tools; his usage of his tools clearly reflected his mental clarity and discipline.
  • Lastly, he taught me that I didn’t know shit about real software engineering. Every project I had ever been a part of had been either started by me, from scratch, or sufficiently academic, without any real users, that I was never forced to flex real software engineering muscles. Only programming muscles.

I’m extremely grateful to this person for allowing me to learn from them.

I want to point out an important fact: this was not a classroom. At no point did I receive “instruction”. I learned these valuable lessons by working directly with someone more experienced than I was. Through osmosis, I absorbed much more than I could have in a more structured setting.

Mentor #2: Albert

After we shut down our startup, I was out of cash and forced to get a job. So, I started working at an analytics company. I made a lot of friends and in particular, learned a lot from a specific individual.

This person, we’ll call him Albert, was older than I was, and far more experienced. But most of what I learned from Albert wasn’t technical. I learned more about what it means to work on a team and how to be a professional than any technical subject matter.

After I joined the company, I learned that Albert had been the cofounder of a wildly successful startup in the late 90s that had ultimately failed during the dotcom bust. He’d grown a company of his own from 2 people to several hundred, and then had to sell the company for almost nothing at the end, after layoffs and many other painful and stressful moments.

Here’s a collection of things I learned from Albert:

  • I didn’t know shit about software engineering. I thought I did, and my many interactions with this individual really highlighted how inexperienced I was. My ego needed this.
  • Here’s my favorite story about Albert. He was the QA / Test automation engineer at this company. Part of that responsibility meant that whenever a specific engineer’s automated test build failed, he would have to saunter over to that engineer’s desk and deliver the bad news. And if you’ve worked with engineers, you know that sometimes we’re not so receptive to news like this, especially if we’re in a productive moment. Most of the time, when Albert delivered this news, it was met with obscenities and possibly table-flipping behavior. Nobody likes it when their tests fail. And yet, day after day, week after week, for months and months on end, I witnessed Albert deliver this bad news with a smile on his face. Every. Single. Time. He never wavered. He was a kind person and had been around long enough to understand that even when you’re delivering bad news, you do it with a genuine smile and an offer to help. That really stuck with me.
  • Failure isn’t the end. Although I had failed pretty hard for a high school and college kid, Albert had really failed professionally. His startup experience could absolutely be considered a failure. However, Albert reinforced to me the most important lesson: you will live. In fact, you will be better for it. You will take the lessons from each experience and they will make you a better person.
  • Relationships outlast companies. This is an extension of the previous point — when Albert failed, it didn’t mean he severed his connection to the people at that company. In fact, he maintained these relationships and I witnessed several people from his old company visit Albert. They always greeted one another with what seemed to be genuine smiles.
  • Relationships are not transactions. If you treat your relationships with your family, friends, colleagues, and even customers as merely transactions, they will be one-dimensional and short-lived. But if you treat them like relationships that require care, feeding, and attention, they will be fulfilling and they will endure.
  • Albert was always extremely honest, authentic, and humble, despite his impressive resume.

I’ve had many more mentors over the years, before that, and since. Many of you have, as well. Some of them are gone, and some of them we maintain contact with to this day. I could talk for hours and hours about all of the other mentors I’ve had. Here’s a list of things I’ve learned from my mentors over the years:

  • How to work hard and play hard
  • How to care for other people, not just computers (ha!)
  • How to avoid politics at a company where politics has proliferated
  • Go above and beyond whenever possible
  • How to sit in on sales calls as an engineer
  • How to improve as a technical leader
  • Many, many technical lessons, too many to list here

Looking over this list, these include some important life lessons. And here’s where I want to revisit the reason I care so deeply about mentorship.

Life’s most important lessons can’t be learned in a classroom.

So, why do I come to work? What wakes me up every day? Why are we here?

To celebrate great mentors, and to bring great mentorship to our students.

We’re a startup, and we obviously want to “participate in the financial upside” of any success we experience. But, that’s not actually why most of us are here. Most of us are here because we’re a people-oriented company. We care deeply about our students and mentors, and want to see them succeed. We come to work because we know our mission is to change the lives of our students through the highest level of learning: mentorship.

We also acknowledge that people are not transactions. Our colleagues and our customers are special to us — they’re relationships. The relationship isn’t finished when the transaction completes. The relationship is never finished.

Lastly, we’re all here because we realize that education is one of society’s biggest problems to solve. We want to have a real impact on the world. Any of us could get jobs at the newest snapchat/messaging/photo sharing/whatever mobile app, and we don’t. We come to Bloc because we want to make a difference.

And, we want to do all of this while still having a good time.