Posts in category 'professional'

« Older Posts   

Bad News Early

For a software development project, when is the best time to communicate to stakeholders bad news like having insufficient budget or schedule? From the behaviors I have observed of some managers and leads, their answer would seem to be “never” – upon learning bad news they hope things will turn out in the end and [...]

Hierarchy of Advice

As an architect over the years I have given a lot of advice, some of it even asked for :) Over time, my choice of words when providing advice has evolved into a very precise hierarchy. Random Thought At this lowest level this is not advice but merely thoughts that are thrown out with very [...]

Deficient Outage Communication by the Alberta Government

Citizens of the province of Alberta, Canada experienced a rare event this summer when a major data center in the City of Calgary experienced a multi-day outage due to a fire. Many I.T. services provided by the Government of Alberta and taxpayer-funded organizations such as Alberta Health Services were hosted in this data center and [...]

Avoiding Outrage Over Outages

When outages – also known as service disruptions – happen to I.T. services, the response from the organization providing the service is the most important factor in determining the level of outrage felt by consumers of the service. Responses can be grouped into three main categories inspired by ITIL: Incident Communication: The information provided to [...]

The Difficulty of Making Good Recommendations

Recently I have been doing an architectural assessment of an application for an organization I have not worked with before. As I have been writing up my findings, I have noticed that the portion of my analysis causing the most difficulty for me is in coming up with recommendations. Why is this? In this context [...]

Most Disturbing Code

One question I often ask when giving job interviews is “What do you find most disturbing when reviewing code?” The answers I receive are especially interesting when compared to the interviewee’s results doing an actual code review: it is rare for them to identify the problems they consider the most disturbing. This lack of congruence [...]

How Should You Feel About Defects

I have recently observed myself and others having a variety of reactions when defects are found ranging between the extremes of elation and despair. How should we feel when defects are discovered? Should this vary by role? Role-Based Attitudes I will first answer this question on a role by role basis, starting with the role [...]

Contribution as a Function of Difficulty

In my prior article on capability for software developers I identified four measures for assessing a developer’s capability. Three of these measures are closely related: the ability to work independent, the amount of assistance provided to team members, and the level of difficulty of tasks that can be handled independently. In this article I examine [...]

Capability for Software Developers

I have recently been wrestling with the problem of clarifying the concept of capability levels for software developers. What does it mean to call a developer junior versus intermediate? How can a developer at one level progress to the next? How do you evaluate the capability of a developer? These questions and more formed the [...]

Would You Trust Your Life To Your Code?

Would you trust your life to your code? It is a simple question that you might find extreme. But is it really? You might argue that the answer to this question depends on the criticality of the software you are producing. Software like the control software for the space shuttle or software to control medical [...]

Evolving my Vision and Mission

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 [...]

100 Interview Questions to Ask Employers

The interview process should ideally be an equal, two-way conversation between the interviewers for an employer and a potential employee. However, speaking as someone who has sat on both sides of the table, it has always seemed to me to be imbalanced towards the interviewers. They control the process and ask far more questions than [...]

Our Mission as Software Developers

What is your mission as a software developer? What motivates you? I recently reflected on my values and goals as a software developer and ended up creating my own personal mission statement. I feel that one of the clauses in my mission is broadly applicable – certainly to my team and department at work, and [...]

Achieving Excellence in Software Development

What is excellence in software development and how can you achieve it? This is a question of interest not only to software developers, but also to managers of software teams. I recent read the book First, Break All The Rules: What The Worlds Greatest Managers Do Differently which provides some great insights into this question. [...]

To Code or Not To Code

To code or not to code, that is the question for senior software developers when they are presented with the opportunity to move into an architect, project manager or team lead position. Rob Walling recently wrote an excellent article titled Why Good Developers Are Promoted Into Unhappiness describing his unsatisfying experiences as a manager and [...]

Top Five Essential Practices for Developing Software

As a software developer what practices do you consider essential? Which practices are must-haves that you would refuse to build software without? I believe that producing good software is hard, and that we software developers need all the help we can get in developing software. I have put together a list of the top five [...]

Are You Doing Enough Coding?

My previous article discussed the question how much do you code?. After thinking more about this, I realized that a more important question is whether you are doing enough coding. How much is enough versus too little? This depends on the reasons why you code. For myself, I can think of several reasons why I [...]

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 [...]

Producing Good Software is Hard

This is a public service announcement to all project managers, business analysts, others working in the I.T. industry, and the general public: producing good software is hard. The next time you wonder why the software you are using crashed, or why your software development project is behind schedule, or why your software doesn’t meet the [...]

ICE Conference Highlights

I recently attended two seminars at the ICE 2006 Technology Conference in Edmonton thanks to my employer CGI. I enjoyed both presentations and regret not attending more. I was able to pull some useful tips and ideas from each seminar that resonated with me. The first session was Lessons for Risk Management Taken from the [...]

« Older Posts