Hey, I'm Nafis 👋
Self-taught product engineer indie hacking with growth engineering finesse.
I'm an autodidact product engineer, serial indie-hacker and entrepreneur-in-progress. Over the last 6+ years, I've lead engineering at the largest influencer marketing platform (Creable ), scaled a $250M+ GMV pharma marketplace (Pipelinepharma ) and built several SaaS products of my own.
When I was in high school, I was frustrated with the boring school curriculum. I wanted to tackle challenges and build something useful. That's when I got my hands on my dad's old laptop.
I started learning to code because the idea of creating things people found useful was fascinating, and I've been building things ever since. Started as a freelance web dev, building sites for local businesses. Then moved on to building web apps, worked at several agencies, and eventually started building my own SaaS products.
Over the years, I've joined numerous startups, became the founding engineer at a few, and led engineering teams at others. I've been fortunate enough to collaborate with some truly remarkable individuals along the way.
Every once in a while, I write about my journey on this site. It's more like a personal journal - sometimes random, sometimes technical, sometimes philosophical - but always honest. Here's some latest ones:
TypeScript, Turbo, and Tantrums
How to Hold Your Team Accountable
When diving into the intricacies of leadership and management, one quickly realizes that directing isn't about waving your hands and issuing decrees. At its core, leadership thrives on cultivating a culture of accountability. Yet, why do so many leaders grapple with this? “I assigned the project, but it’s still unfinished.” “My team seems disengaged.” “They wait for my direction instead of taking the initiative.” Can you relate? When I first embarked on leadership, my instinct was to map out everything. But this led to micro-management, stifling innovation and responsibility. My team became passengers, and I, unintentionally, took the driver’s seat. ## The Accountability Spectrum Accountability is often mistaken for blame. However, in its essence, it’s about ownership and understanding. It’s the discourse between “What’s the status?” and “Here’s the update.” Consider the "Accountability Spectrum", inspired by Jonathan Raymond's insights: 1. **The Observation**: A casual comment on a noticeable behavior, a gentle nudge. “I observed [specific behavior]. Is everything on track?” 2. **The Dialogue**: A deeper conversation, identifying patterns. “We’ve discussed [specific behaviors] before. What seems to be the recurring theme?” 3. **The Discussion**: An urgent conversation, highlighting the weight of the matter. “Your actions are affecting the team. Let's devise a strategy together.” 4. **The Line**: Setting clear boundaries and repercussions. “If these behaviors persist, [specific consequences] will follow.” 5. **The Ultimatum**: The last-resort conversation. “This is critical. Let’s review the consequences.” While these stages present a continuum, their application isn't always linear. The situation dictates the approach. Sometimes, a mere Observation suffices; at other times, you might need to delve into The Discussion immediately. ## Crafting a Culture of Accountability _Pose Open-ended Queries_: Empower with questions rather than directives. “What strategies do you have in mind?” “How can we address this together?” _Eliminate Excuses_: Differentiate between justifications and reasons. Promote responsibility, not evasion. _Empathize, Don’t Solve_: Step back and let them take the lead. Instead of “Here’s what you should do”, try “How do you plan to address it?” _Disagree yet Commit_: Sometimes, let them steer. They might surprise you with a path you hadn't envisioned. _Clarify Consequences_: Ensure that repercussions resonate with the goal. They should restore and protect team dynamics rather than merely punish. ## Conclusion Leadership is less about control and more about fostering a culture of ownership and growth. Effective leaders empower and trust, using accountability as a tool for development, not blame. The challenge: not to direct every step, but to guide the journey. Your next move defines your leadership.
You can read my entries on the /writings page.
👉 My Stack
- -> Frontend - React, Next.js, TailwindCSS, React Native, Radix UI, Styled Components, Redux, Zustand, and more.
- -> Backend - Node.js, Express.js, Prisma, Postgres, Hasura, PlanetScale, Firestore
- -> Testing - Jest, Cypress, Playwright
- -> Tools - Git, Docker, GCP, Vercel, Sentry, Segment
You can find my /uses page to see some tools I use. I love testing out new technologies and tools, so the it's always changing.
🤙 Reach out
You can contact me at firstname.lastname@example.org
I do read every email/DM I get, but I can't promise a reply. Apologies in advance. 🙏