Fostering Joyful and Conscious Software Development
I started as a software developer back in 2004, founded a software company called Facta with Alysson Mendonça and Rafael Neves in 2010 and learned a lot with our own mistakes.
Around 2012, after almost breaking the company a couple of times we started to achieve better results with different approaches using Scrum and XP, and other companies started to request us consultancy and training services. The beginning was hard, but it was a rewarding journey where I acquired new skills and improved the way I communicate to people outside the software industry.
Since then, I try to balance my work between training, consultancy and, of course: software development. Between in-person, virtual and recorded courses I had about 100.000 people enrolling in my courses, and to this day I keep learning from their feedbacks.
Oh, and I never stopped writing software. :)
What's up with the page title?
I stumbled upon Kent Beck's mission statement and I loved the idea. I've been in the software development industry for 20 years and when you get to a point where you can choose between opportunities it's paramount to think about the impacts you want to cause so you can stay true to yourself.
I tried to recollect my thoughts and the feelings I usually have when I work, and I ended up with something like:
“It sucks when I spend too much time without writing some code…”
“The best part about being a trainer is when I notice people used whatever we discussed to make an improvement in their work environment”
“I love new technologies. Fiddling with puzzles and new tools or frameworks always bring me joy”
“I hate when people start to use new technologies to make the world more unequal.”
“I love to create stuff. A card game, a new software product, a new training exercise, a new cooking recipe. I need space to do that when I work.”
“The day I learn something new is always a happier day.”
Ok, that's a lot. But it kinda summarizes how my mind works, and I felt that I could use these feelings to come up with my personal mission. I want to feel those good feelings more often and the bad feelings less often. I also want to help people to achieve the same thing.
So, what I really want is ti foster joyful and conscious software development:
Foster: I want to learn as I go and share what I learn so others can do the same.
Joyful: Puzzles are fun. Software development can be a puzzle solving exercise or a nightmarish Simon Says game where you need to work for 12 hours a day. I want people to have the better experience.
Conscious: This one has two meanings: to be more conscious about the outcomes of the software we develop and to be more conscious about the code as we write it.
Software Development: I don't want to go too far away from this field. This is home, and this is where my expertise resides. And this brings me joy.
That's all, folks! :)