Talking with Tech Leads

Talking with Tech Leads is a book by Patrick Kua for Tech Leads from Tech Leads. What is a Tech Lead? Patrick defines a Tech Lead as follows: A leader, responsible for a development team, who spends at least 30 per cent of their time writing code with the team. How Tech Leads provide value Tech Leads provide value by: Helping developers code Collaborating with stakeholders outside the team Justifying coding in a sustainable way Communicating business priorities Prioritising team over code Tech Leads prioritise team focus and harmony over writing code. [Read More]

The 4 Best Coding Principles in “Coders at Work”

Coders at Work documents conversations with fifteen great programmers. These four coding principles came up throughout the book as universal principles that are worth adopting: Principle 1 – Keep Code Simple Coding as simply as possible is normally enough to solve most problems. Programs ought to make sense, there are very few inherently hard problems. When you have a hard problem, recognize that there is probably a known solution. Once implemented, use comments to state the purpose and reference source algorithms. [Read More]

3 Career Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – Develop a Knowledge Portfolio “An investment in knowledge always pays the best interest.” Benjamin Franklin Programming is an intellectual activity and the value of a programmer is based on their knowledge portfolio. The portfolio must be built and maintained with regular investment and diversification: Read at least one technical book per quarter Learn a new programming language every year Keep up-to-date with emerging technologies Local user groups are a good way to improve your knowledge portfolio and provide an environment to hear about career opportunities. [Read More]

5 Technical Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – Write Understandable Code Code is read more times than it is written so spend time writing clean code with clear variable names. Add comments when it is necessary to explain why the code is written that way and the decisions behind the implementation. Each software module should be responsible for a single aspect of the system. [Read More]

3 Project Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – There are No Final Decisions “It’s easier to ask for forgiveness than it is to get permission” Grace Hopper There are no final decisions in software construction. Some requirements will turn out to be easy and some impossible. Product managers that ignore this fact will always be shocked when the future arrives and they are left wondering what went wrong. [Read More]

The Art of Innovation - Part 3 - Tips on Brainstorming

In The Art of Innovation, IDEO’s founder Tom Kelley writes his lessons in creativity from years of success through innovation. In this three-part series, I will take you through key takeaways from the book. This third part contains IDEO’s tips on brainstorming to enhance creativity.

7 Tips to Enhance Creativity

  • Act, sketch and mould physically, let the space of the room indicate the development of ideas (fill with paper)
  • Build and jump, let ideas flow then switch viewpoints or move laterally to keep the ideas coming
  • Defer judgement and criticism
  • Number ideas and go for quantity (100 ideas per hour)
  • Perform content related preparation and bring props for inspiration
  • Sharpen the focus outward, start with a well-defined customer need not on an organizational goal
  • Warm up by clearing the mind with a fast paced word game

5 Dangerous Habits

  • Asking experts in the target field gives depth not breadth
  • Bosses speaking first sets boundaries on communication
  • Disallowing silly ideas restricts wild, potentially successful, ideas
  • Forcing turns prevents ideas flowing naturally
  • Recording everything breaks the flow of the brainstorm, assign a scribe and keep the energy

The Art of Innovation - Part 2 - Company Mindset

In The Art of Innovation, IDEO’s founder Tom Kelley writes his lessons in creativity from years of success through innovation. In this three-part series, I will take you through key takeaways from the book. This second part is about how IDEO helps companies to adapt their mindset to become more innovative. Step 1 – Know the Future Innovation happens by looking at what isn’t there —Jake Burton Know the soon to be state of the art. [Read More]

The Art of Innovation - Part 1 - Building Experiences

In The Art of Innovation, IDEO’s founder Tom Kelley writes his lessons in creativity from years of success through innovation. In this three part series, I will take you through key takeaways from the book. This first part is about how IDEO builds product experiences. IDEO uses a Five Step Method. First Understand the market, client and technology. Then Observe for gaps in the market and difficulties that customers face. [Read More]

The 2 Biggest Project Failures from Dreaming in Code

Dreaming in Code by Scott Rosenberg documents the failure of the Chandler software project. Chandler aimed to provide flexible information management. It organised emails and other data sources into a central object store. Intelligent features similar to Lotus Agenda’s “automatic assignment” aimed to predict semantic meaning from text, like automatically recognising events to add to your calendar. Failure 1: Not knowing what you are building The hard thing about building software is deciding what to say, not saying it —Brooks [Read More]

Coders at Work - Reflections on the Craft of Programming

Peter Seibel interviews fifteen programmers about their careers. The concept is based on Writers at Work, a collection of Q&A interviews with novelists. Key points from the book: Read good code to improve There are no silver bullets Testing is useful for protecting complex code Knuth is referenced everywhere, use The Art of Computer Programming to improve understanding Structure and Interpretation of Computer Programs is the best book for learning to program Jamie Zawinski Known for leading Lucid Emacs, developing Netscape on Unix and being a prime mover behind the original Mozilla project. [Read More]