In a few months, I turn 3 years working full time with open-source. Or, as I like to think, work in public. It was a great move in my career. It’s not easy, but it’s worth it.
I have good and bad ideas. I have thoughts my team agree and disagree. My code makes me proud and anxious. Sometimes, they do both. Sometimes my code needs to be reverted, and sometimes I revert other people’s code. In the end, nothing of it matters.
You know what really matters?
I’m working in public
Being publicly available for feedback (good and bad) makes me wake up every day and get things done. Makes me want to do more, and better. Makes me wish to receive feedback as fast it can and improve over time, every day.
The idea that someone can potentially be watching you, because you inspire them or because they think your work has a value worth watching, makes you automatically get more productive, increase your attention to detail, your grammar improves, your tone softs, and there’s a proud motivational feeling that you can never get enough. You just keep moving and hoping you’re doing your best. I don’t think there are a bigger joy in my profession than being able to be publicly available for everything I do.
But I haven’t always been working in public
I effectively started working in public because that was the modus operandi of the company I work for – which is something I love, and a great excuse to start doing something I always felt was for me. But no personal credit here, I did what I had to do. We work on a public repository, so it is all my patches. Public.
Before joining Brave, I did a couple libs and started contributing to projects such as MDN, but was still too afraid to show off my work or share somewhere else. I just did stuff and was happy that I was giving back to the community somehow. But was I, really, giving back the way I’d like to give?
Working in public can be terrifying
You can still work in public and remain almost invisible. Unless you promote your work or someone else does it for you, you’re public only for the people that know you or at least that know your work.
I have been a long time fan of public figures’ work. Renowned artists, musicians, architects. All the people that take time to do something they find worth doing that find the courage to say “hey, here’s my thing publicly, what do you think?.” When I pass by some in-progress construction, I always look up the engineer/architect names. It has something beautiful about being responsible for something. Those people represent all other people’s work. If something goes wrong, even without direct input from them, it’s their fault. If something goes right, they also take their share of the credit.
Having your name attached to work can be terrifying. I’m a software engineer. I work on a public repository, and I have my name attached on every change I send. It makes me think twice about the revisions I request. I take three times to do a self-review of anything I ask. It makes half a day to review every interaction I do with the public watching my changes – including my peers. I take great care to ensure I’m being accessible, kind, a good co-worker, and that my code is in the best shape I can deliver.
It’s terrifying, but it’s worth it.
I like how it works, and I’d like to do more
I like the way it works. I love the way it makes me feel about my work. But as someone who claims to be open-minded and interested in open-source, looking to help others to accomplish what I did, and hopefully influences others for good, it is still a small part of me. Then I think: I wish I could expand this to other areas…
It doesn’t take willingness. It takes action
We all make mistakes. As developers, we all write good and bad code. As humans, we are always looking for the best time, the best scenario, the best excuse to procrastinate. As aspiring public workers, we are always looking for the best idea, the best topic to share. We are always worried about what people will think about us. Yet, we often take no action or are continuously not happy with our results. In fact, we are the worst judges of our efforts.
All it takes is a start. We tend to overthink things.
- Is my code good enough? (spends two hours on a worthless refactoring)
- Is my writing good enough?
- Is my blog clean enough?
- Is it the right time?
- Am I delivering the right message?
- Are others perceiving me as who I really am?
- What is my audience?
- I’m presenting myself as X, but I guess that’s not me
All those questions are valid if you have a plan. Turns out if you do have one, they are probably answered. You and I, we are wasting time. Done is better than perfect. It doesn’t mean you are forbidden to review everything countless times, but it means you should ship your work. You have to ship your work.
Just Ship it®
I wrote my blog on one weekend. It took me months to publish it online, and a few other months to get to write my first “real” blog post. This one, actually. The first blog I created is probably 15 years old. Never got any post written. Around 2 years ago, I started a blog, and the only blog post was an “about me” post. I just couldn’t make it.
Expanding my work in the public way of work
Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma - which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, dare to follow your heart and intuition. - Steve Jobs
After working in public for a long enough time, I found many delightful excuses to keep being public.
- You get to know new people, having the chance to read and learn new perspectives.
- You see other people passionate about the same technology you are, and you feel encouraged to keep digging more.
- You find new passions.
- You get more motivated because you believe someone is watching you for good.
- Your code suddenly becomes better, after all, you’re now a “public person.”
- Your writing feels more natural.
Not only work in public. Be public about your work
I made a commitment. As of today, I’m not only working in public. I’m being public about my work. Every idea, every piece of code, every resource produced by me, will be open. Right or wrong, as my code is, all my resources will be available for the public to judge. Good or bad, the feedback I receive will be taken into consideration, so next time, it can be even better. I’m letting my work and my thoughts about work, remain forever in this big space called the internet.
I’m Cezar Augusto, the public face of my mind and output.
This is day 1.