Balancing Health and Productivity

I’m sitting in my recliner this week, and cranking out work.

Why does my recliner matter? For years, I worked from home, sitting in a recliner. It was comfy, cozy, and let me just concentrate on work. I was highly productive. But I didn’t move much during my work day.

I wanted to fix that. I instead got a bar stool height office chair, and sat on it while coding, pushing it aside to stand during meetings. I’ve been in that setup for months now. I felt stronger. I felt like I was moving more and ended each day feeling like less of a lump. Until this last weekend…

This weekend – the smoke from the wildfires made me feel unhealthy. So I pulled the recliner back to my desk to relax physically for a couple days, wondering if it would help. It did – I had forgotten how comfortable this is. And my work improved – I’m getting more done, faster. Not that I was unproductive the last 6 months, but I was at maybe 80% of my capabilities, not 100%.

I’m getting more done this week, but back to less exercise and movement, and therein lies exactly the question everyone needs to answer for themselves – is 100% productivity the right goal? If I end up rocking my work, but trashing my health, what will I think of that choice when I am 55, 65, 75… Will I even make it that long?

I’ve been around enough that I’ve seen coders who did not focus on their health die. It is a sobering moment when someone just a little older than you, and just a little less healthy than you, is suddenly gone.

I have no intention of slacking in my work, but I am putting myself first, and taking the time every day to go on walks, take breaks, move around the house, and not just sit at a screen all day. If I lose a little productivity in the short-term, I’ll still gain more time and accomplishments over my lifetime.

Take care of yourselves, people – while there may be some jobs worth dying for, odds are your tech job is not one of them.

My Interview Questions

When discussing how to interview for software jobs, lively discussions ensue, with almost every answer being disliked by someone or other. Despite knowing that there are certainly critiques that can be thrown at anyone’s process, I wanted to share the types of questions I ask, and why – both when interviewing a candidate, as well as what I ask when I am the candidate.

When I Am Hiring

Philosophically, I agree that ‘leetcode’ questions aren’t ideal. I don’t feel they are useless, but I believe they should be a quick, easy proof that your candidate has the basics down, and then you should move on to more useful questions.

I try to devise new questions for each round of hiring. I ask all candidates the same question, so I have an accurate comparison of their answers. My questions have a few common traits:

The answer should be open-ended. I want to see how they solve problems, and how they approach their work. I don’t want them to have to reach the “right” answer, or prove to me that they memorized an algorithm that they could just look up if they ever need it.

The question should have enough flexibility to let the candidate choose their own approach, and focus on areas in which they are strong. It should be vague enough to let them make assumptions or ask questions to refine the problem. It should be complex enough to make them think through multiple approaches, but simple enough that you still can talk through it in 15 minutes.

In short, you want to give them enough rope to either let their talents shine, or to shoot themselves in the foot, all depending on their own skills.

I’ll give two examples that I remember:

SharePoint Admin Question (2009-ish)

In the late 00s, we were hiring a SharePoint Architect to lead the internal team supporting SharePoint for an Enterprise IT shop.

My question was: When an end user, external to the company, submits a search form on a sharepoint-driven public web site, tell me what happens.

The answers ranged from as simple as: “Sharepoint would do the search and return results”, to complex answers getting into the DNS lookups, TCP/IP routing, firewalls, and then down into the SharePoint internals.

The answer given by the guy who got the job showed that he already thought at the level we wanted for the position. He asked how our server farm was configured. He asked how load balancers were configured. And he asked if we should just dispense with the details of the external networking, instead starting with the front-end server, and explaining what each server in the farm did, in what order they would perform operations, and how the result would be sent back out over the external network.

His answer showed me that he knew his stuff, he knew which pieces could be put aside because it would be someone’s else’s responsibility, and he asked for more information to be sure to give an accurate answer instead of making up a simple solution.

Full Stack Dev Question (2017)

For the devs, I asked them to devise a way to display a bracket of game results, akin to the college basketball championships. I told them that they can design the data however they like, in whatever format and structure they believe would be most helpful, and to tell me what that data would be, and how they would write front-end code to render the bracket on-screen.

Answers varied greatly. I had some people who spent the whole time asking me what the data looked like. Others jumped right into the front-end, talking about how to place the results on-screen. Most people asked clarifying questions, with the most common being whether they were showing the end results, or if they had to show progress as the games were played. (My answer was to be able to show a snapshot of how it looked at any given timestamp.) Some people did not get very far. Most people would get 80% of a solution figured out in the 15 minutes we had. There was a large pack of people who did “OK.”, with 2-3 who gave answers good enough that I was in favor of hiring them.

The guy who got the job asked a few clarifying questions, then breezed through it like I was asking him to code FizzBuzz, with terrific answers. I kept pushing him to see how far he could take it, especially on the front-end. That was a failing of mine – I should have just said, “Yeah, great, lets move on.” I annoyed him. But he took the job, and is doing great there.

When I am the Candidate

When I am looking for a job, I’m trying to determine whether I’d be happy at the company, doing the work they want me to do, on a team I can work with, for a boss who is a solid leader.

To figure that out, I almost always ask the following questions:

What is your leadership style? There are a few wrong answers here: “What do you mean?”, “Authoritarian”, “I micro-manage”. But anything other than those 3 is often good enough. I want a boss who thinks enough about team leadership that the question isn’t new to him, who gives his people autonomy, and who respects his people.

How does the team resolve conflict? What I want to hear from this question is that they acknowledge that conflict does exist, and try to build consensus between team members.

What is the Long-term goal of the company? Are they trying to build a smaller, comfortable business where people stay for years? Or is this a high-growth company trying to build up to take over their market and/or get acquired? Or do they have something else in mind? I want to be sure I’m not walking into a place that is going to burn people out while seeking the mythical “exit”. Most other answers are fine for me, but “Join us and we’ll exit and all retire young” tells me we aren’t on the same page. Not that there is anything wrong with that goal if that is your desire, it just isn’t me.

What are the current struggles on the team, and where they are headed to correct the problems? I don’t necessarily care what the problems are, unless it throws me a red flag that the leadership isn’t skilled, but I want to know that they have a solid self-awareness of where they need to improve, and are planning actions to improve the team.

What is the team doing great on? I ask this question less to decide on whether or not I want to be there, but more to end on a positive note. This question does so, while also building a natural hand-off back to the interviewer to finish doing their job of selling me on the company, so we can wrap up the interview.

How To Sabotage a Job Before Your First Day

Why in the world would anyone want to sabotage their brand new job? That sounds like a terrible plan. And yet, people do it all the time by accepting job offers that are not a good match for how they work or what they want from their career.

A few examples, with possible ways to avoid them:

Taking a job because you want “an exit”without guaranteeing that result.

There is no guarantee that a startup will achieve a large exit. Most startups fail. Even good ideas with good leadership. If you are OK with that risk, make sure the company is headed towards the exit you desire:

  • Ask in the interview what the end goal of the company is – if they say anything that does not match your goals, be wary of joining unless everything else about the job would make you happy if the exit never comes to fruition.
  • Read the employment contract carefully. Be sure your employment contract includes compensation upon any type of acquisition, including a funding round. Do not rely on the board of directors to watch out for your interests when making future deals.
  • Push back if the contract doesn’t offer what you need. You have a job offer in hand. They want to work with you. You can negotiate the contract without having to walk on eggshells out of fear of killing the deal. Ask for what you want – the worst that is likely to happen is they say “No”.
  • Do not over-value stock options. They are just as likely to be diluted away as they are to ever be worth anything.

Taking the first job that comes along out of desperation.

Know what you need from a job. Know what you want from a job. Know the difference. Make zero compromises on your needs. Go ahead and compromise on wants, with care – you probably want to spend at least a year or two in this job, so don’t compromise yourself into misery. Make sure enough of your wants are covered that you can get back on your feet without undue hatred of your work.

Be strong. It can feel reckless to turn down a job offer in your hand when you are desperate for work, and could start a job next week. It is tough situation to be unemployed with bills piling up and a family to feed. The need for work is real. But if this job offer doesn’t meet your needs, you’ll still be in a tough, miserable situation… just with more cash. You have traded one problem for another.

Taking a job that goes against your personal values

Suppose you get a great offer from a company that looks like they will give you the perfect environment, but it is run by leaders who go against your ethics, or produce products and services that run contrary to your personal beliefs. How long can you be happy spending 1/3 of your time each week working towards goals that conflict with who you are?

I recommend not even starting discussions with such companies. You’ll just end up having to decide exactly what your price is to break your own moral code, and either sell out or quit the job anyway.

This isn’t a life lesson you need to learn first-hand. Just stick to companies you can believe in.


These three examples don’t cover all possibilities. The first and third likely won’t even matter to the same people – mission-driven people often aren’t looking for an exit, and money-driven people often don’t understand the idea of working for a mission.

Those types of core personality differences are exactly the larger point, though – we are all different people with different goals, needs, and wants. And no matter what your goals are, some jobs will be a good match while others will be bad matches. Ask the questions while interviewing for a job to know which is which. And hold out until you find a good match.

Needs vs. Wants in a Job Search

I’m going to assume that most readers already grasp the difference between what you need vs. what you want. But I see people think about their needs at the wrong point of a job search.

Your needs should be defined before you start applying for jobs. There is a core baseline that would make you reject a job offer no matter what – a minimum salary, a maximum commute. You may have industries you will not work in, or tech stack you will not work on. Do you need specific health benefits? These needs should be thought through so they are in your mind, and maybe even written down somewhere, to help you filter our job listings or inquiries from recruiters that you would never accept.

When thinking these through, don’t rush to decisions. If someone offered you less than your minimum salary, but a 40% stake in the company, would you consider it? If so, you haven’t defined your needed salary, you have defined your wanted salary. They both matter, but it is important to know the difference.

The same concept goes for your commute, or any other trait of a job you consider – if the rest of the offer package was stupendous, would you give on your needs? If so, they are not needs. Determine your needs now, both to know what questions to ask in the interview process, and also to know where to draw hard lines in negotiations later.

That brings us to wants. We all likely want more salary and a shorter commute than we need. But we also want other things – autonomy, meaningful work, skilled and personable co-workers, perks and benefits. Perhaps you want to work on new technology, or get some upwards career mobility. There is likely a large list of wants, with no single job that will give you them all. But knowing what they are matter when the offer comes in.

Because once you get the offer, you can quickly reject it if needs are not met, but you have to balance your wants. Look at your list of what you want and check off which are going to be fulfilled by the new job, and which are not. For every want you do not get, there should be a balance of a want you did get. I’d recommend seeking a job where you get at least half of your wants.

If you are on the fence about an offer, having this perspective on a list of what you did and did not get makes negotiation easier. Sometimes a potential employer cannot budge on salary, but can budge on other aspects of the job. Or the other way around, where the job isn’t flexible, but they can increase the offer. You need to know what you want to effectively negotiate because you should be pushing harder on jobs that fulfill less of your wants, and you should be more flexible on jobs that give you most of your wants.

Even beyond reacting to a specific offer, knowing your needs and wants may get you more offers. That knowledge will drive you to asking good questions, while at the same time, not being over-demanding in areas where you are flexible. When a potential employer sees that you can be both firm and flexible, and that you know when each is appropriate, it earns respect. They will have an easier time believing in you and find you more likable than candidates who fall to either extreme.

Lessons Learned From Success

I spent 5 years building a SaaS as an employee, not a founder. It was acquired a few years back. I’ve been trying to write up the good and bad of the experience, and finding it difficult to do so without getting into anecdotes that are more about my own reactions than helpful to other people.

But I did write up some specific lessons learned that might be helpful:

  1. Trust your gut – if a new job doesn’t feel right, it probably isn’t.
  2. Don’t knowingly step into a personality conflict – Dealing with different personalities is hard enough in business and will come along over the course of your work anyway… so there is no need to volunteer for a conflict from day one.
  3. Good leaders are not the same thing as good bosses. If you don’t have a solid relationship with your boss, seek out a new one. That doesn’t have to mean finding a new job – transferring within the company can also improve your working situation.
  4. Companies that feel like family are a double-edged sword – Having a family-like supportive group of people all working together towards a meaningful product is a wonderful experience. Enough so that it makes it easy to fall into the trap of making your self-identity synonymous with your job. This is not wise.
  5. If you feel like your career is stagnating, then it probably is – make an active decision whether or not that is OK with you. There is nothing wrong with staying in a place where you are happy. But if it bothers you, then you aren’t happy. Listen to yourself, and seek out a change.

Your Job is not your identity

There is a tendency to define ourselves by our work. At a high level, there is some validity to that – anything we do for 30, 40 or more hours a week certainly is a part of who we are. But we often take it too far. We become personally attached to our employer, our project, or the technology stack we prefer.

The reason that is taking it too far is because it absolutely will change. Your employer is rarely truly loyal to you at a personal level. Your technology stack will change over time. And your projects will change.

In particular in the software world, few companies just build a product and then maintain it forever. (And few coders would even enjoy that.) Your product is quite likely to either grow, shrink, or be purchased by someone else. Your leadership will change. These things are mostly out of your control.

That brings a personal danger to your own mental health to invest deeply in a specific piece of your job, because it will change. And you would then need to go through a process of re-defining your self. Instead, define yourself by the areas you control – you control whether or not you choose to stay in your job as changes come along. You control setting boundaries with your employer to maintain a healthy work/life balance. You control how much energy you put into improving your role within a company vs. improving your skills and capabilities in general.

Keep your self-identity focused on your own path, not on the specific job you happen to be in today.

Fixing Problems Within Your Current Role


“What if I’m already in a job that is less-than ideal? How can I change it?”

Realize that you are constantly in a negotiation with your manager.

You want to keep a job and have your career advance. They want their team to be stable, to get work done well and effectively, and to advance their own career. The common ground between your goals and theirs is that you both want to establish a work environment where you are happy to work, and able to do it well. The differences in your goals is what drives the ongoing negotiation.

This negotiation is often ignored. But every day you continue to work without raising concerns about the environment means that you have accepted the status quo. Your employer does not own you – you agree to work for them in exchange for money. When the money no longer feels like fair compensation for your time and troubles, it is time to explicitly negotiate for a change. Likewise, if they re-organize your work, change your team or your role, that also should be seen as time to re-negotiate.

I am not talking about your salary. Typically, that is the most difficult item to change outside of a formal review process. Look for other changes that can happen in your work — flexible hours, working from home, better tools, more autonomy, time to explore your interests, paid training… these are the types of perks you want to negotiate on an ongoing basis.

It starts with knowing your own wants and needs… and knowing the difference.

If you have realized that your current job is not working for you because you have a need that is not being met, you need to communicate the need to your boss, and help them to resolve it. If they cannot, it is time to leave. This is harsher than my typical advice, but it is for your own health – if they don’t meet your needs, you should not be there any more than if you were considering joining them in the first palace and rejected an offer because your needs were not met. Your loyalty to your employer is a lovely concept, but is outdated. Would they continue to employ you if you stopped meeting their needs? No. Act the same, and go.

The more common scenario, however, is negotiating your wants. Let’s pretend you have just gotten some bad news – for example, lets imagine that you heard an announcement about an organizational change to work for a manager whom you don’t get along with. It isn’t ideal, and is a step backwards from where you were before, so it is time to negotiate for something else that you want to balance the difference. 

You have leverage in this negotiation. A new boss doesn’t want his people to quit. Aside from having to replace them, which costs time and money and energy, it simply makes them look bad. Their career will suffer if they don’t keep their employees happy and efficient. Your retention in your role does matter to them. So ask for something you want. First, ask nicely – you don’t need to go into discussion with management acting like you are re-negotiating your job. Although you are, that is a more hostile approach to take, and will burn you if you play that card too often. So just go in saying that you have some ideas that would make you happier and better at your work, and want to discuss them.

Once you start talking about your desired changes, it is hard to draw a roadmap of how conversations will go. Maybe you’ll get what you want. Maybe they’ll give a hard ‘No’, or maybe you’ll have to compromise. 

A few tips on each scenario:

  1. You get what you want – be grateful, take the win, say Thanks, and go back to work.
  2. They give a hard ‘No’ – don’t react. Just sit quietly for a minute. This is a bit manipulative, but many people are uncomfortable with silence, especially when they know they just gave you a bad answer. They might voluntarily start compromising instead. So give them a minute to do so. If they don’t offer up anything else, walk away from the conversation. Don’t drop it – but let them know that you need some time to consider how that will impact your work life, and walk away. And then do think about it – can you live with losing a bit of positivity in your work environment? Or does this mean you should start looking for different work? I recommend giving any job time to see how such things play out. “You win some, you lose some” is accurate, so you don’t want to over-react to losing on negotiation. But you’d better also be winning some to balance it out.
  3. They compromise – We jump right back into listening skills in this case. Why are they compromising? What do they need? Is there an alternative proposal that meets their needs while improving your wants? Talk through the concerns in detail.

I recommend having ongoing conversations with your boss, so that when you need to have hard conversations to negotiate your working environment, it isn’t a large change to your communication pattern. I talk to my current boss weekly, and try to keep track of how much I am pushing for. I’ll push hard on concerns for a couple weeks, then back off for a couple weeks. People respect you for being a little demanding, but get annoyed by you if your demands are all they ever hear. Find a balance.

If you are uncomfortable asking for changes in your environment, it is worth spending some time figuring out why. What is going on that makes you hesitant to negotiate for change? Would you be more comfortable doing it a different way? Via email, messaging, or even asking for a team meeting to discuss the work environment in a way that isn’t 1-on-1 negotiations?

Find a way to keep the conversation about your job a constant in your working relationship with your boss.

Questions To Answer Before Seeking A New Job

The first step to be satisfied with your career, and happy with the day-to-day life as you live that career is to take the right job in the first place.

To achieve that, you need a significant amount of self-knowledge and the skills to use the interview process to figure out whether a potential job is a good match.

You need to define for yourself what you want in a working environment, and what you need from your working environment.  A few examples of the types of questions to ask yourself:

  • How much space do you need to be comfortable doing your work? Are open offices OK? Do you need a private office? Are you Ok with a 15 minutes commute? 30? 60? 
  • How much detail do you want in your instructions from your leaders? How much autonomy? Does that match their leadership style? 
  • Do you need or want flexible working hours, working from home, or other such arrangements?

Answering these questions requires an understanding of yourself and the environments in which you thrive. What are your values? What are the values of the company you are investigating? What leadership styles work well with your personality? 

I’ll try to expand on these questions in the future. For now – be sure to think about them. Use the interview to find the answers you need to understand whether any given company amtches your needs. When they give you a chance to ask questions, do it. If they are on a time crunch and don’t have time to answer all your questions, tell them so. Tell them that you do not have all your questions answered, but if they feel there is potential to work together ask for another time to finish your questions. Tell them why – let them know that you are looking for a great match, not just any job.

Once you have all your answers, be brutally honest with yourself. Does the job you are looking at have the correct characteristics to help you succeed? If not, have the strength to reject it. Don’t try that commute that is too long. Don’t let just one or two unmet requirements slide. Don’t fall into that trap. Define your needs and stick to them. Flexibility is OK in your wants, not your needs.

Stand Up For Yourself

I’ve written before about constantly negotiating your own role. Another way to look at those negotiations is that you are constantly making a deliberate effort to stand up for yourself. It is easy to let an employer slowly change your role in ways that degrade your experience, over time turning what started as a good job into a job you may not even want anymore. You fix this by standing up for yourself at every point.

  1. First, as has been stated elsewhere, know your own needs and wants.
  2. Secondly, keep score. I don’t mean you should be constantly looking for ways to feel that you have been treated unfairly, I mean you should lay out all kinds of metrics about your role, and as changes come in, evaluate whether they have changed. 

Examples of metrics about your role:

  • Salary
  • Number of direct reports
  • Number of middle managers between yourself and the CEO
  • Number and scale of Products supported
  • % of time you are autonomous
  • % of time spent in meetings vs. doing work you enjoy.
  • “Startup” perks – snacks, games, team outings, etc.
  • Training budget
  • Benefits – specific financial impact of your insurance, 401K, etc.

It is important to note that some of these metrics are double-edged swords. If you take on more products, or take on more direct reports, that looks good on your resume, but also is increased responsibility, which increases stress. In these cases, it is a negative when negotiating for your work environment. You need to balance it out with a positive, which is frequently a salary increase. 

The most common complaint I hear as people progress in their career is that they were given more work and more responsibility without a promotion or raise. Again, you are not looking to be a difficult employee – you don’t need a raise or promotion every time something small changes. But you do need to react to patterns. Yearly reviews are a great time to say, “I’ve taken on so much more in the past 6-12 months, I believe it is time for my compensation and title to match my growth.”

I also believe “keeping score” makes sense because it balances the negotiations. If you cannot lay out exactly what that growth is, as well as any negative changes over the course of the year, it is easy for your boss to just hand out a review, tell you what raise you get, while you just say, “Oh, ok.”

Be confident. Know what you have achieved. Document it. Send that documentation to you boss before promotions are decided, and be sure they know that you know how valuable are to the team and the company. 

As with everything, there is a balance to this. Don’t be so pushy that you become a problem. The negotiation for an improved work experience and improved compensation should be approached gently, and when needed, but should not be the most common interaction you have with your boss.