How to be a Visible Engineer
Often we invest 100% of our energy in doing a great job. Is that enough? It isn't.
As Software Engineers, we create a lot of artifacts. System Design Documents, Code, IaC, Tests (do you write tests, right), Documentation, and so on.
We’re usually focused on delivering a lot of value, but we don’t invest enough to make people aware of our impact and our skills.
Today we will cover a few topics related to being visible. We will analyze what that means, what are all the advantages and how to be visible both inside and outside your organization.
First of all, let’s figure out what being visible means. For me, a visible engineer is someone who spreads knowledge and makes people aware (not just other engineers) of the impact he/she’s having on the team/project/company.
Not clear enough yet? Let’s try with an example!
I was working on a project and I found out that on the IaC configuration, there was an odd scaling policy. I verified on AWS the usage of the resources and I’ve noticed that they were almost idle. After a double-check with the Cloud Engineering team, I changed the scaling policy to something that was more adherent to the current scaling pattern. The outcome of this change? The cost for the production environment servers decreased by 65% just by using correctly the resources.
Now, some engineers would send a message on Slack like “New PR to change the auto-scaling policy”. An engineer who understands the importance of making their job visible would rather send a message like:
”Hello everyone! After a little bit of research, we found a way to reduce the production environment cost by 65%, resulting in a saving of XXX$ per month on our cloud infrastructure costs. This has been done by optimizing the usage of our resources. We also put in place a monitoring system so that we’re aware of the resources utilization and we will get alerts in case something odd happens. Also, we will continue investigating to evaluate whether we can further reduce costs by optimizing other resources like the storage and the XYZ service utilization”.
As you may notice, this message is not just for technical people. Every stakeholder can understand what happened here, and everyone can evaluate the impact you had (literally, they can count your impact in dollars, which is quite rare).
This is an example of being visible inside your organization, but you should also be visible outside!
Being a Visible Engineer outside your company
Building visibility for me has been a huge driver of growth. In order to be visible outside your organization there are a lot of things you can do. This list is not intended to be complete but can be a good starting point.
Leverage LinkedIn/X to build a network
If used correctly, LinkedIn can be an amazing platform. You can follow interesting people and start sharing what you learn. Building a network is such an important activity for a Software Engineer, in fact, I joined Nearform through an unexpected referral (thanks again Matteo).
On LinkedIn, you can share what you learn, engage in interesting discussions, or just learn from what interesting people share. Following the right people and engaging with them can be also a great way to get advice from some of the best professionals in the world!
Building an audience on LinkedIn gives you also the ability to get feedback on your ideas and opinions. A lot of times people helped me to create a better idea on a specific topic just by commenting with other points of view or sharing interesting links.
Participate in Meetups and Community-driven Events
Participating in events can help sharpen your soft skills, build a network, and, most importantly, is very funny! I started participating in tech events and meetups probably too late, but I believe it is such an important investment! Even if you have to drive for hours, or take a train or a plane, the investment is worth it.
Share your expertise with a talk
In your career, you will probably work with interesting pieces of technology. You will dive deep into use cases and most probably you will be stuck with something, but eventually, you will find one or more solutions. This can be such a good topic for a tech talk! How to start? Just reach out to some local meetups or community! Usually, they organize panels where everyone can present something cool. I started just for fun and I’ve noticed that this is something I really enjoy. Sharing useful knowledge is awesome!
Contribute to Open Source
I’m not very active (yet) in the Open Source ecosystem, but a lot of my colleagues are strong OSS contributors and are very visible in the tech ecosystem. Contributing to an Open Source project can be both a driver of growth as an Engineer and can make you visible in the ecosystem.
Create content
You’re now reading a newsletter, right? This is content! If you go on my YouTube channel you will find some other content as well! Content is such a powerful way to become more visible. You can create a Medium account, start a YouTube channel, or start a newsletter. There are a lot of ways to leverage content. I create content just to share what I learn and to refine my thoughts, but a lot of people built an entire business out of it!
What are the main advantages of being visible outside your company?
You will have more work opportunities
You can improve your social skills
You will learn how to communicate better
You will build a strong network of professionals
Most importantly, you will have a lot of fun, find awesome people during your journey, and become a better person
Being a Visible Engineer in your organization
Being visible in your organization for me is crucial. Of course, depending on the size of the company things will change. Being visible in a 500-people company vs a 30-people company vs a Google-scale company is very different.
To make things more manageable, let’s divide the discussion in terms of scope
Showing your impact at the team level
Sharing knowledge at the squad level
Actively participate in discussions at the company level
We usually work daily with our team, so let’s get started with that.
Showing your impact at the team level
At the team level, you want to be an example for other people, showing what you’re doing and explaining the impact that your work will have on the team and the company. Also, helping colleagues, mentoring, and building a strong relationship with your team are essentials to make you a better engineer. Being proactive, and communicating clearly (but not over-communicate) are also essential traits of visible engineers.
It may sound very abstract, so let’s give a few examples. I work in a remote context, so all my examples will be like Slack conversations, but you can do the same (even better!) in an office.
Case 1 - You broke the Staging environment
You were working on a feature regarding the SSO but for some still unknown reason, you broke staging (even if the CI/CD pipeline passed, funny isn’t it?). In this case, you may want to send a first message like: ”Hello folks, quick status update: the STAGING environment is currently BROKEN. It’s most probably my last commitment. I’m on it. Will keep you updated on this message’s thread. In case this is blocking someone’s work, please let me know. Fixing this incident is the highest priority for me right now.”
Then in the thread, you will give updates (let’s say every 15/20 minutes or every time you have a major update to communicate) until the issue has been solved.
Case 2 - You want to propose using a specific technology for a subsystem
In this case, you will probably create a System Design document explaining to the stakeholders (usually your team, the team lead, and probably some external people) what the problem is, what are some possible solutions, what are the tradeoffs, and then your proposed solution. Let’s say you want to propose using Rust for a specific compute-intensive task in a Node.js application. You need to create a benchmark to showcase what are the advantages in terms of performance, what are the possible issues related to the introduction of a Rust layer in our application, and so on.
Case 3 - One of your colleagues did a great job on a specific task
In this case, giving a public shootout is (almost) always appreciated. When your colleagues do outstanding work, making that public will be a sign that you care about them and most importantly that you know how to give useful feedback! Pro tip: in case of the contrary (let’s say your colleague did a poor job on a PR), you should always reach out privately and give constructive feedback without being too rude.
Case 4 - You improved metric X
Back to our initial example: ”Hello everyone! After a little bit of research, we found a way to reduce the production environment cost by 65%, resulting in a saving of XXX$ per month on our cloud infrastructure costs. This has been done by optimizing the usage of our resources. We also put in place a monitoring system so that we’re aware of the resources utilization and we will get alerts in case something odd happens. Also, we will continue investigating to evaluate whether we can further reduce costs by optimizing other resources like the storage and the XYZ service utilization”.
In this case, I improved a metric (the resource utilization). In the message I did something specific: I explained quickly what I did, showing what is the business outcome, and then I wrote what are the follow-up actions I’m starting to further improve the metric (if needed). As you may have noticed, even non-technical people can fully understand what I did. In case one of the other Engineers wants to see the magic they can just look into the PR.
This approach is valid for everything. Let’s say that you built a feature that is now used by 72% of the users, you need to make people aware of that! Your feature is great, and super used and all the team who worked on that feature deserves praise!
Sharing knowledge at the squad level
Some companies have the concept of squads, some have communities. The names can change. Let’s say that in your company there are 10 teams and each team is responsible for a system. On Slack, you may have a channel known as “backend-squad” where people exchange info regarding backend-related topics. Sharing knowledge at this level is crucial. You can engage in conversations, read what other people have to say about a topic, and even share interesting articles you find online.
This will help you to grow and build relations outside your team. You will meet people from other teams and learn from their best practices. At higher levels, being relevant only at a team level is not enough. You will need to engage and influence a wider spectrum of the company. Of course, knowledge sharing is even more important at the team level, but I guess you’re already doing your best on that, right? ;)
Actively participate in discussions at the company level
Being visible on the company level is more of a long-term game. You will need to build relations with people outside your team and squads. Usually in medium/large companies, there are social groups. In case you’re passionate about personal finance you can participate in the discussions on that group!
Also, when there are workshops or company-wide activities, I highly recommend you participate and actively engage. I know that sometimes we’re overwhelmed with things to do, but participating in company activities and events constantly can help you grow inside the organization!
Just to give you a personal example, in the last months I had some chats with a lot of engineers and team leads. One of them was starting a cool project with a lot of uncertainties and things to discover (my startup soul loves this kind of challenge!). When I had to change the team, I just sent a message to this person and the next Monday I started with this amazing team!
This is a practical example of how engaging and building relations with people outside your team can be a growth driver (and sometimes, with a little bit of luck, can even make you join cool projects).
In conclusion, being a visible engineer is something that takes time, effort, and practice. You have to do it constantly, but the returns are huge on a wide range: you will build better relations, be recognized as a person with a measurable impact, you will have more professional opportunities and you will improve significantly your soft skills.
Any ideas to share about this topic? In case you want, let’s have a 30-minute chat in the next few days :D You can book a call when you want at: careergrowth.dev