Skip to main content

What it Takes to Become a Software Engineering Researcher

·5 mins

If you think software engineering is only about coding, you’re missing a big part of the picture.

Research is a path where you explore ideas, test them, and help shape how the industry evolves. This post is a summary of an “Out of the Box Developer” episode.

Research Is Not That Different From Development #

One common misconception is that research is totally different from day-to-day development. It’s not.

As Eduardo explains:

In the end, you will see that it’s not so different. We talk about the same things, coding and all this stuff. It’s also part of our routine.

You still write code, build systems, and test ideas. The difference is your goal: instead of delivering features, you’re trying to understand why things work (or don’t).

How People Usually Enter This Career #

Most developers don’t start with a plan to become researchers. It often happens step by step.

Eduardo: It was never a long-term plan to become a researcher.

A typical path looks like this:

  • Start as a software developer
  • Get interested in a deeper topic
  • Do a master’s degree
  • Continue into a PhD
  • Move into research or teaching roles

Eduardo’s journey shows that opportunities matter:

Eduardo: I had the opportunity to do a PhD, and after six months I was invited to become a teacher. That’s when I fell in love with research.

What Researchers Actually Do #

Research is about exploring ideas and gathering evidence, not just building production systems.

Eduardo: What we do is prove concepts. We develop something to illustrate an idea, not necessarily to make it production-ready.

Some examples of research work:

  • Comparing frameworks or architectures
  • Studying code readability
  • Measuring developer productivity
  • Analyzing new trends like AI or microservices

A great example is microservices:

Eduardo: Many people sold microservices as the solution to everything. But research showed some promises were not true, and hidden costs started to appear.

That’s the value of research: it helps the industry avoid bad decisions.

You Don’t “Prove”, You Collect Evidence #

In software engineering, it’s hard to prove things like in physics.

Eduardo: It’s hard to prove things in software engineering. What we try to do is get evidence.

Why? Because people are involved:

  • Different teams behave differently
  • Experience levels vary
  • Context changes everything

So researchers combine methods:

  • Surveys (many people → broad data)
  • Interviews (few people → deep insights)
  • Case studies (real projects)

Eduardo: We try to get evidence from different perspectives to enrich our understanding.

Freedom to Explore New Technology #

One big advantage of research is freedom.

Eduardo: We have more freedom to explore new things, even things that are not ready for production.

In industry, you might be stuck with:

  • Legacy systems
  • Fixed tech stacks
  • Business constraints

In research, you can:

  • Test new ideas early
  • Work with emerging tech (AI, green software, etc.)
  • Choose your focus (sometimes)

Thinking Like a Researcher Helps Any Developer #

Even if you don’t become a researcher, the mindset is powerful.

Eduardo: This systematic way of thinking helps you not go with what you think is right, but to evaluate decisions properly.

This means:

  • Don’t rely only on intuition
  • Collect data before big decisions
  • Question assumptions

This is especially useful for senior developers and architects.

A Key Idea: Focus on What You Don’t Know #

One of the most interesting insights from the conversation is about uncertainty.

Eduardo: It’s more important what you don’t know than what you know.

Instead of ignoring unknowns, researchers treat them as hypotheses:

  • “Will this system scale?”
  • “Is this framework readable?”
  • “Will users behave this way?”

Then they:

  • Test assumptions
  • Monitor real data
  • Define triggers for action

Eduardo: When uncertainty becomes explicit, we can handle it.

This idea is super practical, even for product teams.

Challenges of the Research Career #

This path is not easy.

  • It takes time (Master’s + PhD)
  • There is strong competition
  • Results are not always visible to industry

Eduardo:“It’s not easy to get a permanent position in research.

Also, sharing results is a challenge:

Eduardo: We need to do extra work to spread our results. Industry people won’t always find research papers.

Academia vs Industry #

The gap between academia and industry still exists, but it’s improving.

Some ways researchers bridge it:

  • Conferences with mixed audiences
  • Talks for developers
  • Open-source projects
  • Community involvement

And companies are hiring more researchers, especially in AI.

Should You Choose This Path? #

Research might be for you if:

  • You enjoy deep thinking and experimentation
  • You like asking “why” more than “how”
  • You’re curious about long-term impact
  • You enjoy learning constantly

A simple way to test it:

  • Did you enjoy your final university project?
  • Are you curious about doing a master’s?

If yes, try it.

Eduardo: If you like doing research, try a master’s. If you enjoy it, try a PhD.

Final Thoughts #

Becoming a software engineering researcher is not a straight path, but it’s a rewarding one. You’ll still code, but you’ll also explore ideas, challenge assumptions, and help shape the future of software.

And maybe the best advice from Eduardo is simple:

Eduardo: Do what you love. I found something I love, and I have fun doing it.

So, are you curious enough to explore beyond coding?


YouTube link to the original OotBD session