Tales from the Git Keeper: Christmas is Canceled

This is a tale about how I had to work through Christmas as a result of mostly bad luck.



I was working at a large tech company on a new product that had been available less than a year. Since this was the first Christmas for this product, the company wasn’t sure what to expect for demand or cost of failure. I was working on this product for almost 2 years. There were 3 other people on my team. The most senior member was out for parental leave, the next was out on vacation, and the last had been on the team for 2 months out of college. To be clear, I was on my own for the first Christmas period of a reportedly hot, new product. What makes matters even worse is how the product generated scale. People could buy the product any time but it only generated traffic when it was registered to a new user. We could not predict when this would happen. We suspected it would happen for several million customers between 6 am and 3 pm on Christmas day in my timezone. This was projected to bring in triple to dectuple our existing load.

Week Before Christmas

The above circumstances should be a sign that risk needs to be mitigated. Unfortunately for me, this didn’t go quite as well as it could have. Why:

  1. The range of projected traffic was several orders of magnitude wide. This means we could have gotten 10 requests per second or 1000. That was the best estimates.
  2. When running scaling tests, we could generate a specific number of requests but no way of understanding what data should be in the requests. Should it be 10 requests with 10 different customers or 10 with the same customer? It turns out that made a massive scaling difference to my services.
  3. The company created tier-1 SWAT teams to resolve issues across the product before paging the product specific engineers. These people had generic sets of instructions for common problems. What this didn’t include was how to manage scaling for the database we were using. As it turns out, the prescribed action was exactly the opposite of what should have been done.
  4. Finally, the company actually had no idea of the impact of failure. We just assumed all failure was bad.

On a personal note, I decided to schedule going to a friend’s house just for the Christmas dinner. I was away from family and thought I’d be able to spare 3 hours for dinner when I was assured nothing should go wrong. I even though it would be an uneventful Christmas where I could relax, eat, and be happy. I was wrong.

Day of Christmas

7 am: Paged awake and told to get on a conference call immediately.

NOTE: Once in a conference call or chat, you need to be constantly available and are asked for updates every 5 min regardless of how boring, tense, or upsetting it is.

7:10 am: I join a chat room with my manager, my skip manager, the SWAT team engineer, the SWAT team engineer’s manager, and my director. That’s right: 2 engineers and 4 managers.

7:30 am: Figured out the problem. For those who are technical, we had an SQL database with a limited number of connections and all connections were timing out due to long running queries. This means that all requests were taking really long and failing. This is one of the reasons why people don’t like using SQL in large scale systems. The only way to recover from this is to stop traffic to the SQL database until the connection pool is no longer thrashing and then gradually increase traffic until you start seeing connection timeouts again. Reduce traffic and keep it throttled to just before connection timeouts start. Normally, you should determine this rate of traffic before a massive event so you don’t have to do it on the fly.

7:35 am: I go to the chat window to explain my findings.

Chat with Manager, Skip Manager, Director, SWAT Engineer, SWAT Manager

Me: Hey, I found the issue.

SWAT Eng: Yes, me too. I’m scaling up the service.



Me: It will make it worse!

SWAT Eng: I can’t cancel the scale request. But what’s wrong? It’s running out of connections. That means we should scale up.

Me: No, the database is running out of connections, not the hosts. Scaling up the hosts is effectively DDOSing the database. You need to scale down.

Skip Manager: Can you explain why?

Me: I can but later. We need to scale down.

Director: Just scale down.

7:40 am: Finally take my face of my dining room table where it slammed after seeing them scale up. I next described what was happening to the service and how to recover. The SWAT engineer and manager left the room since I was now on point to handle this.

8 am – 1 pm: Repeatedly scaling down and up to find the safest traffic level. Each scaling action took 30 min and an additional 10 min of monitoring. All throughout I needed to give detailed reports to the managers in the room.

1 pm: We reached a stable state where services were running at maximum capacity but they still couldn’t keep up with load. Skip Manager correctly identified a possibility of improving database performance to increase throughput. He started taking a snapshot of the database to make a read replica. A week later, that snapshot still hadn’t completed.

3 pm: I hit the point of emotional breakdown after not eating, washing, sleeping, and realizing I couldn’t go to Christmas dinner. I may have curled up in a ball and cried for a few minutes.

3:15 pm: Me and the managers worked on identifying database optimization and attempting them. We finally gave up after realizing we couldn’t make any changes to a live database due to resource contention.

4 pm: Inhaled some instant ramen. This was the first food that day.

6 pm to 7 pm: Casual chatting about our favorite old video games and movies while waiting for SQL EXPLAIN and long running query analysis.

7 pm – 8 pm: We admit that we cannot scale further and no amount of SQL work can be done without a read replica. Additionally, I started making another snapshot in hopes that we could get two working at different times to minimize data loss.

8 pm – 8:30 pm: Excuse myself for 30 min to shower.

8:30 pm to 9 pm: We connect with other teams to determine impact to customer. Turns out, there was none. No one noticed or cared. Good to know I worked a 16 hour day under high stress for no reason.

9 pm to 11 pm: We created lists of items to monitor, action items for after the Christmas traffic, data we needed for recover, and how to communicate to partner teams what the outage was. We agreed to come back online tomorrow morning at 7 am to see how the snapshots were going and to check on the issue.

Day After Christmas (AKA Boxing Day)

7 am: Get up and run to my computer so I’m not paged for being late for check-in.

7:05 am – 8 am: Confirming that nothing has changed, no one cares that we have crashed and burned, and the database replicas are not done yet.

8 am – 9 am: Discussion with managers what to do now.

9 am: Repeating previous attempts to improve indexes on the database and search for slow queries now that the traffic has decreased. Also collect data for the reports to be filed during the next business day.

12 pm: We throw in the towel and decide to re-baseline the entire system when we get in to work after the holidays.

Christmas “Gifts”

Much like Ebenezer, I also learned a few things through this Christmas trauma:

  • Being on call sucks. Before this I was okay with being woken up at 2 am once in a while or working a few hours on weekends. No more.
  • Being a manager sucks. My managers shielded me from the verbal impaling going on in the manager level meetings but I heard about it.
  • I learned where my breaking point was in terms of working on something stressful for an extended period of time. Then I kept working past it. Don’t do that.
  • After this, I told people to f*ck right off if they couldn’t prove their problem was causing financial loss. No way am I going to waste my personal time on something that doesn’t matter again.
  • There is a large community of sleep-deprived, beer drinking engineers commiserating over this and similar experiences all the time. Be nice to them.
  • When a big operational event is planned, have a backup so the primary can shower, eat, and cry in a corner if they need to.
  • While it didn’t erase the trauma, trading my Christmas and half day of work for another week of paid time off was something I asked for and enjoyed taking.

Two years later…

Me: I quit.

Manager: Left the organization. Still at the company.

Skip Manager: Quit.

Director: Left the organization. Still at the company.

SWAT Engineer: Quit.

SWAT Manager: Left the organization. Still at the company.

The Service That Failed: Deleted. It was rewritten 1 year later.

No one involved in this incident stayed on the product longer than 2 years after the event. Not even the service lasted.

An Independent Venture: Customer Number… 0

Finding customers as a freelancer or contractor starting out is hard. These are some failed attempts at getting customers and what I learned.


Prospect 1: Work For Free

The first prospective client I spoke with was through a Slack networking channel. He saw when I posted I was looking for freelance work and asked me to join his other Slack channel that pooled freelancers. He said his team posted for freelance work needed on projects and those in the channel could claim the work.

This sounded fine. Until he described the work he needed me to do. For free. He mentioned that since I wasn’t an expert, he didn’t want to pay me. We spent some time negotiating  a lower fee with specific deadlines and expectations. It didn’t pan out and I got the impression he just didn’t want to pay for the work.

Prospect 2: Online Course Instructor

The second prospective client was found through Upwork. This position was for teaching a few lectures on common topics like Git, Test Driven Development, and DevOps. This sounded like a piece of cake. When I contacted the hiring department, we agreed upon expectations as well as pay. They asked me to do a sample lecture on a topic of my choice as an interview for the position. I did well on the interview. They sent me a contract to sign. And I never heard from them again. Sadly, I never got the contact info of the department that had reviewed and approved my interview, otherwise this might have turned into actual work.

Prospect 3: StartUp Chats

On several different occasions, I’ve met with CTOs, CEOs, or COOs of various startups to discuss potential freelance work. All of the startups are in the same position: they have a good base of engineers, they can’t afford to hire more, and they need a few more people temporarily to get their project to the next milestone. For each of them I described what specific work I could do on their project, for how long, and for what rate. Every single one of them said “I can definitely find a way to have us work together.” No, I didn’t really believe them but at some point one of them might be telling the truth. One of them was a friend of mine and he kept me updated on the contract progress. He was slowly suffocating under a mountain of work to the point where he didn’t even had time to list enough of it to create a freelancing contract. I’ve chosen to assume that all of the startups have similar challenges and won’t sweat the loss. On the other hand, I also gave them my contact information rather than getting theirs. This meant I couldn’t follow up with them. Now I know I always need to get a business card.

How did I meet these people?

Learning From Failure

I don’t see these failed attempts at landing clients failures since each time I learn something new. With the first client I learned that people will ask me to work for free and I need to be firm on saying no. With the second client, I learned that talking to hiring departments is a waste of time if my contract will be with a different department. With all the startups, I learned the importance of following up. A little nudge is enough to get you a lot of work.

Lightning Talk: Mindfulness To Find Your Dream Job

I did a 5 minute lightning talk at a women in tech conference. Here’s the blog version.

Measuring Your Heart

Everything that irritates us about others can lead us to an understanding of ourselves.

Carl Jung

As Carl Jung points out, we can learn a lot about our likes and dislikes by paying attention to the things that irritate us. That is more or less how this works.

3 Simple Steps

Step 1: Collect

Before we can answer any questions about what we like or dislike at work, we need to collect data. According to The Paradox Of Choice, a book that explore our biases when remembering experiences and making choices, we judge whether we like an experience based on our feelings at the end. If you had a mostly bad day at work but the last hour or two were great, you might think you had a great day. For that reason, I recommend using mindfulness to collect data based on small tasks or events in your day rather than trying to decide whether you like your work at the end of the day, week, or month.

How does this work?


Building habits is hard. According to The Power of Habit, the best way to build a habit is to associate it with an existing trigger. For example, your trigger might be checking your phone or going to the bathroom. Every time you do this, take a second to use the mindfulness technique to record data about your feelings about your job.


If you’re not familiar with mindfulness, don’t worry: this is really tiny aspect used as a focus tool. First, you need to remove distractions. I use physical sensation to draw attention to right now. Hold fabric between your fingers and rub them together to really pay attention to the texture of the cloth. You can draw one finger along the inside of another finger to generate a sensation that grabs your attention. Bringing focus to a physical sensation is all you need to temporarily dislodge yourself from the barrage of thoughts about everything else but now.

Once you have your attention, do a “body scan”. This is reading your own body language. Are your shoulders tensed or relaxed? Are you breathing slowly and deeply or quickly and shallow? Are you fidgeting or balling your hands in fists? A lot of these little things are easily noticed if you take a second to pay attention and tell you how you’re feeling.


Each “record” should be a pair: what were you doing and how did you feel after. These can be as detailed or sparse as you want. As you repeat the exercise, you will be able to adjust according to what data is most useful to you.


  • One on one with manager: happy, relaxed, confident
  • Meeting with stakeholder: tense, crossed arms, needed to take a walk
  • Publishing code review: godlike
  • Release war room: why do I do this job?

Step 2: Categorize

Next we categorize the data. There can be 2 or more categories and they can be whatever you want. My favorite is “good vs. bad” but other useful ones are “stressful vs. calming”, “energizing vs. draining”, or “empowering vs. demotivating”. Depending on what you want to change or understand, you can adjust your categories. This technique can be used to sort your activities into groups like “helps promotion vs. busy work” or “builds skills vs. menial tasks”. These can be used to stay on track for career goals.



  • Publishing code review
  • Figuring out root cause of bug
  • Successful release to production
  • One on one with manager


  • Team retrospective
  • Meetings with stakeholders
  • Writing integration test for legacy features
  • Release war room

Step 3: Interpret

Finally, figuring out your dream. I can’t promise this will get you the best job in your next career change but if you do this regularly, it will make you more aware of what to change now and look for in the future. How does that work?

From the example above I can see a few trends:

  • I tend not to like meetings
  • I have a good relationship with my manager
  • I enjoy releasing code and moving code along in the development process
  • I enjoy solving problems
  • I don’t like being in high stress situations like war rooms or situations that may be otherwise delicate like retrospectives
  • I tend to prefer solo tasks
  • It looks like I prefer smaller meeting sizes
  • I might have a good relationship with my manager but not my team based on the retrospective being in the “bad” column
  • I might not like partner teams if the war room and stakeholder meeting both fell under bad
  • I probably like our development infrastructure since I liked publishing my code review and releasing my code

If you see the complex ones with “might” and “probably”, you might need better data around those events.

Now, I have this blurb to put on my LinkedIn profile:

I am looking for a position that values independent workers who work closely with their core teams. I enjoy working for managers who empower their engineers to stay focused on their project work. I prefer written communication to meetings and I’m strongly in favor of remote work. I am passionate about devops and development process excellence. I gain great satisfaction from a job were I can problem solve when digging into the root cause of issues.

It sounds like my likes and dislikes at work make me a perfect devops, quality, or infrastructure engineer on a remote team that values independent workers. When I first did this exercise and saw this data, I was on a team that prioritized frequent collaboration across multiple teams and mandated feature development over process or product improvement. This might explain why I wasn’t so happy there.

This also leads to key terms for a job search:

Independent, single manager or fewer managers, written communication, devops, operational excellence, remote, debugging, quality

Here’s an random job for a Remote Security Engineer at Elasticsearch. Let’s see how many of those traits I can find (I’ve bolded the relevant parts):

Engineering Philosophy

Engineering a distributed system that is easy to operate via elegantly designed APIs is a challenge. It requires software development skills and the ability to think like a user. We care deeply about giving you ownership of what you’re working on [Independence]. Our company believes we achieve greatness when they are set free and are surrounded and challenged by their peers. At Elastic, we effectively don’t have a hierarchy to speak of [Less multi-manager meetings]; we feel that you should be empowered to comment on anything, regardless of your role within the company.

What You Will Be Doing:

  • Evolving the security features of Elasticsearch.
  • Implement authentication, authorization, and other security protocols within Elasticsearch.
  • Build the foundation of security for the Elastic Stack using knowledge of cryptographic primitives and security trade-offs.
  • Prototype new ideas and experiment openly.
  • Collaborating in the open with the Elasticsearch team, Elastic Stack users, and others supporting open source projects.
  • Working with the community on bugs and performance issues and assisting out support engineers with tougher customer issues. [Debugging]

Tally this up: remote, independent, few multi-manager meetings, quality (comes with security), and debugging with customers. This basically meets everything but the devops requirement. Before I did this exercise, I wouldn’t have looked for or considered this job. It looks like a much better fit for my likes and dislikes than my job at the time was.

Finally, you don’t actually need to leave your current job to “find” your dream job. If you bring this data to your manager, you can have a conversation to improve your current day to day work.


  • Hi Manager, I really enjoying improving and augmenting our development infrastructure. Is there any bandwidth for me to spend more time on tasks like this?
  • Dear Manager, I find the stakeholder and war room meetings with Team X are very chaotic and distracting. Do you think you could help me push for a conference call so I don’t need to be in the room and be less distracted?
  • To the Manager whom it may concern, I understand that you’ve been placing me in leadership positions for several new products. While I think this is a great compliment for the trust you have in me, I want to work with you to make time for doing what I love at this job: crushing bugs and solving problems.
  • Meetings suck. Please make them stop.

How you phrase these has more to do with Crucial Conversations than anything else. At the very least, you communicate what you want more of or less of.

Brush Twice, Floss Once

How often should you do this? I recommend 5 to 10 consecutive business days with a handful of measurements per day to get a good sense of your average work day. Be careful of the time frame you choose. If another significant life event is going on or something else is changing, you may be measuring your reaction to that other thing instead of your reaction to your job.


Tools for setting triggers:

  • Phone alarms
  • Calendar reminders
  • Apps like Dailio

Tools for measuring:

  • Coloring or tagging your calendar meetings with categories describing your reactions to them
  • Apps like Dailio
  • Pen and Paper

Tools for interpreting:

  • Pen and paper
  • Apps, once again, like Dailio

Happy Self Quantifying.

When To Quit: Motivations And Fears

Have you ever been alarmed at seeing your coworkers leaving your company in droves? Or hearing about it at other companies? Should you be quitting too? Here I’ll go over factors that impact whether to quit and how to determine if your fears of quitting are justified.

space rocket launching
What quitting looks like to me represented with a photo by Pixabay on Pexels.com

Read The Signs

If you’re not one of those people constantly on the look out for another step up, you probably don’t think of quitting your job regularly. Here are some signs that might tell you it’s time to consider it:

  • You dread going to work or come home feeling really drained regularly.
  • You don’t feel emotionally invested in your work.
  • You haven’t changed positions or jobs for the past 5 years.
  • When people ask you what you like about your job, one of the first or only things you say is:
    • I really like the people.
    • My manager never puts any pressure on me.
    • I mean, the benefits are good.
    • I can’t complain.
  • You wish you could learn new skills on the job.
  • You keep telling yourself you’ll get that promotion next year.
  • You remember how your team was so much better before.
  • People start telling you about other great positions (not recruiters or managers).
  • You’re bored at work all the time.

Just because your favorite thing about your job is the benefits, people, or stability doesn’t mean your job is bad. It means there may be a lack of engagement. This leads to low skill growth and decreased desirability for future positions. If you are near retirement, this is okay. If you’re early or mid-career, this might mean you’re going to have a hard time finding another job. If you’re not engaged in your work, your work quality is probably not your best. This can lead to all kinds of bad feelings both from within, like guilt or despondency, and without, like people thinking you’re a lazy procrastinator.

But If I Quit…

There are so many reasons that come up when you think of quitting. It could be small, like not wanting to miss your favorite coffee shop, or big, like being worried about visa sponsorship. First, it’s okay to have these worries. Second, write them down and try to prioritize them in order of biggest worry. This is going to be a useful way to prioritize traits in your next job.


  1. Fear of being deported due to lack of visa support. This turns into: Confirm with recruiter and/or HR that visa support will be provided.
  2. Fear of getting a longer commute, meaning more stress, money, and time. This turns into: Ask about commuting support, work from home options, and potentially only look at companies within a certain distance of your home.
  3. Irritation at having to rollover your HSA. This turns into: Look up the HSA rollover policies and see if it’s worth rolling over your balance or just reinvesting within the same HSA.

Fears can be used to identify completely reasonable concerns with quitting. You can turn them into achievable requirements for your next position.

No You’re Biased

Let’s talk about cognitive biases. Here’s an example of an internal stream of thought along with some biases identified within it:

Okay, so this job isn’t going as well as you thought but you’ve already spent the time and effort to get it, why not give it a little more time? [Loss Aversion]. On top of that, you’ve contributed so much code, documentation, process, and team development effort here [IKEA effect]. Is it really that bad? It would be much nicer if things stayed the same, right? [Status Quo Bias]. After all, this is a great job because you chose to take it[Choice Supportive Bias]. In fact, you have this job and there are tons of people that would want it [Endowment effect]. Certainly, all your coworkers seem to like it here so you should too [Bandwagon effect]. They all understand that this company works a certain way and that’s how we stay successful [System Justification]. In the end, it’s going to be so hard to choose from all the available jobs that you might as well stick with this one [Default Effect].

First, what’s a cognitive bias? In short, it’s an irrational way of thinking that leads to decisions or actions not based in reality. Here’s another way to think of it: your brain is doing the best it can to ensure your success and sometimes that means making decisions based off of fear instead of reality. How do you combat this when this happens unconsciously?

In general, you can counter biases by broadening your view and working to look at things objectively (note: this isn’t easy). Let’s see some examples:

  • Endowment effect and Choice Supportive Bias: You think your job is great because it’s your job. Counterpoint: First, any job could be your job, which means any job could be great. Second, your job isn’t unique. There are other jobs almost the same as your current one. So, is it so scary to leave your job for another that offers you the same status?
  • Loss Aversion: Also known as the Sunk Cost Fallacy, you tell yourself you’ve already spent so much time and effort here that you don’t want to leave that all behind. Counterpoint: What about the time and effort you’ve spent on your career? You’re not leaving that behind. Or the time and effort you’ve spent building a network with your coworkers? That also stays. The effort put to your job isn’t lost, it’s just a piece of a larger whole that is your career.
  • IKEA Effect: This sh*t is yours. You built it with your bare hands over multiple late nights and with extreme sleep deprivation. You can’t just leave it. Counterpoint: The thing is, you’re going to ideally retire at some point and there goes your work. Know that you can’t hold on to it forever. Secondly, think of all the work you’ve ever done in your entire life. Your work contributions are not limited to this specific job and those contributions don’t go away after you start working in another segment of the limitless pool of work that needs to be done in this world. No one can take your achievements or accomplishments from you even if you quit your job.
  • Bandwagon Effect, System Justification, and Status Quo Bias: These ones are interesting because they are all related to the fear of being different, standing out, and going against the norm. This can cause fear of social rejection. Counterpoint: Broaden your view to include not just your coworkers and bosses, but all workers in your sector. Do they think your job is great? Take a look at Glassdoor. Is your managerial structure great or abusive? Is it really worth keeping the status quo when only some people think your job is the best and your managers are driving you into the ground?
  • Default Effect: This one is also interesting because it could signal another problem. On one hand, you could be lazy. Or, you could be immobilized with stress when thinking of changing jobs. If you’re just lazy or thinking that it will be fine if you do nothing, you can try to broaden your view and collect data on your job vs. others to get a more objective perspective. However, if you are in a job you don’t like and can’t change because of anxiety, you might need to get help from someone who can coach you through the change.

In all these cases there are a few generic ways to gain objectivity:

  • What would you say to a friend in your situation?
  • What would you say to a stranger in your situation?
  • Ask your friend to look at the data you’ve presented and see what they conclude (try not to lead them to a decision)
  • Ask a stranger the same you asked your friend
  • Whether good or bad, there are tons of posts on Yahoo!Answers and Reddit by people trying to figure out this very thing

Why ask strangers and friends? The difference can be useful because you might be able to see the biases in action with the differences. Additionally, friends know your strengths and weaknesses better than a stranger so they will respond in a way tailored to you. A stranger doesn’t know you and will give the most general answer.

Where do I find this stranger? You’ll unfortunately want to reach into your network and find an engineer you used to work with, an old boss, someone you met at a networking event, or even a career coach if you’d like a more formal evaluation.

The bottom line is that your brain is going to try to protect you when you are stressed. Sometimes the decisions made in a time of stress are not the best long term so work on collecting more information to support them.

ISO: Another Pond

Here are a few reasons why you should always be considering changing jobs.

  • Does your current position build skills on the job that will make you more appealing to the market? If you’re using 20 year old technology or you haven’t learned anything new in the past few years, you might be hurting your career by staying.
  • Do you have benefits supporting continuing education? Some companies pay for master’s degrees or additional certifications.
  • Are you supported in trying new roles? Maybe you don’t want to be an engineer and instead want to try out project management. There are companies that support this transition and others don’t.
  • Promotions. Every place has a different way of promoting. If the job you’re at doesn’t have a good promotion track, you can look for a place that does.
  • Money! When you change jobs, there’s a new opportunity to negotiate a higher salary than you currently have. In the tech market, you can expect a 20% salary increase or more with each job change. That really stacks up after a few job switches.
  • You can grow your experience and diversity of thought by being in a different work environment.
  • Even if you’re not looking for a job for yourself, by finding out about potential new jobs you can be a great resources for friends and coworkers who do want to switch. When you do favors for others, they tend to return them. This could lead to an even better opportunity further down the line.
  • Do you want to travel the world? Some companies offer relocation benefits for internal transfers to international offices. You could live in a different country every few years and round out back at home if you want.

Show Me Numbers

I’ve mentioned being objective and rational a lot. Numbers and hard data make it clearer whether you benefit from quitting. Here are some numerical data you can collect and compare.

  • Money: what do you make now vs. what you could be making
  • Happiness: This might take a little work. Count the number of days when you’re happy or not. You can also check out some mindfulness practices here. Think of what your ideal is and compare.
  • Skills: List the skills you want to learn vs. the skills available to learn at your job.
  • Location: Measure the commute times between your current workplace and what your ideal commute times would be. You can also measure parking costs or time on public transit.
  • Family: Compare parental benefits if you’re planning to start a family.
  • Benefits: Look at health benefits, 401k, stock awards, commute reimbursement, fitness benefits, or anything else you have or are missing.
  • Networking: Consider the people you are working with. Do you want to have more or less experienced people? Do you want more diversity in your workplace?
  • Future: Do you want to move to another country? Does your current position support that or have other options like remote that would let you travel?

Taking these pieces of data and putting them into “current position has” and “want but current position doesn’t have” will help show the gap between your current and ideal position. Prioritize them and determine what you would jump ship for.

This Is Fine

It is okay to like your job and want to stay. In fact, it’s great if you’ve found a job where you think you’d like to stay for a long time and feel has the right setup for long term career growth. That is an enviable position. Potentially even more enviable than someone who’s “conquered” the FANG interviews and probably has a stupidly high salary. Everyone chooses their own path and because you’re the only one who reaps the benefits, it doesn’t matter what the rest of the world is doing. Happy quitting (or staying and enjoying your current job).

Book Report: Remote: Office Not Required

Remote: Office Not Required Cover

Book link

Book site


If you’ve thought of working remotely or having a remote team, this book is right for you. If you’re dubious about the benefits or if you want to build a case for remote work, this book will go through all the concerns, benefits, excuses, and best practices for successfully building a remote work team and culture. This is the book you wish your managers read before they told you they wouldn’t support working from home.

Remote Work Is Good for Humanity

Why now?

Why is remote work such a big topic now compared to before? 20 or 30 years ago, the only options for remote work were via landline telephones. This meant only audio information and a huge amount of data loss. Today, we have personal computers and smart phones that allow us to have a visual and audio communication with anyone, anywhere.

So, why haven’t we all switched? Learning to use technology for large scale communication and productivity is hard. On top of that, older generations may be hesitant to adopt a work policy that makes them obsolete. Finally, there is a lot of fear in losing control of your workforce when you can no longer see them.

Environmental Benefits

  • Reducing long commutes by supporting remote work prevents excess greenhouse gas emissions.
  • Allowing remote work prevents population growth around already crowded metropolitan areas and reduces long commutes for everyone.

Personal Benefits

  • Commuting makes people fat, stressed, and miserable. Not commuting will make you happier in the short and long term with the bonus of saved time.
  • By not commuting, you save gas money and maybe don’t even need a second car or any car at all.
  • Promoting asynchronous communication through remote work allows people to have more flexible schedules. You can take time to pick up children from school, take that afternoon surfing course, or finally accept your night owl sleep schedule.
  • Why wait to go to your retirement city when you could live there now? Remote work allows you to live where you want sooner than retirement.

Employer Benefits

  • It is harder to poach remote employees for a few different reasons: you can’t be lured away by in person conversations, employees working remotely are happier with their job, and employees want to hang on to their remote positions.
  • Employers don’t need to maintain a full scale work space for it’s employees, including no need for cleaning staff, utilities, rental fees, concerns about sufficient parking, etc.
  • The workforce is disaster ready for any disruption to a single geographic area.
  • Remote workers broadens the talent pool. It increases employee happiness and retention.

Work Culture Benefits

  • When the cost of meetings becomes higher, you suddenly have more efficient meetings.
  • Remote work allows for variety and customization in your work environment. This boosts creativity, accommodates diversity, and create a culture of inclusion.
  • Having remote workers increases the diversity of the workforce and creates a better product through that diversity.
  • By removing the social engineering and politics present in onsite offices, such as causal drive by conversations, employees are valued for their skills rather than their politics.

Fear Of Change and Loss Of Control

This section will be pairs of excuses (fears) and counterpoints to address those fears.

Excuse: We can’t suddenly ask the whole company to work remotely.

Counterpoint: We can start by having some remote teams or even slowly shortening our in-office work week to work out the kinks first.

Excuse: Great ideas only happen with in person collaboration

Counterpoint: First, this isn’t true. In fact, being out of the office offers more opportunity for creative thinking because moving to a different setting can often prompt new ways of thinking. Secondly, even if this were true, we can only work on a couple of great ideas at a time. In that case, we only need to meet to generate “great ideas” once or twice a year.

Excuse: People are just going to slack off more

Counterpoint: We need to accept that people are going to slack of and be lazy no matter where they are. If their work isn’t engaging, they won’t want to do it. If your employees are slacking, it’s about lack of engaging work, not about where they are working.

Excuse: Remote workers are a security vulnerability.

Counterpoint: There are many products and services available to protect employee devices regardless of location including drive encryption, multi factor authentication, and remotely wiping devices.

Excuse: We need to be available during certain hours for our clients.

Counterpoint: The same person doesn’t need to be available during those hours so you can set a rotation such that at least one person is available during those hours. You can also set expectations with the clients about hours of availability.

Excuse: If I let some people work from home, everyone will want to.

Counterpoint: If there is something all your employees want to, is it really such a bad thing to give to them when you can maintain productivity?

Excuse: Not all jobs can be done remotely so none of them should be remote.

Counterpoint: Every job inherently has different responsibilities, privileges, and access to resources. Remote-friendly is just another characteristic of a particular job role and shouldn’t be denied just because all roles at a company aren’t remote.

Excuse: Without face to face interaction, we lose our culture.

Counterpoint: Company culture isn’t about face to face interaction. It’s about how we deal with tasks day-to-day. If you have a communicative culture, you can still have that remotely but it’s written or video communication instead.

Excuse: But we spent money on this office building.

Counterpoint: That doesn’t mean you need to keep spending money on that building. Second, consider renting it out to recover some of the money lost. Finally, with increased productivity of your workforce, you’ll be able to cover the costs of that building.

Remote Pitfalls

Self-discipline: You do need to be able to self-motivate into doing work you need to do. On the plus side, working remotely means you’ll have more energy to motivate yourself and will likely be more engaged in your work.

Loss of face to face time: You need to learn to communicate effectively in writing and verbally. This means you need to replace your facial expressions, nuanced hand movements, or interpretive dance moves with written or spoken word.

I’m not “mom” between 9 am and 5 pm: Living in the same place where you work can confuse your family. Making sure you aren’t rushing to your children or pets every 5 minutes and training them not to bother you in your “office” time will be needed for this to work.

Cabin Fever: Employees need to be able to choose different work arrangements to ensure they don’t get cabin fever. Employers can offer budget for shared work spaces like WeWork or provide incentives like a fitness reimbursement to ensure employees are staying active.

What is life?: Working remotely from home can blur the boundary between work and life. Each individual can come up with ways to create an invisible boundary, like a home office, a particular computer, or, as an example from the book, a different set of slippers for work time.

Writing Really Matters: As a remote employee, most of your communication will be written either for person-to-person communication or through documentation. Really work on those writing skills and try to showcase them in writing samples such as cover letters or statements of interest.

Remote The Right Way

There are a few things you and your team will need to learn to ensure remote work goes smoothly. Some of these things are the responsibility of the employee, others require a cultural change from management.

No ASAP: People will no longer be easily available at all times. Change the team culture to avoid needed answers ASAP and prioritize when they ask for in person responses. This can also be read as “learn to unblock yourself”. Ways of achieving this are having excellent documentation and FAQs for your team or ensuring there is some wiggle room in deadlines so people don’t feel pressured to be unblocked ASAP.

Partial Overlap: A lot of people will have different schedules. Target a 4 hour overlap between collaborating teams. This might mean some time zones are out of reach for candidates.

(Screen) Sharing is Caring: Always share your screens in meetings or record screen casts to communicate visual ideas. Do not allow in-person meetings to fail to share screens.

More Sharing is Caring: Ensure common instructions and all decisions are recorded in an easily accessible location so no one is blocked on waiting for information.

Virtual Water Cooler: Employees need a way to interact with each other outside of work topics and a way to “productively waste time”. This means setting up slack channels, for example, for off-topic conversations.

Intentional Face Time: Plan to create an opportunity for all employees to meet up with each other in person once or twice a year. This can be a conference or an all-hands with extended time for planning or team-building. The cost of this event will be covered by what you save not maintaining offices.

Measure Done, Not Time: Measure worker productivity by work accomplished and not time in the office. Performance reviews should value skills that are remote friendly such as written communication and independent decision making.

Be A Good Manager: Managers are no longer managing butts in seats. They have to take more time to get to know their employees, get a sense of how they are doing, monitor work being done, and minimize interference unless actually needed. In short, managers need to be good managers.

Reimbursement and Relaxation: Make sure there are clear reimbursement policies for home office setup with guidelines on good ergonomics for a home office. Encourage employees to pursue interests outside of work by reimbursing gym memberships or travel.

Not A One Man Show: Do not try remote with just one person. Make sure there is an entire team trying remote work to see whether it is effective. Additionally, have the manager of the team work remotely to understand the challenges his or her employees may be facing. Using contract positions to see how remote work might look like before supporting remote with full-time employees is an option as well.

Explicit Content: Be explicit and clear with expectations to everyone on the team and everyone the company works with. Tell clients what to expect for regular work times and out of hours response times.

Remote Interviewing: You will need to have an in person interview at some point but, up until that point, you can use remote friendly screening techniques. Using small remote tests such as writing samples or Hackerrank coding tests will show some of the basic skills an employee will need.

Motivation: Encourage engagement by allowing employees to pursue their work interests. Managers should watch out for procrastination or low quality in a former high performer as this will indicate lack of engagement in work, not a decline in worker quality.

Bad Juju: It is harder to sense bad juju building up on teams that are remote. Managers will need to keep a close eye out for potential misunderstandings and frequently check in with employees to see how they feel about their team dynamic.

Level The Playing Field: Ensure remote workers are given the same opportunities as onsite workers for collaboration. Keep track of all decisions and notes, even if they were hallway conversations. Prioritize a working A/V system over a quick sync up without the remote workers included.

End Road-Blocks: Seek out and remove incidents where employees are blocked on another person on system. Don’t require permission for vacation. Have an automatic reimbursement process. Define clear procedures for handling critical events.

Recommended Reading From This Book

Summary of Working Outside The Box: A Study of Growing Momentum in Telework

Article date: January 21, 2009

Remote working is a way to save costs across all industries, specifically on real estate costs. To successfully work remotely, a significant portion of employees must be able to do their job fully remotely for extended periods of time.  There is a misconception that remote workers will get distracted but teleworking can actually improve engagement, allow employees to control distractions in their environment.

Today there are a few crises that companies face that will push them towards embracing remote work. As companies are growing more quickly than the job market can provide skilled workers, they need to look elsewhere. Relocation is expensive so remote work provides access to a wider candidate base. Another problem is supporting an increasing cost of living in metropolitan areas. More people coming into an area increases housing costs and commute times. Supporting remote work will keep real estate costs low and prevent growth in the cost of living, and by extension salaries. The last problem is disasters. With different locations, if one location experiences a disaster, the others will still be able to keep your business going.

Listed benefits of teleworking:

  • Cost savings in employer assets and maintenance
  • Commute cost savings
  • Continuity during disasters
  • Retention and attraction of talent
  • Lower carbon dioxide emissions
  • Lower traffic congestion
  • Better job satisfaction
  • Improved work/life balance
  • Maximized geographic resources
  • Innovation in the workplace
  • Access to skills previously unavailable


  • 40% of workers are remote
  • Allowed working couples the flexibility to keep working rather than force 50% of the workforce to leave to take care of children
  • Immune to business real estate cost hikes due to availability of remote work options


  • Government uses some telework but not optimally
  • 1 day per week doesn’t allow for full benefits like real estate savings

How to do teleworking well

  • Update how you evaluate employees to focus on work done instead of time spent
  • Establish career development goals to prioritize skills valuable in remote work
  • Move as much training online as possible
  • Set clear expectations on reimbursement policies for home offices
  • Regularly check in with employees to avoid a hidden crises in the company
  • Establish HR codes for each remote position to plan real estate and budget
  • Automate administrative functions to ensure no one is ever blocked
  • Implement ongoing telework training with coaching and guides for manager

An Independent Venture: Freelancing, Contracting, and Consulting – Oh My!

Recap: Traditional full-time work isn’t a good fit. This is a post exploring what the more flexible, self-employed work options look like.

choices decision doors doorway
Photo by Pixabay on Pexels.com

All of the different types of work discussed here have these things in common (except Startups):

  • Not working full time for a specific employer
  • Define a fixed amount of work or time doing work for another company or person
  • You are responsible for managing and reporting all of your taxable income
  • A ramp up time of at least a month before you start getting income
  • Full responsibility for equipment, resources, and software for work
  • Choice of how much to work in a day, week, year, or month

Note: I phrasing these from the perspective of a software developer.

Another Note: You can mix, match, and combine any or all of these options.



What’s different about freelancing?

  • Projects can be very short
  • Clients are often individuals or small companies
  • Complete control over how much you work and what work you do

Money Matters

Minimum time to profit: You can pick up a freelance job the same day you decide to freelance.

Minimum time commitment: Jobs can range from a few hours of work to several months or years of work.

Income variability: Highly variable. You can control this more with contracts that require deposits before project work or payment upon receipt of milestones in a project.

On the Job

Getting work: Networking, freelancing sites, classified sites, your dad’s golf buddy’s nephew’s small business.

Types of work: Work ranges from very small specific tasks (write a script) to large scale projects (build an e-commerce website).

Types of client relationships: Highly variable. Some clients will be ignorant of what your work is and demand impossible tasks with impossible timelines for nothing. Other clients will understand your industry skill sets and value you fairly. Good news: you get to pick your clients.

Is it for you?

Ideal for people looking for:

  • Variable length projects
  • Low in-person interaction and minimal interaction overall
  • No “sales”


  • Market dependency: demand and rate will vary depending on where you are getting work
  • You need to take extra care to protect yourself from bad clients
  • It will take time and effort to increase your profits, though you will be able to make some money quickly



What’s different about contracting?

  • Work contracts with a single employer
  • Employer sometimes handles taxes and administrative tasks for you
  • Time based rather than task based
  • Consistent income

Money Matters

Minimum time to profit: This is the same amount of time it would take to find a job posting, apply, interview, and get your first paycheck. About 1 to 2 months.

Minimum time commitment: Short contracts are about 3 months.

Income variability: Stable. You’ll be paid regularly as part of the contracting work.

On the Job

Getting work: This type of work can be found on job-boards and through recruiters. There are also agencies and contracting companies but you can fall into being a full-time employee of those companies rather than working for yourself.

Types of work: This is most similar to regular full-time work where you have a set of responsibilities rather than a specific project. You’ll often be working full-time but part-time contract positions do exist. Similarly, a lot of these request on-site contractors but some can be remote.

Types of client relationships: Very similar to employer-employee relationship. You’ll often be talking to recruiters and “contingent staff managers” as your hiring clients but you will be working with a team manager for day to day work. Your clients in this case will be medium to large sized companies looking for “contingent staff” to temporarily bulk up their workforce.

Is it for you?

Ideal for people looking for:

  • A regular work routine with a single company with consistent pay
  • A fixed term full-time employment with a clear end date
  • More security provided by the hiring company
  • Less administrative work
  • Working on teams with other people


  • You may not be seen as “equal” to full time employees
  • You can’t choose your hours
  • You may not be able to choose your location


What’s different about consulting?

  • You own your own business
  • You need to sell and market your products to potential clients
  • Your client relationships may be longer term with many repeat clients

Money Matters

Minimum time to profit: 6 months or more. You will need to build up a business, advertise your services, come up with portfolio data, and identify clients you can sell to.

Minimum time commitment: 1 – 2 years. You can be a consultant for 1 month but you’d ideally want clients that are looking for longer engagement of your services.

Income variability: Moderate. If you have long term clients, you will see some stability in income but depending on how consistently you get clients, it could be more variable.

On the Job

Getting work: networking, former employers, friends of friends… of friends

Types of work: Bigger projects with longer term or permanent involvement. Permanent involvement might mean that you are available to provide support work for a defined fee after the initial project contract is done.

Types of client relationships: Your goal is to have repeat clients and a steady flow of new potential clients. The clients will often be businesses and not individuals. You’ll be offering a complete and self-contained service to them. Ideally they recommend you to other businesses or return to you for more business.

Is it for you?

Ideal for people looking for:

  • Work scoped to a specific skillset
  • More decision power over how work is done
  • Lots of interaction with clients
  • Potential for expanding into hiring other people to work with you


  • You need to have marketing and sales material publicly available
  • You need to be comfortable doing sales to sell your consulting services
  • A miscalculation at the beginning of creating your value proposition and selecting your clients could result in the wrong clients or no work at all


What’s different about starting up your own business?

  • You own your own business
  • You are not dealing with clients but trying to engage customers instead
  • Marketing and sales comes after development and is targeted at groups of people rather than specific individuals
  • You are selling a product, not a service or a skill
  • There are significantly more administrative tasks to consider

Money Matters

Minimum time to profit: Months to years depending on the type of product you are selling. If you are building a simple phone app, it could be weeks or months. If you are building  website or service, it could be months or years.

Minimum time commitment: This one is tricky because you want your product to last long enough to make money. I’m going to throw 2 years out there as a minimum.

Income variability: Technically, the income isn’t variable since you won’t have any income fairly consistently until your product is out in the market and people are buying it. Often you’ll get a single lump sum investment and then nothing again. However, there are some ways to get variable income as you are developing. These are things like Kickstarter and Patreon.

On the Job

Getting work: You make your own work.

Types of work: You decide what work you are doing but be prepared to do everything from janitorial work to client calls to bug fixes for your business.

Types of client relationships: There are no clients; there are only customers.

Is it for you?

Ideal for people looking for:

  • A way to share a great idea they have with the world
  • Complete control over an entire product including inception and maintenance
  • A long term investment that might turn out to be extremely lucrative
  • Lots of variety in their work tasks


  • Your idea has to actually be good and you must be able to execute well
  • Market competition for your specific product or lack of demand
  • Inability to monetize in a way customer are willing to pay
  • Due to the long term investment, lack of follow through to completion


An Independent Venture: Sales?

I was at a software conference and met up with someone in marketing. I asked Marketing Friend for advice about how to negotiate sales and land clients for my business. Here is a digest of the advice she gave me.

It Turns Out There Is Something In A Name

First things first: how do people know you? Not only that, once they know you, how do they remember you? Despite what certain inventors of English literature may write, there can be quite a bit in a name.

  1. You need a name
  2. Your name should be associated with you
  3. Your name should be memorable

You might think (1) is a little silly but at this point in my business I had no name so I was confronted with an existential crisis every time someone asked where I worked.

If you have a larger company, you may not want to  associate it directly with yourself but rather with what your company identity is. I work on my own so I can make the company name more personal. If you can find a personal trait to coerce into a memorable and catchy name, you can create something that helps people remember both you and the company.

Example: If you have a common name with an alternate spelling, use the corrective phrase as a title. This is contrived but if your name is “Joan” but spelled “Jone” then you can have a company named “J number one” or “J – 1, 2, 3”. This is both personalized to you and helps your clients associate you and your company together.

Bad Example: I have a silent ‘d’ in my name, which Marketing Friend noticed right away. She said, “Call your company ‘With a “D.”‘ For what I hope are obvious reasons, I’m not going to go with that one. It would definitely be memorable though. Not safe for work reference.


A.K.A. Gathering Competitive Information

You will win bids and you will lose bids. Every win is an opportunity to strengthen the positive aspects of your sales and every loss is a way to identify gaps and shrink them. When you lose a bid, take the loss gracefully and use this opportunity to get information about the winning bid from your formerly potential client. This will almost be the only time you’ll get this information because you’re playing on guilt in the client. Remember this needs to be done as an immediate reaction to the rejection of your bid.


Client: “Hi Alacritical, I just wanted to follow up to say we’ve decided to go with another consultant for this project.”

Me: “I understand and I’m glad you found someone you want to work with. If you don’t mind my asking, what about that team made them stand out to you?”

This can be a fishing expedition but I hope to find out about what the competitors bid is and whether they had some marketable edge over me.

Sell Like A Vampire Hunter: Straight Through The Heart

It turns out humans aren’t robots. It can be disappointing news, but there you go. We have feelings in addition to logic and often we aren’t aware of how this affects our decisions when we think we’re being logical. That’s a whole other discussion though. When you are telling a story, making a joke, or selling anything, you need to hook that emotional part of a person and show them how what you are saying relates to them. Once you’ve got that attachment, you can let that robot logic make the decisions and spit out all the data and numbers you want.


  • A sales pitch is a story
  • A story has a beginning, middle, and end
  • The beginning draws people in through emotion and a clearly identified challenge
  • The middle describes an action in response to that challenge
  • The end is how that action resolved the challenge and addressed the emotion at the beginning


You want to pitch a service where you audit a cloud software system and identify cost savings areas. What are the different parts of this story?

  1. Emotion: You’re looking to play on the fear of losing money, the pressure of increasing profit margin without increasing resources, and the avarice of taking more money home
  2. Hook: Build your hook with a clear definition of the challenge and emotion. This means using language that evokes emotional responses. “Are you sure you could see the invisible leaks draining your infrastructure funds?” “Do you find yourself squeezing your budget for more research funds? Look no further than your own infrastructure as a bounty of potential savings.” “What would you say to boosting that profit margin with some simple streamlining techniques to your infrastructure?”
  3. Action: Describe what action you can take to solve this problem and address that emotional response you just played on. “We will use our team of skilled infrastructure engineers to dive into your infrastructure to deeply understand what your needs are. We can always find ways of lowering costs without lowering quality, engineering happiness, and ease of maintenance.” Note the continued used of evocative language. Also note use of the second person voice. You want your client to feel like this is something you’re doing just for them even if we all know that’s not true.
  4. Happily ever after: This is where you can start throwing in some data. Talk about success stories and what they got out of your services. “As a result of this work, we’ve empowered small and large businesses to re-invest almost 25% of their previously wasted infrastructure funds into innovation and growth.” Perhaps with a strong implication that we can do this for you too.

I personally don’t like the part of sales where I need to use emotionally charged words or topics to trigger attention or attachment but the good news is, this works for telling jokes and making effective presentations too. Check out TED talks and other advertisements to see if you can identify each of the components of the story they’ve created.

Client Communication Guidelines

Good news, you did the sales part and now you can just relax and treat clients like a regular person? No. It’s not going to be as much of an effort but you need to respect that they are running their own business and they are the center of their own universe. What does this mean?

  • Do not sound like you’re reciting a one-size-fits-all response. Personalize to show that you are making this proposal for them specifically. “For you, I recommend…”, “Something that will work well for your system…”
  • Do not use jargon. Use simple and direct communication. Take a look at the way they do news bulletins on television and how they can be understood by most high school students without difficulty.
  • Spend time focusing on making sure they see you understand the problem and are there to help them cope with it instead of throwing a solution at them and walking away.
  • When proposing alternatives to a solution or suggesting a solution to a separate problem you have not been asked to solve, always empower the client to make the decision. Present your suggestion in a way that highlights the differences (i.e. even if the change isn’t visual, a visual difference is easier to understand). Propose objectively and respect their choice.
  • See if you can connect with individuals closest to the problem to gain the best level of understanding. This can also smooth some turbulence caused if you indirectly create work for others before you’ve talked to them about the work.


There were a few phrases that, as a “radically candid” person, seem okay but Marketing Friend told me to adjust:

  • “Renegotiate” should be “Modify” – renegotiate is scary and will lead people to close down and back away despite its accuracy.
  • “You can’t afford me” should be “This isn’t a good fit” – Being a woman in tech, I’m repeatedly told to assert my value. Just not with clients it turns out.
  • “You say you can’t afford me but I guarantee I’ll do a great job and it will be worth it” should be “I really want to work with you on this project; don’t let money stand in the way” – This communicates that you are committed to doing a good job on the project but also that you’re not just selling the service, you’re selling your emotional investment as well. Thus, selling your heart.

Notes on Being a Woman in Business

We hear a lot about how gender stereotyping harms women in business, politics, the home, and basically everywhere. However, there are some ways women can leverage this in sales.

It is more acceptable for women to show emotional and caring according to gender stereotypes. As a result, women can show much more emotional attachment to potential clients and highlight their caring and supportive strengths as an asset. If you can find someone who can do the job and actually cares about how it affect you, why wouldn’t you choose them?

This is not to say you should sell your heart to these companies. When you genuinely are interested in delivering a service and want to show you care, do so. This is about letting that extra bit come out in your sales.

Example: Say, “I love the ideas and innovation you’re bringing to this market and I want to be here to support you through building this vision” instead of “I find your ideas and innovation interesting and I’d like to contribute”

Now, this is a touchy subject. I’m not saying men can’t do this. They can. However, due to the unfortunate restrictive bias of gender stereotypes (remember, they’re not good), men may be seen as weaker for showing this kind of emotion. Weaker means less trustworthy to some people. It’s unfair. I’m sure men all over North America are just crying themselves to sleep at night with that extra $0.20 on the dollar they make over myself and other women.

Note: I did intentionally choose an article that both explained and contradicted that number for maximum fairness to everyone.

The End

Remember, these are just notes and ideas from me and my marketing friend. Everyone works differently and all I can hope is that trying this out will make a few more interesting blog posts to write.