The daily job as a software engineer
My first memory of a computer is when I was very young - my family had a computer store in the early 2000s, and spending Sundays scanning ranges of IPs with my father always made me feel like a hacker. Unfortunately, at that time, I had yet to learn that hackers need to work at night and wear hoodies - for this reason, I never hacked the NSA at 8.
When I was 12, I remember my first steps in programming, trying to read The C Programming Language
by Brian Kernighan and Dennis Ritchie: a book I hated at that moment, and I learned to love some years later. From that moment on, I cannot remember a period of my life when my hands were not on a laptop, writing code (or trying to) 🧑🏻💻.
(Un)fortunately, at some point in every developer’s life, the passion becomes a job, and the job requires some compromises. Don’t get me wrong - living off your passion is a great privilege, but will you be able to accept some compromises with it? How can you ensure not to fall out of love with it? Be honest - developing for work is pretty different from working on your side-project with the new famous language everybody is talking about and feeling satisfied by how your overengineered abstraction magically works.
In your job, you could face crazy time boundaries, poorly designed specs, deal with technical debt and follow ideas that you don’t like at all but that come from someone with more relevance than you for the management (aka HiPPO in the room). You could end up using technology/working on tasks/fitting a role you don’t like, but still: you’re software engineering!
Does all of this sound familiar? It’s pretty usual, and TBH it’s fine! Companies need to keep up with the business, and technology is a means to an end. We can keep up our curiosity outside work if necessary: we must do everything possible to daily fall in love with software engineering.
But how??? There’s no correct answer - I just want to tell you what worked (and still works today) for me. What do you know about meet-ups? <(°^°)>
Fantastic meet-ups and where to find them
Pisa, it was the 31st of March 2022. I was working at Geckosoft, and Antonio Pitasi (my colleague at that time) asked me to go with him to an event in Florence. It was held by a local company together with firenze.dev, and it was about adapting the NextJS rendering strategy in different situations: something I knew absolutely nothing about. Despite this, as I later learned, having all the certainty to understand what you are about to listen is not that important. Additionally, it was the perfect opportunity to forget my daily Angular frontend tasks for a while! (˘▾˘)
Thanks to the speaker’s passion and speaking skills, the event was interesting and engaging. I could say that I have learned a lot of new things that made me a better software engineer the following day at work, but I’d lie. And that’s not the point. The meet-ups enlighten your curiosity and allow you to study the treated themes; they’re not crashing courses. If you don’t get everything, it’s okay - just scatch any interesting concept/term/idea. It’s much graver if you don’t get to know other people!
And here comes the golden rule: focusing on meeting the other participants is way more important than attending the talk itself. I cannot tell enough how much this attitude impacted my professional life.
The after-event let us meet many new people from very different backgrounds and experiences (and taste one of the best Florentine steaks I’ve ever had 🥩). Interacting with professionals outside your working environment makes you compare your knowledge, your skills and your working environment’s health. Can you say to be a good developer without comparing yourself with the others? Can you be sure to be in a healthy company without knowing how the other companies are? Not really.
The benefits received and lessons learned that day were many.
I felt (mentally and emotionally) 100% recharged
I felt so excited about what I had learned during and after the talk that I could not wait to get home to start reading more. Plus, all the anxiety and stress of working deadlines and repetitive tasks was gone.
My curiosity and interest lightened up like a fire, reminding me that working on things I like matters. Honestly, the person I was before would have spent so much time writing this blog post.It made me a better Software Engineer in my job
That revitalization feeling changed my attitude at work: I was more focused, motivated and creative. Also, finding again the desire to study new things made me see new pattern resolutions to my daily tasks and propose new technologies.I met new people passionate about their job, not only workers
Being a software engineer does not have to be a passion for everybody; it can be a just (well-paid) job. It’s incredible how different these two categories can be! The good of meet-ups is that they’re full of passionate people like you. Except for paid conferences, nobody would spend Friday night with a group of people speaking about their “job”, right?I changed my career perspective: objectives and ambitions
Growing up from a professional point of view it’s not just accumulating years of work. It also includes learning how to plan and achieve our personal objectives and understand what job would make us happy. Yep, it’s essential to plan a strategy to be happier (whatever it means for each of us). If working with a technology you don’t like is a problem, find something that works better! If you believe you should be paid more for your skills, challenge yourself and do some interviews. Nothing of this will come alone.
But how can you understand all of this without a comparison with the others? How can you know if you’re good or bad? If you’re overpaid or sub-paid?
I’m sure I would not have been where I currently am if I had not broken out of my routine that day.
Hey, but how could it be possible I had never attended something similar before in Pisa????? ┬─┬ノ( º _ ºノ)
If you don’t find a home, make one!
End of May, Gran Canaria. Two months after the meet-up I attended in Florence, I was still thinking about how to recreate that same magic in the city I was living in (I selfishly wanted to participate in other meet-ups without travelling all over Italy). I was on vacation with my friend Antonio (I know, we spend too much time together - our girlfriends think the same), and he told me that the domain pisa.dev was available. ¯_(ツ)_/¯
Nothing really exists without having a memorable domain. If you want to kick start a project, buy a domain as your first step.
And we did it. Looking back, I cannot say we knew precisely what we were about to do, but the final goal was to offer other people from Pisa the occasion to live the same experience we had. That day, pisa.dev was born.
We had no concrete ideas on how to create a community, but we had very clearly in mind some fundamental pillars.
- Meet-ups: we would have organized meet-ups, inviting cool speakers from everywhere to Pisa, and we would have always had a post-event social activity (🍕 was our thing)
- Transparency: we would have been a community, not a company
- Community-oriented: everybody would have be able to contribute somehow, and we would have focused on the community (the quality of the meet-ups, the presented themes, etc.)
- Zerofuffa (I could have translated it into English, but I find it to better fit in Italian): no product sponsorships, no clickbait-quality introductory talks - we would have organized events that even a professional could have found interesting. We wanted to create a community we would have loved to be part of. Made by professionals for professionals, enthusiasts and students, all with the same passion for programming and technology.
Our community story is quite long: some of the best people we knew joined us, some decided to jump off, and others joined us a bit later. Many people contributed to pisa.dev in different ways (contributing to our website on Github, hosting our events, helping with the streaming…): the desire to have a community like ours in Pisa was strong. Our first event went sold out in less than a day - astonishing!
In July 2023, pisa.dev turned one 🎂. Stay tuned: we will start organizing new events soon!!!! 😎
It’s important to recap what the outcomes of this were for me:
- I developed a lot of soft skills: in a world of hard skills, where we entirely focus on learning new frameworks, algorithms and languages, we sometimes forget how important it is to be able (as an example) to communicate with people and do it respectfully.
- I had participated in my community: I attended every event (maybe I missed one - not sure 🤔) we organized. Twelve events of exciting talks, given by some of the smartest and most skilled people I had the fortune to meet.
- I made many new friends: I attended many more events with some of those same people and shared many more experiences with them.
And here we come: how does this relate to our main topic? (ง’̀-‘́)ง
I realized that founding and being part of a community was one of the most effective ways to fall in love with programming again. And I’ll never recommend you enough to participate in events like this near your city (or not!) - you’ll never regret that!
So… what?
This post started with the image of a sad software engineer unaware of what exists outside their office walls, who was solely relying on their daily job to keep their interest up. And we ended up talking about the perspective of getting involved with the community to shift a job to a passion again. That same engineer now is more aware of what they need to be happy and what can help them never get bored with programming.
That happy software engineer is me, proposing new (sometimes crazy) technologies to my colleagues at Resource Guru, waiting for the next conference/meet-up to attend it with friends and recharge batteries again, and being awake at night to contribute to open-source because it’s fun.
That happy software engineer can be you. You just need to find your way of falling in love with your job again (or buying a new cool currently available domain and looking for your own challenge).