A decade ago, fresh out of college, I was at my first job cooking Enterprise Java Beans, the ContextMapperAbstractCommonAnnotationResolver ones, thinking:
This is the dream.
I could sit here all day, crank out more sweet Java Beans, and never talk to a client.
Loved every minute of it until I wanted to make more money. If you’ve read Full-time Employment or Freelancing, you know a pay raise wasn’t an option, so I was on my own. I turned to freelancing, and it took me 5 minutes to realize that I should have talked to our clients.
Full-time employee or freelancer, you must sell something at some point.
You want to get promoted, get a pay raise, and work on a project that will change your career trajectory. But why would they give it to you? You must have a compelling story and then find buyers for it. Freelancers have to win clients to make money.
Sales can be unpredictable, but your effort is not wasted. You have to think about it differently.
🔑 Key Takeaways
Speak the same language. Understand the needs and offer a solution using their words.
Never stop trying. Nobody has a crystal ball. Stay curious, learn, and adapt.
You’ll win some trades and lose some others.
Let’s get into it!
👂Understand your prospects
Mind Meld is a fantastic thing. It allows for two minds to connect, exchanging intimate thoughts.
But there’s one big problem: it only exists in the Star Trek Universe.
So what can ordinary (those that don’t read minds) engineers like you and me do?
The only way on Earth to influence other people is to talk about what they want and show them how to get it. – Dale Carnegie
Full-time employment
Ask who needs help and what they’re struggling with, and you’ll get no answer.
Sit quietly for 5 minutes around people, and they’ll tell you everything.
Learning what’s missing in an organization, a team, or a project is all about listening. Picking up the language and the problems, and then figuring out a solution.
Freelancing
Your outreach cannot look like you’re up for anything until it pays the bills.
It needs to tell the client exactly what they want to hear. For example, if you find out their technical solutions are as sophisticated as a Google Sheet, offer them a custom SaaS solution.
This doesn’t guarantee that your messages will be answered, but it is the minimum to make meaningful conversations with future clients.
Most of my outreaches were unread. No answer, no connection. Nothing. But then, last year in November, I got into a call with the CEO and a project manager from one of the largest full-service construction contractors in Northern Europe.
🎣 Fish Where The Fish Are
Look for opportunities, learn emerging tech, and stay in the loop.
Full-time employment
Opportunities are everywhere. On team-level, code-level, organization-level. But you’re faced with two equally challenging things:
Identifying Comfort
Doing the same job for years, the past 6 months out of muscle memory, and still getting paid loads of money for it can be conforming. But is it good for your career in the long run?
Identifying Opportunities
This is where your best friend, the impostor syndrome, kicks in. Can you live up to the standards of a different team or role? What if you fail a project that you’ve taken on? So many questions to answer and only one way to find out.
Freelancing
Freelancing is a tough market, coding included. Most of it is heavily commoditized through marketplaces like Fiverr or Upwork, where developers worldwide sell their hours and compete, driving the rates down.
However, people who aim for the next big tech or niche down on certain projects can land contracts quickly with the price they want.
Niche down and experiment with Inbound or Outbound marketing.
Once you have niched down and targeted prospects from the field where you have shared knowledge, sending personalized messages is much easier.
🙆 Don’t take it personal
You can’t make every deal work, and you can do nothing about it.
Full-time employment
There are countless reasons why a promotion or a change you want doesn’t work out.
Projects get canceled, the budget gets cut, and someone else is a better fit for a role. None of this is within your influence. Improving and not giving up is.
Freelancing can teach employees a lot about rejection: custom offers and unanswered cold outreaches that you thoroughly researched and crafted, contracts you sent after you agreed on every detail but were never signed.
Freelancing
It happened countless times that I didn’t fit the budget expectations of a prospect. At this point, I usually considered one of these:
find a reason why it’s worth doing the project anyway - it’ll look good in your portfolio, it’s a tech you’ve never worked with, it’s part of a more significant partnership
refer someone else you know and trust who can do it for that money
🥊 Take Action
Increase your Luck Surface Area!
Imagine opportunities like rain, and LSA is your umbrella. The bigger it is, the more rain it catches.
My general rule applies to FTE and Freelancing: Show your work.
Create a digital space and share what you’ve been working on (while respecting trade secrets).
My blog and social media accounts generated opportunities that otherwise would have been impossible.
Full-time employment
Get involved, show that you deeply care about the outcome of projects, ship features before deadlines, and meet company standards.
Begin discussions on parts of the code that need refactoring and have been untouched for the past 3 years, according to git blame.
Maybe you should do it!
Freelancing
Once you nail down your finishing technique, it becomes a numbers game. The more targeted proposals you send, the more responses you’ll get.
The wrong approach is the opposite: make it a numbers game first and focus on the number of responses before knowing who you want to work for!
Find your niche, then single out your prospects and make them a proposal, it would sound stupid to refuse! Great book btw: $100M Offers: How To Make Offers So Good People Feel Stupid Saying No.
That wraps up my tips for closing more deals as a software engineer!
I’d love to hear your thoughts in the comments!
📰 Weekly Shoutout
- and Guy, through a personal story, summarizes how they got into sales.
SDC#29 - Don’t Cache Without Asking Questions - a great practical story from
. Caching can be put everywhere, but do you need it?😎 My strategy to become a TOP 1% engineer - Reaching the 1% isn’t magic.
It’s the result of small, deliberate habits executed over time. Another great post from
!
📣 Share
There’s no easier way to help this newsletter grow than by sharing it with the world. If you liked it, found something helpful, or you know someone who knows someone to whom this could be helpful, share it:
🏆 Subscribe
Actually, there’s one easier thing you can do to grow and help grow: subscribe to this newsletter. I’ll keep putting in the work and distilling what I learn/learned as a software engineer/consultant. Simply sign up here:
For me, the biggest change was in framing how what I want to sell actually helps the other side. So when I asked for a raise, I didn't go with 'I think I deserve a raise, here's why:', but with 'I want to stay here for a long time, and I believe in the company. Based on X, and Y, I expected to have a raise in the next year'.
This approach helped me feel less guilty about insisting on a bigger raise then was offered, and finally getting what I wanted.
Thanks for the shoutout!
I liked the parallelism between full-time employment and freelancing.
People don't realize but as engineers working a full-time job, we are constantly marketing ourselves, doing sales and we have a personal brand.
I always had this itch of "entrepreneurship" and realized I could be a bored employee or an employee with initiative. To be the latter, I need all these "entrepreneurship" concepts
Good post and thanks for the mention, Akos!