My confessions as Lead Developer in a Startup

Years ago, I started the venture of creating a startup company with my client as he has developed his own idea for his business.

He wants me to lead the team and organize everything from top to bottom, from source code to servers with the two of us starting the venture together.

I have to confess that it is a rough path for me to lead and get that startup going as much as possible with little experience as a lead developer since mostly I’m tied in developing software apps for the most part. As such, with the responsibility the client has given me, I believed that the experience allowed me to see the bigger picture of what was it like to run a startup company these days.

Without further ado, these are my confessions, and lessons that I learned while I played my role as Lead Developer in a startup company:

You wear many hats

You focus not just in coding and programming every logic that you can do but also learning how to see other moving parts of software ecosystem that fit in our needs such as cloud servers, Continuous Integration, Continuous Deployment, version control to use such as git, and checking the quality of the code being shipped to production.

Not only that, but you also need to consider which stacks are you going to use to build the system. What kind of database are we going to use? Back-end Programming Language? Front-end libraries and frameworks to tie together? Are these economically viable and sustainable?

As a Lead Developer, you don’t get the luxury of just simply wearing your favorite hat (which I often do). Just because you’re good at programming and tackling new features or tasks doesn’t mean you have to abandon every other responsibility you have in a startup. Remember that when you’re in a startup scenario, you get to carry every responsibility you can carry — even recruiting the best developers you can ever recruit in the market which I often do.

You need to get the right people to do the task

This sounds like HR-ish thing to do, but remember that you’re the lead developer and must take responsibility on getting the right people whether developers or administrators to get the job done. A team of people with the right skills can accomplish a lot and can come a long way.

We used Upwork to hire the right people for us. We’re thankful that the platform has a lot of talented developers we can find that we can’t find elsewhere in the local marketplace.

You also need to learn to mentor your people

One of the few things Lead Developers need to learn is learning to mentor your people. While the above point is true that we need to get the right people in the team to get the job done, but our job doesn’t end there.

Learning to mentor people on your team is a winning strategy for a startup. It boosts their morale, their ability to thrive and grow, and you improve your relationships with them resulting in high retention of developers.

You need to have an ability to decide critically with conciseness

Ranging from what technology stacks to use into deciding how the company should run. At any rate, having an ability to decide critically with conciseness is a must have especially when it feels like you’re running the company with your client.

This includes what tech stack should fit into your needs, what developer talents should we need, and a lot more.

You need to constantly learn and cope up with the changing times

Constant learning should be part of becoming a lead developer for the most part. If not, it is very challenging to start everything from scratch with your client as your partner in building a startup especially if your client does not know much about technology.

I was a constant learner before I find myself a client who is starting the startup from scratch and asked for recommended tech stacks that make sense in his requirements and business model.

Another challenge of the startup is when to upgrade technologies. Is it time to upgrade? Or just stick with what we have at the moment?

You need to learn to organize and prioritize tasks that need priority

As the one leading the team, you need to know which tasks to prioritise first and which one comes last.

This is a must-have skill for any Lead Developer out there so that you can fully utilize the potential of technology and capabilities of each developers.

You need to learn to manage stress

I think this is true of all professions that we take into, but worth mentioning. As a Lead Developer, it is a must to manage your stress very well as you are the one in charge and leading the team.

As always, you must be rational in every decision you make.

You need to communicate with the team

Team communication is essential for the startup to blossom and prosper which I admit not doing consistently. By communicating and checking each developers progress for at least a few minutes per day can make wonders of improving communication and your relationship with them.

Stand-up meeting

A stand up meeting is a good example of this. I experienced this kind of meeting when I was working at a previous startup company.

Know when to push through and know when to give up

There are times we solve seemingly difficult problems within the team. It is at this time that I, myself as a Lead Developer have to decide on when to push through and solve the problem, and when to give up on it and move on to other urgent matters. Time is of the essence when dealing with the problems.

Learn to do code reviews

Code reviews are a big part of what it means to be a great Lead Developer. You have the experience of what code is bad and good, and which patterns should your developers have to follow. All of which ensures that the code is minimizing future bugs and errors which we can’t avoid at all times.

I only seldom do code reviews as I was focused on dealing with critical issues at hand. So, I was a little bit guilty that I cannot review every code that developers commit in our source control.

Learning to decide when to scale

More often than not, we see ourselves trapped in most mundane, repetitive tasks such as fixing issues and reviewing the code of other developers. We didn’t ever noticed that the time is ticking and scaling up or stepping up our game never crossed our mind till we bumped in one big obstacle that is, fixing most of “high-priority” issues/bugs.

This is often one of the most difficult things to do, especially when the startup is deciding to scale, and when is the right time to scale when we’re constantly facing high-priority issues to the point that we might potentially lose customers because of bugs.

Often, the decision of scaling isn’t that easy to come up as well. There are times that the team is comfortable in just the way it is and doesn’t want change. Other times the client expects me that we scale the startup within this “xyz timeframe”. At any rate, there are a lot of contributing factors to consider when or when not to scale the startup.

It’s a hard decision for me to do considering how inexperienced I am in acting as Lead Developer where I get to decide which technology suits best for our needs and whether we need additional developers to speed things up.

At the end of the day, the decision of scaling is all about what feels and economically right to do depending on whether the startup is performing well or not or whether the startup has budget for scaling. If it is, despite other urgent matters, then we need to do everything we can to scale so that we can solve other existing problems.

And lastly…..

Don’t forget to ask for help and learn from others

This is what Lead Developers are afraid of doing so very often. Since they are expected to lead and make a decision on their own for the most part, they don’t ask for help.

I personally think that asking for help and learning from others are necessary whenever you find yourself getting stuck on something so the team can move forward without wasting too much time. Lead Developers are not “know-it-all” people after all.


Conclusion

Leading the team is not always an easy task especially in ever-changing times of tech industry. You are the ones leading the client and your team on the path of success to make your client’s idea come true and make it into the consumer marketplace to be used.

A Software Engineer who loves to code and write articles.

2 comments On My confessions as Lead Developer in a Startup

Leave a reply:

Your email address will not be published.

Site Footer