You Don't Need to Be Chosen, You Can Just Do Things
You don't need permission, you don't need to be chosen, you can just start, and you can just do things.
This isn't from me. I would love to claim it. This quote is from Aaron Francis at LaraconUS 2025.
Sometimes, inexplicably, some phrases—whether from a friend, a book, a movie, or a talk—just hit you. This one hit me hard, as the continuation of the "we must ship" from Taylor Otwell, the "What if you tried hard?" from Aaron Francis, and years of experimenting with my own projects.
Behind this quote lies pragmatism—the pragmatism of building things and shipping them to real users, not just yourself. To transform ideas into reality, not to wait to be ready, but to take action and do it.
Note
This is my personal point of view that I wanted to share. Mainly for my future self, but also for you, if you find it useful.
For years, my tagline on GitHub is "I create user experiences on the web and in real life!" There is nothing about code, and nothing about being a developer. It's completely intentional and I find it deeply linked to this quote and the overall mindset.
Am I a Developer?
Over time, I find it difficult to define myself as a developer. Reducing myself, and everything I create, to just "someone who writes code" really hurts me. I could seriously dedicate an entire article to this topic.
You may wonder why, especially if you aren't from the industry.
Writing code is fun, and I personally love the technical challenges we meet along the way. I love solving highly technical challenges as well as watching highly technical conferences, and sharing my own technical challenges with my peers. But at the end of the day, most people don't care about the technical challenges you faced; I'm not sure they can even understand them.
This could be a detail, but it makes me sad. Because you have nothing to talk about with anyone. This is especially true when your friends or family aren't developers, and when you're the only software engineer, web-focused, in your company.
- What have you done today? asks one of my colleagues.
- Oh you know, I just revamped the whole internal business logic of the application using DDD to centralize the business rules, applying object calisthenics rules, inversion of control, and the tell-don't-ask principle, to make it more readable and maintainable, and thanks to TDD, everything should work as expected, I reply.
- Nice, seems good, he says.
I know that he doesn't really understand what I just said. I don't blame him, that's not his job. And I have to admit that this is fuc*ing boring. Even for me. Even if this is the reality. I love all this stuff, but this is not what non-specialized people want to hear.
The truth is that, even today, I don't know how to explain what I do without reducing it to "I write code". At the same time, writing code isn't the part that matters most to me. Without very long explanations, it's nearly impossible to get the message across. And I don't want to bore people with this. Dilemma.
This is at a point where one of my biggest fears is, when meeting someone new, having to answer the question "What do you do for a living?" I'm still looking for the right way to phrase it. "I'm building a launch vehicle." Not really true, not really false, but at least, easily understandable.
So? Where does this lead us?
Share your Passions
For a long time, I wrote code for the sake of writing code. No real purpose, no real goal, just writing code. I was happy with it and the number of lines written became a metric of my happiness. I became addicted to it, far too much. I can't recommend reaching this level to anyone. All my focus was on the code to the point that I was completely out of my own life.
But recently, my focus has shifted. I've completely moved away from this. I know for sure that the references I presented above helped me realize this.
Before telling you more about this, I want to share a little personal story because this change was a journey, not a single event that clicked in my mind.
Five years ago, I was a student in an engineering school. I was deeply involved in student life and an opportunity came to me. I was asked to continue the tutoring platform that aimed to help students find tutors. With two friends, we started to work on it. A lot of work to create an API, a web application using Vue and React (don't ask me why both), and a mobile application using React Native.
We worked so hard on it, from May to October 2020, we put everything we had into it but we never reached the end users. We never shipped it. No one ever saw it. We learned a lot during the process and failure is part of it. We knew it. But it still hurts. Trust the process.
A year after the end of the tutoring project, I started a new one called Insamee with another friend. It was the continuation of the previous one, but this time, we wanted to build a whole ecosystem around it. Four platforms, TEAM, to facilitate student life to grow. Ambitious.
Seven months later, in April 2022, we had something that was working. However, you may guess how it ended. We never reached the end users. We never shipped it. Despite that, I had the ability to work on it full-time thanks to a school arrangement during two months. Amazing experience, would recommend it. "Try hard for a while. You might be surprised by what happens.", Aaron Francis. In that case, I had the opportunity to skip classes.
For both of these projects, we were way too focused on the code than on shipping it. "We must ship.", Taylor Otwell. And celebrate.
A couple of months later, I built a voting platform for an event named Le Classement des Associations. This time, I was alone, and I had a clear goal: to ship it. No room to fail, we had announced it publicly. In September 2022, I shipped it and for a month, more than 25k votes were cast. It was finally a success, after years of failures.
For the first time, I created a real moment for people. They were talking about it on social media, they were sharing it with their schoolmates, and they were using it. It was all digital but without any code, it would have never been possible.
At this point, something started to change but I wasn't aware of it yet.
Empower Moments
Creating and sharing moments with people I really appreciate became my top priority. This creates much more meaning in my life.
This makes me wonder how I can use my passion for code to facilitate this and to empower these moments or to create new ones.
Before diving into this, I must acknowledge that always using code doesn't even make sense. Sometimes, asking is better than anything else. But occasionally, building something can be the thing to create more than a moment—an experience.
This is exactly what happened recently.
There is something I never shared before, but I love cooking, especially pastries. While the process of creating a pastry is already a moment, that can be shared to become even more intense, sharing the creation with friends around a table is, for me, the best part. It is a natural moment of connection and conviviality.
I recently talked about it with two friends, and I realized that it was difficult to show them what I was able to do. Of course, I have some photos, but among all my gallery, it takes time to find all of them. And I wanted to share more than just photos; I wanted to share the title of the recipe and a description. I wanted everything to be in one place, easily accessible to all my friends, without having to send them a bunch of photos each time I wanted to share something.
So I decided to build a centralized platform to share my creations. One of the requirements was to ensure that only my friends could access it. It turns out that I have a friend who owns and maintains his own Identity Provider for accessing his own applications. By using it, I was not only able to ensure that only my friends could access it, but I worked on a real-world use case with a very close friend. This is so much fun to work with friends on a project.
This was a quick project that gave me the opportunity to use Typesense for the search. As you type, a request is sent to the server, and the results are displayed in less than 100ms. Wahoo effect is guaranteed.
Some days later, thinking back to some discussions I had with a friend, another idea came to my mind.
Cooking is great, but then, you have to eat the cake. Each weekend, I bake a cake and to be honest, eating a whole cake alone takes multiple days and then, another cake is ready. At first it was fun, but now, it's getting too much.
During this conversation I had with her, she asked me why I didn't share it with my colleagues. I selfishly replied. But after all, she was right. Pastries can be used to create moments, in the same way I use code to create moments. Of course, they are different, but both are moments, and at the end, you share them with people you appreciate. All the environment can be used to think out of the box.
So I decided to extend this platform intelligently to my colleagues. Intelligently because I cannot use the same Identity Provider, and I can't use the one from my company. Also, I don't want to have to manage my creations on two different platforms but I want to keep the two platforms separate. Different codebases with shared data. If the technical solution interests you, please let me know in the comments.
Perfect timing. I had 15 days of vacation. So I had to build it in 15 days, and to ship it at the end, ready or not. I shared a countdown with my team, just before leaving, to make it official and public. The countdown was set to stop on August 11th 2025 at 9:00 AM (UTC+2).
I had to iterate on the experience I wanted to deliver multiple times to ensure it was both useful, usable, and enjoyable. I stopped my reflection on the following points:
- Allow users to view my creations,
- Allow users to suggest new recipes, based on new ideas or existing recipes,
- Allow users to give feedback on my creations,
- Allow users to know when I will bring the next cake to the office.
Only 15 days to build it. That's challenging because I had to balance time between building the platform and enjoying my vacation. It was not easy, sleep was short, but remember: "Try hard for a while. You might be surprised by what happens."
I split my day into a (small) session of code, 40km biking, and a wing foil or a catamaran course. I repeated this cycle every day. Sometimes, a sunrise, sometimes the discovery of an island.
The last day, after 32 hours of thinking and coding, everything was ready to be shipped.
I'm writing these lines on Sunday, August 10th, the day before the launch. Everything is ready to go live tomorrow morning for my colleagues, as planned. I can't say if it will work, I don't know if they will like it, but I put everything I had into it.
I try hard and I ship it.
And whatever happens now, I will continue to create moments for people I care about. Sometimes with a message, sometimes with code, but always with passion.
Trust the process.
For Julie and Jordan, without whom this project would never have seen the light of day. We shipped it!
Thanks for reading! My name is Estéban, and I love to write about web development.
I've been coding for several years now, and I'm still learning new things every day. I enjoy sharing my knowledge with others, as I would have appreciated having access to such clear and complete resources when I first started learning programming.
If you have any questions or want to chat, feel free to comment below or reach out to me on Bluesky, X, and LinkedIn.
I hope you enjoyed this article and learned something new. Please consider sharing it with your friends or on social media, and feel free to leave a comment or a reaction below—it would mean a lot to me! If you'd like to support my work, you can sponsor me on GitHub!
Discussions
Add a Comment
You need to be logged in to access this feature.