Nikola Brežnjak blog - Tackling software development with a dose of humor
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Home
Daily Thoughts
Ionic
Stack Overflow
Books
About me
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Nikola Brežnjak blog - Tackling software development with a dose of humor
Books

Book club in our engineering team – It doesn’t have to be crazy at work

TL;DR

You can read all about how we implemented our 1st book club idea in our engineering team, and in this post, I’m going to do the same but with a new book. In this short post I’ll tell you:

  • how we implemented the second book club idea in our engineering team
  • what book we read
  • how we liked it,
  • and share a few learnings, comments and (as I usually do in my book posts) quotes

What book did we read?

We read the book called It Doesn’t Have to Be Crazy at Work by Jason Fried and David Heinemeier Hansson.

It seems that the Goodreads and Amazon reviewers liked the book.

However, I’m not really sure why, because this is how much we liked (or better said didn’t) the book. So, 4.5/10 with a max rating of 6 says a lot.

How did we do it?

We read it in only three weeks which means it was a really easy read. This comes down to about 75 pages per week, which amounts to 15 pages per work day.

On average, it took us 2hr and 22 minutes to finish the book, or about 9 minutes per work day.

Here’s a short post on the math behind reading 30 books per year in case you’re interested.

What did we like?

Even though we didn’t like the book in general, it still had some parts that we liked:

  • Office hours idea
  • Stance towards interviews – and paying for spec work
  • Company is not a family
  • Salary negotiation is crap
  • Calm goodbyes
  • Fridays off during summer

What we didn’t like

A lot of the chapters were common sense, and we agreed with them (few mentioned above), but some of the things we just couldn’t agree with:

  • No goal setting
  • Not going out of your comfort zone – promoting mediocrity
  • It seems like the whole book is an advertisement for them
  • They support multiple versions
  • This most probably won’t work for a bigger company

Some quotes

As usual in my book posts, here are some quotes that we liked:

  • We don’t mind leaving some money on the table, and we don’t need to squeeze every drop out of the lemon. Those final drops usually taste sour, anyway.
  • There is nothing so useless as doing efficiently that which should not be done at all.
  • Your company is a product. If you want to make the product better, you have to keep tweaking, revising, and iterating.

  • Comparison is the death of joy.

Conclusion

Even though we didn’t like the book in general, it definitely wasn’t a total waste of time. We already started with the next book (Pragmatic Programmer), and this time we hope the book to be better.

A question for those that already conducted book clubs in your engineering organizations – what books did you read?

Books

Way of the Warrior Kid – Jocko Willink

Here are my favorite quotes from the book Way of the Warrior Kid: From Wimpy to Warrior the Navy SEAL Way: A Novel by Jocko Willink:

If you need rest, you go to sleep earlier. You don’t sleep in, and you don’t miss workouts. Even if you can’t perform at a high-level, showing up and doing something is still a thousand times better than not showing up at all.

The most important part of discipline is following rules that you set for yourself. It is doing things you might not always feel like doing – things that make you better.

I don’t worry about motivation, because motivation comes and goes. It’s just a feeling. You might feel motivated to do something, and you might not. The thing that keeps you on course and keeps you on the warrior path isn’t motivation. It is discipline. Discipline gets you out of bed. Discipline gets you onto the pull-up bar. Discipline gets you to grind it out in the jiu-jitsu class.

We don’t quit. Ever.

Fear is normal. In fact, fear is good. Fear is what warns you when things are dangerous. Fear is what makes you prepare. Fear keeps us out of a lot of trouble. So there is nothing wrong with fear. But fear can also be overwhelming. It can be unreasonable. It can cause you to freeze up and make bad decisions or hesitate when you need to act. So you have to learn to control fear. And that’s what you need to do right now.

The fear is in the waiting. Once you have prepared, trained, studied and planned, there is only one thing left to do: go.

You know the path. And you are humble. That is the most important thing about being a leader.

Books

Peak: Secrets from the New Science of Expertise – K. Anders Ericsson

Here are my favorite quotes from the book Peak: Secrets from the New Science of Expertise by K. Anders Ericsson.

You have to keep upping the ante: run farther, run faster, run uphill. If you don’t keep pushing and pushing and pushing some more, the body will settle into homeostasis, albeit at a different level than before, and you will stop improving.

The best way to get past any barrier is to come at it from a different direction, which is one reason it is useful to work with a teacher or coach. Even the most motivated and intelligent student will advance more quickly under the tutelage of someone who knows the best order in which to learn things, who understands and can demonstrate the proper way to perform various skills, who can provide useful feedback, and who can devise practice activities designed to overcome particular weaknesses.

You seldom improve much without giving the task your full attention.

Deliberate practice involves well-defined, specific goals and often involves improving some aspect of the target performance; it is not aimed at some vague overall improvement. Once an overall goal has been set, a teacher or coach will develop a plan for making a series of small changes that will add up to the desired larger change. Improving some aspect of the target performance allows a performer to see that his or her performances have been improved by the training. Deliberate practice is deliberate, that is, it requires a person’s full attention and conscious actions. It isn’t enough to simply follow a teacher’s or coach’s directions. The student must concentrate on the specific goal for his or her practice activity so that adjustments can be made to control practice.

You don’t build mental representations by thinking about something; you build them by trying to do something, failing, revising, and trying again, over and over. When you’re done, not only have you developed an effective mental representation for the skill you were developing, but you have also absorbed a great deal of information connected with that skill.

Books

How we implemented the book club idea in our engineering team

TL;DR

In this post I’m going to show you:

  • how we implemented the book club idea in our engineering team
  • what book we read
  • how we liked it,
  • and share a few learnings, comments and (as I usually do in my book posts) quotes

Those interested in some data metrics, scroll to the end of the post, after the quotes 🙂

What book did we read?

We read the book called The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr, and George Spafford. This is a book that, arguably, everyone in IT should read.

The book is really awesome, and here’s the Amazon rating:

If you don’t trust Amazon for some reason, here’s the Goodreads rating:

The rating score of 4.25 out of 5 from almost 19k votes is a lot on Goodreads.

How did we do it?

We started reading the book on Jan 21st and finished it on Mar 11th. So, for 6 weeks we read approximately 50 pages per week and then discussed it in our mobile dev team meetings.

This is only 10 pages per workday, in case you were wondering. Here’s a short post on the math behind reading 30 books per year in case you’re interested.

What did we learn?

We learned that there are 4 types of work:

  • business projects
  • internal projects
  • changes
  • unplanned work

We learned some new phrases like FUBAR and MOADF, and we learned that everyone needs idle time, because if no one has idle/slack time, WIP (work in process) gets stuck in the system just waiting.

Also, we learned that getting the whole company working together to the same common goals only works if people know what the goals are. So, it’s good to have OKRs/KPIs/yourVersionOfGoalTracking publicly available and set by each department and their team members.

What discussions did the book start

The book also spurred some exciting discussions about:

  • how could we get to the single-piece flow
  • how to deal with unplanned work
  • what to do when asked to deploy something on Friday
  • what are our bottlenecks
  • how does our WIP look like
  • what ticket management systems we used in the past, etc.

What we didn’t quite like

There were some things that we didn’t like:

  • the ending was too happy-go-lucky; we expected something more along the lines of a Game of Thrones ending
  • Bill’s wife
  • Brent was too realistic, gave few of us scary flashbacks
  • Bill didn’t treat developers with respect. I quote:
    • “Developers – I had forgotten how quirky they can be. To me, they seem more like indie musicians than engineers.”

Characters

Speaking of characters, it seems like we all liked the Eric character, which could be described as a mix of Doc and Jack Sparrow. That also knows a lot about process and IT and also surfs not only the internet.

Since every good novel has to have a villain, this one did as well. We liked the fact that Sarah got what was coming for her in the end. And we even toyed with an idea of who would play this character in the “The Phoenix Project” movie. Here are a few options that were mentioned:

Some quotes

As usual in my book posts, here are some quotes that we liked:

  • “Until code is in production, no value is actually being generated, because it’s merely WIP stuck in the system.”
  • “He has a well-deserved reputation as one of the most fun people in the company to travel with. The size of his expense reports proves it.”
  • “Practice creates habits, and habits create mastery of any process or skill.”
  • “A good day feels like my staff panicking about the size of the commission checks we’re going to be writing them”
  • “I’ve realized that having people give you honest feedback is a rare gift.”
  • “You need to get everything in version control. Everything. Not just the code, but everything required to build the environment. Then you need to automate the entire environment creation process. You need a deployment pipeline where you can create test and production environments, and then deploy code into them, entirely on-demand. That’s how you reduce your setup times and eliminate errors, so you can finally match whatever rate of change Development sets the tempo at.”
  • “Developers – I had forgotten how quirky they can be. To me, they seem more like indie musicians than engineers.”
  • “Any COO who doesn’t intimately understand the IT systems that actually run the business is just an empty suit, relying on someone else to do their job.”
  • “Effectively managed IT is a significant predictor of company performance.”
  • “IDC, the analyst firm, says that there are 11M devs and 7M operations people on the planet.”
  • “To tell the truth is an act of love. To withhold the truth is an act of hate. Or worse, apathy.”
  • “In these competitive times, the name of the game is quick time to market and to fail fast.”
  • “Turning around, he says, “In any system of work, the theoretical ideal is single-piece flow, which maximizes throughput and minimizes variance. You get there by continually reducing batch sizes. “You’re doing the exact opposite by lengthening the Phoenix release intervals and increasing the number of features in each release. You’ve even lost the ability to control variance from one release to the next.”

Show me the data!

So, it does seem that we liked it and had fun, but how do you measure that?

This is how much we liked the book on a scale from 1-10:

Funny piece of trivia was that iOS devs used floats, and Android devs used integers. ?

This is how much we liked the book club implementation on a scale from 1-10:

And, finally, this is how likely we want to do this again in Q2 on a scale from 1-10:

I promise I didn’t set this graph up on purpose to look like this, but it does look kinda cool. ?

Conclusion

We liked this experiment and will continue doing it. I hope you found it valuable and that you also may wanna try out this within your teams. If you have any questions, please ask in the comments section.

And, a question for those that already conducted book clubs in your engineering organizations, what books did you read?

How we implemented the #book #club idea in our #engineering team https://t.co/lLQ5LuVUw6

— Nikola Brežnjak (@HitmanHR) March 25, 2019

Books

The Productivity Project – Chris Bailey

Here are my favorite quotes from the book The Productivity Project by Chris Bailey.

Make a list of all the things you’re responsible at your work. Then, ask yourself which is the most important item on that list and go do it.

At the end of every day decide which three tasks you want to accomplish by the end of the next day.

Manage your energy, not time.

Write and send a letter to yourself in the future.

Limit your time for a certain task to half of what you thought it’s going to take and see how it goes.

Don’t sort emails in folders – search for them.

Alcohol has a significant impact on your energy levels and productivity.

The brain can’t tell much difference between visualization and actual experience. Therefore, at the end of the day recall the positive and meaningful parts of your day – that way you double the significant experiences of your day.

77% of what we think is negative, counterproductive, and works against us. Therefore, force yourself to feed your brain with positive thoughts.

I’ve learned most from the meditation experiment where I lived in isolation for 10 days and meditated for 35+ hours.

Busyness is no different from laziness when it doesn’t lead you to accomplish anything.

You’re 7 times as likely to be highly engaged at work if If your best friend works at the same place.

The best attitude to have with productivity is never to be satisfied but to find ways to cultivate happiness continually.

Please stop multitasking 🙂

Books

The Coaching Mindset – Chad W. Hall

Here are my favorite quotes from the book The Coaching Mindset: 8 Ways to Think Like a Coach by Chad W. Hall.

Rather than tell people what to do, I helped people tell themselves what to do.

Don’t try to solve the problem for them, help them to get to the solution themselves.

When you think the highest value you bring to your coaching client is your intellect, your brilliance, your awesome problem-solving abilities, your creativity, or your whatever, you get in the way. That’s because coaching is about bringing out the intellect, brilliance, awesome problem-solving ability and creativity of your client. Coaching is a chance for the client to shine, not for you to shine.

The coach’s brain works not to solve, but to facilitate the client’s solving. The coach’s brain is not trying to think two, three, or four steps ahead, but to be with the client in the present moment as she thinks.

I am suggesting that you treat the coaching conversation like an adventure movie in which the client is the star, the hero, the main character, and the one moving the action forward.

The bigger the client’s challenge, the more important it is to let the client be the hero.

After all that thinking you might finally ask, “What can you do to make this a priority?” The problem here is that your question is the result of too much processing. A far better question would be the first question you asked yourself: “What do you mean by stuck?”

Great coaches train themselves to notice their own thinking and to stop or back up the thinking process so they say simple, primitive stuff that invites the client to process.

Primitive questions are powerful invitations for the client to explore something. Like: What do you make of that? How should we get started? Where are we in this conversation? What about that is really important to you? What’s a good way to unpack this? What’s your decision-making process need to be?

Whatever your client says, just go with it. Go with positivity, curiosity and a spirit of “Yes.”

The enemy of curiosity is judgment. On the other hand, curiosity opens up the learning process.

Pretending to know or assuming you know is a bad thing.

This sounds like a really important issue for you. What’s the best way for us to get started with it?

Don’t re-live the things your clients share as if it happened to you.

Your ability to remain somewhat objective is one of the greatest gifts you can give your client because it becomes the bridge to greater insight. Your objectivity merely enables you to invite the client to get on the balcony where he can see himself and his situation more clearly.

Books

Can’t hurt me – David Goggins

Here are my favorite quotes from the book Can’t hurt me by David Goggins.

I’ve reviewed this one on Goodreads like this:

Wow, just wow.

The book is phenomenal, and the Audible format with comments is an awesome idea.

Everybody needs to read this book and get a kick in their ass by this remarkable man’s story.

Hat down Mr. Goggings, hat down.

Maybe your limiting factor is that you grew up so supported and comfortable that you never pushed yourself?

The first step on a journey towards a callous mind is stepping outside of your comfort zone on a regular basis.

The reason it’s important to push hardest when you want to quit the most is because it helps you callous your mind. It’s the same reason why you have to do your best work when you are the least motivated. That’s why I loved PT in BUD/S and why I still love it today. Physical challenges strengthen my mind, so I’m ready for whatever life throws at me, and it will do the same for you.

You have to put work behind everything in life for it to change for the better.

You wanna get to the point in your life where everything that you should have done and you didn’t do – it bothers you.

There is no shame in being knocked down. The shame comes when you throw in the mother fucking towel.

Only when you identify and accept your weaknesses, when you finally stop running from your past – then those incidents can be used more efficiently as fuel to become better and grow stronger.

Those that know don’t speak. And those who speak, well, they don’t know jack shit.

The average person thinks 2000-3000 thoughts per hour. Rather than focusing on bullshit, you can not change, imagine visualizing the things you can.

If you don’t account for the ‘might happen’, when it does happen you won’t know what to do.

Start to, really, use your mind – it’s the most powerful weapon in the world.

If everyone starts pushing a little harder, doing a little bit more for themselves and others – what would happen?

By now I’m sure you can tell that it doesn’t take much for me to be obsessed. Some criticize my level of passion, but I’m not down with prevailing mentalities that tend to dominate our society these days. The ones that tell us to go with the flow or invite us to learn how to get more with less effort. Fuck that shortcut bullshit! The reason I embrace my own obsessions and demand to desire more of myself is because I’ve learned that only when I push beyond pain and suffering, passed my perceived limitations that I’m capable of accomplishing more physically and mentally in endurance races but also in life as a whole.

Always be willing to embrace ignorance and become the dumb fuck in the classroom again. Because that’s the only way to expand the body of knowledge and body of work. It’s the only way to expand your mind.

Greatness is not something that if you meet it once it stays with you forever.

It’s not the external voice that will break you down. It’s what you tell yourself that matters. The most important conversations that you’ll ever have are the ones you’ll have with yourself.

We need to shoot for more than what we even thought was possible. We have to go into a point in our lives where there is no finish line, there is no end, and to find true pride in what you’ve done on this Earth.

Can't hurt me – David Goggins, wow! just wow! https://t.co/tSAo79IXDG

— Nikola Brežnjak (@HitmanHR) March 11, 2019

Books

How Will You Measure Your Life – Clayton M. Christensen

My favorite quotes from a remarkable book called How Will You Measure Your Life? by Clayton M. Christensen, James Allworth, and Karen Dillon.

How can I be sure that:

  • I will be successful and happy in my career?
  • My relationships with my spouse, my children, and my extended family and close friends become an enduring source of happiness?
  • I live a life of integrity – and stay out of jail?

He’s forgotten more than I will ever know about his business.

People often think that the best way to predict the future is by collecting as much data as possible before making a decision. But this is like driving a car looking only at the rearview mirror – because data is only available about the past.

The only way a strategy can get implemented is if we dedicate resources to it. Good intentions are not enough – you’re not implementing the strategy that you intend if you don’t spend your time, your money, and your talent in a way that is consistent with your intentions.

True motivation is getting people to do something because they want to do it.

Hygiene factors are things like status, compensation, job security, work conditions, company policies, and supervisory practices. Motivation factors include challenging work, recognition, responsibility, and personal growth.

⚠️ If you want to help other people, be a manager. If done well, management is among the most noble of professions.

Find a job that you love, and you’ll never work a day in your life.

When you find out what really works for you, then it’s time to flip from an emergent strategy to a deliberate one.

It’s really not until twenty years down the road that you can put your hands on your hips and say, “We raised good kids”.

But there is much more to life than your career. The person you are at work and the amount of time you spend there will impact the person you are outside of work with your family and close friends. In my experience, high-achievers focus a great deal on becoming the person they want to be at work – and far too little on the person they want to be at home. Investing our time and energy in raising wonderful children or deepening our love with our spouse often doesn’t return clear evidence of success for many years.

The relationships you have with family and close friends are going to be the most important sources of happiness in your life.

Capital that seeks growth before profit is bad capital.

The path to happiness is about finding someone who you want to make happy, someone whose happiness is worth devoting yourself to.

If a company has strong processes in place, managers have flexibility about which employees they put on which assignments – because the process will work regardless of who performs it.

Self-esteem comes from achieving something important when it’s hard to do.

If your children gain their priorities and values from other people – whose children are they?

Helping your children learn how to do difficult things is one of the most important roles of a parent.

Encourage them to stretch – to aim for lofty goals. If they don’t succeed, make sure you’re there to help them learn the right lesson: that when you aim to achieve great things, it is inevitable that sometimes you’re not going to make it. Urge them to pick themselves up, dust themselves off, and try again. Tell them that if they’re not occasionally failing, then they’re not aiming high enough. Everyone knows how to celebrate success, but you should also celebrate failure if it’s a result of a child striving for an out-of-reach goal.

Allow the child to see the consequences of neglecting an important assignment.

Culture in any organization is formed through repetition.

It’s easier to hold to your principles 100 percent of the time than it is to hold to them 98 percent of the time.

The only metric that will truly matter to my life are the individuals whom I have been able to help, one by one, to become better people.

⚠️ Treat people as if they were what they ought to be and you help them become what they are capable of being.

My notes from a remarkable #book How Will You Measure Your Life by Clayton M. Christensen https://t.co/wh8doLxSI2

— Nikola Brežnjak (@HitmanHR) February 19, 2019

Programming

Code Complete 2 – Steve McConnell – The Software-Quality Landscape

I just love Steve McConnell’s classic book Code Complete 2, and I recommend it to everyone in the Software ‘world’ who’s willing to progress and sharpen his skills.

Other blog posts in this series:

  • Part 1 (Chapters 1 – 4): Laying the Foundation
  • Chapter 5: Design in Construction
  • Chapter 6: Working Classes
  • Chapter 7: High-Quality Routines
  • Chapter 8: Defensive programming
  • Chapter 9: Pseudocode Programming Process
  • Chapter 10: General Issues in Using Variables
  • Chapter 11: General Issues in Using Variables
  • Chapter 12: Fundemental Data Types
  • Chapter 13: Unusual Data Types
  • Chapter 15: Using Conditionals
  • Chapter 16: Controlling Loops
  • Chapter 17: Unusual Control Structures
  • Chapter 18: Table-Driven Methods
  • Chapter 19: General Control Issues

⚠️ Users care about whether the software is easy to use, not about whether it’s easy for you to modify. They care about whether the software works correctly, not about whether the code is readable or well structured.

⚠️ The General Principle of Software Quality is that improving quality reduces development costs. Understanding this principle depends on understanding a key observation: the best way to improve productivity and quality is to reduce the time spent reworking code.

Characteristics of Software Quality

The software has both external and internal quality characteristics. External characteristics are characteristics that a user of the software product is aware of, including the following:

  • Correctness
    • The degree to which a system is free from faults in its specification, design, and implementation
  • Usability
    • The ease with which users can learn and use a system
  • Efficiency
    • Minimal use of system resources, including memory and execution time
  • Reliability
    • The ability of a system to perform its required functions under stated conditions whenever required – having a long mean time between failures
  • Integrity
    • The degree to which a system prevents unauthorized or improper access to its programs and its data. The idea of integrity includes restricting unauthorized user accesses as well as ensuring that data is accessed properly
  • Adaptability
    • The extent to which a system can be used, without modification, in applications or environments other than those for which it was specifically designed
  • Accuracy
    • The degree to which a system, as built, is free from error, especially with respect to quantitative outputs. Accuracy differs from correctness; it is a determination of how well a system does the job it’s built for rather than whether it was built correctly
  • Robustness
    • The degree to which a system continues to function in the presence of invalid inputs or stressful environmental conditions

Programmers care about the internal characteristics of the software as well as the external ones. So here is a list of internal quality characteristics:

  • Maintainability
    • The ease with which you can modify a software system to change or add capabilities, improve performance, or correct defects
  • Flexibility
    • The extent to which you can modify a system for uses or environments other than those for which it was specifically designed
  • Portability
    • The ease with which you can modify a system to operate in an environment different from that for which it was specifically designed
  • Reusability
    • The extent to which and the ease with which you can use parts of a system in other systems
  • Readability
    • The ease with which you can read and understand the source code of a system, especially at the detailed-statement level
  • Testability
    • The degree to which you can unit-test and system-test a system; the degree to which you can verify that the system meets its requirements
  • Understandability
    • The ease with which you can comprehend a system at both the system-organizational and detailed-statement levels. Understandability has to do with the coherence of the system at a more general level than readability does

The attempt to maximize certain characteristics inevitably conflicts with the attempt to maximize others. Finding an optimal solution from a set of competing objectives is one activity that makes software development a true engineering discipline. But then again, that doesn’t mean that there has to be a tradeoff with another characteristic. Sometimes one hurts another, sometimes one helps another, and sometimes one neither hurts nor helps another. For example, focusing on adaptability helps robustness and vice versa.

Techniques for Improving Software Quality

Although it might seem that the best way to develop a high-quality product would be to focus on the product itself, in software quality assurance you also need to focus on the software development process. Here are a few tips for improving software-quality:

  • Setting explicit quality goals
  • Making the quality assurance activity explicit makes the priority clear, and the programmers will respond by focusing more on quality rather than how quickly they “complete” their programs
  • Developing a testing strategy
  • Informal technical reviews
  • Formal technical reviews

Relative Effectiveness of Quality Techniques

The various quality-assurance practices don’t all have the same effectiveness. Here are some quality-assurance practices:

  • Informal design reviews
  • Formal design inspections
  • Informal code reviews
  • Formal code inspections
  • Modeling or prototyping
  • Unit tests
  • Personal des-checking of code

Percentage of Defects Detected

Used on their own, the techniques detect on the average only about 40% of the errors. The strong implication is that if project developers are striving for a higher defect-detection rate, they need to use a combination of techniques. A study by Glenford Myers shows that using any combination of techniques increased the total number of defects found by a factor of almost 2.

Cost of Finding and Fixing Defects

Most studies have found that inspections are cheaper than testing. A study at the Software Engineering Laboratory found that code reading detected about 80% more faults per hour than testing. Another organization found that it cost six times as much to detect design defects by using testing as by using inspections.

As it was mentioned in previous chapters about design, the longer a defect remains in the system, the more expensive it becomes to remove. So a technique that catches the error earlier reduces the cost of fixing it. Even more important is whether the technique detects the symptoms and causes of defects in one step, e.g. inspections, or like testing, finds symptoms but require additional work to diagnose and fix the root cause.

The bottom line is that for a quality program you must use a combination of techniques, here’s my recommendation:

  • Formal inspections of all requirements, all architecture, and designs for critical parts of the system
  • Modeling or prototyping
  • Code reading or inspections
  • Execution testing

The general Principle of Software Quality

The General Principle of Software Quality is that improving quality reduces development costs. Understanding this principle depends on understanding a key observation: the best way to improve productivity and quality is to reduce the time spent reworking code.

The industry average productivity for a software product is about 10 to 50 of lines of delivered code per person per day (including all noncoding overhead). Part of the reason for these seemingly low productivity figures is that industry average numbers like these factor nonprogrammer time into the lines-of-code-per-day figure. But the single biggest activity on most projects is debugging and correcting code that doesn’t work properly.

The study at IBM produced similar findings:

Software projects with the lowest levels of defects had the shortest development schedules and the highest development productivity. Software defect removal is actually the most expensive and time-consuming form of work for software.

Keynote that you should take from this chapter is that quality is free, in the end, but it requires a reallocation of resources so that defects are prevented cheaply instead of fixed expensively ?

Books

The math behind reading 30 books per year

TL;DR

25 minutes reading daily is enough to read 30 books per year.

In this blog post I’m going to show you a simple math behind reading 30 books per year, so read on.

Facts

Do you know what’s the average number of books that people read per year?

Google says it’s about 4 books per year. I bet you know a lot of people that actually read closer to 0 ?

Anyways, here’s a simple math behind reading 50% more than the average, so 6 books per year.

The Premise

Would you agree that spending 5 minutes on reading per day is really not much of a time investment?

Great.

And, would you agree that in those 5 minutes you could (on average, depending on the book) read 5 pages?

Great.

Except that 5 pages is not that much, right? It’s actually negligibly small number.

Extrapolate

As with anything worthwhile in life, what if you decide to extrapolate that on a longer period and read those 5 pages per day for a whole month?

That’s 5 * 30 = 150 pages.

Again, not much, right?

Average book page length

According to this blog post, there are 240 pages in a typical mainstream novel.

Again, to make our math simpler, and to not take the lower number, let’s say a typical book is 300 pages long.

Extrapolate even more

If you continue your pace of reading 5 pages per day, and manage to do it for a whole year, you’ll end up with reading 6 whole books!

WOW!

Yes, by just spending 5 minutes per day on reading, you could easily read 50% more books than people do on average.

Upside

If you start with 5 pages a day, and you maintain that for a month, I can promise you that you’ll end up doing more and loving the process. Not just because you’ll become a faster reader, but also because you’ll fall in love with the process and you’ll want to increase these 5 minutes to more.

So now, how do we get to those magical 30 books per year?

Well, if with 5 minutes per day we can get 6 books per year, then we need to increase the number of minutes 5 fold to get to 30 books.

Yes, believe it or not, 25 minutes per day is all you need. Funnily enough, that equals one Pomodoro.

So imagine, how better off could you be after those 30 books in a year? How many new ideas could you get from those 30 books? I’d argue, a lot. But, don’t just read, implement what you read as well!

Conclusion

Give it a go, it’s a small-time investment that (for starters) you can even do while on the toilet (what!?, you’re either way staring at your phone, right? ?).

All of a sudden, you’ll be a reader – and go figure, with just 5 minutes per day ?

The math behind reading 30 #books per year https://t.co/YfL4y5HKZ7

— Nikola Brežnjak (@HitmanHR) October 22, 2018

Page 2 of 12«1234»10...Last »

Recent posts

  • Discipline is also a talent
  • Play for the fun of it
  • The importance of failing
  • A fresh start
  • Perseverance

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (35)
  • Daily Thoughts (77)
  • Go (3)
  • iOS (5)
  • JavaScript (127)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (2)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (77)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (40)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (81)
  • Unity3D (9)
  • Windows (8)
    • C# (2)
    • WPF (3)
  • Wordpress (2)

"There's no short-term solution for a long-term result." ~ Greg Plitt

"Everything around you that you call life was made up by people that were no smarter than you." ~ S. Jobs

"Hard work beats talent when talent doesn't work hard." ~ Tim Notke

© since 2016 - Nikola Brežnjak