Hey everyone 👋
A lot of Bubble developers want to become ‘senior’. Founders want to be one, so they can build their app better and scale further on their own. The trouble is, there’s no consensus on what that actually means in Bubble. Can anyone call themselves a senior developer?
This is something I’ve had to spend a lot of time thinking about. I’m hiring senior developers, but the reality is that there’s sometimes a huge mismatch between what level people think they’re at, and what level they’re actually at.
Bubble has a shortage of senior developers. It’s an ecosystem problem that needs to be solved, as if there’s no talent to scale apps, then apps simply cannot scale.
If we define what a senior developer actually is, then it gives developers a set of goalposts to work towards and actionable things they can do to get there.
As I intend the term, a senior developer is:
a developer that can own development of complex features end to end across a Bubble app, and can develop and visualise those solutions in their head before even touching the editor, all in a way that scales and makes future development easier, not harder.
How you think is much more important than what you know
The first misconception is that senior refers to your experience. In truth, when hiring developers, years of experience is almost entirely relevant to someone’s Bubble development skill. I have interviewed developers with 6 months of experience that outperformed developers with 6 years of experience.
How can that be so? There are a couple reasons:
diversity of experience is often more useful than length of experience. Seeing many different apps lets you pattern-recognise, which ultimately, is expertise. If you work only on one app, then you are living in an echo chamber of Bubble ideas that are all your own, and don’t have any external reference frame to improve from.
how you think is much more important than what you know.
The latter is what I’d like to drill into in this post.
How to think like a senior developer in Bubble
The skill I want to drill into my team and to people that want to become senior in Bubble is that one should be able to plan and design any Bubble app solution in their head (or, at least, not in the editor). What do I mean by this?
One of the biggest negative signals we see in technical interviews is people clicking around the editor trying to find solutions that work. The senior developers know before they even try something what will work and what will not. They know this because they know the facts of the Bubble platform (what expressions are possible, what scales, what does not, etc.), but are also able to conceptualise those in their head.
On an app they built, a senior developer does not click through workflows to debug an issue. When a client flags it, they can likely already guess the cause (from their mental model of the app).
The senior developer measures twice and cuts once. They know that it is better to do it the right way the first time than take shortcuts and pay for it later on, though they likely learned this by making that mistake themselves at some point.
Now, understanding the ins and outs of Bubble is a pre-requisite for being able to do this effectively. It’s partly why I feel the Bubble Certification is necessary but not sufficient to evaluate a developer’s capabilities. It shows they know the basic facts of the platform, but does not assess judgement, or ‘engineer thinking’. I’ve played with the idea of making a NQU Certification that actually tests this (as then we can hire directly from the pool of people that can pass it), though it’s a tricky problem to solve.
End-to-end ownership
Additionally, a senior developer has a sense of ownership. You can delegate something to them, and trust them to get it done in a way that is technically elegant, empathises with the end user, and is commercially aware. Exactly how much of this is their responsibility will depend on their role (agencies or internal teams might have PMs; freelancers will not).
But senior developers are likely to push back on client requests. If a client says ‘we need to add X’, the senior developer is likely to ask why? ‘We need to add X’ is not a problem, it is a feature, and comes with an implicit assumption that X is the best way to solve that problem. With a desire to understand the problem, the developer is likely able to recommend other options that solve the problem equally or more effectively, and recommend the right one.
By extension, they also know how a feature will develop. They know when they are instructed to build X that Y and Z will be added to it in future, even when they haven’t been told that. They can infer it naturally, because they understand the product they are building, and understand the business behind it.
Become one
So you want to become a senior developer. How do you do it?
work on a variety of apps if possible; you’ll begin to see what works and what doesn’t on different apps. Learning how not to build Bubble apps is a good way to learn to do it right, because you see the consequences of those decisions.
for similar reasons, working on existing apps rather than just new apps will let you upskill much quicker
when you deliver a feature, consider whether you’re proud of it. Is it built in the best way possible (best way often means the most simple, not the most complex!)? Would you change anything with hindsight? If yes, change it.
understand the product and business problems behind the work you are doing. Do not just be an order taker; add commercial value with product sense.
I hope any aspiring senior developers, or people that want to think like one find this useful! You are needed in the ecosystem; people are desperate to hire people like you.
George
Founder, Not Quite Unicorns