My book notes – Soft Skills: The software developer’s life manual

excellent

Book notes represent personal notes on the books that I have read and which I consider are worth mentioning.

The main purpose is to have a reminder of the topics which are covered in the book. Let’s face it, after reading a book, I remember only the things that spark my attention the most. Everything else gets lost over time. Creating notes is a way to :

  • organize my thoughts,
  • have more things that stick permanently in my mind,
  • have a place where I can reconnect with the things that I have read.

Notes can also serve as a recommendation to anyone who is thinking about reading this book.

If the book review is taken from the 3rd party source, I will always include the original link, together with the complete copy of the review.

I want to thank Goran Savic who gave me a great idea on how I can show the book grade. You can check Goran’s blog on here.

Thoughts about the book:

I think that the “Soft Skills: The software developer’s life manual” by John Z. Sonmez is an excellent book. It covers a lot of nontechnical topics which are very important for making advancement in life of software developer (both professionally and personally).

Let’s face it, there are a lot of software developers who are excellent at their work. They create quality code. They know all of the design patterns. They follow all the latest technology trends. But when it comes to soft skills, they just suck at it. For a lot of soft skills they haven’t even heard. For the soft skills they have heard about they don’t put it to practice in everyday life. This books is written for that kind of software developers.

“Soft Skills” is a lengthy book (500+ pages). It covers a lot of topics: Career, Marketing Yourself, Learning, Productivity, Financial, Fitness and Spirit. Because of that, all the topics are covered from a high level view.  Very rarely you will find John going into details about any given topic. But John provides enough information to get the feel about the topic and to understand why that topic is important. In my mind this aligns nicely with software developers’ way of thinking. It is enough to know that something exists. When a software developer needs detailed information, he/she will easily look it up on the internet.

I would recommend this book to all software developers. Actually, I would recommend this book to anyone who is looking to self improve. If you are just starting out with your career this book is a great source of things that you need to work on. If you are already a seasoned professional this book will provide a list of reminders of what is really important in your career, and life.

Link to the book:

Soft Skills: The software developer’s life manual

Book Review source:

https://github.com/arkon108/book-reviews/blob/master/summaries/003-soft-skills.md

Soft Skills

The Software Developer’s Life Manual

John Z. Sonmez, 2014, ISBN 9781617292392, 470 pages

Manning | Goodreads

Author

John is a founder of http://simpleprogrammer.com/ blog which he turned into developer coaching and consultancy agency. He’s also a real-estate agent, course author, technical consultant, former aspiring model who retired at 33 years of age1.

Introduction

The book claims it’s dedicated to all developers who strive for continuous self improvement and not satisfied with good enough. That’s me!

The author wanted to write a guide how to be the most successful software developer in life, not just in programming. That’s what I want too!!

It also seemed to cover every possible area of life except coding. From career management, writing a blog, creating a product, learning to learn, productivity, finances, real estate, fitness to spirituality. Even though it seemed geared to developers at the start of their careers, I wanted to see what else I could learn.

The book is composed of 7 thematic sections – Career, Marketing Yourself, Learning, Productivity, Financial, Fitness and Spirit in which there are 71 chapters.

Each section ends with several questions left for the reader to work through.

Summary

Career

How to think like a business?

The book starts with advice on career building and management – about changing the perception from thinking about yourself in terms of the job you do, to looking at yourself as a business which offers particular services. Your image and your reputation are your personal brand, your services and know-how is what you sell.

For people looking for a job

The author suggest for ways we could improve our offering, for example, by specializing in particular service or industry. If you’re looking for a job, you only really need just one client. After thinking about big career goals, we should break those goals into smaller ones, and regularly review them.

Getting along with people

It’s essential for any work, as even though we talk to machines, we need to listen to people. Author here recommends How to Win Friends and Influence People, saying we need to understand that everyone wants to feel important and how rewarding positive behavior works better than criticism. Putting yourself in other people’s shoes, especially when trying to explain something helps to avoid needless arguments. Pick your battles.

The next few chapters are mostly for somebody who never worked in the industry, dealing with job interviews and employment possibilities, specialization in programming, different opportunities at small, medium and large companies and ins and outs of working for each one.

Being a professional

The War of Art is quoted

Turning pro is a mindset. If we are struggling with fear, self-sabotage, procrastination, self-doubt, etc., the problem is, we’re thinking like amateurs. Amateurs don’t show up. Amateurs crap out. Amateurs let adversity defeat them. The pro thinks differently. He shows up, he does his work, he keeps on truckin’, no matter what.

To become a professional we’re advised to develop good habits, improve our time management by planning days in advance (the author will later mention Getting Things Done) and develop and constantly improve sense of workmanship and quality. That helps being able to say “no” where we’re asked to do what goes against our better judgement.

A professional assesses the work that has to be done, prioritizes it, and gets to work.

Next three chapters cover quitting a job, freelancing and founding a startup, with nothing more than a common-sense advice and easily browsable information.

Working remotely

The chapter suggests setting hard hours for work. We need to be realistic about self motivation needed for work when nobody is peeking over our shoulder, and help ourselves by removing distractions. Starting with “doing something for 15 minutes only” provides us with momentum which helps us do more work. Loneliness can be a surprising challenge for some so we should get out, schedule some activities with other people such as programming meetups, work in coworking spaces etc.

Chapter #18 has a good advice for a budding programmer – don’t get religious about technology. Stop the (hate) wars!

Marketing yourself

Since programmers often frown at the word “marketing”, they should understand it’s about getting people’s attention that matters. Marketing is a multiplier for talent. Whether we realize it or not, we’re marketing ourselves all the time, so we should maybe want to do it consciously. And it’s all about controlling the message – being aware of how we’re presenting ourselves and the image we’re portraying.

The ways to market yourself

Writing blog posts, recording podcasts or videos, writing magazine articles and books, and speaking at code camps and conferences, but – most importantly – giving something of value to others, answering their problems or providing entertainment, but creating useful, quality content.

The right way to market yourself is to provide value to others

To create a brand

There’s more to it than just a logo, and it’s a message, visuals, consistency and repeated exposure. A brand without it’s message doesn’t have a purpose.

Steps for creating a Brand

Define your message

Pick your niche

Create a tagline

Create an elevator pitch

Create visuals

Fiverr and Upwork are recommended for finding freelancers to create design and visuals on the cheap.

The primary goal in all the content production we’re advised to do is to add value to others, free of charge. Free content is much more sharable than paid content.

Social networks

We can get people going from followers to fans, where they actively engage with our content and share it with others, but that’s not going to happen if we’re posting offensive or inane stuff. To stay on top of things, use something like Buffer

Successful blog

Write consistently and brainstorm topics and ideas ahead of time. For successful public speaking – remember to stay honest and humble.

Speaking

Too many people get caught up in being perceived as an expert instead of being honest and humble. Being a real down-to-earth human with real flaws and weaknesses will go a long way to building trust with your audience and will make you seem a lot less like a jerk.

Publishing books and articles

It has more to do with building reputation than profiting on sales.

We’re reminded that to be successful at marketing ourselves we need to overcome the fear of looking like an idiot, which is where most people give up.

I’ve missed more than 9,000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.

~ Michael Jordan

Learning

Education is what remains after one has forgotten what one has learned in school.

~ Albert Einstein

With the tech industry changing rapidly, the best skill we can have is knowing how to learn – being good at teaching ourselves.

Turns out that different learning styles idea is mostly a myth and we all learn the best by doing and teaching. Active learning is a much more effective way to learn than any other way.

Active learning

You could read all the books about riding bicycles, understand all the underlying physical forces, but you’ll only learn to ride a bicycle by riding a bicycle. Think of playing video games – you only need to know what basic controls are to start playing, everything else you learn by playing, watching others play and occasional referring to the manual as you become more serious.

To learn a technology, there are 3 main things to know

How to get started

Breadth of the subject

The basics – most common use cases

(20% of what you need to know to be 80% effective in using it)

10-step system for learning new technologies

For a chosen area of learning, do steps 1-6 once, and do steps 7-10 repeadetly.

  1. Get the big picture

How does this fit in the bigger scheme? What’s the 50,000 foot perspective?

  1. Determine scope

Having a reason for learning helps determine scope. Why learn this?

Be practical & specific, instead of “learn Java”, you can “Learn enough Java to create a multiplatform console application”

Adjust focus on time you have, is it weeks or months?

  1. Define success

Imagine how success looks like. Know your target. Come up with a clear and concise statement that defines success for your learning endeavor

Instead of “Learn basic iOS development” set a goal of “Build a small iOS app that uses few major platform features”

  1. Find resources

Do your homework, research the topic. Look into books, blog posts, videos, people knowledgeable on the subject, podcasts, source code, example projects, online documentation

  1. Create a learning plan

Break down your learning to smaller chunks, create milestones. Start with looking at chapters of the books on the topic, and modules in workshops or online courses

  1. Filter resources

It’s important to narrow your resources down to smaller list of the best ones for practical reasons

  1. Learn enough to get started

Find the quick-start guides, how to make a “hello world”, or development environment setup guides. Find enough to be able to play around

  1. y around

When just reading a book or watching a video about the subject we can absorb too much information, there’s no way to tell what’s important

Play and experiment on your own. Try features out. Create a small project, write down the questions you don’t have the answers for and…

  1. Learn enough to do something useful

As you become more curious after playing around, you can get deeper insights from your learning resources, as you are now looking for answers to specific questions

  1. Teach

It’s a process that will cause you to really dissect and understand the topic you’re learning about in your own mind as you organize the information in a way that will make it understandable to other

Write an article or create a video, talk to a spouse or a friend, but do take some time to take what you learned from your mind and organize it in a way someone else can understand

Finding a mentor

It can greatly accelerate your learning. Don’t judge too quickly on possible mentors by their own life. Not every sports coach is in a peak physical condition but that doesn’t mean they’re bad at getting the best out of others.

You want to find someone who did what you’re trying to do or helped other people to do it. It’s important to look at results they have to show and how well do you get along with that person. You can find someone among your family or friends, or someone your friend or family knows. Other places to look for are local software meetups and local entrepreneurial groups.

To recruit yourself a mentor, the author suggest you offer free labor. That was the only idea he suggested with “it’s really hard to turn down free labor”, other than being persistent and tenacious. Apparently, being a sufficient pain in the butt could work too.

If you can’t find a mentor for the purpose of specific learning (Nikola Tesla and Alan Turing are not available, for example), like Napoleon Hill – read biographies of great people and have imaginary conversations with them. Seriously 😀

Becoming a mentor

Further down the learning path, we’re suggested to take on the apprentice, in the words of the author “to become Yoda”. We’d be giving back to the community and it can greatly benefit us. Teaching others is a part of mastering knowledge, and it’s only enough you’re one step ahead of the person you’re teaching. It might well turn out that someone we’re coaching today turns out to be helping us few years later. And – you grow when you help others grow.

How to find yourself a tiny grasshopper, a young padawan? Look among people asking for your help and opinion, but look for someone who has a true desire to learn and is willing to work hard to do it, someone who wants your help to accelerate their progress by benefit of your experience.

Teaching to others

This is essential to becoming an expert at something. Is there anything you’ve mastered that you’ve never taught to anyone else, at least partially? We all teach others naturally. We usually aren’t aware we’re teaching – it’s just sharing knowledge.

Teaching takes you from learning something to actually understanding it.

Trying to teach something to someone else, you force yourself to confront difficult questions about your subject matter and to explore it more deeply until you go from merely learning about a thing to understanding it. Learning tends to be temporary, but understanding is permanent. I can memorize multiplication tables, but if I understand how multiplication works, I can reproduce the tables even if my memory fails me at some point.

How to teach? Remember you’re trying to help someone else, so it’s not about your superiority. Start small, with a blog, a video, tutorial or a presentation, and move on to create and manage courses and workshops.

Finding gaps in your knowledge

This seems like a worthwhile subject. We tend to gloss over our gaps in knowledge and we tend to be too busy to stop and take time to fill them in. We end up not really understanding what we’re doing or do things in an inefficient way to avoid areas where we’re weak or feel uncomfortable. Look where you’re spending the largest amount of time and any repeated tasks you’re doing. Do you know most common keyboard shortcuts for an application you use every day?

A good way to keep track of gaps in your knowledge is to keep a list of things you need to research or aren’t clear about. Keep track of the same items that keep coming up. Don’t be embarrassed to ask questions when you don’t understand something.

Productivity

Amateurs sit and wait for inspiration, the rest of us just get up and go to work.

~ Stephen King, On Writing: A Memoir of the Craft

Focus

Being focused is the most important part of being productive. And focus is the opposite of being distracted. Context-switching, which we perform while trying to multitask is very detrimental to our overall performance2.

Without focus, tasks end up getting stretched out over a long period of time.

How to get in the focused state? Start working on something that you estimate will take 15-30 minutes. Remove all distractions, resist the urge to check your email, IM, FB, Twitter, phone, etc. The momentum you build up in the first 5-10 minutes will help you stay focused.

The Author’s personal productivity plan

It’s a blend of Getting Things Done, Pomodoro technique and Seinfeld’s “Don’t break the chain”. He plans his week in advance using a Kanban board. He divides the year to quarters and dedicates each quarter to a big project, plus several smaller ones, and plans ahead on weekly (using the Kanban board) and monthly (using a calendar) basis3. He plans every day in the morning, by moving the prepared tasks to “today” column on his modified Kanban board – he works on most interesting or most important task first.

The author schedules daily work in 25 minute long “pomodori” and estimates to get around 10 pomodori a day – each one is a 25 minute long uninterrupted focused work, and not easily achievable. That requires thoughtful dealing with distractions – make it clear to the other people that there are times you need to focus to get your work done. You’ll get to check your phone or email when the 25 minutes are up.

For breaks and vacations he has some free work, where he doesn’t schedule the time with pomodoris.

If you’re going to adopt this technique, make sure you have a realistic expectation of what you can actually accomplish. Just because you work 40 hours in a week doesn’t mean you can get 80 pomodori done. (If you’re able to achieve that feat, I’d be utterly amazed, and, quite honestly, would fear for your mental health.)

Quotas

When he started using quotas, the author managed to level up his productivity

I started applying a weekly quota of doing one blog post per week and added quotas for other things I wanted to make sure I got done regularly, like creating YouTube videos and podcasts. I created a quota for everything I did that I needed to do more than once. I quantified exactly how frequently I’d do any repeatable task. It could be once a month, four times a week, or twice a day. If I was going to repeat it, I was going to define how often, and I was going to make a commitment about it. Rain or shine, I was going to do what I committed to. I took these quotas very seriously.

The commitment to quotas is essential, it helps to be realistic and practical when setting ones for yourself – if the quota is too high, don’t quit mid-way. Finish the quota for the week and then decrease it.

  • Pick a repeatable task.
  • Define an interval in which that task must be done and repeated.
  • Define a quota for how many times the task should be done during a given interval.
  • Commit. Make a firm commitment to meet your quota.
  • Adjust. Make your quota higher or lower, but don’t adjust during an interval.

Being self-accountable

Make it a thing to be accountable to yourself. The motivation can be external or internal. The author recommends Daniel Pink’s book Drive There’s no hard advice here – you need to create rules how you’d like to live your life, especially around areas critical to your success. It can help imagining yourself as a video game character and imagine the life you’d like to lay out for that character. The author suggests that external help like an accountabilibuddy, supporting group and making your actions as public as possible4.

It’s important to develop a sense of self-accountability to be productive when no one is looking. You could also call this having character or integrity, because they’re all part of the same idea. Without this sense of accountability to yourself, you’re always dependent on external motivations to get you to perform. You become easily manipulated by a carrot promising a reward or a stick promising…a beating if you fall out of line.

Multitasking

Multi-tasking and the resulting work fragmenation result in breaking of the flow and lost productivity because of constant context switching. The author suggests batching instead5. Interesting argument presented in the chapter is about true multitasking6; doing two mentally taxing things at once is impossible to do well, but doing a physically engaged and mentally engaged task simultaneously is quite easy – listening to an audiobook while driving, for example, or listening to instrumental music while writing, reading your email while walking on a treadmill, etc.

Burnout

This is imho the worst chapter in the book. The Author seems to be confusing burnout with “hitting a wall”, so his advice is “just stick with it”. Which makes sense when you hit a wall – your product is not taking off, you become disillusioned with your job, you leave your book half written – so you should stick with that and break through the wall7. But burnout is more like hitting ground after deorbiting, burning out in the atmosphere before exploding and leaving a trail of destruction. Burnout requires a person to step back and take a break, probably get some help – before it makes more damage. Burnout can kill you. Burnout is Karōshi.

Time wasters

It comes down to “Don’t watch TV” and tracking your time to identify the bigger time wasters (commonly social media, news sites, unnecessary meetings, cooking, video games, etc).

Routine

This chapter reveals the power of little incremental effort. With full time jobs most people have 4-6 free hours in a day, which is most time they can dedicate to routine(s). Create a list for daily scheduled activities (with variety, like lunch A/B on weekdays, eat out on weekend). Slot out dedicated times for work, workout, play and learning.

Write 1,000 words a day, every day, and in a year you’ll have written four novels. (The average novel is between 60,000 and 80,000 words.)

Habits

Author here mentions The Power of Habit and summarizes habits of being 3-part, consisting of

cue

routine

reward8

The key is to identify bad habits, and ideally, use them to replace them with good ones (a twofer!)9. To find the bad habits, look into things you do that make you feel guilty, what is it that you want to stop doing, but keep putting off? Start small, find a single habit, figure out it’s triggers and you’ll be able to break it or use the triggers to install a better routine for your habit. It takes time.

To form an entirely new habit, stick with it long enough10, 11 and figure out a reward (e.g. 5 min break, playing a game for a limited time, working on most interesting task next). Lastly – find or create the cue that triggers the habit. We can put a reminder in the calendar or even better – piggyback on another habit. For example, if we habitually check our mail every morning, we could try to remind ourselves to workout after that (if we’re trying to make a habit of working out).

We are what we repeatedly do. Excellence, then, is not an act, but a habit.

~ Aristotle

Breaking down things

The chapter on breaking down things doesn’t say anything about wrecking furniture or busting printers with baseball bats, it describes project planning (breaking a big task in bunch of smaller ones) as in – piecemeal approach to the breakup of bigger projects. If you’re intimidated by a big project, you’re likely to procrastinate starting on it.

How to eat an elephant?

When eating an elephant take one bite at a time.

~ Creighton Abrams

Why is hard work hard?

We tend to think that of work that is likely to benefit us. No matter how smart we can work, in the end, there’s no substitute for hard work12. Like Nike says – “Just do it!”

The race is to the driven, not to the swift.

~ John Jakes, North and South

Any action is better than no action.

What prevents us from action is mostly fear. Fear of unknown, fear of failure, fear of not knowing enough, fear of not measuring up to it. Don’t die like the donkey which starved to death because it couldn’t decide between the two stacks of hay. Examine your option, pick one and if you’re going in the wrong direction, adjust accordingly.

Any action is often better than no action, especially if you have been stuck in an unhappy situation for a long time. If it is a mistake, at least you learn something, in which case it’s no longer a mistake. If you remain stuck, you learn nothing.

~ Eckhart Tolle, The Power of Now

Checklist for taking action

  • What specifically is holding me back from taking action?
  • If there is a choice I need to make, what is that choice? What options do I have to choose from?
  • What’s the worst that can result from making a wrong choice?
  • If I choose wrong, can I go back and try another choice? Will the cost of doing so be high?
  • Is there a big difference between the choices? Can I get away with a suboptimal solution that I can take action on right away?
  • Does the problem I’m facing lend itself to self-discoverability? If I start taking some action, will I be able to course-correct until I eventually find the right action to take?
  • What will happen if I don’t take any action? What will the cost be in time, missed opportunity, or money?

Financial

This section comes goes in describing retirement funds13, negotiating your salary, stocks and options trading, real estate market, and the dangers of being in debt. It’s geared towards software developers since they are more likely to earn big salaries.

Most of this section deals in very specific areas rather superficially, letting the reader know general ins and outs of particular field to start actually learning more on their own, and ends with a chapter about the author retiring at 33 years old.

This last, biographical chapter, gets very TV-salesman-y in which the author figures out that technically retirement means – if you have passive income which exceeds your expenses, you are officially retired!

He started with selling gumball machines. Afterwards he proceeded to get into real estate business and ended up buying several rental properties which can cash out in 20 or 30 years. In the mean time his expenses are covered by rent.14

Most of the general advice the author lifted from Robert Kiyosaki on assets vs liabilities

An asset is something that has a higher utility value than what its maintenance cost is. That means that for something to qualify as an asset, it has to be able to provide more dollars of value than it costs to own.

A liability, on the other hand, is just the opposite. It’s something that costs more than the value it provides. To keep the liability around, you have to shell out money, but you could never get as much money as you’re shelling out.

Assets                            Liabilities

Dividend stocks               Credit card debt

Rental real estate    House (if too big)

Bonds                            Car (if too much)

Music royalty rights    Monthly services

Software royalty rights    Equipment that loses value over time

Fitness

The human body is the best picture of the human soul.

Ludwig Wittgenstein15

Programmers can look handsome and beautiful! Being in a good physical condition also boosts your confidence as you feel better when you look better. You also think better and provide more oxygen to your brain and body. Most importantly, having an active lifestyle is very important for people with sedentary lifestyles such as software developers.

Most of the section is geared towards absolute n00bs, from setting fitness goals with milestones and measuring progress, to calories, proteins and carbohydrates.

Motivation

Instead of buying those awesome running shoes first, only to have them gathering dust – promise yourself you’ll buy yourself the shoes after you’ve been running a month. Author cites The Willpower Instinct saying several studies show rewarding yourself before you reach a goal can make you feel like you already achieved it. Having a good streak helps. Using apps to gamify workouts. Find a challenge or a workout buddy. Listen to a podcast or audiobook while running or lifting weights to get more value.

Hacks

Standing desks with treadmills can be a fantastic way to get two activities at once. In the author’s experience, it’s possible to walk and reply to emails, but not really walk and code. Standing and coding works completely fine, though. Using Pomodoro technique could be utilized to do few pull-ups, pushups or stretches during the breaks.

Food and dieting programs can overly complicate things so try to keep it simple by planning and making meals in advance, sticking to few simple recipes.

Gadgets

A good way to further gamify and engage is using pedometers or dedicated lifestyle apps like Moves and devices like Jawbone or Fitbit. There are also smart wireless scales which upload your weighing sessions online and keep track over time. Good wireless headphones are a smart purchase to make.

Spirit

This section goes to talk about spirit (which author mostly confuses with mind). We are to strengthen our spirit if we’re ever to “conquer the greatest enemy you will ever face – yourself”16

Everything starts in the mind. The idea can be to move the glass of water closer to your face or build an amazing product, the physical reality always follows what started as a mere idea.

It may be called “The Secret” or “Law of Attraction” or “Sympathetic Magic” but like attracts like, regardless of the name or the definition. Your expectations color your reality, and what you do is what you believe in.

Your beliefs become your thoughts,

Your thoughts become your words,

Your words become your actions,

Your actions become your habits,

Your habits become your values,

Your values become your destiny.

~ Mahatma Gandhi

Positive Thinking

Author retells a (different version than here) story about the old man and his son.

An old farmer lived with his son in a village. One day, their only horse broke through the fence and ran away. All the neighbors; hearing of the news said “Oh how unfortunate!”

The old farmer just said “We’ll see”

A week later, the horse returned with a herd of wild horsed which the farmer and son quickly corralled. All the neighbors were now nodding their heads saying “Oh, what good fortune!”.

The old farmer replied “We’ll see”

In a few days, while trying to tame one of the wild horses, the son got thrown from the horse and badly broken his leg. The neighbors, worryingly shook their heads “Oh such bad fortune!”

Old farmer told them “We’ll see”. Not very soon after that a war broke out and King’s captains came to the village to round up young men of fighting age. Seeing old farmer’s son delirious with fever, the captain left him be. As the son started getting better, the neighbors gladly agreed “How very fortunate!”

The old farmer said only “We’ll see”

Nothing in itself is good or bad, your attitude in reaction to it is everything. Play more to reawaken and cultivate your natural playful curiosity. Keep having an open mind – you only stop growing when you stop asking questions. Try to capture your thoughts and become more aware of them. Meditation, introspection and keeping a journal can help identify and stop negative thinking17.

Affirmations

People who are unable to motivate themselves must be content with mediocrity, no matter how impressive their other talents.

~ Andrew Carnegie

The author affirms the power of positive affirmations as a way to change otherwise difficult to change, subconscious image of ourselves. Repeat positive affirmations about yourself, find motivational images and really picture yourself as you want to become, feeling the way you believe you’ll feel when you get there.

Love

Computers can’t hold your hand18

This rambling chapter mostly tells the reader to not come off as desperate and learn about the game and keep in mind it’s a numbers game. Slightly cringe inducing chapter.

Failure

Fall down seven times, get up eight.

~ Japanese Proverb

Perseverance is one of the most important skills we have to possess. Software development is difficult. Failure isn’t the same as defeat – failure is temporary, defeat is permanent.

The real life doesn’t work as a school where we get an F and we’ve utterly failed. In real life we learn something and hopefully grow. What fun would a video game be if every level was equally difficult and there were no real challenges?

Learn to push yourself outside of your comfort zone, go and do things you find uncomfortable. You will make mistakes, you will learn, correct them and grow.

Appendices

Appendix A & B deal in finances and stocks and C and D are about food and dieting.

Conclusion

The book is lengthy and a bit repetitive. The short chapters make it easy to progress in bite-sized increments, but some chapters are several pages long while others are dozens with much more information. The ambitious goal of writing a book for software developers about everything else beyond code, falls a bit short for me as a non-beginner programmer since I found a substantial amount of content too superficial and in parts, overly simplified.

That being said, I did enjoy quite a lot of the material and as the areas are very widely (if shallow) covered, I did learn something. I’d definitely recommend this to a person studying IT or at their first programming gig. However, people with a few years of experience will find themselves skipping entire chapters.

I like the possibility of working through selected interesting chapters by coming back and completing the “taking action” questions and exercises. With the related appendices the book could be used as a personal workshop. It doesn’t beat Becoming a Technical Leader though.

Bibliography and Resources

Books

How to Win Friends and Influence People – Dale Carnegie

The War of Art – Steven Pressfield

The Power of Habit – Charles Duhigg.

Getting Things Done – David Allen

Think and Grow Rich – Napoleon Hill

Kanban in Action – Marcus Hammarberg & Joakim Sundén

Drive – Daniel Pink

Rich Dad, Poor Dad – Robert Kiyosaki

The Willpower Instinct – Kelly McGonigal

Psycho-Cybernetics – Maxwell Maltz

The Power of Positive Thinking – Norman Vincent Peale

Code Complete – Steve McConnell

Clean Code: Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin

Atlas Shrugged – Ayn Rand

Websites

Simple Programmer

Fiverr

Upwork

Meetup

Apps

Buffer social media post manager

Endomondo “personal trainer in your pocket”

Gamified fitness

Habit RPG

Super Better

Fitocracy

Zombies, Run!

Footnotes

  1. Well, technically – it’s about having passive income which exceeds your monthly expenses. See Financial section.
  1. Interestingly, the author doesn’t use the terms the zone or [flow](https://en.wikipedia.org/wiki/Flow(psychology).
  1. The big idea comes from Getting Things Done – there should be separate time for thinking work and getting things done, you want to regularly think ahead – when you’re in the getting things done mode, you don’t want to stop to think what’s next best thing you should be doing.
  1. Other external help could be a life coach, a written system of reminders and milestones or a lifestyle app. Maybe a smartphone, context aware, AI personal assistant app.
  1. This is another GTD idea – batch your tasks in categories like “@computer”, “@store”, “@phone”, “@email” etc. to be more efficient and minimize the penalty of context switching
  1. Well, dualtasking, if we’re being nit-picky
  1. When the people complained about difficult workouts my jujutsu sensei would say “If this were easy, everybody would be doing it”
  1. Cue: leaving the house, Routine: check the pockets for keys and wallet, Reward: feeling of completeness

Cue: hovering over “Send button” in email client, Routine: re-read the email checking for typos, Reward: knowing I sent the clear message

Cue: I see a cat, Routine: I am friendly toward the cat, Reward: the cat lets me pet her

  1. I’ve recently quit smoking, and since it was quite a habitual thing, when I get the urge to smoke now, or find myself in the situation where I’d usually smoke, I remind myself to breathe deeper, relax and be in the moment, supplementing my meditation time
  1. Apparently it can be as short as 21 days
  1. If you really want something you need to be able to dedicate at least 15 minutes daily to getting to your goal
  1. Author here again mentions The War of Art quoting the part about resistance which rears it’s ugly head every time we’re trying to elevate ourselves to a higher plane of existence which reminds me of the process of growth and stagnation discussed in Becoming a Technical Leader
  1. US-centric
  1. This was around the time I forgot I’m reading a book for software developers
  1. I wonder if he purposefully avoided “Mens sana in corpore sano”
  1. Sounds deep but I don’t think it makes any sense
  1. A mental habit I picked up long time ago at a meditation workshop was “Cancel, cancel!”.

Any time an unwanted or negative thought tried to intrude, I’d tell it to “Cancel, cancel!” so it would stop pestering me. Sometimes you still might need to tell it a few times and then ignore it completely by actively focusing on something else.

  1. Yet

Leave a Reply

Your email address will not be published. Required fields are marked *