Posts in category 'Learning'

  

Remarkable Books Series

I am an avid book reader, always looking for inspiration, ideas, and insights. Over the last year I have read a number of inspiring books, each one containing at least one key takeaway that sticks with me. I think that sharing these insights here on my blog would be useful, but the idea of writing [...]

Minimum and Optimal Thresholds of Competence

People naturally have varying levels of ability in the different aspects of their work (and life). These varying abilities are often divided into two categories: strengths and weaknesses. In the reading I have done in the literature on personal improvement, employee performance management, and entrepreneurship I have come across widely differing advice on how to [...]

How to Become an Expert Developer

What if I told you there was only one activity you needed to do to become an expert, high-performing software developer? You might be doubtful of my claim. Yet this is exactly the finding reported in the book Talent Is Overrated by Geoff Colvin. Across multiple professions research points to the same activity as being [...]

Lessons Learned Championing Continuous Improvement

For over one year now I have been championing continuous improvement across multiple teams. I have seen and struggled with various problems, some of which I have seen reoccur time and time again, and I have identified successful strategies for dealing with some of these issues. In this article I present my lessons learned in [...]

Using Rotations to Develop Expertise

This article continues on from my prior article Improving Computer Science Degrees for Software Developers on the topic of better methods of developing expertise as software developers in the work place. The original inspiration for these articles is the post Master Craftsman Teams by Robert C. Martin in which he proposed a formalized development path [...]

The Core Skills All Software Developers Need

Software development spans a wide gamut of technologies (e.g. C, Java, and Ruby) and environments (e.g. embedded, desktop, enterprise, web, computing infrastructure, and scientific). Despite all the variation, I believe there are core software development skills that you must possess in order to be an effective developer across most, if not all, of these different [...]

Improving Computer Science Degrees for Software Developers

Two recent experiences prompted me to think deeply about how software developers start out in the field and develop their expertise.
The first experience was reading an article by Uncle Bob titled Master Craftsman Teams. Bob’s main point is that the current model of developing expertise based on entering the field with a four year [...]

How to Always Get Better: A Framework for Continuous Improvement

If you believe like I do that organizations must develop a culture of continuous improvement in order to flourish, then the question is how to achieve this. Throughout my career and especially in the last few years I have promoted effective software development practices and a philosophy of learning and growing as a professional. I [...]

Continuous Improvement Experiments

If, like me, you believe strongly in championing continuous improvement then an obvious question is how exactly can continuous improvement be implemented? One answer I have come up with is something I call continuous improvement experiments – CIE for short.
What is a Continuous Improvement Experiment?
The idea is simple: a CIE provides guidance via a formalized [...]

Becoming a Champion of Continuous Improvement

I am pleased to announce that I am a Champion of Continuous Improvement.
The story of how I became such a champion starts a few months ago when I spent some time reflecting on my mission / purpose / vision as a professional software developer and architect. I was inspired to do so by two sources. [...]

Personal Development for Software Developers

I am a big believer in the value of personal development, especially for software developers. I have already written a a number of articles relating to personal development, most of which focus more on professional development for your career. The full scope of personal development, however, is much broader. It is applicable to all aspects [...]

A Love of Learning

I recently attended a convocation ceremony at the University of Alberta for the Faculty of Medicine and Dentistry where I noticed one theme that was emphasized throughout the ceremony: life-long learning. The speakers emphasized that the graduates should strive to remain eternal students, keeping the passion and excitement about learning and their profession that they [...]

Lessons Learned in 2006

As a proponent of perpetual learning, I like to periodically take the time to reflect on what I have learned. Looking back at this past year, I definitely expanded my understanding in a number of areas based on my experiences at work and at home.
My most significant growth was in the area of personal productivity: [...]

Personal Learning by Doing

As part of my series on personal learning, I’ve previously written about learning via online reading and reading books. Reading websites and books is a good strategy for gaining knowledge, but works poorly for gaining skill at doing something. Your ability to retain the information you read is also greatly increased when you actively use [...]

Personal Learning via Reading Books

My previous article on online reading described how I use online resources for personal learning. Online articles are usually short and provide only shallow coverage of a topic. To delve deeply into a subject, I find that books are much more effective. Books are easier to read than a computer screen, and can be read [...]

Personal Learning via Online Reading

As I wrote previously in my article on Personal Learning, one of my goals is to stay abreast of new technologies, trends and other changes in our industry. Since this information is often published online, I just need to read the websites providing this information. I want to use my time as effectively as possible: [...]

Personal Learning

My prior article on Learning in the Workplace discussed how to take advantage of learning opportunities at work. However much you learn at work, there are limitations on what you can do. Seldom do you have free reign to study any topic that catches your interest for as long as you want. This is why [...]

Continuous Improvement

After writing my article on Perpetual Learning, I came across the same concept in the book Core Performance Essentials by Mark Verstegen and Pete Williams (a fitness and nutrition book). To quote from the book: “It’s like the Japanese concept of Kaizen, which we translate in this country as ‘continuous improvement’. In America, we tend [...]

Learning in the Workplace

As I discussed in my earlier article on Perpetual Learning, I think it is important as a professional to always be growing and learning. If you work full-time, you’ll have less time to spend learning at home, especially if you have other demands on your personal time (i.e. family). So you need to be able [...]

Perpetual Learning

As I stated in my article on What is Professional Software Development one characteristic of professionals is growth: they are constantly seeking to improve and grow. This is especially important in the software field due to the rapid change brought on by the constant introduction of new versions of existing technologies and completely new technologies [...]