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 [...]
Posts in category 'Professional'
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 [...]
- Add Comment
- No Comments
- Permalink
I was recently doing some performance tuning and made the surprising discovery that doing less caching in Hibernate actually improved performance in a particular scenario. When I discovered the problem this seemed very counter-intuitive. In fact, my original design maximized the use of caching in order to improve performance, but the opposite happened in practice. [...]
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 [...]
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 [...]
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 [...]
In this section of the Java Unit Testing Tutorial you will write your first unit test and get it to execute successfully.
Tutorial Introduction Previous: Initial Setup
Determine What to Test
Before you can write your first unit test you need some code to test. If you are trying this in your own project, then select a class [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- Add Comment
- No Comments
- Permalink
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, 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 [...]
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 practices [...]
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 [...]
- 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: [...]
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 [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- Add Comment
- No Comments
- Permalink
Integrity and ethics are important components of being a professional. In today’s business environment it is not uncommon for ethically-challenging issues to arise. When working as a consultant, however, the very nature of the engagement can strain even the most seasoned professional. I am not talking about the kind of consulting where the consultant is [...]
I’ve recently updated my vision for this website, which I’ll restate here:
Help software developers learn and grow as professionals.
Increase the level of professionalism in the IT industry.
Make the IT industry a more enjoyable and rewarding field to work in.
Why did I create a vision statement for my website? When I started my website I created [...]
- Add Comment
- No Comments
- Permalink
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 [...]
I recently had an experience that reinforced for me the value of seeking feedback. When I first started creating my website, I invested much time and energy into developing the look and feel. When I finally launched, I was quite pleased with my work. But I didn’t let that deter me from making improvements. A [...]