Automate or die (slowly)

The long-term overhead of not automating your operational problems will choke the growth of your product features. Technical debt is well understood to slow down software product development, but I hardly hear anyone discussing operational debt.

Operational debt, or support engineering can kill your product development velocity. Every time someone says “we can do it manually for now” is adding operational debt. Overtime it becomes normal to do everything

People, process, then technology is something that is chirped by founders, and investors alike. The time gap between building process and building technology should be small. Process isn’t a long-term solution, it is a stop-gap while your software team catches up to your process innovations.

Time Minimalism

We are constantly being bombarded with notifications, alerts, feeds, and messages. I have 43 apps installed on my phone. Each one of them has the ability to send a push notification. The average iPhone owner in the United States has 32 apps installed. South Koreans have 40!

I am exhausted (and so are you)

This past Friday (4/7/2017) I received 256 emails. If I spend an average of 1 minute per email I spent around 4 hours of focus on email.

We use Slack at Voray. We have 14 active users, and a handful of helpful bots. On Friday (4/7/2017) we (as a team of humans) sent 684 messages. Over the same time our bots sent 121 messages. A very high percentage of our messages are important, and need some attention. If I spent an average of 15 seconds of focus on each message I spent 3.5 hours of focus on Slack.

I spent 7.5 hours of focus on email and Slack!

Focus is finite (so is time)

On average my brain works a 7.5 hour day before even having a chance to do my actual job. Assuming you aren’t in Limitless you have a finite amount of focus per day. Tim Ferriss says it is 4 hours a week. I think I can do 6 hours of deep work per day.

Just email and Slack cause me to start my workday with a negative balance on focus. I have to generate an extra 1.5 hours of focus (coffee?) per day!

How am I supposed to focus on the hard problems?

Engagement is a naughty word

Ironically we have a metric that we use to track how much focus we are stealing from something else: engagement. Every day something new will come along to take your focus! Read the Snap S-1…

Here are thoughts on breaking the cycle:

  • Turn off email push. Do you really need email to be real-time? Check your email on your own schedule
  • Setup VIPs! This allows me to be notified when my boss (hi David!) emails me and when my family messages me
  • Unsubscribe from all emails that aren’t transactional. All of those marketing emails are designed to take your focus away from whatever you should be doing. Make your email work for you
  • Turn off push notifications for iMessage / Slack / Messenger / Hangouts / VRBO / WhatsApp. Check them when you want to give it your focus not when it wants it
  • Do you need a notification for every Slack message? Can you leverage the “Unread Messages” functionality on your own schedule? Slack is an important communication tool when it is working for you
  • Leverage “Do Not Disturb”-modes. Set boundaries on when and how you want to be notified
  • Use RSS/Atom to ingest information when you want to spend the time on it
  • Read Essentialism: The Disciplined Pursuit of Less and apply it to your time. Remember that there are only so many hours a day, days a week, weeks a year, and years in a life
  • Always remember that we are designing software to keep people engaged. I am hoping you focus on this blog post instead of on something else

Arbitrary Constraints Power Creative Problem Solving

Google Ventures does a lot of research on sprints. What they don’t say directly is that a sprint is a tightly constrained by time. In five days you have to decide, build, test, and iterate a new idea.

After building software for nearly ten years, I’ve come to the realization that the thing that drives both my ability to deliver software is being constrained. As soon as I believe that I have “free time” and can still be successful I tend to find failure. I run my team in one week sprints to focus on what we need to do in simple, themed five day bundles of work (sprint).

Gone are the days of waterfall and with that deadlines in the far future. Some Agile pundits believe that deadlines are bad. I actually disagree. I agree that deadlines six months away are bad but a deadline in five days is powerful. You can feel the constraint of time. Five days away is on the horizon, you can mentally grasp a weeks worth of work. You cannot grasp twenty four weeks of work. Can you wrap your mind around planning a dinner out in a few days? How about planning one in a few months? You will immediately start thinking about solutions to this weeks deadline, but you’ll naturally tend to put off the deadline months away. This is the true power of constraining yourself, and your teams.

Don’t be cheap

Cheapness is natural when thinking about constraining. We can shave off this work, and that work because it doesn’t fit the model. I am not suggesting you skip the hard stuff because it doesn’t fit in to your environment. Do the tough stuff but break it up into consumable chunks of time. As an example, we are rebuilding our permissions system. We are moving from a RDBMS to a graph. We spent a one week sprint on choosing what graph store to use, one week on building a proof of concept, and will now spend one week on taking that PoC turning it into an MVP we can test with a subset of our users. Hopefully after a week of testing, and monitoring we will release it to our entire customer base. The entire project took five weeks but we broke it up into sprints to constrain us. We were able to take a fairly complicated piece of work, break it down into week long challenges, and are tackling each. We are forced to attack each bit with our best creative problem solving skills.

You will need to have clearly defined success, and failure metrics. Find what is important, and what you think is realistic. Trust the people around you to take ownership of getting across the finish line. Perhaps if you can’t decide on the storage engine after a full week of work you are solving the wrong problem. This will all depend on your team, and its makeup.

Read the book by GV on Sprints. It will help you think about your team’s cadence and how you can be more consistent. It’ll also help you decentralize the problem solving. Everyone will feel like an integral part of the successes and failures. They will clearly understand the problem before them — one week instead of twenty four weeks!

Are You Managing Your Manager?

This post originally appeared on FirstMark Community.

Insights from FirstMark’s Code Driven series, a monthly event for developers to learn and get inspired.

Are you doing a good job managing your manager?

Duncan Grazier, ShopKeep’s VP of Engineering, has a simple formula that can empower engineers to get the most out of their managers, and to ultimately take charge of the direction of their careers. In fact, the formula — — shared at FirstMark’sCode Driven NYC — has the potential to unlock personal and professional growth for anyone with professional ambitions.

There is a virtually endless library of business writing dedicated to being a good manager, from classics like High Output Management or The Goal, to newer managerial approaches like radical candor. But this advice does little to empower employees to take charge of their own careers. Grazier’s formula turns professional development on its head: how can employees draw great management out of their managers?

The idea holds enormous promise, whether you’re currently working under a terrible manager or a great one. Drawing from his experience managing engineers, Grazier’s formula consists of four simple steps, succinctly summarized as dreams, alignment, goal-setting, and feedback.

Step 1. Dreams: Know What You Want

“Cat: Where are you going?
Alice: Which way should I go?
Cat: That depends on where you are going.
Alice: I don’t know.
Cat: Then it doesn’t matter which way you go.”

Lewis Carroll, Alice in Wonderland

First, you have to know what success means to you. What are you working toward? Do you want to become a CTO? Start your own company? Or, are you happiest as an individual contributor? Do you want to write a book on software development? Become a widely recognized thought leader? What do you want to be when you grow up?

Countless employees clock in every day without having any long-term career objective. Others may have blind ambition to “advance” their careers, without any specific achievable outcome. Both of these scenarios leave you and your manager unable to make progress, because there is no specific end state you are working toward.

With a specific dream in mind, you can approach every day like it’s one more step on a longer journey. Without direction, you may still “advance” in one sense of the word — but, like Alice, it doesn’t matter which way you go if you don’t know where you’re going.

Step 2. Alignment: Make Sure You and Your Boss Want the Same Things

The next step is to figure out how your dreams align with your manager’s and your company’s priorities.

What’s critical is not simply to know what you want. It’s equally important to know what motivates your manager, as well as your company. Because the success of this formula hinges entirely on figuring out how getting what you want also enables your manager and your company to get what they want.

If your ambition is to become a VP of Engineering or CTO, there are countless ways you can take steps toward this objective while simultaneously supporting the growth of your manager and your company. For example, you can seek out opportunities to mentor new or junior team members, who will benefit substantially from guidance from an experienced hand. This gives you the opportunity to practice doing what managers do (providing mentorship), and prove to others that you are adept at it. It also makes your manager’s other reports more effective (an outcome aligned with her interests) and your entire company stronger.

So, the crux of step two is to have a candid discussion with your manager about how your dreams align with your manager’s and your company’s goal. Make sure she understands what you want to accomplish and how you intend to get there. But do so in a way that emphasizes areas of overlap between your interests and the organization’s. From there, you can work together to figure out what specific areas of focus — the heart of step three — are aligned with the objectives of everystakeholder.

Step 3. Goals: Agree on Specific Objectives to Get from Here to There

Grazier believes goals are the single most important tool you have as an employee to become successful. (He also believes it’s the single most valuable tool in the manager’s toolkit, as well.)

Goals provide a framework that enable you to be extremely deliberate about your day-to-day focus. They help dictate what tasks you focus on, encouraging actions that carry you and your organization toward your shared objectives.

One common symptom of a broken goal-setting process: engineers who feel like their only job is to write heaps upon heaps of code. Without more specific guidance, ambitious engineers can only ramp up output in an effort to stand out. For engineers, writing code is the main focus of your full-time job, but it’s likely not the only part of your job. And it’s almost certainly not the only thing you should be doing to achieve your professional ambitions.

So, if you don’t have them already, demand goals from your manager. With the alignment you’ve established in step two, it should be straightforward to set specific goals that meet everyone’s objectives.

Goal-setting is a topic that has been covered at length in business literature. In short, though, Grazier believes there are just a few simple principles that govern great goals:

  • Goals should be set at both micro and macro levels. Most often, this means setting time-bound goals with different cadences: weekly or monthly objectives (“ship feature X”), paired with broader long-term goals (“four mentorship sessions with three employees over the next year.”).
  • Goals must be measurable. If goals are not quantifiable, whether you’ve met them — or not — becomes a subjective question. Goals should be time-bound, and have an objective and quantifiable binary outcome.
  • Goals should be challenging. The purpose of the goal-setting process is not to “lower the bar and step over it.” Nor is it about setting impossible-to-accomplish targets. It’s about finding a happy medium that is achievable when you stretch to do your best possible work.

For more information about effective goal-setting, you can read up on SMART goals, or any number of other resources.

Step 4. Feedback: Make Sure Your Manager is a Mentor

The final and most important piece of the puzzle is regular feedback. Grazier is adamant that engineers demand it if they aren’t getting it. Feedback could come in the form of a weekly or bi-weekly one-on-one meeting. It could even be an email- or Slack-based check-in. The format isn’t important; what matters is that it happens.

Feedback sessions should include a systematic review of progress against your goals. The check-ins give you the opportunity to be honest with yourself about where you stand within the organization, and whether you’re making steady progress against the goals you’ve set in step three (and, by extension, your ultimate ambitions set in step one).

A candid review of your goals naturally segues into a conversation about ways your manager can help. Are there organizational roadblocks that need to be removed? Do you need resources that you don’t already have? There’s certainly somethingyour manager can be doing to help that she is not doing already. And, because your goals are aligned with your manager’s goals, it will be in everyone’s interest to make sure those things happen.

A final important note about getting the most out of your manager — you have to be willing and ready to learn from your manager. As Grazier says, “They have probably done your role. They have probably been in your shoes. Maybe they have some really interesting insights into what you’re doing. But, look to them as mentors. Don’t look to them as ‘Oh, that’s just my boss. He’ll decide my bonus.’ Sure, that’s true. But they have more experience than you, likely. They have good insights into what you can be doing better.”

Regular and candid feedback is what keeps this entire process on track. It’s your opportunity to assess your progress alongside your manager, identify how to remove roadblocks and move faster, and get the guidance that will take your career to new heights.

Managing your manager is as simple as this four-step process: dreams, alignment, goals, and feedback. Give it a shot; you may be shocked to discover how much you can accomplish if you decide to become a better manager of your manager.

“Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.”

Lewis Carroll, Alice in Wonderland