Living by The Code Free Sample v1.0.1
Living by The Code Free Sample v1.0.1
Living by The Code Free Sample v1.0.1
NOTICE OF RIGHTS
All rights reserved. No part of this book or corresponding materials (such as text,
images, or source code) may be reproduced or distributed by any means without prior
written permission of the copyright owner.
Cover font: DDC Hardware © Aaron James Draplin via Font Seed | fontseed.com
Cover design: Luke Freeman and Victoria Wenderlich
Interior layout: Olivia M. Croom
NOTICE OF LIABILITY
This book and all corresponding materials (such as source code) are provided on an
“as is” basis, without warranty of any kind, express or implied, including but not
limited to the warranties of merchantability, fitness for a particular purpose, and
noninfringement. In no event shall the authors or copyright holders be liable for any
claim, damages or other liability, whether in action of contract, tort or otherwise,
arising from, out of or in connection with the software or the use of other dealing in
the software.
TRADEMARKS
All trademarks and registered trademarks appearing in this book are the property of
their own respective owners.
ISBN: 978-1-942878-82-7
CONTENTS
Forew0rd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Prologue . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv
SECTION I: COMMUNITY . . . . . . . . . . . . . . . .1
Britt Barak
“Balance vision and execution.” . . . . . . . . . . . . . . . . . . . 3
Ellen Shapiro
“Work with other people and build something cool.” . . . . . . 13
Antonio Leiva
“Try to do what you think you can’t.” . . . . . . . . . . . . . . . 25
Lara Martin
“Our work is not only coding.” . . . . . . . . . . . . . . . . . . . 35
Sarah Olson
“Find people who have your back.” . . . . . . . . . . . . . . . . 43
Paco Estévez GarcÍa
“Stay open and help others.” . . . . . . . . . . . . . . . . . . . 51
Corey Leigh Latislaw
“Bring people along with you.” . . . . . . . . . . . . . . . . . . 65
Further Reading: Working Managers . . . . . . . . . . . . . . . 77
Zarah Dominguez
“Be the best without stepping on others.” . . . . . . . . . . . . 79
Juhani Lehtimäki
“Everywhere, create connections.” . . . . . . . . . . . . . . . . 87
Erik Hellman
“Better but more complicated.” . . . . . . . . . . . . . . . . . 101
Further Reading: The Rise of the Full-Stack Native Mobile App
Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Eduardo Castelló Ferrer
“You are as valuable as your network.” . . . . . . . . . . . . . .113
Ash Furrow
“Share your knowledge.” . . . . . . . . . . . . . . . . . . . . . 127
Hadi Hariri
“Think beyond the technology.” . . . . . . . . . . . . . . . . . 137
Further Reading: On Public Speaking and a Speaker’s Technical
Merit Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Roman Elizarov
“Be open, not just open-source.” . . . . . . . . . . . . . . . . .151
A
career in tech is filled with tremendous promise and po-
tential. There are opportunities abound all over the world,
in every industry, for every interest. The possibilities of
where your choices can lead you are endless, exciting, and in-
sanely intimidating!
If you’ve ever found yourself wondering if you’re on the “right”
path, I can assure you that you’re not alone. And it’s not just a hand-
ful of us who’ve thought the same thing—every single one of us
has pondered these important questions, none of which have easy
answers.
“What does my career path look like? Where am I going to be in
one, five, or even ten years?”
“Is management the right direction for me? If so, how do I de-
velop those new skills? If not, how do I continue to improve as a
developer and leader?”
“Why is being part of my developer community important? How can
I get involved?”
I can relate because I’ve lived with that uncertainty, too. I’ve
been in the industry for 20 years, and I had no idea what I was
doing when I was starting out. Even today, while I’m more confident
in my direction and choices than I have ever been, I’m under no
illusion that I have it completely figured out.
That journey from constant doubt to relative confidence takes
time and can be a difficult path—one that’s made easier by a chorus
of wonderful colleagues, friends, and mentors. Through the course
of a career, many people will lift you up, point you in the right
direction, and course correct you when you need it.
Cherish these folks.
And while there’s no doubt these personal connections will be
your deepest, most valuable resources, it takes a bunch of time and
energy to develop them. It can take many years, many jobs, and
many life experiences to build relationships with the people who
will serve as your guiding lights.
Surely there must be a way to learn from a broad base of
successful folks more quickly?
There is, and you’ve found it! Enrique has pulled together a
wonderful collection of experiences from a diverse group of people
within our industry. He asks unique, personalized questions to
each individual, helping us to understand how they got to where
they are today—their philosophies on life and work, the resources
that help them move forward, and the tactics they apply to be
successful. If you’ve ever wondered how people have handled their
fear of public speaking, starting a business, losing a job, work life
balance, tough career transitions, toxic work environments, or
remote work, you’ve come to the right place.
What makes these stories truly valuable is that these people
are your peers. They are business owners, developer advocates,
conference speakers, freelancers, managers, and developers of all
levels, just like you. They aren’t living in ivory towers, expounding
generic self-help advice. I know many of the people in this book,
and they’re as real as it gets. No glamorized stories. No overnight
successes. Just real stories of regular people making their way,
building careers, and landing on their feet. I know these stories
can help you because many of them have already helped me.
There’s really only one guarantee about your career in tech, and
it’s this: It’s going to be full of twists and turns. I never could have
guessed that I would end up where I am today. You can’t predict
or fully control where you’ll end up, but you can start laying the
foundation for where you want to go. The diverse experiences of
everyone in this book will help you do that.
Dan Kim
@dankim
xiii
xiv Living by the Code
PROLOGUE
Enrique López Mañas
A
few years ago, a copy of Tools of Titans by Tim Ferriss
fell into my hands. I devoured it. It was different from the
books that I usually read; it was neither narrative, nor fic-
tion, nor an essay. Tim had interviewed several reputed folks from
different fields, such as the literature, sports, or the film industry.
The common denominator among all of them is that they were role
models in their fields. They all had a story to contribute about their
routines, beliefs or success stories.
When I finished the book (a book that you can get value from
reading every few months) I thought: “I would love to have a
similar manuscript interviewing people in tech.” After making
a living developing software professionally for around 12 years,
there were a few things I was still struggling to understand—things
that were not clearly available to me.
How can we make our daily routine as productive as possible?
What do the daily routines of the titans of the tech industry look
like?
How does a permanent job compare with contracting? How do
we switch from one paradigm to the other? What are the advantages
and disadvantages?
How can the transition between technical and management
positions be done? Do we strictly need to become managers to
make our career progress?
What is good leadership? How can one achieve those traits?
How can we effecitvely work remotely effectively? Are companies
willing to accept this? What do they expect?
xv
It is not easy to get a unique answer to those topics. There
might be multiple answers. There is no formal education about it;
you need to try by yourself, sometimes fail, and take your lesson.
The problem is that we only have a limited number of decades in
our professional career. So, in order to be successful, we need to
observe what others are doing. We need mentorship. We need to
hear the opinions of others that have walked that path.
This project aims to connect all those dots. I have personally
failed many times trying to get those answers until I reached a
professional status I felt comfortable with. Although the process
of learning never ends; there is always the next step you want to
reach.
In this book, I wanted to explore a set of core principles that
were immutable for developers. Aspects we could research today,
and that would still be valid in a few years. That was the motivation
behind Living by the Code.
I ran this idea among some peers. I probed a few colleagues,
asking them their thoughts and feelings about this. The enthusiasm
grew slowly but steadily when most of the comments about it were
positive. And this project finally kicked off.
I feel extremely proud to have convinced a few of the role models
I have to be a part of Living by the Code. You will find some of them
discussing technical interviews. You will find others discussing soft
skills, academia, career or different work paradigms. You might
find some of your answers to remote work. Each contribution to
the book is brilliant on its own. I wished I could have had this book
when I started my career in tech, more than a decade ago.
Our main wish and objective with this book is to deliver value to
you, dear reader. We hope this will be a book that you might review
from time to time, trying to disentangle some of the questions you
have had in your career. If, as a result, your life improves and you’re
able to be more effective and successful in your job and life, we will
have achieved our goal.
E
nrique López Mañas is a software engineer, mostly focused
on Android and backend development with Java/Kotlin.
As a contractor, he has filled his hours with an eclectic va-
riety of technologies: TensorFlow, iOS, Swift, NodeJS, RoR, and
Python. Before Living by the Code, he published the books Android
High Performance, 100 Android Questions and Answers, and 100
iOS Questions and Answers. He has been a member of the Google
Developer Expert crew since 2014.
Besides his programming duties, he also runs a few side
projects. He is the editor and maintainer of Kotlin Weekly, a mailing
list that delivers news about the Kotlin universe every Sunday.
He is the organizer of Kotlin Users Meetup Group Munich and
Droidcon Vietnam. He speaks monthly on the I/O Investing podcast
about finances and investing.
In his free time, he reads, writes, and runs long distances for
extended periods of time. Over time, he has developed an interest
in finances, communities, science fiction, and high-performance
sports. He tries to practice transparency, and shares as much as he
can on his Twitter account (@eenriquelopez).
xvii
xviii Living by the Code
COMMUNITY
”
Find them.
—Sarah Olson
COREY LEIGH
LATISLAW
C
orey is an international keynoter, an avid sketchnoter, and
a technical leader at TAB/The App Business in London. She
has developed high profile Android applications over the
years, including Capital One, XfinityTV, and Pinterest and ran
teams large and small. She’s a former Google Developer Expert
(GDE) in Android and Google Developer Group (GDG) organizer.
AN INTERVIEW WITH COREY LEIGH LATISLAW
It’s about figuring out your guiding light and setting goals and
tracking success, as well as cutting things that are a drain on your
time. It should be relevant forever.
I don’t like the term “soft skills,” but our industry is seriously lacking
them. If you look at senior engineering job specs, about half of those
skills are related to communication, leadership, influencing, and
growing those around you. These skills are really important, but I
think that a lot of people focus on deep technical knowledge instead
of growing the full toolbox of skills. It’s going to limit your growth if
you don’t focus on them, so you might as well start now!
The ability to zoom out and see the big picture is very
important to understand what we’re doing and why. As engineers,
we should be empowered to push back and ask questions to
ensure we are building what’s needed. It also helps to take a step
back when solving a problem. Take a walk, take a nap, talk to
someone else. You might find that the answer jumps out at you
when you are “doing nothing.”
Once you know you’re building the right thing, it’s important to
make something that both technical and non-technical audiences
will understand. That brings it back to thinking about the audience
and to speaking and storytelling skills. Being able to bring people
along with you and making your products understandable by
everyone is a really important skill.
Do you have any morning routine that sets you up for success, or in
the evening if you work in the evenings?
I have only ever been fired once. I knew it was going to happen
because I was protecting my team. I chose to do what I thought was
right, and it led where I thought it would lead. Still, it was a shock
because I am an overachiever and I like to excel. There was just
no winning in this situation at all. I was afraid for a while about
finances and whether I would be let back into tech. All these anxious
thoughts were running through my head.
I was able to calm down and found out that failure wasn’t so
bad and scary. I took the opportunity that this unexpected time
off offered me and started my own business. That shocking failure
pushed me into trying something new, and it’s been successful, so
I’m really happy with it. Right now I have a salaried job, but I have
the ability at any point to consult instead, which is a nice comfort.
COREY’S RECOMMENDATIONS
The Bullet Journal Method: Track the Past, Order the Present, Design
the Future | Ryder Carroll
”
to focus on in terms of learning.
—Ellen Shapiro
MARIN
TODOROV
M
arin is one of the founding members of the raywenderlich.
com team and has worked on seven of the team’s books.
He’s an independent contractor and has worked for clients
like Roche, Realm, and Apple. Besides crafting code, Marin also
enjoys blogging, teaching and speaking at conferences. He happily
open sources code. You can find out more about Marin at www.
underplot.com.
AN INTERVIEW WITH MARIN TODOROV
Many of our readers are interested in other works that have had an
influence on you. What are the three that have had a lasting impact
on how you do your work?
I disagree that anyone can write a book; in the same way that not
everyone can develop software or design buildings, it requires
certain skills. To name a few of these skills: It takes perseverance,
thorough planning and humility. What I believe makes for a really
good technical book is for the author to be able to explain things not
from the position of a teacher lecturing an audience but rather as
someone explaining to their peers in a friendly manner.
Additionally, it’s essential to have an amazing publisher.
“Traditional” publishers often times outsource editing, slap a random
cover, release without a beep on social media, and then pay pennies
on a sold copy. I’m really glad to have had the incredible opportunity
to be published by Razeware and to build a lasting relationship, which
has helped me improve my writing skills and my books year over year.
What has writing books taught you that you think can’t be learned
anywhere else?
I’d suggest that we need to move away from the fail-fast culture as
a community. The only party benefiting of fail fast are the investors
Once you’re up and working, how do you stay highly productive for
long stretches of time?
Less is more! When I can plan my time myself I try to work as little
as possible and focus on things I really like working on. This way I’m
super productive in short amounts of time while spending the rest
of my day walking, going to the museum, or generally nerding out.
MARIN’S RECOMMENDATIONS
Kid A | Radiohead
—Cate Huston
”
RAY
WENDERLICH
“Always keep
learning.
”
@rwenderlich /in/raywenderlich /raywenderlich
R
ay is part of a great team—the raywenderlich.com team, a
group of over 200 developers and editors from across the
world. He and the rest of the team are passionate both about
making apps and teaching others the techniques to make them.
When Ray’s not programming, he’s probably playing video games,
role playing games, or board games.
AN INTERVIEW WITH RAY WENDERLICH
Ray, we would love to hear more about your story. How do you move
from writing articles as an indie developer into founding a company
with over 200 elite developers and editors? Was there any common
pattern along your way in this process?
I think part of this is natural. As you become more senior in your field,
you also become more experienced and knowledgeable, and those
are desirable traits for a leader to have. That’s why there is often
pressure for developers to progress from an individual contributor
to a team lead to a manager and onwards.
For some people, that’s great and a valid career path. I think
For those entering the industry for the first time, there are very
strong opinions of how to conduct interviews: whiteboarding,
homework, pair programming. Which system do you find
ineffective?
What is the biggest mistake you see junior developers making over
and over again in their work? Why do you think they keep making
this mistake?
Follow the Golden Rule. Care about your people and treat them the
way you would like to be treated. If you do that, everything else
works itself out. The most important part of any company is your
team, so nurture them with care.
A
book is never a single-person journey. There are so many folks
and friends that have supported me through this project.
First of all, my eternal gratitude goes to our clan of men-
tors. I would have never dreamed to gather such a gang of brilliant
folks for this project. Each of them has an amazing story to tell, and
after having this virtual conversation with them you will surely ac-
quire knowledge that will stick with you during your career. They are
the main ingredient of this book.
Thanks to Chris Belanger, Manda Frederick and Nicole Hardina
who served as editors for this book; Tiffani Randolph for her market-
ing and promotion efforts; and Vicki Wenderlich and Luke Freeman
for their cover design work. It has been several months of collaborat-
ing and working together. I have learned so much from you, and it
was delightful to do this together. Thanks, Ray Wenderlich for believ-
ing in this initially crazy idea and agreeing to be a part of it.
A special thank you to our beta readers who generously provided
feedback and editorial support: Annette Marlette, Márton Braun, Ray
Wenderlich, Mark Powell, Katie Collins, Vincent Ngo, Scott McAlister,
Joe Howard, Richard Critz, Victoria Gonda, Chris Belanger, Tiffani
Randolph, Arthur Garza, and Ben MacKinnon.
Thanks to all my colleagues that have supported this through
informal conversations, barricaded behind a cafe. Nick Skelton,
Marius Budin, Xavier Jurado, César Valiente, Iñaki Villar. You lis-
tened and proposed ideas, and many of them were incorporated into
this book. My gratitude for sharing your feedback.
Thanks to the GDE program, who actively supported Living by
the Code. Thanks to Benjamin and Alina for your input and faith
on the project. Thanks, David for having supported during all these
years my efforts as a GDE. I am so glad to have had you as mentors
as well. Thanks to all the folks that have created and worked with
me on content over the years. You are the best school of knowledge
I could have hoped for.
I could not have thought of a better foreword for the book than
the one written by Dan Kim.
Last but not least, thank you Le Vu Nhu Quynh for your eternal
patience with me. You supported me through months of ups and
downs in this project. You make this world shine.
It is not possible to write each individual name on this section.
That doesn’t detract from all the support I had. Big thanks to all of
you who made this project possible. An author is only a small gear
of this fantastic machinery.