Reward effort, not just outcomes

February 25th, 2024 ยท 7 min read

And don't do it only for others. Do it for yourself too.

Forget about the outcome for a second. Think about everything that you can learn on the journey. Embrace this feeling.

I'm not saying outcomes don't matter. They do! But, in the grand scheme of things, if you only praise the outcome, you'll likely avoid failing.

When you start focusing on the outcomes, you become more conservative. Focusing on the things that are guaranteed to succeed. This is where innovation begins to fade.

It's especially bad when talking about software engineering. Our field is very new. It's only 64 years old! When other engineering fields have of learning experiences.

I know, we're now progressing in a much faster pace. So many new tools that can help us (hello AI age!). But, it's still good to allow yourself to fail. Because the journey is where the growth happens.

And the best way to learn is from failure. That's the message I want you to have from this article. So, go out there. Fail. Fail some more times. Succeed every now and then if possible. But, no matter what, keep moving forward.

said it himself:

I have not failed. I've just found 10,000 ways that won't work.

Sometimes we need to fail a lot to find the right way. And that's okay. Remember that the learning comes from the effort.

In the case of software engineering, there may not be one single . We get paid to deal with this uncertainty. Learning to handle it well is hard. The best way to learn, in my experience, is by trying things and sometimes failing. Those failures often teach me the most

Next, I'll talk about my own life, and where focusing on the outcomes made me feel bad. Keep reading if you'd like to know as well! It's been a while since I wanted to do this kind of reflection.

My childhood

Growing up, my mom always praised me whenever I got a high grade in my school. Which was great, because that meant being able to have some ice cream, my favorite dessert. ๐Ÿฆ

But, when I received a bad grade instead, I'd feel bad. Unmotivated to study. Because I thought it was all for nothing.

As we know, the grading system is far from perfect. But it is the only quantifiable metric we have. And getting a bad one was a metric that, in my eyes, meant I was failing.

And why is that? Because I only got praise for when I got high grades. Which for me measured how smart I was back then.

All this led me to a . I was afraid of failing. I was afraid of not being smart enough.

and published a research paper in 1998 on this subject.

It found out how children praised for their intelligence react less well to failure. They're more prone to give up and enjoy tasks less. They think intelligence can't change. Kids praised for effort do better after failure. They try harder and enjoy work more. They believe they can grow smarter.

Thankfully, I did good in school. And I actually did that without studying a lot after my classes. But, I made sure to pay full attention while I was there. Which left me with a lot of time to play League of Legends and try to reach Challenger.

Thus, my mom and my teachers would praise me for being intelligent. And I thought I could keep doing that. Going to classes, paying attention, getting high grades.

Then, I started college. Bachelor's in Software Engineering. And I thought I could keep the same approach. Go to classes. Pay attention. Don't study anything after the class is done.

Can't believe how wrong I was.

I get destroyed by Calculus 2

Back in college, my first semester was actually a real breeze. During my high school years, I also took a technical course on Informatics. This is where I first learned about of programming, databases, and computers (actual hardware).

This meant that my first semester in college was a breeze. It focused on the basics of computers and programming, so all things I knew from before. So I didn't have to study a lot.

I did get my first job here, so unfortunately I didn't have more time for League of Legends (RIP Challenger dream).

But, when we got into the second semester, things started to change. Classes were harder. Learning all the data structures like LinkedLists, Trees, Graphs. Solving programming challenges (leetcode-ish). Discrete math. Distributed Systems (hardest programming class I took).

And, my lowest grade (60/100, barely passed): Calculus 2.

My problem was that I kept thinking that I could learn because I was smart. And, sometimes I thought that if I wasn't good, it was because I couldn't do it. So I moved on and tried my best to forget about it.

And I know this is a problem for a lot of people.

. This was when my class started shrinking. In my first semester, I had over thirty classmates. But, when we reached the fourth semester, only about 8 were there.

Thankfully, I did not give up. I persisted, and I learned in the best way I could. More importantly: I learned to embrace my failures. That intelligence is not something fixed you're born with. That I could cultivate a .

But, this wasn't my last lesson on this on my career choice.

As you know, software engineering is a new discipline. And we still haven't figured out the best way to teach it. Usually, what you learn in college might not be how it's done in the real world.

That doesn't mean I don't see the value in getting a college degree. But, it does mean that our study journey is not over.

The differences between classes and real world engineering

When we're at college, we mostly worked with inputs and outputs. It's a controlled environment, where you can sort of know what you can expect.

There are exceptions. But, still, it's hard to replicate how real software engineering works in a classroom.

Real world software engineering scope is much bigger than what we learn in school.
Real world software engineering scope is much bigger than what we learn in school.

Which is why you see people saying they learned more in a three months internship than in a whole college year.

I'm not going to deny it: we indeed learn a lot more, and a lot faster, from working. But, I do believe that college is also an amazing experience if you can do it (I'll write about this in the future).

Now, about my experience. When I got my first job as a software developer, it was in October 2016. I had been working as a WordPress dev for about 7 months, on the Design org. I mostly designed blogs for customers using pre-made internal templates.

But I finally got my internal transfer to our Engineering department. My first job as a Software Developer.

Which meant I worked with our app customers. I had to understand what they wanted to do. And, unfortunately, they did not give us a list of expected inputs and outputs like it happens in school.

Yet, my bachelor's was in Software Engineering. Which meant I took classes like Requirements Engineering. Software Design and Architecture. Which were helpful - but again, nothing like the real world.

That helped me with the initial interactions. But, the real learning came from dealing with that every day. That is what makes you grow as a software engineer. And it's a skill that I'm always working on.

So, here's my takeaway from this. You might feel that you are not fit for engineering. But, to build software craftsmanship, you have to persist. You're going to make mistakes. But that's why companies do blameless postmortems. Emphasis on blameless. Because, usually, the fault is not with the person, but the process. And we can all learn from these mistakes. That's when growth is at its peak.

Some final recommendations

I'm a big fan of animated movies. Disney, Pixar, Dreamworks, you name it (but those are the only 3 I usually remember ๐Ÿ˜…).

One of my favorite movies is Meet the Robinsons. I am going to spoil the movie message here, so leave if you don't wanna see it!

Meet the Robinsons cover, released in 2007. It was pretty big for me when I watched it as a child.
Meet the Robinsons cover, released in 2007. It was pretty big for me when I watched it as a child.

The movie's message is "Keep Moving Forward". Don't dwell your past failures. Learn from them. They're your best teacher.

If we don't fail, we can't progress.

So, I will again repeat my initial message.

So, go out there. Fail. Fail some more times. Succeed every now and then if possible. But, no matter what, keep moving forward.

And I will give you another one too, since you read all the way to the end. Be curious. Try to bring back some of the energy we had as kids. If you see something that you want to try, do it! Don't do it for the success. Do it to have a more fulfilling journey.

Many thanks to James and Antoine who read it first! And to you, for reading it. I hope you have a great day! ๐ŸŒŸ