Previous column

Next column

Professional development

John D. McGregor, Clemson University and Luminary Software LLC, U.S.A.

space COLUMN

PDF Icon
PDF Version


Nothing is more strategic than having the personnel with the appropriate skills to execute whatever strategy executives devise. In our business this is made particularly difficult because of the rapid changes in available technologies and techniques. In this month’s issue of Strategic Software Engineering, I want to talk about the strategic importance of professional development activities and maintaining personnel’s currency. I will also put in just a small plug for attending SPLC 2006 (


To put it mildly I am on a few mailing lists. In particular I am on some mailing lists that announce conferences. It seems that everyday I receive roughly 10 announcements of, or the inevitable extension to deadlines for, professional conferences. Some conferences are very general in nature and some are very specific. All of them are working to assemble a group of professionals to share new information and to discuss the topics that are the focus of the conference. Some of the conferences are aimed at cutting edge research and some at showing how new ideas can be applied. All of them will have a mix of long-time community leaders and first time explorers.

I set aside Friday evenings for many years as my “new technology” night. I would download a new tool or write practice problems in a new language. Many industry friends simply could not understand why I did this when I did not “need” the new technology for an immediate project or class. Professional development is an investment, when you need it, it is too late to get it. Some of the ideas I have tried out have been useful later and some have not.

In a previous column I discussed “community” [McGregor 06]. Professional development is a responsibility of the individual but communities have a responsibility to facilitate development activities as well. In fact, ACM recognizes this responsibility in their Code of Ethics and Professional Conduct [ACM 06]. Communities provide the expertise to induct new members into the community by providing tutorials, special issues of journals that survey a research topic, and web sites. Some of the communities are like-minded professionals while others comprise employees of the same company.

This column is in reaction to some of the people I have encountered in my travels recently who are professionally dead. They do what they are told to do but with no thought. They aren’t sufficiently current on new techniques to recommend changes in their company’s development method. They are not strategic about their own careers, they live day to day, not looking ahead.

As general conference chair for the Software Product Line Conference (SPLC) 2006, I have spent this year focusing on the professional development needs of the software product line community. Professional development is the nourishment of a community. In this column I will explore some of the possibilities for professional development and the implications for professionals and companies.


There are many actions that can be referred to as professional development activities. I don’t intend to present a catalog of activities but I will discuss a few representative types of activities.


Technology transfer through training classes, informal brown bag lunches, and mentoring are traditional forms of professional development. Technology companies usually have a training office, but too often these offices focus on procuring and scheduling formal courses. A much smaller number of companies have formal mentoring programs. Sun’s SEED program is one successful example [Sun 06]. Mentoring programs are very focused and personalized to the needs of the mentee.

The advantage of training programs over some of the other activities described below is the interaction between the instructor or mentor and the students. Students can tailor the training to their needs by asking questions rather than relying on FAQs or other canned presentations. Members of the ACM can access thousands of courses and books through the Professional Development Center [ACM 06b].


There is a hugh amount of professional literature. If you have come into software development through something other than an undergraduate program in some form of computing, the literature may seem overwhelming. The Software Engineering Body of Knowledge (SWEBOK) is actually a guide into the literature and an invaluable resource for navigating the mound of material [IEEE 06].

I am as bad as anyone about having a stack of paper copies of journals that I haven’t had time to read, or even scan. The ACM Digital Library and the IEEE Computer Society provide electronic versions of many publications. These convenient electronic forms can be searched easily for specific information, but I stay with the paper copy. Why? If it is electronic, I would search for specific things and I would ignore anything I didn’t need at the moment. I would miss articles about new topics that I didn’t know to search for.

The internet has added a dimension to professional development. More information is available more rapidly than ever before. But, getting incorrect information more quickly is not a good thing. ACM, IEEE CS, and other more traditional outlets serve two functions: dissemination and filtering. When I read a paper published by a professional organization, I know that other more knowledgeable professionals have read and evaluated the paper before me. There are many good sources of material on the net but every professional has to evaluate the validity of their sources of information.


Serving as a member of a program committee or refereeing for a professional journal contributes to an individual’s professional development as well as being a contribution to the community. Doing a professional job of refereeing a paper requires, not just time, but a breadth of knowledge and a good search engine. A referee will often have to track down references to work (s)he views as similar or better. I almost always either am reminded of something I had forgotten or learn something new when I review a paper. Often I end up reading parts of the papers referenced in the work I am reviewing. The act of refereeing sharpens my skills and at least refreshes, if not enlarges, my knowledge base.


Contributing to the literature or a conference is a form of professional development that benefits many people not just the one making the contribution. I have helped a number of my clients write papers for the first time and to prepare to present them. I, as I am sure many of you, have found that writing a paper expands my understanding of the topic, often beyond what I set out to write. Getting an explanation clear requires that you thoroughly understand the topic. I often write a paper only to throw it away and start over because the act of writing changed my perspective and I have to rewrite to accommodate this new perspective.

There are outlets for any type of writing a professional wishes to do from reviewed publications such as the Journal of Object Technology to ACM’s less formal Software Engineering Notes and trade publications such as Dr. Dobb’s Journal. There are conferences that accept 95% of what is sent them and those that accept 10%.


Several of the previous categories can be summarized as “participating.” Conferences provide a venue for many of the types of development discussed in this column. Conferences provide for the rapid dissemination of validated information. SPLC 2006 will this year present nearly 20 high-quality research and experience reports, but that’s not all. A number of professionals have agreed to participate in panels. Two of these panels will ask the participants to use a model problem and apply their techniques to that problem. This allows the conference attendees to evaluate differences in approaches and to learn what a panelist would do in a particular situation.

Conferences provide the attendees with the opportunity to particpate in tutorial sessions usually given by industry leaders in that field. SPLC 2006 has 16 tutorials ranging from introductory tutorials on the general topic of software product lines to advanced topics such as testing software product lines. Most conferences also provide a venue for research workshops where uncooked research ideas are shared and discussed. SPLC has 5 research workshops this year.

An equally important, but much less formal, activity at conferences is networking -finding others with similar interests. Birds-of-a-Feather sessions allow informal groups to gather and discuss topics in a quieter venue than standing around in the coffee break area. Sometimes these gatherings grow into workshops or even conferences if the ideas catch the attention of a wider audience. Conference organizers facilitate this by providing meeting rooms and other support. SPLC already has two BoFs scheduled with more to come.


Every professional needs to be firmly based in conceptual knowledge complemented by specific skills. Certain types of development are appropriate for long range goals and others for shorter range goals. Training in specific techniques or writing practice programs in a new language is an investment that will payoff in the short term. Conceptual training such as how to use model driven development as a development approach is a long term investment where activities may need to precede actual use by some “pondering” time. Most organizations need a professional development portfolio that balances these two extremes but many take the same short-term view about training that they do about other investments. They go for the immediate payback. I have worked with both types of companies and there is no mistaking a world-class organization in business for the long-term for an organization that just lives to squeak the next product out the door.

Building a professional visibility is inherently a long-term investment. Contibuting and participating in conferences increases your personal, and your company’s, visibility in the community. Contributing to journals or even creating a blog about professional issues also provides visibility. SPLC 2006 has a number of companies that are “supporters” of the conference. This provides visibility for the company and funds for the conference.


Professional development is an investment that involves both the professional and the employer. Even if the employer pays for training courses and provides the time for employees to attend, the professional usually must spend some of their own time to fully delve into new knowledge. With today’s new hires facing decreased lengths of employment with a specific employer and more different companies in their lifetime, personal professional development is a necessary personal investment.

There is risk associated with professional development just as there is with any investment. A company may support forward-looking professional development to the degree that their employees are attractive targets for head hunters. Professional development is an investment that can walk out the door with the proverbial two weeks notice. Mitigate this risk by having an environment that no one wants to leave.


Professional development has been a competitive advantage for many companies. A company that supports professional development will be agile relative to new opportunities and robust in their work. In fact, the company will more fully anticipate these opportunities because of their in-depth knowledge of their community.

Companies that are active in professional development will be leaders in their community. Their personnel will be in demand to share their knowledge. This provides the employer both with an informed employee and visibility within the community.

Professionals who regularly participate in professional development are more mobile and more independent. They are better positioned to make contribution to their organization and to their own careers.

Professional development is a strategic activity for the employees and for the organization. Get a large dose of professional development at SPLC 2006. Get the details at


[ACM 06]

[ACM 06b]

[IEEE 06]

[McGregor 06] John D. McGregor, Communities, Journal of Object Technology, May-June 2006, Vol 5, No. 4.

[Sun 06]

About the author

Dr. John D. McGregor is an associate professor of computer science at Clemson University and a partner in Luminary Software, a software engineering consulting firm. His research interests include software product lines and component-base software engineering. His latest book is A Practical Guide to Testing Object-Oriented Software (Addison-Wesley 2001). Contact him at

Cite this article as follows: John D. McGregor: “Professional development”, in Journal of Object Technology, vol. 5, no. 6, July-August 2006, pp. 17-22

Previous column

Next column