16 Jan 2025 #misc
He went from unloading cargo trucks to being Spain’s best copywriter.
So far I’ve only been following English-speaking copywriters. I write landing pages for my coding courses in English. That’s why I hadn’t heard of Isra Bravo.
In a podcast interview, he shared his best lessons. You can watch the full interview here in Spanish. I only needed to watch that interview to start following his work.
You don’t need to learn Spanish to watch that interview. Here are my favorite lessons from that interview:
Instead of trying to make more sales by lowering your prices, improve your product and get better at selling. Don’t do what everybody else is doing.
Instead of promotions and discounts, offer a launch price to your existing clients. They’re your best clients since they already bought from you.
2. Good Copy > Good Design
Good copy is more important than an outstanding design.
Isra’s most popular book, “I Write Because I Like to Make Money,” is an example of bad design with a good copy. Its cover doesn’t have bright colors or fancy fonts. It’s full of text with some bold sentences. It’s the type of book cover we would create in Microsoft Word with 0 design skills. But it reads like a good social media post or a persuasive email.
Here’s what it says:
“I write because I like to make money. And I teach thousands of people, who also like making money, how to do it. My name is Isra Bravo and in 2017 I unloaded trucks and was broke, but not anymore…“
Yes, that’s on the book cover. And I only translated the first part for you.
After hearing that and watching the most popular book from the best copywriter in Spain, I started to redesign my website’s homepage to remove visuals and have better copy.
Don’t get better at design. Get better at copywriting.
3. It’s easier to stand out on saturated markets
People are afraid of saturated markets.
YouTube is saturated. LinkedIn is saturated. Instagram is saturated… The whole world is saturated. But Isra teaches that it’s easier to stand out in saturated markets.
To stand out, you have to do what everybody else isn’t doing and make fun of your competitors in your copy.
By day, I’m a software engineer. And if you land on anyone’s coding website, everybody is passionate and codes the whole day for passion, except when they’re sleeping, but they dream about code too.
To stand out in the saturated market of coding, I’m changing my website’s copy to show my failures instead of my achievements—that’s what everybody is doing. Oh, I’m also saying I’m not passionate.
If you offer any kind of “done for you” services, don’t simply put on your website a bunch of logos of the clients you’ve helped. Everybody does the same. Instead, share a quick story of what you did for them.
Stand out by doing a good job, delivering it on time, and changing your copy to be different.
4. Never offer a lower price to new buyers
When you offer lower prices to new buyers, you’re betraying your current clients.
It’s the same feeling when we find out that a recently-hired team member is making a higher salary than us, who have stayed longer at the job and worked harder. Arrggg! We feel cheated and betrayed. Our clients feel the same.
Never offer a lower price than the one your current clients bought at.
5. Never offer too much value for free
People don’t value what they get for free the same way they value what they paid for.
Last year, as a therapy while recovering from burnout, I started to record coding courses. And I heard the advice to give away my course for free in exchange for testimonials. I did it. But I had to nearly chase my friends for a rating and a review. Some of them only logged in and never watched past the first lecture.
Always leave them wanting more in your copy, but never give away too much for free.
Learn to write and you will never starve again. With words, you can sell anything. Just remember, don’t run promotions or offer discounts.
15 Jan 2025 #career
I hate seeing “passionate” listed as a requirement in job postings.
How can we measure passion? Is there a quiz, like those magazine questionnaires? “Find out if you’re a passionate coder in less than 5 minutes with 10 easy-to-answer questions.”
The best coders I’ve met at past jobs weren’t what we’d call passionate. By passionate, I mean making open source contributions, speaking at conferences, and writing posts. They were busy enough making money.
We all start as “passionate,” but as time goes by all that passion fades away
The other day, Miguel, one of my readers, shared a similar experience. Here’s an excerpt of his email:
Personally, I’ve become discouraged in my programming career and no longer aspire to work at one of the most important tech companies. I just want to pay my bills and meet my family’s needs.
If you are in a similar situation, you’re not alone.
At some point in our careers, we all feel the same way. I know I have.
Probably, it’s because we’re problem solvers at heart, and companies confine us to cubicles and box us in with SCRUM and its ceremonies. And we don’t get to solve problems. Yes, “ceremony” is the right word.
When I started coding over 10 years ago, I dreamed of joining a big tech company like Google or Microsoft too. Sliding between offices, having a chef cooking our meals, getting a massage, riding a bike between buildings…
But, I realized big companies have their own challenges. More middle managers and more office politics. More of being a small cog in a machine. Even smaller cog and larger machine. They’re not the best place for everyone.
Code for money, do a good job, but don’t let your work be your only source of meaning
There’s nothing wrong with working at a coding job just to pay the bills.
We have to do what we have to do to put a roof over our heads and bread on our tables. If it’s coding, so be it.
But if we’re coding just for money, we should have hobbies, side projects, and other activities to find a sense of meaning and value outside work. Otherwise, the day job will become a burden. Trust me on this one, I showed up just for money and ended up burned out and sick.
You don’t need “passion” to be a great coder. It’s fine to code just for money and clock out on time. Do a good job, of course. But remember to build multiple sources of fulfillment and meaning outside work.
14 Jan 2025 #career
I was fired from my first job. 10+ years ago.
My first job taught me A LOT. I had 0 hours of flight time. Everything was new to me. I had to learn about the job and to navigate the corporate world at the same time. But I was fired.
Yes, fired. Not laid off. Fired. Same result, different cause.
Did I deserve it? Probably. Did I learn something? Sure.
Here are five lessons I learned from that:
1. You could lose your job at anytime
It’s obvious now. But it wasn’t 10+ years ago.
I was fired. But you could also lose your job for reasons you don’t control. A pandemic, a recession, or a layoff. Or your company gets acquired and extinguished. It’s outside of your control.
When I was in university, I thought being an employee was the safest route. Starting a company was for crazy people. I was sooo wrong. I only needed to be fired once to change my mind.
What’s truly safe? What you build for yourself: a side business, a rental property, or an investment portfolio.
Build something you can’t be fired from…Well, Steve Jobs was fired from Apple, so handle with care.
2. Job offers aren’t published anywhere
A couple of weeks after losing my job, I was interviewing for a small company in my city.
On the day I left, I had a conversation with my direct boss. Ex-boss, at that point. I don’t remember exactly what we talked about. I don’t know what he saw in me either. Maybe he saw his younger self across the desk that day. But he made a couple of phone calls and arranged an interview for me. It was a lucky day for me after all.
My first job wasn’t advertised anywhere. I got it because I knew someone who knew someone. And my next job wasn’t advertised either. Again I knew someone who knew someone.
Our world is moved by connections. By knowing someone who knows someone. Make an extra effort to build your professional network.
Your network is your most valuable asset.
3. Accept the rules or disagree with your feet
Talent and hard work aren’t shortcuts to avoid corporate rules.
There was a new rule at work. I didn’t like it. But I was naive to think anyone would ask me if I liked it and was willing to follow it. HR? My boss? My boss’ boss? Of course, nobody did.
I was wrong to believe my hard work would exempt me from that rule. Not following that new rule got me fired in the end.
A job is a game with rules you don’t control. And you have no voice when those rules change. Either you accept those rules or disagree with your feet. Trying to negotiate has no results. And not following them…well, now you know what happened to me.
4. Listen to your body, it might be telling you something
It sounds like a cliché. But listen to your body and look for small clues.
Don’t want to get out of bed to work multiple days in a row? Do Sunday evenings make you anxious anticipating next Monday morning? Your body might be telling you something.
At some point in my first job, I felt like I was leaving my life behind, sitting at a computer. I was demotivated and disengaged. My morning alarm was torture.
I didn’t listen to my body. I kept doing the same expecting change without doing anything. The next time I forgot to listen to my body years later, I got burned out and eventually sick.
Every time I need to make a change in my life, my body tells me when it’s time. “I feel it in my fingers…I feel it in my toes…”
5. Always have an exit plan
I jumped and left my first job with no plan at all.
By not making my own plan, I let society choose a plan for me: work hard, get promoted, and get a 3-5% raise every year. Wait to retire. Then, die.
Take a moment to find out what you want and value the most for your career. Money? Connections? Recognition? Growth? Then, choose the jobs and places that take you closer to that.
Don’t let others decide by going on auto-pilot. Have your own exit plan. Always.
Parting Thought
After many years, I realized my first job was a launching platform. It put me in the right moment, next to the right people. It started a chain of events that brought me to where I’m now.
At my first job, I learned some of my most valuable career lessons. The world isn’t what my teachers told me in university. I had to learn and figure out things on my own. I started my financial journey by making my first deposit into an investment account. I got my first real hours of flight time. I paid for a family dinner with my money for the first time.
After every ending, there’s a new beginning. Pastures are always greener on the other side.
13 Jan 2025 #writing
I’m not pouring a bucket of cold water over my head, but I’m doing this challenge.
I found it in Kev Quirk’s blog. And he found it on somebody else’s blog. But the challenge started on Bear Blog. Ava started it.
But since I don’t have a blog on that platform, I’m doing this challenge here instead. Just like Kev on his own blog.
Here I go:
Why did you start blogging in the first place?
I started blogging as an excuse to become a better coder.
Probably in the early 2010s, back in my first job, I googled “how to be a better developer.” And among the many options, I found “start a blog.”
Then, years later, at my second job, I didn’t want to throw away a couple of hours of Googling while looking for options to finish a task. And that’s how I started writing and blogging.
I already wrote about how I started my blog here.
What platform are you using to manage your blog and why did you choose it?
I use Jekyll on GitHub pages.
That was the easiest and cheapest alternative I found back in 2018. And, I spent a couple of days, or maybe a week, looking for the right template and theme to start.
Have you blogged on other platforms before?
No. I wrote my first online piece ever here.
But I’ve guest blogged on Exception Not Found and collaborated with two software companies to write on their Medium publications and official sites.
These days, I cross-post on dev.to and Medium. But my blog is my central hub. All my ideas in some shape or form end up here.
How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that’s part of your blog?
I’m a plain text fan.
I keep all my drafts, posts, and ideas on Notable. I use a system of tags. I have one tag for post ideas. And once I turn an idea into a post, I use another tag.
Once a post is ready, I log into GitHub, create a new file, and paste my text there.
That’s how I blog in a nutshell. But here’s my blogging workflow more in-depth.
When do you feel most inspired to write?
Short answer: Anytime. But mostly, in the mornings.
I tend to write in the mornings. That’s when I feel the most productive and my energy is at its peak. I’m kind of a morning person.
But, I always have something to write. Inspiration can hit at any time.
It has happened that right after I put my head on my pillow, an idea comes and I have to rush to write it somewhere. Also, while taking a walk. That’s my trick to avoid writer’s block.
No. I have a queue of posts. Right now, I have around 20 posts that are ready to publish.
I start my writing sessions by editing and proofreading my last post. Then I start writing any of my post ideas.
What’s your favorite post on your blog?
I’ve written around ~200 posts. I don’t have a favorite. Well, that’s what every mom and dad answer when they’re asked about their favorite child.
But if I could remove all my posts and keep a handful of them, I’d keep my series on Unit Testing.
Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?
Seth Godin has always inspired me. He’s been writing daily for ~20 years.
And since November 2024, I started writing daily about programming and other subjects. In fact, I created a new tag, /misc, to dump posts about all other subjects. My challenge is to write 100 daily posts. If I stick to my rhythm, I’m done next February 9th.
Chances are I’m keeping the daily rhythm after those 100 posts.
I’m too lazy to redesign my blog. I’m a black-and-white fan, so I’m sticking to the left pane. I’d like to add a scrolling bar and include more menu entries.
Oh! My own domain. I tried to buy one in the past. And I found out there’s a soccer player, a singer, and a director with my name.
I’d like to give Substack a try, but it would be for anything else apart from coding.
Parting Thought
I owe my career growth to learning foreign languages and writing.
Writing has opened doors for me. I made my first side income thanks to my blog. I skipped the hiring line when I applied to my last job.
In fact, I don’t have a coding portfolio. My blog has done more for me. Always write about what you do at your work. That’s better than an old-fashioned CV.
12 Jan 2025 #writing
I don’t have a coding portfolio.
By portfolio, I mean a webpage showcasing my best projects. My GitHub account is the closest thing to a coding portfolio. But it hasn’t helped me land jobs.
My blog has helped me more.
Some time ago, the next day after interviewing for a small local company, I got a phone call.
They wanted me to start a company blog for them. The interviewer read some of my blog posts. I had a link to it on my CV. He wanted me to write something similar for them.
I wrote five blog posts for them with interview preparation material. Even though I decided not to continue the interview process, I declared it a win. Also, I made some lunch money with them.
Years later, the last time I applied for a job, in the first interview, I shared my screen and walked the interviewer through my blog.
The interviewer asked if I contributed somehow to the coding community. The process went smoother from there. I didn’t have any coding interview after that, except for opening a PR on an open source project. That was it.
Sharing your thoughts and learnings can open unexpected doors. Even if you don’t land new jobs, you’ll learn new skills. And more importantly, you’ll learn to think better. So write your first online piece and see what opportunities it brings. But don’t start a blog.