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

59 Seconds by Richard Wiseman

I loved the book 59 seconds by Richard Wiseman that I first came across in Tools of Titans.

Here are the top 10 most interesting studies the autor outlines as scientifically proven:

Cultivating Gratitude

Developing a gratitude attitude can significantly elevate happiness levels. By listing three aspects of life they are grateful for or three positive events from the past week, individuals experience a notable increase in happiness that can last about a month. This boost in mood not only fosters optimism about the future but can also enhance physical health.

The Power of Kindness

Engaging in even minor acts of kindness can lead to a substantial and rapid increase in happiness. Whether it’s donating a few dollars to those in need, surprising a loved one with a gift, donating blood, or helping a friend, these actions profoundly elevate one’s sense of joy.

Mirrors and Healthy Eating

The placement of a mirror in the kitchen can lead to healthier eating choices. When people see their reflection while choosing foods, there’s a 32% decrease in the consumption of unhealthy options. This self-awareness encourages better eating habits beneficial for their health.

Plants in the Workplace

Introducing plants into an office setting can have a positive impact on creativity and problem-solving. In men, it leads to a 15% increase in creative ideas, while women tend to generate more original solutions to problems. The presence of plants reduces stress and enhances mood, fostering a more creative environment.

The Influence of Light Touch

A light touch on the upper arm can significantly increase the likelihood of someone agreeing to a request. This subtle contact is subconsciously perceived as a sign of high status. For instance, in social settings, such as nightclubs, a light touch increased acceptance for a dance by 20% and a 10% increase in sharing telephone numbers with a stranger.

Writing About Relationships

Couples who dedicate time each week to write down their deepest thoughts and feelings about their relationship can improve their chances of staying together by over 20%. This form of expressive writing leads to the use of more positive language in communication, fostering healthier and happier relationships.

Detecting Lies through Written Communication

When dealing with potential liars, asking for written responses can be more revealing than verbal ones. Liars often use fewer details, more hesitations like "um" and "ah," and avoid self-references. People are also 20% less likely to lie in emails than in phone calls, as written words are permanent and can have lasting consequences.

Praising Children’s Effort

Focusing praise on a child’s effort rather than their inherent ability encourages a growth mindset. By applauding their hard work, children are more likely to embrace challenges, enjoy problem-solving, and independently seek solutions, effectively overcoming the fear of failure.

Visualizing Practical Steps

People who envision the practical steps required to achieve their goals are more likely to succeed than those who merely fantasize about success. Adopting a third-person perspective in these visualizations further increases the likelihood of success by about 20%.

Reflecting on One’s Legacy

Encouraging individuals to imagine a close friend speaking at their funeral about their personal and professional legacy helps in identifying long-term goals. This exercise provides clarity on their progress towards achieving these goals, offering a powerful motivation for personal and professional growth.

Books

Amp It Up by Frank Slootman

Here are my highlights from a book Amp It Up by Frank Slootman broken down to a few key takeaways.

Raise Expectations and Intensity

  • "Raise your standards. The late Steve Jobs was inspired only by insanely great things. Anything that didn’t meet his standards was rejected. Applying ‘insanely great’ as a standard daily pushes you further. Fight the impulse to lower standards for convenience; it takes little extra mental energy to aim higher."
  • Actionable Tip: regularly set and review higher performance benchmarks within your team or organization
  • Benefit: This drives a culture of continuous improvement and high achievement

Focus on Execution Over Strategy

  • "Strategy can’t be mastered until you know how to execute well. Execution is hard; great execution is scarce, hence a source of competitive advantage. Worrying about strategy before your team is good at executing is pointless."
  • “If you can only do one thing for the rest of the year, what would it be and why?”
  • Actionable Tip: Conduct training sessions to improve execution skills at all levels of your organization
  • Benefit: Enhances the ability to effectively implement strategies, adapting to real-world challenges and opportunities

This is Sparta!!!

  • Declare war on your competitors and on incrementalism. Have a “visceral sense of contest” and resist erring on the side of caution.

Build a Passionate Team

  • “Alignment becomes more important as the business grows. Lack of commitment and trust within a team undermines its effectiveness. Leaders must be trustworthy and earn trust, not demand it."
  • He mentions the book The Five Dysfunctions of a Team (which we’ve read as a team)
  • "The key to driving a consistent culture is not about high-minded principles or values alone. People learn from consequences. Drive consistent behaviors, norms, and values through clearly defined consequences."
  • "Seek low maintenance, low drama personalities. Value traits like strong task ownership, a sense of urgency, and a no-excuses mentality. Hire drivers, not passengers, focusing on attitude and behavior, which are choices, not skill sets."
  • Five questions to evaluate culture
    • When you talk to frontline employees, do they seem energized, or does it feel like everyone is swimming in glue?
    • Do people have clarity of purpose and a sense of mission and ownership?
    • Do they share the same big dreams of where the organization might be in a few years?
    • Do most people execute with urgency and pep in their step?
    • Do they consistently pursue high standards in projects, products, talent, everything?
  • Actionable Tip: During hiring, prioritize candidates’ drive and passion as much as their skills and experience
  • Benefit: Creates a dynamic, motivated workforce that can drive and sustain growth

Implement a Customer-Centric Approach

  • "If you have a customer success department, that shouldn’t give others an excuse to stop worrying about how well customers are thriving with your products. Responsibility for customer’s well-being should remain with those directly interacting with them."
  • Actionable Tip: Regularly gather and analyze customer feedback to inform business decisions
  • Benefit: Ensures that your products and services remain relevant and valuable to your target market

Maintain Startup Agility While Scaling

  • Rely on data-centric growth models (which you have to have!)
  • Actionable Tip: Encourage innovation and risk-taking, especially as your business grows
  • Benefit: Helps in sustaining the entrepreneurial spirit and agility necessary for continuous growth

Exploit Market Opportunities

  • "Growth trumps everything else as a driver and predictor of long-term success. Super-grower companies (60% or more annual growth) have significantly higher returns and likelihood of reaching substantial revenues than medium growth companies."
  • Actionable Tip: Train teams in market analysis and trend spotting to identify and capitalize on new opportunities
  • Benefit: Keeps your business ahead of competitors by swiftly responding to changing market dynamics

Develop Resilient Leadership

  • Actionable Tip: Invest in leadership development programs that emphasize adaptability and resilience
  • Benefit: Prepares leaders to effectively navigate challenges and lead the organization through periods of change

Promote Continuous Learning and Adaptation

  • Actionable Tip: Establish a culture of learning where feedback is actively sought and acted upon
  • Benefit: Fosters an environment where continuous improvement is the norm, leading to sustained growth and innovation

It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat. ~ Theodore Roosevelt

Books

Tools of Titans by Tim Ferriss

Here are my highlights from a highly recommended book Tools of Titans by Tim Ferriss, broken down into few sections.

Just as a note for myself; of all the people (excluding the world-known like Schwarzeneger), I’d say that Derek Sivers peaked the most interest for me.

Personal Growth and Ambition

  • Routine in an intelligent man is a sign of ambition
  • The quality of your questions determines the quality of your life
  • You realize that you will never be the best looking, smartest, or most educated person in the room, but you can always compete on hard work
  • Never go to sleep without a request to your subconscious

Success and Life Balance

  • Success is about being the best dad who is always approachable and an expert in your field
  • Being busy is a form of laziness
  • Life shrinks or expands in proportion to one’s courage (to have the unpleasant conversations)
  • Most people will choose unhappiness over uncertainty (don’t be like most people)

Health and Well-being

  • Magnesium is one of the best anti-aging minerals
  • Depression may be the body’s way of saying you need to deal with something that’s making you sad
  • Full hip and ankle range of motion is crucial; fix it if you can’t squat all the way down
  • Give meditation an honest shot

Innovation and Creativity:

  • The goal isn’t to get good ideas, but to get enough bad ones so the good ones start showing up (divide your paper into columns for ideas and their first steps)
  • Perfectionism is the enemy of the idea muscle
  • Have fun with your creative process, or it won’t stick

Business and Entrepreneurship

  • In negotiation, he who cares the least wins
  • It’s not what you know, it’s what you do consistently
  • Money can always be regenerated. Time and reputation cannot.
  • What you choose to work on and who you work with are more important than how hard you work

Overcoming Challenges:

  • The dirty little secret is that every success was almost a failure
  • Perfectionism leads to procrastination, which leads to paralysis
  • Ask yourself: what am I continuing to do myself that I’m not good at?
  • Desire is a contract you make with yourself to be unhappy until you get what you want

(Unique) Concepts

  • The jar of awesome
  • Daily journaling (by adding a gratitude section)
  • Sauna (followed by a cold shower or a tub) FTW
  • Physchodelics (not something I’m keen on trying any time soon 🙂)
Books

If you want to improve, read these books

TL;DR

In this post, I’m sharing my ultimate list of books on the topics of leadership, personal improvement, goals, finance, purpose, and programming.

!TL;DR

The book to read is not the one that thinks for you but the one which makes you think.

~ H. Lee

As it usually goes with people that read, you’re often asked to share “a few good books”.

I already wrote about the top 5 that are, IMHO, worth re-reading every once in a while, in the post Too many books, not enough time.

However, this time I’m sharing my ultimate list of books on the topics of leadership, personal improvement, goals, finance, purpose, and programming. Each and every one of these books helped me move the needle a bit forward, so I hope they’ll do the same for you.

I didn’t list any fictional books here, but if you want one, then look no further than The Name of The Wind.

Leadership

  • Leadership and Self-Deception
  • The First-Time Manager
  • Leading snowflakes
  • Radical Candor
  • The Manager’s Path
  • The Five Dysfunctions of a Team
  • The Leadership Handbook
  • Leaders eat last
  • Start with Why

Personal improvement for leadership

  • The Coaching Habit
  • How To Win Friends and Influence People
  • The 7 Habits of Highly Effective People
  • Speak to Win
  • Time Management Made Simple
  • The ONE Thing

Personal improvement in general

  • The miracle morning
  • Mindset
  • Can’t Hurt Me
  • Make Your Bed
  • Discipline Equals Freedom
  • The 5 Second Rule
  • So Good They Can’t Ignore You

Have goals and think big

  • Goals
  • Choose Yourself
  • Edgy conversations
  • Big Magic

Purpose

  • How Will You Measure Your Life
  • The Monk Who Sold His Ferrari
  • The Road Less Traveled
  • The four agreements

Finance

  • Rich Dad Poor Dad
  • Think and Grow Rich
  • The Greatest Salesman in the World
  • The Science of Getting Rich

Programming

  • Soft skills
  • Code complete 2
  • The passionate programmer

Conclusion

This list may seem daunting, but then again, please remember that if you only read 25 minutes per day, you’ll read 30 books per year.

If you think I should add another one to this list, please let me know in the comments.

Books

The Manager’s Path by Camille Fournier

Here are my highlights from a highly recommended book The Manager’s Path by Camille Fournier.

Management 101

  • 1on1 meetings with your direct manager are an essential feature of a good working relationship.
  • The bedrock of strong teams is human connection, which leads to trust. And trust, real trust, requires the ability and willingness to be vulnerable in front of each other.
  • Good managers know that delivering feedback quickly is more valuable than waiting for a convenient time to say something.
  • Bring agendas to your 1on1s when you have things you need to talk about.
  • When you want to raise, ask for it. When you want the promotion, find out what you need to do to get it. Your manager cannot force work-life balance on you. On the flip side, sometimes if you want a bigger job, you will have to work more hours to get it.

Mentoring

  • Listening is the first and most basic skill of managing people.
  • Mentoring new hires is critical. Mentoring an intern: give them a project and make them present the work.
  • Alpha geek tries to create a culture of excellence but ends up creating a culture of fear. If you’re ever in a position to promote people to management, be very, very careful in giving your alpha geeks team management positions, and keep a close eye on the impact they have in that role.

Tech Lead

  • The idea that the tech lead role should automatically be given to the most experienced engineer, the one who can handle the most complex features or who writes the best coach, is a common misconception that even experienced managers fall for.
  • Tech lead is a leader, responsible for a software development team, who spends at least 30% of their time writing code with the team.
  • I have a strong opinion on pushing people into management, which is that you shouldn’t do it.
  • Real-life of a manager: when you only had a team you were able to balance things and still write code, but as your team has grown you’ve lost touch with the code. It’s troubling you as something you should be doing, but there’s no time.
  • Successful leaders write well, they read carefully, and they can get up in front of a group and speak. Don’t forget to listen during all of this communication.

Managing people

  • It’s hard to accept that “new manager” is an entry-level job with no seniority on any front, but that’s the best mindset with which to start leading.
  • Regular 1on1s are like oil changes; if you skip them, plan to get stranded on the side of the highway at the worst possible time. The default scheduling for one on ones is weekly.
  • Some people assume that good relationships require very little attention, and spend all their time on their bad relationships.
  • As much as possible, when someone does something that needs immediate correct feedback, don’t wait for the 1on1 to provide that feedback. The same goes for praise!
  • When you strip creative intelligent people of their autonomy, they lose motivation very quickly.
  • The worst micromanagers are those who constantly ask for the information they could easily get themselves.

Managing a team

  • Leaders are capable of identifying the highest value projects and keeping their team focused on this project. In addition to focusing the team, they are capable of identifying headcount needs for the team and planning and recruiting to fill these needs.
  • If you truly wish to command the respect of an engineering team they must see you as technically credible. You need to stay enough in the code to see where the bottlenecks in-process problems are. It’s hard to make up lost time when you stop writing code, and if you do it too early in your career, you may never achieve sufficient technical savvy to get beyond the role of middle management.
  • Infrequent releases can hide the pain points such as poor tooling around releases, heavily manual testing, features that are too big, or developers don’t know how to break the work down.
  • Project management rules of thumb:
    • Do you have 10 productive engineering weeks per engineer per quarter
    • Budget 20% of the time for generic sustaining engineering work across-the-board
    • As you approach deadlines, it is your job to say no
  • Test of happy engineering team: “If you buy them pizza in the evening, will they stick around and socialize together, or will they race out the door as quickly as possible?“
  • Whenever asked for an estimate, take your guests and double it.

Managing Multiple Teams

  • The engineering director
    • is responsible for a significant area of the technology team. Leads engineers across multiple product areas, or multiple technology functions. He is not generally expected to write the code on a day to day basis. However, the engineering director is responsible for the organization’s overall technical competence, guiding and growing that competence in the whole team as necessary through training and hiring.
    • should have a strong technical background and spend some of their time researching new technologies and staying abreast of trends in the tech industry.
    • focuses on ensuring that we continue refining our development/infrastructure standards and processes to create technology that will deliver sustained value to the business. They are leaders for recruiting, headcount management and planning, career growth, and training for the organization. They’re responsible for creating and growing the next generation of leadership and management talent in the organization, and helping the talent learn how to balance technical and people leadership and management.
    • is a motivated, cross-functional collaborator, a very strong communicator, and has a positive public presence.
    • should spend the time to gain mastery of programming before moving up to management.
    • spends at least a solid half-day once a week completely free from meetings or other obligations and uses this time on some creative pursuit (blog post, conference talk, open-source project).
  • One example of an important but not urgent task is actually preparing for meetings so that you can guide them in a healthy way.
  • Engineers who don’t write tests often have a harder time breaking down their work.
  • Frequency of changes is one of the leading indicators of a healthy engineering team.

Managing managers

  • You must take the time to proactively hold skip-level meetings with the people who report to your direct reports (once a quarter).
  • Learning how to hold managers accountable will be one of your biggest learning opportunities as you work at this level.
  • A manager is accountable for the health and productivity of the team.
  • Making the wrong person and manager is a mistake, but keeping her in that position once you’ve realized she’s wrong for it is a critical error.
  • Don’t compromise on culture fit, especially when hiring managers. Many people are very reluctant to hire in management from outside, and for a good reason.
  • Dedicate to 20% of your team schedule to “sustaining engineering”.

The big leagues

  • It’s not about being the lead engineer, chasing the latest language or framework, or having the shiniest technology. It’s about building a team with the tools and attributes to build the best possible product for our customers.
  • VP is an engineering role, CTO is not.
  • In my experience, most people need to hear something at least three times before it really sinks in.
  • As a senior-most person in an organization, you’ll be watched closer than you ever been watched in your life.

Bootstrapping culture

  • Structure is how we scale, diversify, and take on more complex long-term tasks. It’s more common in small companies to see structure come too late.
  • He describes the early start-up as driving a race car. You’re close to the ground, and you feel every move you make. You have control, you can turn quickly, you feel like things are moving fast. Of course, you’re also at the risk of crashing at any moment, but you only take yourself down if you do. As you grow, you graduate to a commercial flight. You’re farther from the ground, and more people’s lives depend on you, so you need to consider your movements more carefully, but you still feel in control and can turn the plane relatively quickly. Finally, you graduate to a spaceship, where you can’t make quick moves and the course is set long in advance, but you’re capable of going very far and taking tons of people along for the ride.
  • A complex system that works is invariably found to have evolved from a simple system that worked. Complex system design from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
  • Culture is how things get done, without people having to think about it.
  • Call them what you want pods or squads or pillars, but cross-functional product development groups are a popular structure for a good reason. By putting everyone who is needed to make a project successful together in one group, you help the members of those teams focus on the project at hand, and you make the communication for the whole group much more if active.
  • Organizations that design systems, are constrained to produce the designs which are copies of the communication structures of these organizations.
  • The most important lesson I’ve learned is that you have to be able to manage yourself if you want to be good at managing others.
Books

Book club in our engineering team – Stealing Fire

TL;DR

In this short post I’ll tell you:

  • how we implemented our fourth book club idea in our engineering team
  • what book we read
  • how we liked it,
  • and share a few key takeaways

You can read all about our other book clubs here:

  • 1st – The Phoenix Project (has way more info on how we’re doing it)
  • 2nd – It doesn’t have to be crazy at work
  • 3rd – Pragmatic Programmer

⚠️ If you’re thinking that there’s no time to read the books, check this post on the math behind reading 30 books per year. If you think that this book club thing is cool, and you’d want to be a part of the group that’s ‘allowed’ to read ‘on the job’, shoot me an email 👍

THE BOOK

This time we read the Stealing Fire: How Silicon Valley, the Navy SEALs, and Maverick Scientists Are Revolutionizing the Way We Live and Work.

Here are the Amazon and Goodreads ratings:

DATA POINTS

  • avg(time to read) = 10 hours
  • avg(liked the book) = 6.1 / 10
  • avg(liked the book club) = 8.7 / 10

In general, we didn’t quite like the book, and there was even a vote to stop and switch to another one. In the end, we persevered and thus such a high score for the book club itself.

KEY TAKEAWAYS

  • We find the book interesting, but also really scary as it left us wondering what the 1% of 1% are doing to achieve the flow state
  • A good part of what we’re habitually doing online is more to forget ourselves for a moment than inform ourselves for the long haul
  • Time (and how to make the most of it) appears to be about five times more important to us than making love or money
  • These days, we’re drowning in information, but starving for motivation.
  • When a Harvard Medical School study confronted patients with lifestyle-related diseases that would kill them if they didn’t alter their behavior (type 2 diabetes, smoking, atherosclerosis, etc.), 87 percent couldn’t avoid this sentence. Turns out, we’d rather die than change.
  • Eric Schmidt became Google’s CEO because he attended Burning Man
  • We process more information when unconscious
  • Surfing can get you in the flow state
  • This book is like a commercial for drugs
  • Eight weeks of meditation training measurably sharpened focus and cognition
  • If coffee isn’t considered cheating, what makes smart drugs any different?
  • Animals seek out drugs
  • Slack prevents us from reaching (and staying in) the flow state
  • It costs $25,000 to turn an average Joe into a combat-ready U.S. Marine.
  • In 2014, EDM represented almost half of all concert sales, attracting a quarter of a million concertgoers at a time and drawing the attention of Wall Street investors and major private equity firms.
  • Eight weeks of meditation training measurably sharpened focus and cognition
  • Absolutely terrified knowing the final outcome of the Pied Piper story
  • Stimulating the front part of the lobe causes visions of God
Books

Too many books, not enough time

TL;DR

How about instead of just adding more new books to our read pile (and even more to the never-ending to-read pile), we revisit our list of the books that we’ve read and in 2020 we not just re-read them, but study them?

!TL;DR

Quotes are great

“The greatest satisfaction comes from mastering something that is truly difficult.”
~ Abraham Maslow

A positive fact

All of us are readers in this group, and we had to go through a lot of content to find the one that’s valuable. We can think of that as a process of getting the signal from the noise.

A sad fact

Even though we read a lot of books (and we may be looking into techniques to increase that number), we are not oblivious to the fact that there are just too many books and not enough time. Moreover so, we realize that after a certain amount of books that we’ve read in a certain category, the new ones are just not yielding the same ROI (I being the ever so slightly limited time). Most of them feel like they’re rehashing the ideas and are just geared toward the ‘current’ generation.

A little bit of math

Consider for a moment that we read 60 books per year (A lot, right? Well, here’s the math behind reading 30 in a year). What if, in 2020, instead of just adding new books to the read pile, we set a goal only to read 30 (half of that, so adjust your math accordingly, please). But with a twist.

The twist and the ?

What if we revisit all the books that we’ve read in our career so far and commit to not only re-reading them in 2020, but actually studying them? So that we won’t just know ‘oh, yeah, I read that somewhere in the XYZ book,’ but instead we’ll have the actual book in RAM if you will (with UPS, of course). Sure, I’d reserve a slot for 10 new ones just in case 🙂

For added points, please proceed here

I’d love to hear what you think about the idea presented above 🙏. And also, I’d like to learn what were the signal vs. noise books in your career so far? To not make this into some long list, let’s cap it at five books.

So how about you, mister?

OK, OK, thought I’d get away with it 😎, here’s my entry:

  • Leadership and self-deception
  • Time management made simple
  • How to win friends and influence people
  • Think and grow rich
  • Little prince

Conclusion

One thing is definite: our time. Let’s use it as effectively as possible by reading the books that bring the biggest bang for the buck.

Books

Scrum: The Art of Doing Twice the Work in Half the Time – Jeff Sutherland

Here are my notes from the practical book Scrum: The Art of Doing Twice the Work in Half the Time.

Several of us were reading it as a part of a ‘smaller book club’ and we all echoed the same feeling about the book: we love it and will not only look to apply it in the work environment but also at home in our personal lives.

Ingredients for scrum

  • Product Owner
    • What and Why needs to be done
    • Knows the market, the customer and has a vision
  • Team (3-9 people)
    • Decide on the Who and How
  • Scrum Master
    • Coaches the Scrum framework and removes waste
  • Create and prioritize the Backlog
    • Constantly evolving
  • Refine and estimate the Backlog
    • Planning Poker with Fibonacci sequence
  • Sprint planning
    • Team, Scrum Master, and the Product Owner
    • Always of fixed length (from 1 to 4 weeks in general)
    • Velocity
      • Sum of points done in one Sprint
    • Sprint goal
      • Everyone has to agree on one sprint goal in the Sprint
  • Scrum board
    • Has lanes ToDo, Doing, Done (we use Clubhouse)
  • Burndown chart
    • Chart showing a number of points done per day
  • Daily Stand-up or Daily Scrum
    • 15 min max meeting where you answer three questions:
      • What did you do yesterday to help the team finish the Sprint?
      • What will you do today to help the team finish the Sprint?
      • Is there any obstacle blocking you or the team from achieving the Sprint goal?
  • Sprint review or Sprint demo
    • Show what was done in a Sprint
      • Show what’s totally finished by the DoD (Definition of Done)
  • Sprint retrospective
    • What went right?
    • What could have gone better?
    • What is the improvement in the process that we as a team can implement right away (in the next Sprint)?
    • The process should be blameless – we’re looking at the process, not people!

Takeaways per chapter

  • CH #1 – The way the world works is broken
    • Planning is useful. Blindly following plans is stupid.
      • It’s just too tempting to draw up endless charts. All the work needed to be done on the massive project laid out for everyone to see – but when detailed plans meet reality, they fall apart. Build into your working method the assumption of change, discovery, and new ideas.
    • Inspect and adapt
      • Every little while, stop doing what you’re doing, review what you’ve done, and see if it’s still what you should be doing and if you can do it better.
    • Change or die
      • Clinging to the old way of doing things, of command and control and rigid predictability, will only bring failure. In the meantime, the competition that is willing to change will leave you in the dust.
    • Fail fast so you can fix early
      • Corporate culture often puts more weight on forms, procedures, and meetings than on visible value creation that can be inspected at short intervals by users. Work that does not produce real value is madness. Working product in short cycles allows early user feedback and you can immediately eliminate what is obviously wasteful effort.
  • CH #2 – the origins of Scrum
    • Hesitation is death
      • Observe, Orient, Decide, Act. Know where you are, assess your options, make a decision, and act!
    • Look outward for answers
      • Complex adaptive systems follow a few simple rules, which they learn from their environment.
    • Great teams are
      • They are cross-functional, autonomous, and empowered with a transcendent purpose.
    • Don’t guess. Plan, Do, Check, Act.
      • Plan what you’re going to do. Do it. Check whether it did what you wanted. Act on that and change how you’re doing things. Repeat in regular cycles, and, by doing so, achieve continuous improvement.
    • Shu Ha Ri
      • First, learn the rules and the forms, and once you’ve mastered them, making innovations. Finally, in a heightened state of mastery, discard the forms and just be – with all the learning internalized and decisions made almost unconsciously.
  • CH #3 – Teams
    • Pull the right lever
      • Change team performance. That has much more impact – by several orders of magnitude – than individual performance.
    • Transcendence
      • Great teams have a purpose that is greater than the individual; e.g. burying General MacArthur, winning the NBA championship.
    • Autonomy
      • Give teams the freedom to make decisions on how to take action – to be respected as masters of their craft. The ability to improvise will make all the difference, whether the unit is reporting on a revolution in the Middle East or making the sale.
    • Cross-functional
      • The team must have every skill needed to complete a project, whether the mission is to deliver Salesforce.com software or capture terrorists in Iraq.
    • Small Wins
      • Small teams get work done faster than big teams. The rule of thumb is 7 members ± 2. Err on the small side.
    • Blame is stupid
      • Don’t look for bad people; look for bad systems – one that incentivizes bad behavior and rewards poor performance.
  • CH #4 – Time
    • Time is finite. Treat it that way.
      • Break down your work into what can be accomplished in a regular, set, short period – optimally 1 to 4 weeks. And if you’ve caught the Scrum fever, call at the Sprint.
    • Demo or die
      • At the end of each sprint, have something that it’s done – something that can be used (to fly, drive, whatever)
    • Throw away your business cards
      • Titles are specialized status markers. Be known for what you do, not how you’re referred to.
    • Everyone knows everything
      • Communication saturation accelerates work.
    • One meeting a day
      • When it comes to team check-ins, once a day is enough. Get together for 15 minutes at the daily standup, see what can be done to increase speed, and do it.
  • CH #5 – Waste is a crime
    • Multitasking makes you stupid
      • Doing more than one thing at a time makes you slower and worse at both tasks. Don’t do it. If you think this doesn’t apply to you, you’re wrong – it does.
    • Half-done is not done
      • A half-built car simply ties up resources that could be used to create value or save money. Anything that’s “in process” costs money and energy without delivering anything.
    • Do it right the first time
      • When you make a mistake, fix it right away. Stop everything else and address it. Fixing it later can take you more than 20 times longer than if you fix it now.
    • Working too hard only makes more work
      • Working long hours doesn’t get more done; it gets less done. Working too much results in fatigue, which leads to errors, which leads to having to fix the thing you just finished. Rather than work late or on weekends, work weekdays only at a sustainable pace. And take a vacation.
    • Don’t be unreasonable
      • Goals that are challenging our motivators; goals that are impossible are just depressing.
    • No heroics
      • If you need a hero to get things done, you have a problem. Heroic effort should be viewed as a failure of planning.
    • Enough with the stupid policies
      • Any policy that seems ridiculous likely is. Stupid forms, stupid meetings, stupid approvals, stupid standards are just that – stupid. If your office seems like a Dilbert cartoon, fix it.
    • No assholes
      • Don’t be one, and don’t allow the behavior. Anyone who causes emotional chaos, inspires fear or dread, or demeans or diminishes people needs to be stopped cold.
    • Strive for flow
      • Choose the smoothest, most trouble-free way to get things done. Scrum is about enabling the most flow possible.
  • CH #6 – Plan reality, not fantasy
    • The map is not the terrain
      • Don’t fall in love with your plan. It’s almost certainly wrong.
    • Only plan what you need to do
      • Don’t try to project everything else years in advance. Just plan enough to keep your teams busy.
    • What kind of dog is it?
      • Don’t estimate in absolute terms like hours – it’s been proven that humans are terrible at that. Size things relatively, by what breed of dog the problem is, or T-shirt size, or, more commonly, the Fibonacci sequence.
    • Ask the Oracle
      • Use a blank technique, like the Delphi method, to avoid anchoring biases such as the halo effect or bandwagon effect or just plain stupid groupthink.
    • Planing poker
      • Use planning poker to quickly estimate the work that needs to be done.
    • Work is a story
      • Think first about who will be getting value from something, then about what it is, and then why do you need it. Humans think in narratives, so give them one. As an X, I want Y, so that Z.
    • Know your velocity
      • Every team should know exactly how much work they can get done in each Sprint. And they should know how much they can improve that velocity by working smarter and removing barriers that are slowing them down.
    • Velocity x Time = Delivery
      • Once you know how fast you’re going, you’ll know how soon you’ll get there.
    • Set audacious goals
      • With Scrum it is not that hard to double production or cut on delivery time in half. If you do it the right way, your revenue and stock price should double as well.
  • CH #7 – Happiness
    • It’s the journey, not the destination
      • True happiness is found in the process, not the result. often we only reward the results, but what we are really want to reward his people striving towards greatness.
    • Happy is the new black
      • It helps you make smarter decisions. Plus, when you’re happy, you’re more creative, less likely to leave your job, and more likely to accomplish far more than you’ve ever anticipated.
    • Quantify happiness
      • It’s not enough to just feel good; you need to measure that feeling and compare it to actual performance. Other metrics look backward. Happiness is the future-looking metric.
    • Get better every day – and measure it
      • At the end of each Sprint, the team should pick one small improvement, or kaizen, that will make them happier. And that should become the most important thing they’ll accomplish in the next Sprint.
    • Secrecy is poison
      • Nothing should be secret. Everyone should know everything, and that includes salaries and financials. Obfuscation only serves people who serve themselves.
    • Make work visible
      • Have a board that shows all the work that needs to be done, what is being worked on, and what is actually done. Everyone should see it, and everyone should update it every day.
    • Happiness is autonomy, mastery, and purpose
      • Everyone wants to control their own destiny, and get better at what they do, and serve a purpose greater than themselves.
    • Pop the happy bubble
      • Don’t get so happy that you start believing your own bullshit. Make sure happiness is measured against performance and if there is a disconnect, be prepared to act. Complacency is the enemy of success.
  • CH #8 – Priorities
    • Make a list. Check it twice.
      • Create a list of everything that could possibly be done on the project. Then prioritize it. Put the items with the highest value and lowest risk at the top of the backlog, then the next, and then the next.
    • The Product owner
      • She translates vision into Backlog. She needs to understand the business case, the market, and the customer.
      • Has knowledge of the domain and the power to make final decisions. Is available to answer questions and is accountable for delivering value.
    • A leader isn’t a boss
      • A product owner sets out what needs to be done and why. How the team accomplishes it and who accomplishes it is up to the team.
    • Observe, Orient, Decide, Act (OODA)
      • See the whole strategic picture, but act tactically and quickly
    • Fear, uncertainty, and doubt
      • It’s better to give than to receive. Get inside your competitors OODA loop and wrap them up in their own confusion.
    • Get your money for nothing and your change for free
      • Create new things as long as those new things deliver value all stop be willing to swap them out for things that require equal effort. What in the beginning you thought you needed is never what is actually needed.
  • CH #9 – Change the world
    • Scrum accelerates all human endeavors
      • The type of project or problem doesn’t matter – Scrum can be used in any endeavor to improve performance and results
    • Scrum for schools
      • In the Netherlands, a growing number of teachers are using Scrum to teach high school. They see an almost immediate improvement in test scores of more than 10%. And they’re engaging all sorts a few students, from vocational to gifted.
    • Scrum for poverty
      • In Uganda, the Grameen Foundation is using Scrum to deliver agricultural and market data to poor rural farmers. The result: double the yield and double the revenue for some of the poorest people on the planet.
    • Rip up your business cards
      • Get rid of old titles, all managers, all structures. Give people the freedom to do what they think best and the responsibility to be accountable for it. You’ll be surprised at the results.
Books

Book club in our engineering team – Pragmatic Programmer

TL;DR

In this short post I’ll tell you:

  • how we implemented our third book club idea in our engineering team
  • what book we read
  • how we liked it,
  • and share a few quotes that we liked

You can read all about our other book clubs here:

  • 1st – The Phoenix Project (has way more info on how we’re doing it)
  • 2nd – It doesn’t have to be crazy at work

⚠️ If you’re thinking that there’s no time to read the books, check this post on the math behind reading 30 books per year.  If you think book club thing is cool, and you’d want to be a part of the group that’s ‘allowed’ to read ‘on the job’, shoot me an email ?

THE BOOK

  • This time we read the Pragmatic Programmer

DATA POINTS

  • avg(time to read) = 6 hours
  • avg(liked the book) = 6.9 / 10
  • avg(liked the book club) = 8.8 / 10

KEY TAKEAWAYS

  • Quality is a team issue – the team as a whole should not tolerate broken windows
  • Treat the documentation the same way you treat your code
  • Prototypes are disposable and shouldn’t go into production
  • Crashing early makes life a lot easier when debugging code
  • Decoupling is good, but as a group, we don’t subscribe to the idea that your software needs to be so flexible that swapping out databases would just be as easy as changing a line of code
  • Shell is way more powerful than GUI
  • Don’t be a slave to old code, always be ready to refactor
  • Don’t refactor and change functionality at the same time
  • Take the time to spell out connectionPool instead of cp
  • Treat code as gardening
  • “Why” is more important than the “what” – don’t blindly duplicate existing workflow when translating into code from manual processes
  • Try not to be a slave to the methodology
  • Overengineering is as bad as under-engineering
  • Premature optimization is bad
  • Making a project glossary to save time later on looking for acronym translations is a good idea
  • The code should have comments, but too many comments can be just as bad as too few
  • Attaching codenames to new projects/features is cool
  • Tailoring your message to the audience is an important skill to have
  • Don’t tell your boss that it’s done until it’s tested
  • Finding bugs early in the process saves money in the long run
  • Learn a new language every year, and read a tech book every month and read non-tech books as well
  • The word deadline comes from a line in prisons which if crossed by prisoners they’d get shot
  • The book is mostly a refresher of techniques/ideas that we already know – new book coming out for 20th anniversary
Books

The Coaching Habit – Michael Bungay Stanier

Here are my notes from a very practical book The Coaching Habit by Michael Bungay Stanier:

The book covers 7 questions:

  • Kickstart: What’s on your mind
  • AWE: And what else?
  • Focus: What’s the real challenge here for you?
  • Foundation: What do you want?
  • Lazy: How can I help?
  • Strategic: If you’re saying yes to this, what are you saying no to?
  • Learning: What was most useful for you?

  • The essence of coaching lies in helping others and unlocking their potential

  • If you need to have a lead in phrase, consider using: ‘out of curiosity’
  • Three vicious circles that plague our workplaces: overdependence, getting overwhelmed, and becoming disconnected.
  • Ask people more questions and give less advice
  • 45% of our waking behavior is habitual
  • If you spend too much time imagining the outcome, you’re less motivated to actually do the work to get there.
  • Think less about what your habits can do for you, and more about how this new habit will help the person or people you care about.
  • Charles Duhigg says that there are just five types of triggers: location, time, and emotional state, other people, and immediately preceding action.
  • I will ask just one question and then be quiet while I wait for the answer.
  • Coaching for performance is about addressing and fixing a specific problem or challenge. Coaching for development is about turning the focus from the issue to the person dealing with the issue, the person who’s managing the fire.
  • 3P’s: people, projects, patterns
  • The brain accounts for only 2% of the body weight, but it uses about 20% of the energy
  • The first answer someone gives you is rarely the only answer, and it’s rarely the best answer.
  • The brain counts like this: one, two, three, four…lots.
  • Stop offering up advice with a question mark attached. That doesn’t count as asking the question. If you’ve got an idea, wait. Ask, “And, what else?”, and you’ll often find that the person comes up with the very same idea that’s burning a hole in your brain.
  • The simple act of adding ‘for you today’ to the end of as many questions as possible is an everyday technique for making conversations more development than performance oriented.
  • Stick to the question starting with “What” and avoid questions starting with “Why”.
    • Why did you do that? => What were you hoping for here?
    • Why did you think this was a good idea? => What made you choose this course of action?
    • Why are you bothering with this => What’s important for you here?
  • The single biggest problem with communication is the illusion that it has taken place. ~ G.B. Shaw
  • 9 universal needs based on Marshall Rosenberg: affection, creation, recreation, freedom, identity, understanding, participation, protection, subsistence
  • Five times a second, at an unconscious level, your brain is scanning the environment around you and asking itself: it’s safe here, or is it dangerous?
  • After asking a question, just patiently wait for an answer.
  • Based on Karpman, there are three archetypal roles: victim, persecutor, and rescuer
  • While talking nod your head, make encouragement noises and maintain
  • Being busy is no measure of success
  • The essence of strategy is choosing what not to do. ~ Michael Porter
  • Acknowledge the reply of a person by saying, “Yes, that’s good”, instead of just going into another question.
  • People don’t really learn when you tell them something. They don’t even really learn when they do something. They start learning, start creating new neural pathways, only when they have a chance to recall and reflect on what just happened.
  • This is why, in a nutshell, the advice is overrated. I can tell you something, and it’s got the limited chance of making its way into your brain’s hippocampus, the region that encodes memory. If I can ask you a question and you generate the answer yourself, the odds increase substantially.x
  • What have you learned since we last met?
  • So, what was most useful here for you? What did you find most valuable about this chat? What worked best here?
  • Finish on a high note, and you make everything that went before it look better.
  • “Before I jump into a longer reply, let me ask you: What’s the real challenge here for you?
Page 1 of 121234»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