Photo by Marvin Meyer on Unsplash

Experiences & Lessons as an Independent Tech Lead at an Early-Stage Startup

Being a tech lead is all about challenges, responsibilities, and delivering optimal solutions. Here, I will share my experiences.

Ali Raza
JavaScript in Plain English
5 min readOct 15, 2022

--

I joined the XStak as Frontend lead last year and it has been a wonderful, stressful journey with a lot of learning. Though started as leading Frontend but got equally involved in backend development at the lead level.

So what is XStak? XStak is all about modern retail solutions for both eCommerce and brick-and-mortar businesses. From POS to Loyalty management and headless eCommerce solutions, payment processor, and whole automated omnichannel tools for Shopify stores.

All of these products were already developed but merged under one brand called XStak. Almost all sub-products have their UI, AuthN, and AuthZ, and a set of frontend tools used to build with completely different experiences. A complete maze to solve. But, it is now cracked. My job was to bring all admin panels under one umbrella with the same UI and technologies and a single sign-on. Seems easy, but it was an industrious task.

I am sharing my experiences in architecting, building, and delivering a unified experience of an early-age startup as an independent tech lead without any technical guidance.

  1. Encapsulating the founder’s vision and long-term goals

Every startup is built on a dream and founders have a long-term vision. Technical decisions are also to be done in that context. My management wanted a unified interface irrespective of which product a user is checking in. My thought process pivoted around that.

2. Plan out the product development roadmap journey

Planning, understanding, and evaluating requirements technically are one of the most important initial steps to be taken. The requirement might be a wow experience but how much technical debt/effort it will accrue is equally important.

If this step is omitted, be ready for the disaster. The changing requirement during the execution stage increases tech debt depending upon the stage of the project and has implications for overall delivery.

3. Sort out tools to build and ship products

As soon the programming languages, libraries, and frameworks are decided, so the better. If it’s a frontend, JavaScript + React is the best and most widely used combo. Is caching required use SWR or React Query. If the product needs optimized SEO, Next.js is the ultimate framework. On the backend, there are a lot of languages depending upon the requirement.

I prefer React + Typescript + React Query + Next.js on Frontend and Node.js + Express/Nest.js and SQL or noSQL depending upon the requirements.

My golden advice will be to for MERN-based stack as developers with experience in JavaScript can be utilized for full-stack development.

4. Your team is your biggest strength and weakness and you determine it

If you want to go fast, go alone. If you want to go far, go together. African Proverb

Every team possesses resources with unique skill sets. Some are good at problem-solving, some will write great code, a few can do magic with databases, and a few are good at developing beautiful UI and providing fabulous UX.

How to utilize these resources is the biggest challenge for a tech lead. If tasks are assigned as per the strength and workload, the team will do wonders and deliver quickly.

I am lucky to have the best teammates. All of them are skilled in these unique subskill sets and I enjoy utilizing them with the work they enjoy.

Another important part of team management is how many resources can be allocated at maximum. Quite often it has happened that at a particular stage, adding an extra developer doesn’t speed up the execution.

5. Hiring might be the biggest challenge

Will prefer a more skilled person over a team player? A toxic person might be more experienced but a not-so-good team player. Will you hire him or choose a less experienced one? This dilemma happened to me. The first candidate I ever hired possessed sound skills but was a very poor team player.

Similarly, how to decide what career-level person to be hired for the job is a million-dollar question. Can two junior developers replace a senior one? Well, it depends upon the stage at which the project currently is. Often assigning bug fixing to junior resources does wonder.

6. Architecting the best possible solutions

My task was to deliver a unified experience currently known as XAP-XStak Admin Portal: The one place to access all modules of XStak. And frontend code exists in different repos with separate backend apps. In this scenario, the best possible approach is to go with micro frontend architecture. Then, there comes different ways of doing so. What framework and deployment strategy are to be used? Will it affect the loading speed? If the first-page load is slow how to speed it up? The same goes for the backend: is the latency of the API acceptable? How to increase response time? What will be the best possible response structure? How to improve overall security.

7. Working in high-pressure situations and work-life balance

Startups deliver more aggressively than conventional software firms, which means more deliveries, deployments to live environments, working in stressful situations, and compromising work-life balance. A tech lead has more responsibilities and endures stress. But, it brings the best out of you and will do wonders for your career progress.

I learned multi-tasking which I take pride in, staying calm during high-pressure situations such as p0 issues in live environments, and delivering products against the clock.

Although 9–5 is often compromised, not always. I pack my bag at a fixed time and leave. But, on requirements, you must be ready to sit late.

Conclusion

Looking back and connecting the dots, it seemed like I put myself in an ocean full of whales. But, as I was indie and on my own with a team to lead, I became the best version of myself. I learned about a lot of techs, tools, DevOps, optimization, and more.

Enjoy your journey as a tech lead.

Thanks for reading. Follow for more amazing content.

Let’s connect on LinkedIn and Twitter.

More content at PlainEnglish.io. Sign up for our free weekly newsletter. Follow us on Twitter, LinkedIn, YouTube, and Discord. Interested in Growth Hacking? Check out Circuit.

--

--