How to Effectively Sell Yourself as a Software Engineer
How to increase your salary as a Software Engineer?
In this post, I am sharing my experiences and insights about how a software engineer can effectively sell themselves, particularly to increase their salary and strategically guide their professional career.
I have been working as a software engineer for the past 15 years. Like many, I began my journey as a Practitioner Software Engineer (a level just below junior) and have spent the last 10 years working as a Software Architect. Before diving into my key lessons, I highly recommend reading "The Art of War," as its principles frequently appear throughout this post.
First Lesson: The squeaky wheel gets the grease
The first lesson I learned can be summarized by the Spanish saying: "El que no llora no mama." In other words, if you want something to happen, you have to actively pursue it and explicitly request it.
For instance, if you're interested in advancing your role—such as obtaining a promotion or receiving better compensation—you must clearly communicate this desire to your manager. Expressing your goals explicitly ensures that your efforts align with your aspirations, giving you greater control over your professional life.
“If you never ask, the answer is always no.”
The first time I asked for a promotion, I was very nervous—and honestly, I still get nervous today. Initially, my request came purely from a position of need. When I asked for a salary increase, my manager surprised me by immediately asking for justification. I was unprepared for that question and ended up honestly saying I needed it to improve my quality of life. It may sound simplistic or even naïve, but that was my reality at that moment. Although my justification wasn't very strong professionally, my honesty created a genuine connection, and I learned the importance of clearly articulating my value.
Second Lesson: Prepare the Field for Negotiations
When you request a salary increase or a promotion, your manager needs to justify their decision—either to approve or deny your request. Essentially, they must assess whether your work provides sufficient value to justify your request.
“Negotiation begins long before the conversation—come prepared with leverage.”
Given this reality, it’s crucial to prepare the ground for negotiations. How can you do this effectively? By consistently demonstrating your achievements and showcasing the tangible value you deliver to the company. This can be done in several ways, including:
Successfully completing important tasks and projects.
Positioning yourself as a trusted reference within your team.
Actively building trust with your colleagues and supervisors.
By proactively demonstrating your worth, you make it easier for your manager to justify your requests, significantly improving your chances of success.
It's important to understand that the ways you demonstrate your value and career progress depend greatly on your circumstances, particularly your seniority level. The expectations for a Junior developer differ significantly from those of a Senior developer. For instance, I expect Seniors on my team to mentor Juniors, serve as technical references, and lead by example. Conversely, Juniors should focus on completing smaller tasks effectively, displaying eagerness to learn, and consistently seeking opportunities to enhance their skills.
Third Lesson: Know Yourself and Have a Life Plan
I know this may sound cliché, but it's genuinely impactful—so powerful, in fact, that it requires careful thought. Having at least a basic idea of your life plan gives you a compass to guide professional decisions effectively.
“A clear life plan becomes your professional compass.”
I began my journey in software engineering at the age of 16. Back then, I wanted to be either a scientist or a math teacher. However, due to my circumstances at the time, that wasn't immediately feasible. Instead, I had the chance to study as a Systems Technician—a qualification considered slightly below an engineer—and I embraced the opportunity I had available.
By age 20, I was working as a Web Administrator and Cybersecurity Practitioner. After two years in this role, I paused to reflect on what I truly wanted to do. I realized I enjoyed networking and security, but my true passion was in creating and coding solutions. Recognizing this, I actively sought opportunities within the same company to transition into software development. After being evaluated as a Practitioner Software Engineer, I discovered not only that I was good at coding—I was great at it, something that remains true even today!
This experience taught me the value of periodically reflecting on who I am, what excites me, and where I want to go next. Doing this helped me identify the roles aligned with my passions and skills, enabling me to actively shape my career rather than merely following wherever the circumstances took me.
Fourth Lesson: Win before negotiating
This advice might seem controversial or even taboo to some people, but I genuinely believe it’s crucial if you want to achieve your professional goals.
“Always negotiate from strength—create opportunities first, negotiate second.”
When someone asks me for advice on what to do when their salary or working conditions don't align with their expectations, my recommendation is straightforward: first, communicate your desires openly and directly with your manager.
However, it's also wise to have a backup plan—explore alternative opportunities or job offers. This doesn't mean you're determined to leave immediately, but securing other options can give you stronger leverage and confidence when negotiating.
Importantly, being ambitious is not negative; in fact, ambition is highly beneficial and can significantly enhance your life and career, provided your ambitions align with your values and life goals. Clearly expressing your professional aspirations helps your manager understand your motivations. Always request conditions that genuinely fulfill your needs and values, ensuring alignment between your ambition and personal well-being. This alignment helps avoid negative feelings and supports your long-term satisfaction and growth.
Fifth Lesson: Don’t let a position defines you
"Leadership is not about a title or a designation. It's about impact, influence, and inspiration."
— Robin Sharma
Finally, and equally as important as the previous four lessons, don’t let your job title define or limit you.
Remember, your position or title does set expectations, but it shouldn't restrict your growth or identity. You don’t become valuable or skilled because of your job title—you bring value through who you are, what you do, and how you contribute. Your worth is determined by your capabilities, your attitude, your leadership, and the quality of your relationships with teammates—not by your official position alone.
I understand this might sound idealistic or even altruistic. However, adopting this mindset has allowed me to grow tremendously, both professionally and personally. Today, I'm genuinely happy with my progress and believe strongly that not allowing myself to be limited by titles was essential in achieving that satisfaction.
Remember, when you refuse to be defined solely by your position, you open yourself to greater opportunities, flexibility, and growth. Ambition aligned with your values and authenticity creates a path to recognition beyond titles and traditional boundaries.