Skip to main content

Managing Up, Managing Down: A Middle Manager's Balancing Act

· 3 min read
Ashish Kapoor
Software Engineer

Stepping into a middle management role is a wild experience. One minute you're deep in product reviews with your team, and the next you're sitting in a room where decisions are made that make zero sense to the people doing the actual work.

Sound familiar?

If you’ve ever felt torn between protecting your team and surviving the influence plays above, you’re not alone. Here's a mindset that’s helped me—and maybe it'll help you too:


Lead Down with Heart

Your team is your real power.

These are the folks in the trenches—building, testing, fixing, growing. They’re not just “resources,” they’re real people with hopes, frustrations, and ideas. They deserve empathy, clarity, and support.

When you lead downwards:

  • Be human.
  • Be present.
  • Protect their focus.
  • Translate chaos from the top into clarity below.

Invest in your team. That’s your legacy.


Deal Up with Clarity and Boundaries

Now here’s the trickier part: dealing with higher-ups.

This is where decisions might start to feel... detached from reality. Priorities shift. Agendas enter the chat. Sometimes it’s about optics, not outcomes. It can feel personal, especially if you’ve spent years building something only to watch someone new try to "redefine" it overnight.

But here’s the move:

Don’t take it personally. Don’t fight every battle. Just focus on the truth, and let your work speak.

When managing up:

  • Be respectful, but firm.
  • Speak in outcomes, not emotions.
  • Ask for context, not permission.
  • Know when to push, and when to step aside.

You’re not there to win every argument—you’re there to represent the product, the users, and the truth as you see it.


The Balancing Act

Here’s the model I follow:

Lead down with heart. Deal up with clarity.

Empathy at the bottom. Detachment at the top.

Not cold detachment—just enough emotional distance that you don’t burn out trying to fix things outside your control.

This lets you:

  • Protect your energy.
  • Stay outcome-focused.
  • Earn trust from your team and respect from above.

This mindset won’t make you invincible—but it will keep you sane, effective, and rooted in what actually matters: building great things with good people.


If you’re climbing the ladder and trying to stay grounded while navigating messy org charts and random reorgs, remember: you’re not crazy, and you’re not alone.

Ideally, Here's what I found useful resource worth watching from Apple. How they have Direct Responsibility Individuals (DRI) model avoid the chaos leading UP. Link

Stay focused. Stay real. Keep shipping.

Full Stack Development (Weekend Edition)

· 3 min read
Ashish Kapoor
Software Engineer

I have been a frontend developer in Mobile(iOS) and Websites for over a decade now. I crave to get the taste of the backend from the past 3 years over holidays and weekends.

Being in the front end I was always inclined towards javascript/typescript in the backend. I went from NodeJS to ExpressJS to Koa where I realised the developer experience(DX) was a lot demanding and did not appear like a weekend affair.

While recently working alongside a long-time friend Prakhar Shukla. I noticed him advocating for Django (Python-based framework) a lot. Where I noticed he was able to manage a team of 2 and lead multiple products swiftly with a happy face most of the time.

I started questioning my "tech-stack" ReactJS / Expo.dev, Node/ExpressDjango?, Postgres, Nginx.

All self-hosted! Oh yeah, I spent last two years in Computer Networks to accumulate practical knowledge from DNS, TCP/IP, cloudflare, Nginx Proxy Manager, wireguard, docker, docker-compose, grafana, and to ubuntu server, cockpit and proxmox.

Why? I ended up eventually streaming legally acquired videos on demand from anywhere across the globe for myself and friends using Oracle Cloud because JioCinema was a horrible OTT service back then.

Coming back on the search for a web backend framework which plays nice with a weekend’s worth of time. Since a lot of my time investment went into the node, express, koa, system design, and backend systems. I realised it was not a waste of time after all because the architecture was almost the same across all frameworks. I noticed unlike in the front end at least in the backend things were mostly the same with minor differences in philosophy and ways of doing the same things.

Then with a simple introduction to Django Rest Framework the promise of DX helped me double down on giving my all free time to devote to Python & SQL > Django > DRF. The major benefits of not having to worry about pointers and references in python were just a no-brainer. Special mention of the pythonic way of doing things.

Note: Having basic clarity of things like HTTP, IP, model-based ORMs, Virtualisation, Docker, and K8s. Then clarity through Budibase and Supabase with some technicalities of tables and relationships. I am super confident to invest my free time into Python land. Plus after witnessing my colleague fine-tuning and caching while we were scaling up our systems. It just makes sense that Django framework is the best way forward for me over weekends!

Also, statistically speaking JS/Python communities are top communities to learn and grow.

The pros of going through this process?

  • I might be able to write services on the web.
  • I might be able to fiddle with 3rd party Python AI/ML libraries which will make ML highly accessible to me.

On the similar lines (Weekend Edition), What about the state of front end?

  • I am still trying to figure out an easy way to solve the frontend overload in the world of NextJS, Svelte, VueJS, and SolidJS.
  • The idea of not being bothered about the performance too much rather delivering frontend quick is possibily the key.
  • I think since Vercel currently holds on to the top talents in the domain. They should be the ones solving this problem in the OSS way.

Here's what I built over weekend. An expense tracker. https://fintrack.sannty.in Go check it out!

My window management on Mac OS

· 2 min read
Ashish Kapoor
Software Engineer

So, I have been playing Fortnite a lot with my friends from time to time. One great thing I noticed in the game was the ability to switch weapons using the numbers on the keyboard right above the `w` `a` `s` `d` keys.

It becomes super simple to switch between weapons while playing the game instead of switching with the mouse wheel option which is linear in nature and eventually leads to a confused state.

So I took inspiration from i3 Windows management from our friends in Linux and at my work laptop which is on Mac OS.

I installed Amethyst (sounds like Aim Assist to me lol) to bring all the windows on a desktop in an order (tall, column, wide, etc).

Then I made use of Mission Control given to us by the lords of Apple themselves. Went into the keyboard settings and hooked these shortcuts up for easy switching. While disabling the recently used App switching mechanism by Apple to take manual control altogether.

Then I started assigning the app windows to certain Desktop numbers using the following settings -> “This Desktop”:

Awesome! No more alt + tab fiddling experience.

I press ctrl + 1, I always get my VS Code editor.

I press ctrl + 2, it always gives me my terminal.

I press ctrl + 3, it always gives me the browser of my choice.

So on and so forth, I hope you get the point.

Full disclosure here are my current Desktops

  1. Code Editors
  2. Terminals
  3. Browsers
  4. Communication Apps
  5. Music streaming services
  6. Settings, Configs
  7. Books, Notes
  8. Discord
  9. Movies, Media

Thanks for reading, cheers!

I used Zed Code Editor at work today

· 2 min read
Ashish Kapoor
Software Engineer

Here are my initial thoughts.

It’s a bit buggy!

1. It automatically jumps the prompt here and there while adding apt. spaces.

2. Goto definition in vim mode enables the visual highlighting feature for no reason.

3. I wish I could move the Project Panel to the right.

4. Even after fixing the linter issues the errors at the Project Diagnostics persist.

5. Splitting panes were broken initially but they work now. (can’t reproduce)

6. Super minimal git integration However, I understand the tradeoff.

7. Adding spaces in the comments doesn’t work.

In comparison with Neovim and VSCode

1. It is as snappy as neovim to use locally. (A reason I will continue using it at work).

2. Auto imports work as expected which is a huge pain in neovim.

3. Their new in-house “Zed Mono” Font is super SWEET!

4. Their Search Buffer Symbols is a missing feature in VSCode. (2nd Reason I will keep using it)

5. Still not sure how to use it remotely using SSH/mosh though.

Here are my quick Zed settings to get started.

~/.config/zed/settings.json

{
"theme": "One Dark",
"buffer_font_size": 15,
"telemetry": {
"diagnostics": false,
"metrics": false
},
"vim_mode": true,
"autosave": {
"after_delay": {
"milliseconds": 500
}
},
"tab_size": 2
}

Source: https://zed.dev/

My neovim configuration: https://gist.github.com/AshishKapoor/fdb3d8932ff30abeaf08c78b2c8e5306

Note: I need to add my VSCode keymap to it. Might do it over the weekend in case I do not find the same online. Also, I am definitely using it in my technical programming videos on YouTube.

My Productivity Apps

· 3 min read
Ashish Kapoor
Software Engineer

General Mode

  1. https://www.spotify.com/us/download/mac/

Play millions of songs and podcasts on your device.

2. https://rectangleapp.com

Move and resize windows in macOS using keyboard shortcuts or snap areas

3. https://apps.apple.com/in/app/pomodoro-me-focus-on-tasks/id1484801884?mt=12

Pomodoro.me — Stay Focused. Take a Break.

4. https://evernote.com/download

Evernote gives you everything you need to keep life organized — great note-taking, project planning, and easy ways to find what you need when you need it.

5. https://www.keka.io/en/

the macOS file archiver Store more, share with privacy

6. https://www.cockos.com/licecap/

simple animated screen captures

7. https://iina.io

The modern media player for macOS.

8. https://bitwarden.com/

Move fast and securely with the password manager trusted by millions

Developer Mode

  1. https://brew.sh/

The Missing Package Manager for macOS (or Linux)

2. https://code.visualstudio.com/

Visual Studio Code is a lightweight but powerful source code editor

VSCode Theme

2.1 https://marketplace.visualstudio.com/items?itemName=pmndrs.pmndrs

3. https://desktop.github.com/

Focus on what matters instead of fighting with Git. Whether you’re new to Git or a seasoned user, GitHub Desktop simplifies your development workflow.

4. https://www.nerdfonts.com/

Nerd Fonts patches developer-targeted fonts with many glyphs (icons).

Hack Nerd Font

Fire Code

Fira Code Mono

5. https://www.wireguard.com/

WireGuard aims to be as easy to configure and deploy as SSH

6. https://ohmyz.sh/#install

Oh My Zsh is installed by running one of the following commands in your terminal.

Plugins: https://travis.media/top-10-oh-my-zsh-plugins-for-productive-developers/#20210719-zsh-auto

7. https://mosh.org/#getting

A remote terminal application allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.

8. https://dbeaver.io/download/

Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases.

9. https://www.docker.com/products/docker-desktop/

The fastest way to containerize applications

10. https://selfcontrolapp.com/

A free Mac application to help you avoid distracting websites.

Migration lessons from corporate to start-up

· One min read
Ashish Kapoor
Software Engineer

Corporates and semi corporates

  1. Seek balanced empathy in the upper management
  2. Billable time; spend your time wisely
  3. Self-learning is the key to grow
  4. Good colleague/people do exist
  5. Learn and ask from masters within reach
  6. Work is forever, don’t stress it too much

Startup

  1. Your network is your net worth
  2. Where there’s pain, there’s passion
  3. Comfort zone is a b!tchhh!
  4. Right when you think you know it all (smoke and mirrors)
  5. Expect many back to square ones
  6. Don’t leave unless you’re sure, don’t go back if you’ve left already
  7. Add value, not solutions
  8. Spend money when it’s reasonable enough
  9. Invest in upskilling
  10. Give back

Mosquitoes vs. MacBook Pro’s 🔋

· 3 min read
Ashish Kapoor
Software Engineer

It’s a story about how I practically understood computer networks and put it for use to scratch my own itch.

Lately, I had my eyes on my spare PC from quite some time where I just wanted to put it for some good use. Also, my issue in these unprecedented times were mosquitoes arriving in the evening randomly and causing a ruckus while I was working.

Big O (n²):

  • I was buying a lot of mosquitoes repellent sprays and gels.
  • Also, installed Fedora OS on my PC because I heard on one of Sir Linus Torvalds youtube videos that he finds it easy to use and maintain.

Here, just when I thought I resolved both my problems.

Big O (nlogn):

Time to think differently, I thought I could use my Fedora OS machine professionally instead of my MacBook pro. Currently, I’m working with Apache software tools Java backend server and Reactjs mostly from my parent’s living room.

Then I realized I’ll have to make use of my iPad for the video calls since my PC doesn’t have a camera and frankly, I was finding myself trying to bring the Gnome UI closer to macOS which is currently offered by Elementary OS.

But then what next?

Big O (n):

My brother Nitin stepped in. He heard what I was up to lately and suggested I drop the UI entirely from my Fedora OS machine use it as a server and notice the CPU usage.

“Use your spare machine over OpenSSH and let it do the heavy stuff.” – Nitin

I was quickly able to connect the dots. Then I moved back on my MacBook Pro and got all my repositories on my machine “Anton”. Made it run all my docker containers, Apache software tools, and the backend API my front end was consuming data from. Soon, after my brother introduced me to SSH extension on VSCode by Microsoft and that’s when I delegated all the heavy tasks on my Anton.

Guess what? My MacBook's fan's speed is low and back to normal. Now, macOS is my interface and the fedora OS server is my dev server doing all the heavy lifting.

Coming back to my other initial issue with mosquitoes. Now I get a much better battery life on my MacBook pro so I finally got my “portability” feature back and I can spray the mosquitoes repellent in only my room and when the deadlines get close can work from there too.

Mosquitoes: 0, Anton: 1

Programming is a skill

· One min read
Ashish Kapoor
Software Engineer

It is a slow process.

First, we write silly code then probably something that works. We learn what we were telling our “dumb” computer. All of a sudden we learn about mistakes like global variables and how bad they are.

Then we gain some wisdom and call ourselves Jon Snow of tech. We start automating our own work and call it smart work. Soon, we start visualising patterns and different ways of solving similar problems efficiently (Big O nerds hit the clap button! :D).

One fine day we realise languages, and frameworks are basically tools and we are all problem solvers.

Understanding when and where to use them to provide value is the key.

Maybe, I’m wrong. Who knows! I’m Jon Snow.

Restructuring and Layoffs (Adversity is the way!)

· 2 min read
Ashish Kapoor
Software Engineer

Restructuring and Layoffs (Adversity is the way!)

[Disclaimer] I’m not an expert. However, I’ve revived through this cycle once. Maybe you should open up and talk about it with your close ones first.

Being handed over a pink slip is tough! Losing a job is NOT an end to anything. It’s not under your control to have a stable journey through an economy meltdown.

Some of you might end up on a clock with your visas, bills, or up-coming expenses.

Okay, maybe have your favourite drink to calm yourself down. First night you might go sleepless. It’s all normal to over-think and be confused. Focus on what you have to offer as value and how to fix the “situation” that you’re in.

Let’s look at the positives

There are always companies out there ready to consume people of your skill set. Since your ex-employer needed you at one point of time too!

Also, there’s nothing wrong in opening up about your situation with your potential employer. Their empathetic reaction to it will give you a nice understanding of their company culture and people. Makes it easy to pick the right employer for yourself.

Plus, probability of landing a better job of interest is high!

Note:

Maybe it's a much needed break from the "rat race". Time to re-evaluate your goals and aspirations. Maybe, if you’ve got enough savings in the bank, start your own venture you always dreamt of.

All the best!