Chapters

Hide chapters

Living by the Code

Second Edition ·

Before You Begin

Section 0: 4 chapters
Show chapters Hide chapters

Community

Section 1: 14 chapters
Show chapters Hide chapters

Getting to Work

Section 2: 17 chapters
Show chapters Hide chapters

30. An Interview with César Valiente
Written by Enrique López-Mañas

César is a passionate software engineer. He has worked in several companies and on many different projects, in startups, mid-size companies, and big corporations. He currently works at Microsoft where he also leads the Android community there. He has always been involved in communities and open-source, he enjoys sharing his knowledge with others and learning from others. He has spoken in some of the most relevant tech conferences in Europe. He loves to spend his time with his family and friends, and on his hobbies.

César Valiente
César Valiente

Connect with César

Twitter: @CesarValiente

LinkedIn: in/cesarvaliente/

Website: cesarvaliente.com/

Interview

You’ve transitioned from the startup world into a big company, like Microsoft. What are the biggest differences between the two worlds?

The main difference in my transition from a startup to a big corporation was how different both worlds are in terms of size and resources. In our startup, the whole team was about 60 people, including engineering, management, and design. In Microsoft, we have more than 100,000 people. The difference is huge practically speaking. The biggest difference to me is that in a startup, everything is fast. It has to be fast because if you don’t show numbers to the investors in a short period of time, you’re probably going to run out of cash. For a big company like Microsoft, the need to move fast is lower than for a startup, although, of course, there are goals to achieve and numbers to show. Everything moves slower than in a startup because of the number of people involved, processes that happen, different levels decisions, etc. On the other hand, in big corporations, you have more resources. You have people and money.

Can you say more about the advantages the corporate world has over the startup world?

As we have said before, more resources are a significant advantage for big corporations. Also, these corporations offer many opportunities for career development. People can take different roles; you can work as a software engineer, but if you have the opportunity and want to take it, you can jump into management or even into design, all while working on different projects and technologies. For instance, at Microsoft, a developer might work on different projects and teams, from Xbox to OneNote, from Windows to mobile apps, etc. The list of projects to be involved in is nearly endless.

The financial benefits of working for a big corporation are significant, too.

What has your experience been with mentorship?

Prior to joining Microsoft, I never had a mentor. If I would have had mentorship, I could have made fewer mistakes early on. In fact, for me, the entire community has been a stand-in for a single mentor in my career. Mentors are important. A good mentor is knowledgeable and is a good listener. A mentor doesn’t necessarily provide technical answers but helps you solve problems including career and even personal problems.

Can you describe how Microsoft’s senior mentorship program works?

Traditionally, mentorship programs target junior developers, but in a corporation as big as Microsoft, even senior engineers have the opportunity for mentorship by talking to the correct people. This works because senior engineers aren’t the top-level contributors. Above us are the principals, engineering directors, distinguished engineers, etc. These people have the most experience of all of us. Even if their experience is somewhat dissimilar to my own, their depth of knowledge makes them incredibly valuable.

How does a high-performing engineer like you balance the demands of having a family with the demands of a career in software engineering?

Before having a baby, I could spend the whole day working in the office and continue working into the evening. Now that I have a baby, I’m trying to keep to a more regular schedule so that I can spend time with my family. I wake up early and start, then stop working earlier.

Could you mention three must-have tools that you use on a daily basis?

As an Android Engineer, Android Studio is the main tool that I use every day. I use SourceTree as a source code repository management tool, and PowerShell and Mac terminals. My web browser of choice is Chrome because of the integration with my Google account and many different extensions. Finally, I think Visual Studio Code is an amazing product. It’s open-source, and it’s really powerful.

What three books have had a lasting impact on you?

There are several! Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin is essential for engineers. Professional Android by Reto Meier and Ian Lake, and Mark L. Murphy’s The Busy Coder’s Guide to Android Development have been a great reference for me in terms of Android development.

I’d recommend Head First JavaScript Programming: A Brain-Friendly Guide by Eric Freeman and Elisabeth Robson; I used this book when I was learning Java at the university. Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People by Aditya Bhargava and Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman and Bert Bates have been influential for me. I’d also recommend 97 Things Every Programmer Should Know: Collective Wisdom from the Experts by Kevlin Henney. The latter is comprised of 97 people responding to topics related to software development.

What do you wish you’d known at the outset of your career?

First, I’ve learned the hard way to implement good practices in software engineering. My understanding of architectural concepts has evolved over time, thanks to the community, and what I’ve learned from reading books and working with colleagues. Finally, nobody taught me about testing, and I really didn’t understand what it was until I started taking care of that and learning about it.

There is a lot of controversy over how companies hire engineers. Traditionally, especially at a big corporation, there’s the whiteboard and interview when we have to write algorithms. Other people advocate for what might be called take-home tests. Still, others prefer to pair job candidates with existing team members for a trial run. Which hiring practice is the best?

I’ve interviewed candidates for roles at both startups and big corporations. Each hiring committee took different approaches, but I’m not sure either has the best approach. Like everything, it’s an iterative process. We learn each time we conduct an interview. Handing an interviewee a project to complete is compelling from the perspective of the interviewer, but it’s important to be mindful of the candidate’s time.

One exercise I like is to set up a playground for the candidate to work. The candidate takes different responsibilities, and as the person in charge of evaluating the candidate, you can step in and offer support and feedback. This system offers a hiring committee the opportunity to see how the candidate thinks and works. I have a lot of respect for companies that prefer to use whiteboard algorithms if it works for them, and I think that candidates applying for those roles know to expect that from the hiring process. However, if you’re looking for experienced people, talking about their experience is likely more important than giving them a problem to solve. In general, a company should adapt its hiring strategies based on the roles they need to fill.

What would you recommend to a software developer starting his or her career in today’s industry?

The first step is to join the community behind the project you want to be a part of. You’re going to learn a lot from the people involved in this community, and also you’re going to grow and meet people who may affect your career. The tech world is global but small, and a career is a marathon, not a sprint.

Any parting wisdom?

I would encourage anyone getting started in technology to find a mentor and get involved in the community. I think this is the best way to grow.

César Recommendations

  • The One Minute Manager | Kenneth Blanchard, Ph.D. and Spencer Johnson, M.D.

  • Who Moved My Cheese?: An A-Mazing Way to Deal with Change in Your Work and in Your Life | Spencer Johnson, M.D.

  • “Stop Comparing” by Kristijan Šimić | http://krisso.net/articles/stop-comparing

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2026 Kodeco Inc.