Starting a technology business: Part 1 - Full-stack business

Take two pieces of paper. Stack them on top of each other. To make them stick, throw some glue between them. You get a big messy middle of glue.
What has a mess of glue got to do with anything with business?  Let me explain.

Anytime two different concepts or ideas come together, they create a mess, like glue. “Glue code” is a term used by software engineers trying to stick two layers or systems together. A stack is a formal way to represent things layered on top of each other. A stack is also a data structure in computer science.  A web application is an example of a stack of a frontend and a backend.  The hidden magic of software lies in the ability to stack and glue things together. Graphical user interfaces glued with mathematical modeling and you get Excel. Excel glued with the cloud, you get Google sheets. You get the point. One might argue software engineering is less about algorithms and more about gluing.


Let’s look at how this "glue" enables web applications to create value for their users. The frontend is the part of your application that customers interact with. It helps your customers create value for their customers or themselves. It defines the entry point for value creation for your application. . The backend enables the operations that help meet the needs of the frontend. In software, glue work includes work like API design, performance and reliability. Without the glue work, it feels like consuming technology like bad pasta. The pasta and the sauce are not proportional. They are not mixed well either. It sure leaves a bad taste in the mouth of the customer.


What about technology businesses? Do they have similar gluing challenges? Sure, they do. The glue layer for a company helps customers convert their desires to reality. Product management and customer support are of the early stage "glue layer" functions. HR, finance and legal become started functioning as internal glue. These functions drive increased internal and external cohesion through their work.

 The role of the frontend of business is to understand the desires of all customers. The frontend includes the sales and marketing functions. They exist to grow users, grow revenue, and ensure that customers’ interests are always met.

 The business backend's role is to exists to convert customer expectations to reality. Operations, engineering and domain expertise fall into this category. These teams use their skills to create value for customers in an effective manner. These teams need to account for cost-value tradeoffs. They answer questions like, do you need to grow your own tomatoes for the best pasta? What is the cheapest way to get these tomatoes to our restaurant's kitchen?


"(Value creation is) the capacity to find meaning, to enhance one's own existence and contribute to the well-being of others, under any circumstance.” - Daisaku Ikeda

The stack and the messy glue are metaphors that might resonate with technologists. Let's recap on the value creation system. Web applications enable the creation and exchange of digital value for users. Businesses exist to create and exchange financial value for other people or businesses. Value creation in the middle of different technologies or markets is going to be messy. The metaphorical glue helps with cohesion in the messy middle of value creation. One of my favorite ways to summarize value creation is, "(Value creation is) the capacity to find meaning, to enhance one's own existence and contribute to the well-being of others, under any circumstance.” - Daisaku Ikeda.  Always ask yourself, what's the missing glue here?

This is the first of a three-part series on starting a business as a technical co-founder

1. Full-stack business
2. Full-stack entrepreneur.
3. Do you need a co-founder? If yes, what to look for?

Maximize context, maximize impact

Photo by Dio Hasbi Saniskoro from Pexels


At some point in their career, every individual in the technology industry struggles with answering the question, “how do I maximize my impact?”  If you feel stuck in your career I hope this provides some clarity to you. 

Every job I’ve taken up has been based on the potential of learning and the potential of impact. I started my career in a roughly 300-person engineering team. You get started on the job and learn the ropes in your first few months. In a few months, you start feeling that luck is a big part of working on the most interesting products. Do you wonder what it takes to work on the most interesting projects? How do you determine what work is high-impact and what is not?  

The secret to maximizing impact is to maximize context. Context is the set of invisible rules that guide individual and collective action in an organization. Three things are key in building context to maximize impact: 

  1. A story about the future state of the business

  2. Understanding of incentives of others

  3. Networks of people and teams 

A story about the future state of the business

The ideal future state of any business is to have happier paying customers, higher profit, and more innovation. In the early days of Explorer.ai, our initial goal was to be more innovative at solving mapping problems for self-driving car customers. We spoke to over 90% of the companies in that space. A key driver of continued interaction was that the customers resonated with our stories as individuals. 

You need to be good at telling your story to many diverse people. The only way to get better at it is to practice.  The more revolutionary your story, the wider the support it can garner. Think like the CEO of a profit-making enterprise. If you are presented with two ideas - one that increases profit margin by 5% versus 40%. Which one will capture your initial attention? 

The stories you craft about yourself, your projects and your teams show your team and peers how big you are thinking. This ability to keep thinking big requires courage to believe in bold ideas. To keep your story believable you need to keep executing towards the big idea. 

Let’s say you want to increase the profit margin of the products you are selling. Let’s look at a few ways to increase your profit margin by 5 % or 40% in one year. Here are a few ways to do it 

  1. You can do it by increasing the price: Possible in 5% case, tough to execute in the 40% case.

  2. You can increase the number of customers: For 5% you might be able to make it as a part of your sales quota goals. Depending on your product 40% might be hard. 

  3. You can reduce the cost: 5% seems achievable in comparison to 40%. 

You can see that each approach can achieve a 5% change. If you do them all with the 5% scope you are still 25% short to your goal. This will force you to talk to more people. The conclusion of those conversations might lead to the launch of a new product offering. Change the objective and the ways to get there, I am sure you can find similar examples in different companies. One side effect of a bigger goal is that you will need to work with others in your organization to hit the tough goal. The 5% goal could have been achieved with a smaller group, not the 40%.  

You cannot only be a storyteller in your organization. You need to take action in the direction of increasing the profits by 40%. Every milestone you hit towards your fabled destination will keep transforming your fiction into more fact. 

Understanding of incentives of others

Early in my career, I struggled to understand why people acted in the way they did. The actions of others often felt misaligned with the company’s goals and objectives. People would say different things in a meeting and do very different things. This caused me immense frustration. Then I learned about intrinsic incentives. 

There are two main kinds of incentives that are at play in a company. One, extrinsic incentives, bonuses, promotions and other more obvious incentives. Two, intrinsic incentives, the ones that are self-driven. These are often driven by some form of internal principles or values of an individual. A lot of people struggle to articulate their intrinsic incentives of working. This makes understanding co-workers tough.  

One shortcut to understanding the incentives of others is to observe the actions taken by others. In the example of increasing profits, you will encounter different people. Some support your cause, some against it and some figure out if your ideas are worth engaging with. This requires collaboration over multiple months to begin to understand the other people and teams. Be aware of what working relationships click and which ones don’t. The ones that don’t will require a lot more work. 

Each team leader or individual you work with will have different incentives, so avoid generalization. Focus on understanding what makes the people tick. If someone loves working with data, ask them to do the financial analysis for understanding the current sources of profit. If someone likes being organized, ask them to run the meetings. People feel empowered when their work is aligned with intrinsic incentives. A lot of people are not aware of their own intrinsic incentives. This can make the process of understanding others harder. Be kind to yourself through the process. 

In understanding the incentives of others, you will experience a wide range of feelings. Your feelings can be classified into over fifty labels including relaxed, supported, helpless, warm, angry, humiliated, etc. Here’s a more comprehensive list from Hoffman Lab for future reference. This will provide you with language to understand your own feelings in the situation. 

Thinking of what incentives drive beyond the financial will allow you to work with a wider range of people. The more people you can collaborate with, the more enjoyable your experience working with others will be. 

Networks of people and teams

 Crafting your story is not enough. You need to start adding value to the company by delivering value. There are three levels at which you can deliver value. Each level is progressively harder in the short term but compounds in the long term.

 

Level 1: Ask for a problem that you think matches your skills. Do it yourself.

Level 2: Ask for a problem that you think matches your team’s skills. Work with a teammate to get it done.

Level 3: Ask for a problem that you think matches the skills within your entire company. Work with the different parts of the company to get it done.

 

Solving a level 1 task will teach you how to work with the tools and ecosystem within your company. Don’t skip this level. This task will teach you about the various processes and tools within your company. While operating on level 2 and level 3 tasks, this skill is valuable. Level 1 tasks are valuable in larger organizations. It exposes the various gatekeepers in the organizations. It sets your expectations on how long it takes your organization to do certain basic actions. 

Level 2 tasks are great at getting to know people. This is a good time to set up one-on-one meetings with your collaborators. In these one-on-ones, you can share progress on your level 1 task and get feedback. You will always be enlightened by the suggestions. These one-on-ones are a great place to start understanding the incentives of your team. It also forces you to test your understanding of the company so far. You can share your understanding of why a certain level 2 task is important to your team. This will give you feedback from your teammates and clarify your understanding of how your team works.

Level 3 tasks are the toughest to make progress. Succeeding in them will teach you how your company functions and what are the incentives of different teams. Level 3 tasks are typically not assigned to you. You define them and get them done. The skills you gained doing level 1 and 2 tasks are helpful in level 3 tasks. They will include convincing a large group of stakeholders on what they need to do and why. The timeline of such a task would often be a few months to a few years, depending on the size of your company. Accomplishing this task will require you to build strong networks within the company and understand business priorities better. Success will also cement your place as a valuable employee to your company.

What are the principles of being effective in leveling up?

  1. Ruthless prioritization against a timeline

  2. Cut complaints and maximize action.

  3. Be open-minded to feedback.

  4. Have a plan A, plan B, plan C. If needed plan D, plan E, plan F, etc. 

Developing the context of different teams and individuals helps you bypass a lot of steps for your next big idea.

Closing thoughts 

Attempts to maximize context will expose you to business-aligned priorities. This enables you to get a head start on identifying and solving high-impact problems for your company. Often there are high-impact low-effort business problems staring at you. You only need to zoom out a little. 

Organizations are constantly changing and evolving and so are the people inside them. Building context is a muscle worth building in the rapidly changing world. Maximizing context frees up a lot of your time. I hope you can use this insight to make the desired impact you wish for. The greater your impact the happier you will be at work. A personal inspiration to challenge my circumstances at work has come from this quote by Daisaku Ikeda, “If you’re passive, you’ll feel trapped and unhappy in even the freest of environments. But if you take an active approach and challenge your circumstances, you will be free, no matter how confining your situation may actually be.”

A note about rabbit holes

What do you do about rabbit holes that you keep discovering? Working on interesting problems yields an endless list of rabbit holes to explore. Be curious and follow some rabbit holes. They help you develop a broader context that is often useful at a later date.

On the journey of tough problems

Finding a computer programmer job was the first professional problem I faced. First, I had to make a resume listing all programming languages that I knew, and projects I had worked on. Second, I emailed over fifty companies. I told them about my interest in working for them. Third, some of them got back and told me to do an interview. Fourth, I spoke to a group of 3 to 6 people at various companies who had gone through a similar process as me. One company was kind enough to consider me worthy of giving a job. Finding a job without job finding skills felt magical. I never understood then how it all worked. I now understand the magic a little better.

Exploring and discovering the problem space is part of problem-solving. Not being able to connect the dots between actions and results is frustrating. The way we view our problems plays a critical role in what actions we take. The actions we take lead to our development. What was the last problem you had? How did you feel when you first encountered it? What actions did it take to get resolved? I’ll share my perspective on problems that I’ve faced in life.

I started a company to create maps for self-driving cars. All I knew when I started was how to solve problems with code. I had to learn the rest. Few people attempted to solve this unique problem. Most tough problems lie at the intersection of various disciplines. I lacked knowledge about the car industry, robotics and map-making. Lacking knowledge causes anxiety. Where do I start? What do I do first?

How do I maximize the impact of my actions on the company? The impact is increased revenue, reduced costs, and growth in the customer base. To maximize impact, I had to choose what problems to focus on. Problems I focussed on were the problems that got solved.

Let’s look at my problems laundry list again. The car industry, robotics, and map-making. I had to pick my first problem. I decided to build an interactive tool to visualize the 3D maps for point cloud maps in a week. Here's why I picked that problem.

  1. Existing skills: Using my software development skills would be simpler. I can get initial results in a few hours to a week.
  2. Unique advantage: Robotics professionals would not build web-based map data visualizations.
  3. Fast Feedback opportunity: Seeing the custom-built maps would enhance customer and internal conversations.


The goal was for me to reduce the scope of the problem to something actionable in a limited time. I lacked skills in automotive business development. One of my cofounders tackled that. I did not have a unique advantage in robotics. I reached out to my network to find someone. Feedback on map quality would be hard to get if we only shared a file or a screenshot with a customer. This insight was my hook to all other future work I did.

How did I decide that this was the right scope? I reduced the scope of the problem to a point where my ambition drove me and not my fear. This enabled me to take action. My actions translated into learning towards my bigger goal. Time boxed actions are a superpower. They gave me honest feedback about my work. Did my work meet the quality bar? Did I take on too much or too little? This sharpened my iteration process. It helped me solve problems with greater ambiguity in the future.

I needed to grow into an effective problem solver to tackle bigger problems. I am not even capable of defining all problems well. Growing up school taught me how to solve well-defined problems. The real-world problems lack a clear definition.

The best way for me to deal with this ambiguity was to take action and learn from others around me. Starting a company? Talk to the best. Read more about the processes. Find your inspiration, living or dead. Understanding the minds who came before you teach you about their thinking process. The mind is the toughest to master

"The important thing is to take that first step. Bravely overcoming one small fear gives you the courage to take on the next" - Daisaku Ikeda


Be brave and take your first step. Most people lack the bravery to take the first step. The courage I developed in starting a company translated to other areas. It helped me abandon my fear of rejection. That led me to start this blog. I overcame the fear of never getting fit and started working out. Each of us can enjoy our problems with a dose of courage and lots of action.


PS: For those who are curious what the maps that I created looked like.

The good side of privilege

Extreme dualities fill our modern discourse. People within the same geography either feel capitalism is either great or terrible. In the same country, people feel democracy is either flourishing or destroying society. Social media is either awesome or awful. People are either privileged or not.

Treating privilege as black and white lead to one of two outcomes. Either, the privileged feel bad about their privilege. Or, the privileged abuse their privilege. Neither position helps. We could instead ask ourselves, how can I use my privilege to help others. We gain privilege because of our gender, race, caste, language, location, family. Privilege does exist in society. Let's figure out how to use it instead of denying it. Privileged folks don't use their voices enough to speak up for others. The key to using your privilege is courage. It's a tough internal battle to see your privilege. It's even tougher to help someone else gain the same privilege as you. It often takes years if not centuries for social structures to change.

The Harvard Business Review has a great article on using our privilege. Using our privilege is not only applicable in our professional lives. If we want to leave the world in a better place than we found it we need the courage to use our privilege for helping others. We often think that money brings privilege, so we should donate our money to lend our privilege.

Is donating money enough to lend your privilege? Imagine after being born your parents give you a monthly allowance of $1000. They leave to figure everything out. Do you think you will survive beyond a few months or years? Lending our privilege is a lot more than making a financial contribution. Money as a resource is useful, but often not enough. Why do we struggle to understand our privilege and use it for the better?

Each one of us has our own struggles. They include financial, health, relationships, understanding our purpose in life. We each struggle on some level with each of these at different points in our lives.  I’ve struggled over the years to maintain an exercise routine and a healthy weight. I struggled a little during my first job search but since then I’ve been lucky to find good jobs. Over time your privileges multiply and you attribute it to luck and hard work.

A lot of privileges contributed to my life. Ability to read, write and speak English. Being male. Having access to a computer and internet early in life. Access to food and clean drinking water. The list is endless. It’s easy to take a lot of these things for granted, but they should not be. There were a lot of human beings who made a conscious decision to lend their privilege to me. My parents, my teachers, my peers, and a lot many amazing people. Paying your privilege forward requires you to be aware of it and then lend it to others.

There was one incident that had a disproportionate impact on me.  It led me to think about my privilege and bias. I’ve had the good fortune of being able to interview a wide variety of people in my career. I once interviewed a woman for an engineering internship. Due to the circumstances, our interview loop didn’t have any women on the panel. During the debrief my team’s instant reaction was that this person was a ‘no hire’. We started looking at the written notes and noticed something unusual. We found that the candidate had given detailed answers on topics they were confident about. For topics, they had lesser certainty they didn’t take a leap of faith or guess. As a team, we asked each other 'Are we biased?' 

I self-reflected and decided to talk to my wife about it. She shared her experience interviewing men and interviewing women. It sounded too familiar to our experience with the interview my team did. I could have ignored that single incident and let go of it. I spoke to many women in the next few years at the workplace. Experiences of men sounding more confident than other genders was all too common. The consequences are often seen in promotions and project opportunities. I started using my position of privilege to speak up on behalf of the women, not in the room. Ask specifics to the men making assumptions about non-men. I attempted to speak the truth and ask specific questions. Specific questions are the enemy of biased people. It makes them break down.

One of my favorite examples of using privilege comes from the Buddha. It's called the parable of the poisonous arrow.

One day, a new follower of the Buddha asked him a series of metaphysical questions. The Buddha replied in the form of a parable about a man who had been shot by a poisonous arrow. Although the man's friends and relatives tried to get a surgeon to heal him, he refused to have the arrow pulled out until he knew who had shot it, his caste, name, height, where he came from, what kind of bow had been used, what it was made of, who feathered the arrow and with what kind of feather. Before all these answers could be found, the man had died. The Buddha employed this parable to demonstrate the meaninglessness of being obsessed with abstract speculation.

The Buddha teaches through this parable the importance of using situational privilege. When a healthy person sees a person shot by a poisonous arrow, they better take action and remove the arrow. Overthinking will kill the person. We can take action using our privilege.

My privilege has let me take more risks and help break through the biases of others. I don't succeed often. If you have any kind of privilege, use it to help someone else. It makes our world better that way. The only thing stopping you is yourself. Here are 3 steps you can take towards lending your privilege

1. Identify a privilege you have

2. Identify someone who doesn’t have that privilege. Talk to them about it. Ask them how to identify it in your daily life.

3. Be on the lookout and use your privilege when appropriate. 

Human history has long awaited the time when the energy of hope and creativity will arise from among the most downtrodden and oppressed. When people who have experienced such abuses become empowered and take their place at the heart of international society, and their welfare becomes the focus of new ideas and new thinking, our world will be immeasurably enriched―both in a material and a spiritual sense. - Daisaku Ikeda

Lending our privilege can help empower our fellow human beings and create a better world. A world that we are proud to inhabit.

Building Confidence

To startup or not to startup? This is the million-dollar question that I asked myself every couple of weeks through my 20s. How do I decide? What are the criteria? Will the idea be good enough? Am I good enough? Will I be able to execute? So many questions and no answers. Every day potential entrepreneurs wake up feeling I am not good enough. Building confidence to take that plunge is tough. Here’s a little insight into my journey.

In the competitive job market of India, a job in the field of your study after graduation is a privilege. I had an internship in the final semester of college and no job lined up. I wanted to work at a startup. My definition of a startup was a company that had few employees. I got an offer from a firm that had under 20 employees in 2011. The highlight of my job was I got to work with computers and didn’t have to badge in and out.

My company was building a product that needed someone to go and showcase the product. I volunteered. I learned later that I had assumed the role of a part-time sales engineer. I once told the customer, “You should understand our product. It’s not our fault. You are at fault." I was proud of what I had said and done. In reality, I had failed. All the effort of my team and myself over the past few months to get the product to a point to showcase it felt wasted. I’m grateful to my company for giving me space to learn a lesson and not firing me for it. In a close-knit team, it’s heartbreaking to see your work not convert into revenue. I later learned that this was the hard reality of sales.

I arrived in Silicon Valley in early 2013 to study Software Engineering. I felt that I could assemble a computer gathering parts from companies on the US-101. It is a well-funded state-of-the-art technology playground. A tiny fraction of companies become household names worldwide. Most of them either die in oblivion or get acquired. The other big thing for computer programmers here is a hackathon, a marathon of hacking.

Put a group of technologists for 12-24 hours and feed them pizza.  You lose sleep, consume sugar, caffeine, and carbs. You fuse your brain with the computers to build interesting things. It's the closest to the singularity you can get to. I built an app to control your music player with your brain waves (mood). I met my future co-founder building a party assistant to show a dancing skeleton of you to the attendees. I was able to control a computer to do interesting things. This led me to my first job in the USA.

Click-clack-click-clack on the keyboard in front of a computer was a large part of my job. I found myself immersed in writing code for customers I would never see in my life but they paid money to my company. That money after exchanging hands would result in me getting paid. This in turn would let me pay my student loans and bills. A big part of my learning was how was potential customer value turned into revenue for the company. This led me to challenge myself a step further.

Starting a company was not an overnight decision. I needed confidence and fallback options played out in my head. First, I had the confidence to find a job if the startup didn’t work out. I also needed to sustain myself for a certain time frame without a salary. I had never built a new product and sold it to customers. I did not understand the market of my company (automotive technology). I had no experience in hiring and managing people. I also had no idea how to fundraise. To do something outside your comfort zone, you need to understand your comfort zone well. With this information, I clarified the risk I was taking with my family and co-founders. A shared understanding of your personal and professional risks with your founding team is crucial. This helps make decisions when conditions are not favorable. I was fortunate to build that trust early and it serves me well to this day. 

Building confidence to take on something ambitious is an iteration. You start with none, take action and then you get some. Confidence is not something you have when you are doing something for the first time. The big hairy ambitious goals that we strive for are all done for the first time. Each time you take a small step you get the confidence to do it better. The key is to build on your prior confidence and keep going for your ambitious goals.

What about starting a company? Ask yourself the following questions


How do you sell a product to someone else?

How does your favorite company make money?

What's your process to build something that will make money?


It's important to assess facts on your own. Every person associated to a startup is taking some risk, but not the same one. The VC is taking a financial risk, the founder is taking a time and money risk. Early team members are taking career and financial risks. There is only so much risk you can understand upfront. The best way to learn is to take the plunge. I want to leave you with my favorite quote on courage


No matter how wonderful our dreams, how noble our ideals, or how high our hopes, ultimately we need courage to make them a reality. Without action, it’s as if they never existed. - Daisaku Ikeda