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 [...]
Posts Tagged ‘Learning’
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 [...]
- Add Comment
- No Comments
- Permalink
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
I have always been keen on using automated unit tests since I first heard about them almost a decade ago. I have known about test driven development (TDD) for almost as long but the practice of writing tests first before writing production code never really clicked for me when I first tried it years ago. [...]
- Add Comment
- No Comments
- Permalink
If you are a regular reader you may have noticed that I use guiding statements like a vision or mission to motivate and inspire myself and clarify my future direction. The following articles contain some of my past efforts:
My Vision for IT
Our Mission as Software Developers
Becoming a Champion of Continuous Improvement
I recently drafted new vision [...]
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
This is post number 100 on my website! To celebrate I am going to take a look back at my previous posts. My prior posts add up to approximately 70,000 words or 250 pages – that is the size of a book! At approximately one hour per page that equals approximately six weeks of full-time [...]
- Add Comment
- No Comments
- Permalink
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
I am happy to announce that this is the one-year anniversary of my website! I wanted to take this opportunity to share my observations and lessons learned since my last retrospective after the first three months. Running my website has continued to be an incredible learning experience. I have learned more about building web traffic [...]
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 [...]
This article is a continuation of my previous article on how to do root cause analysis . As I promised, this article provides examples of root cause analysis being performed.
A famous example of root cause analysis is the presidential commission’s inquiry into the 1986 US Challenger space shuttle explosion, particularly the observations of Nobel [...]
Root cause analysis is an important activity whenever a problem occurs – whether it is a defect, an operational outage, or something else. Whatever the problem, your objective should be to not only resolve the issue but also prevent it from reoccurring in the future. To do this, you need to determine the root cause [...]
What’s your process for fixing a defect? What do you do when you are informed that a feature you developed isn’t working to the users’ satisfaction, or even worse fails to work at all? Here’s what I do.
Initial investigation. My goal is to reproduce the reported problem in the application in my development environment. This [...]
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