Developer at scale

How the learning curve of a developer can be correlated to the scalability of a startup.

As a developer, there are factors that can impact and limit your learning curve. These factors are directly correlated to the maturity and the current stage of the company.

In this article, we’re going to detail existing situations related to these factor and see what you can do in order to keep improving your learning curve.

The different stages

The different stages that I encountered during my numerous freelance jobs are:

startup pre product/market fit

startup post product/market fit

startup post-funding

acquired startup

established companies

Startup pre product/market-fit

At this stage, you’ll learn to build and iterate on your product. You’ll learn the basics of the feedback loop. Also, you’ll understand the importance of not over-engineering.

Indeed, as you don’t know what your clients want you’ll have to often modify you code. So writing too much code can be a problem if this code changes or becomes irrelevant after few days.

The limit of this stage, is that as your product isn’t mature, your code misses a bit of consistency and the quality of your code isn’t ensured here.

It’s like a No Man’s Land. Freedom can be either good and bad.

Startup post product/market fit

What’s cool in the previous stage is once you understand what your clients expect from your product, then you can finally consolidate (or rewrite) your codebase by creating a tests suite, adding a process of code review, adding a staging environnement, etc..

Indeed, the act of passing from few users to numerous users is called a Product/Market fit (when your product finally meets its market).

At this moment, your product does few things but it does these things as expected by your clients.

Now, your startup has more ambition, but not enough budget. So, they raise capital for the startup.

Startup post-funding

Now they can recruit. The tech team becomes more structured and plenty of processes are implemented. Indeed, you can’t handle 2 developers like you handle 15. So, processes ensure that each developer fits to the company structure — when they are well implemented of course..

Indeed, an early-stage startup will not have the same problems as a post-funding startup. etc..

Also, this is the moment where you produce the most (in term of features).

The problem here, is that sometimes you won’t be able the produce the same code quality as you’re normally doing because you’re in a phase of quick production. That’s the counterpart..

Also, as you get more and more clients, you learn how to operate and produce code for a larger audience (optimization, architecture, responsiveness, multi-versioning, etc..).

After, few years your company get acquired by an established company.

Acquired startup

It’s particular and rare that you work for an acquired startup.

But this particular stage gives you the opportunity to learn some specific skills.

Indeed, you’ll have to merge your system with another one which is probably very different from yours.

This can be a real pain. But once you achieve the merge, you get a totally different comprehension of crafting an application.

Established companies

The final step of your company is to become an established business.

As a developer, your learning curve depends on the ambition, the culture and the budget of the company.

If they are open to new markets, technologies and are willing to take risk then you can quickly improve your learning curve.

Otherwise, it can become a golden prison where the salary and the perks are good but where learning curve stagnates.

What’s next for you

First, identify at which stage you’re. Then ask yourself this question:

Are you still learning about programming or anything else you’re interested in?

If the answer is NO, then you’ve to be proactive. Here, I list some actions that you can trigger to improve your learning curve:

Simply notify your lead developer that you’re eager to learn and that you want to extend your confort zone. Lead developers are generally happy to see your motivation.

Pair-program with more experienced developer to learn from them.

If you feel that you don’t learn enough quick, challenge the roadmap and ask why the current and next features or projects are redundant.

If the company doesn’t see any reasons for improvement, then it’s maybe time to move to a more challenging environment.

Conclusion

The scalability of your company is not the only factor that prevent you to improve your learning curve. but being aware of the current stage of your company can help you to understand what to expect.

Voilà.