跳转至

19 An Interview with Marin Todorov

Marin 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.

Marin TodorovMarin Todorov

Connect with Marin

Twitter: @icanzilb LinkedIn: /in/marintodorov GitHub: github.com/icanzilb Website: underplot.com

Interview

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?

If I were to highlight only three books that have affected my work culture, I would go first and foremost with The 4-Hour Workweek by Tim Ferriss. This book—regardless of its clickbait title—has really been essential to how I have approached work for years. It has taught me how to declutter my schedule and focus on the things I really love doing. Reading—and embracing—this book got me started on my path to finding my work/life balance; never waking up to an alarm clock, and more advice in the book, are pure gold.

The second book that I’d say was a game changer for me I, unfortunately, read some 20+ years ago and I can’t remember the title; it was about rapid application development with the earliest version of Delphi. I was impressed not so much with the content but the way the book was written. Part of the book was a first-person story about a developer who was tasked with developing a database-powered prototype overnight. You could really put yourself in the person’s shoes as they discovered Delphi and made the most out of its features. This book had a lasting effect on me—even now, I still always try to cover real-life problems and guide the reader through a real-life developing process in my writing—including creating problems and bugs along the way, and fixing them later on.

As third, I’d add Writing With Style: Conversations on the Art of Writing by John R. Trimble. It’s an essential collection of writing tips for anyone, both native and non-native speakers, who’d like to put down clear and readable prose. I bought it when we started planning the first ever raywenderlich.com book, and I made a habit of re-reading it before starting to work on a new book.

In addition to drawing inspiration from these books, what about personal insight? What is something you wish someone had told you back when you started software development that you had to learn the hard way instead?

When I was young, I naively believed working on software means working with reasonable, nice, and caring people. I had this romantic idea that being with your own kind automatically means you share the same beliefs and a universal understanding of being and working together. Unfortunately, I got to discover that software companies are made up of people just like life is—mostly the same rules apply, too. I had the chance to work at some amazing companies but had my share of bad experiences in the workplace as well.

“I think starting a career with the expectation that one is entitled to success if they check off some kind of a list is probably setting them up for a failure as few people are really entitled to anything.”

There are many people starting into software development today, who don’t have a clear idea of the direction they should take to set themselves up for future success. What would recommend to people starting out as a software developer today, that would give them the best start to a successful career?

I never planned my career; my family didn’t have the means for me to keep studying—I had to figure out on my own how to get by. I’m not in a position to give any advice on what’s the best way to “set up oneself for future success in software development.” But I will say I always did what I felt passionate about—I truly and deeply love programming. At first, I did it in my free time and it naturally turned into a career for me. I wish everyone had the same luck as I did and could turn their passion into a career.

In any case, I think starting a career with the expectation that one is entitled to success if they check off some kind of a list is probably setting them up for a failure as few people are really entitled to anything.

As part of your career, you’ve written a number of books for developers. Writing a single book can be a life mission for many, but you have an impressive record of authoring eight books and counting. And anyone can write a book, but it takes something special to write a “good” book. What is your secret to writing so many “good” books?

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?

One of the takeaways from the The 4-Hour Workweek is to focus on the things one feels they are best at and leave everything else to others. Collaborating with Ray Wenderlich and the team on all these books through the last eight years was an invaluable example of this great rule at work.

Elsewhere, I’ve seen excellent programmers decide to write a book on a topic they feel strongly about and fail not because they aren’t masters of their domain but because writing a book requires much more than being able to write code. There are many layers of putting a book together—illustrations, diagrams, technical editing, editing, planning, updating, marketing, print layout, and much more.

Going a few times through the process of putting a book out with Ray and everyone on this team has really taught me to focus on the parts I’m good at and support my collaborators and trust them with doing their part. This formula Ray envisioned some time ago proves to be a successful one year over year—it’s amazing what the broader team can pull off in terms of putting out a crazy amount of new and updated books each year.

Your comments on traditional publishers lead me to wonder what other current industry trend you think is just plain wrong.

This question reminds me of that old Simpsons meme, “Old man yells at cloud”! Let’s see. I wouldn’t say, for example, that I’m a big fan of “the blockchain”—it seems to me it’s been around for a long while and the only purpose it serves so far is financial speculation and scams. It almost feels criminal that it’s a virtual thing produced by burning coal in developing countries to enable few folks to get even richer. I really wish we were better than that as a species.

Another is the fail fast startup culture. I don’t believe any company’s future is burning through human resources even faster than through its remaining cash runway. I think working this way robs people from the satisfaction of nourishing successful, long-term products, building long-lasting relationships, and maintaining happy healthy lives. I hope that sooner than later founders will begin to reject pumping cash into prototypes in favor of building lasting businesses instead.

What would you suggest is a better alternative to this trend?

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 as this culture is designed to run their numbers and not to help products gets released, companies grow sustainably, or people build knowledge and teams.

In thinking of building your own sense of productivity and nourishment, how do you start your day off with a bang? Do you have any secret morning routines that set you up for success?

I mentioned earlier that never waking up to an alarm clock has done wonders for me personally. I’m absolutely not a morning person and having a solid, uninterrupted sleep each night until I naturally feel that it’s time to wake up has played an essential part in pulling off great amounts of work while keeping a healthy work/life balance. Another tip that helps non-morning folks like me is to use an app to actively block social media before noon—it really helps me get rolling in the early hours while I’m still somewhat able to be distracted.

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

  • The Spring: Charity Water project | charitywater.org
  • The Power of Habit: Why We Do What We Do in Life and Business | Charles Duhigg
  • Kid A | Radiohead