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 [...]
Posts in category 'Learning'
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]
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 [...]
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 [...]
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- Add Comment
- No Comments
- Permalink
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. [...]
- Add Comment
- No Comments
- Permalink
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 [...]
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 [...]
- Add Comment
- No Comments
- Permalink
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: [...]
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 [...]
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 [...]
- Add Comment
- No Comments
- Permalink
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: [...]
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]