Agile Careers

 

Jim ("Cope") Coplien is an old C++ shark who now integrates the technological and human sides of the software business as an author, coach, trainer, and executive consultant. He is one of the founders of the software pattern discipline, and his organizational patterns work is one of the foundations of both Scrum and XP. He currently works for Gertrud & Cope, is based in Denmark, and is a partner in the Scrum Foundation. He has authored or co-authored many books, including the recently released Wiley title, Lean Architecture for Agile Software Development. When he grows up, he wants to be an anthropologist. 

Log in to register a comment.

Subscribe here.

Blogs Blogs
The Whole Person

My friend Lizette is very conscious of the "parts" of her life: her family, work, and spirituality. She carefully balances all three and takes time to reflect on the balance. Sometimes she consciously leaves them out of balance in the short term with an eye to catching up in the long term — but the point is, it is a series of conscious choice rather than whims of the moment that define her. Lizette is a whole person.

It's important to me to think of myself as an integrated, whole person. It isn’t like there is a Me who goes to work and a Me who is at home with family and a Me who is involved in community. Though home life has its holy moments and absolutely begs sacred time, I don’t change my values according to life’s settings. While you're at work, you're still You. It’s still your life. It isn’t a lesser Me that is at work than is at home, because it’s the same Me, just doing something different.

Looking at life from this integrated perspective makes work-life a bit more worthwhile. This perspective has consequences. It brings spirituality and humanity to one’s work, and problem-solving discipline to the domestic stage. A professional engagement isn't just a job; it's a relationship.

The tricky part is the interference between family and work. Though it's hard, with discipline it is wonderful to work together with loved ones. Unfortunately, modern society often frowns on this as "bringing work home," but that vision is based on the isolated and probably unsustainable prosperity of the 1950s. In her book “Everyday Revolutionaries,” Sally Helgesen compares 1950s life in the midwestern US with its modern counterpart, and looks in particular at the role of women in shaping the community fabric.

Much of U.S. culture still clings to this 1950s ideal of the woman at home and the man at work, with each of them leading two different lives. But for much of human history the family has had a much closer relationship to the wage-earner than we found in the 1950s or even contemporary times. Farmers, innkeepers, and soldiers have always known this. Here in Denmark, the professional woman is a fixture of culture, and it’s always a pleasure to run into partners who are partners.

One place the issue of work and personal identities looms large is in how your employer’s values reflect your own. As has long been true in most professions, every act has ethical repercussions. Engineers must consider their impact on the environment, on how their work effects neighborhoods, and how their software enhances or erodes social ecosystems. Consider the relationship between social networking and contemporary political events, for example.

But on a humbler scale, do your corporation’s values reflect your own? I once worked at a company that asked me to remove error checks from our software because it was more important that the client believed our code wasn’t destroying millions of dollars worth of their data, than that we suffer the embarrassment of the code stopping when it detected an internal problem. Whether they actually justified that practice to their own selves or whether they left their scruples at home, I don’t know. There is grave danger here. It is not only our personal lives which shape our professional behavior, but it is our professional behavior that publicly shapes and speaks for our core selves.

It isn’t that corporations are socially responsible or immoral. People are. It comes down to you. Change your company — and yourself — for the greater good. Be yourself.

Re-Making Yourself

You won’t believe this, but within five minutes of sitting down to write this article I received an email from LinkedIn announcing that 141 of my contacts had changed jobs during 2010. At that rate I guess that, without LinkedIn, I’d lose touch with just about everybody after four years.

I remember signing up for a job for life in the Bell System in 1979. I was probably one of the last to have any hope of hanging on to that illusion. Many old saws underscore the need to be agile with one’s career vision. Nils Bohr admonishes us to be careful about predicting things, particularly if they involve the future.

We’re told that the only thing that is certain in life is change. You'll likely change careers many times — I was lucky with only five successions: from software engineer to process researcher, university professor, electronic design automation engineer, and organizational consultant. It's not only about having a new job, but a new vocation — again and again. Today a remarkably small fraction of my work relates directly to software. I’ve changed tack every two to three years, and have changed ships about every seven.

On the other hand, the more things change, the more they stay the same. More and more of commercial technology practice is driven by fads than by sound engineering. Those who roll through the fads and who prosper and lead across successive generations of technology are those who don’t let the fads distract them. The key is to focus on the timeless ideas.

I have found that attentiveness to these core concerns will serve you well. Armed with these, you’ll roll through change. They can help you rise above change. They can even help you to help those around you manage change.

Fundamentals are always important. Those who “move up the technology ladder” too easily lose touch with the reality of the physics beneath them. Many times have I seen an idealistic designer create an ingenious logic design that would consume enough watts of power to burn itself to a crisp. I remember Jack Manley admonishing me that even digital design depended on the analog circuitry beneath it.

Systems thinking must be a tool in every engineer’s toolbox. More than just “problem-solving skills,” systems thinking sees beyond the solutions of a specific engineering discipline to embrace the broader problem context, including non-technical considerations. A broad education and rotational assignments through your firm can help.

In the end, it’s always about people. Without a human focus, your working relationships and engineering results are unlikely ever to reach their full potential. Charlie Ranous taught us these things back in Engineering school in the 1970s. We found it tedious at the time; today, I understand the power of the seeds he planted back then.

Bran Selic reminded me of a quote from Albert Einstein: "Concern for man himself and his fate must always constitute the chief objective of all technological endeavors...in order that the creations or our minds shall be a blessing and not a curse to mankind. Never forget this in the midst of your diagrams and equations."

As I discussed in my previous blog, a well-developed skill set in aesthetics, and a sense of beauty, are both timeless and increasingly relevant in engineering. Stephen Perin suggested a quote from Gustave Eiffel: “Must it be assumed that because we are engineers, beauty is not our concern?”

Plan on re-making yourself every seven years or so. But stand on a firm foundation. Be a timeless engineer, and roll through the fads.

Ars Gratia Artis

I love to engage in these occasional debates about whether computer science is really a science or not, or whether software engineering has anything to do with engineering. (My personal opinions on those matters are 80 percent “no” and 90 percent “no” respectively, but that’s another topic.) Some claim that programming is an art, and most pundits say that engineering has at least some artistic component. I’d go even further and insist that to pursue an engineering career apart from any infusion of the arts is to deny a large part not only of who you are as an engineer, but as a human being as well.

Engineers often live up to their stereotype of being narrow and deep. That stereotype probably worked well in the days of complicated problems: building bridges, designing circuits, and other pursuits that required man’s ingenuity over nature. Today’s engineer is being asked more and more to face complex problems: urban planning, aerospace and aeronautics, ecological engineering, and many other fields at the core of modern economies. Where human beings are an integral part of the system, problems grow beyond being just complicated to being complex.

Steve McConnell pointedly notes that “Engineering without art can be ugly, but art without engineering can be impossible.” (IEEE Software 18(2), March / April 2001, p. 9) He ranks creative design foremost in our mission as engineers.

I remember when my high school teacher, the late Ed Anderson, first surprised us with his exhortation that power engineers should be as attentive to the design of graceful electrical transmission towers as to the associated problem of transmitting energy efficiently — or, better yet, to further technology to keep transmission lines out of sight. That was at the end of the ecologically conscious 1960s. The market of the past 50 years has largely proven him prescient.

In today's market, the interesting problems are rarely those deep technical challenges that we are proud to solve on a college exam, but are rather system problems. Whether you are an engineer, a researcher, or a manager, your endeavors eventually touch people, and people always add complexity to a system. Formal models and tools exist to help manage complexity, but mastery of complex systems is much less related to technology than engineers armed themselves with two generations ago.

You can’t study everything, but conquering complexity requires first a human outlook, then a social perspective, and finally a grounding in the arts. A good liberal arts education can raise your awareness about the human side of the world and about what matters to people. A grounding in user experience reveals why the design of a computer interface (or any machine interface) is important and why it is hard. Psychology has everything to do with good computer system design. Literature and history can offer you cultural perspectives that make it easier to work into a shrinking world market. Architecture can help you articulate the complexity of design.

It’s not easy. While Alexander’s work in architecture paved the way for advances in the expression of software design, the foundations of his pattern theory were not easily absorbed by engineering minds. Patterns have become a blurry shadow of what they might have been if engineers had more been able to remove themselves from their engineering mindset and take an artist's mantle.

In short, get a good liberal education, whether you're in college or 80 years old. Find your niche in the arts and throw your heart into it. If more than 50 percent of your college courses or hobbies are nerd stuff, you're probably not an engineer, but just a technician.

Build on Your Strengths

Society holds up many ideals of what is good and acceptable, and we all want to be good and accepted. We tend to set goals based on these ideals and set out to attain them, whether overnight or bit by bit. We often honor these social ideals for their own sake and become frustrated if we can't learn, or adapt, social interaction styles. However, to focus on our weaknesses, particularly as defined by social norms, is a crude, coarse view of career.

Engineers are always on the lookout for problems to solve, finding them and then countering them with solutions. It’s what we’re trained to do. So when we think of our career progress we often think of the obstacles and impediments, usually euphemized as “challenges” or “opportunities.”

And as engineers, we want a complete solution. To be lacking in any area is to leave a problem unsolved, and that leaves us unsettled in our soul. If we are poor communicators, we are told — by ourselves, our professors, and our bosses — that we must improve that.

Well, guess what. I’ve known lots of lousy communicators who were great engineers. Engineering is not just a communication discipline. That’s part of it, but it takes a cornucopia of talents to be a perfect engineer. Some of us are better at some of these things than others. We are all different.

Because we are all different, no one of us alone is likely to master every talent in the book. Most engineers still try, striving to become good at things that don’t come naturally. For many, this is the prime outlet of their career development energy.

However, it makes sense to focus on improving your weaknesses only if you believe one of two things: that you are bad at everything you do, or that you view yourself always as working alone. Let me explain.

Few engineering jobs call for a solo virtuoso. Sadly, a classic university education focuses on individual talents and accomplishments. Engineering curricula tend to be better than most in promoting teamwork, but the larger shadow of academic culture still looms large. Most Western corporations reward individuals.

One powerful way to compensate for your handicaps is to partner with others; it’s sometimes called teamwork. Most of the time, pairing up with just one other person who is different from you is enough to cover the bases. The detail-oriented, precise Dennis Ritchie and people/programmer-focused Brian Kernighan paired up to pen the original C programming language book, which still stands as one of the best programming texts ever. I myself have been involved in writing several texts, and in retrospect over the past 20 years, there is a strong correlation between the quality of the book and the fact that it was written by two authors, not one.

But there is an even more basic career strategy here. In laying out your career, build on things you are good at rather than improving things you're not good at. To do otherwise is to waste your energy needlessly. People succeed when they build on their strengths. Perhaps by focusing on our weaknesses we attain a balanced existence of mediocrity. Those who keep improving their strengths stand out and excel. And, remember: a great many social conventions have been proven wrong after surviving as a fad for years or decades.

So, yes: work on getting better, but focus on the impediments that keep you from doing your best at what you’re best at. That’s likely the real you, anyhow — would you want to be anyone else?

Break the Rules

John F. Kennedy said, “Conformity is the jailer of freedom and the enemy of growth.” Or, put another way: To make an omelette, you need to break a few eggs. A good career aims for the greatest good, and sometimes you can't get there by following the paths that others have laid out for you to follow. Let’s talk about breaking the rules.

Before someone accuses me (or Kennedy) of being an anarchist, let me say that most of us should obey most of the rules most of the time. Rules exist to help us run on autopilot most of the time so society can function in a more or less sane way. They keep us from having to spend too much time analyzing every situation. On the other hand, many trade unions in the 20th century knew how to handle labor grievances. One way was to declare a work stoppage. The other was to make sure that all union employees followed all management rules literally, which slowed things down as much as a work stoppage would have.

There is a fascinating relationship between leadership and breaking the rules. There are two views of leadership. The first is the military view: a manager who commands people who have no choice but to obey. The second view is more that of a servant leader and of followers who do have a choice. In the end, everyone does have a choice — even if that choice is as mundane as choosing to suffer the consequences of insubordination.

There are two kinds of servant leaders. One kind leads people through territory that he or she already knows. That’s a job, not a career. Even a teacher who fails to challenge his or her students, teaching only by rote, isn’t really following a teaching career. The other leads people into unknown territory — unknown to the leader. That at least means going outside the rules, and sometimes bending or breaking them. That’s a trailblazing career. Anything else is just a job.

Here, of course, we must be carefully attentive to ethics. A hallmark of maturity is knowing when and when not to break the rules. Rules usually come from reasonable people who have overall harmony at heart. It pays to understand these rules’ deep intent, and to carefully ponder whether breaking the rules may cause damage in a way the rules’ framers intended to avoid. The best indicator is your own moral compass. The second best indicator is knowledge — or perhaps just hope — that breaking a rule is in fact for the greater good.

As a career professional, you must always be prepared to face the consequences of breaking the rules. Expect some pain if either your moral compass or your for-the-greater-good predictor are proven wrong. On the other hand, hope to receive the accolades for a job well done if you’re proven right; hence, the popular management saw that it’s easier to ask forgiveness than to ask permission. Jerry Weinberg says, “There is no failure — only feedback.”

Managers can help instill that perspective in their organizations. Support your people in breaking the rules now and then. And help the culture to nurture the evolving understanding of rules as they change—because they will. And good professors know that a university is a wonderful "safe" environment for students to practice breaking the rules.

George Bernard Shaw said, “The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.”

Break the rules.

Do the Right Thing

Career decisions are often value judgments, whether they are day-to-day decisions about managing people or your own work-life decisions that can make or break a promotion or even threaten your job security. Some decisions are bound to be unpopular with at least someone in your institution, family or group of friends.

The pressure to make popular decisions is strong. I’ve found over the years that doing the right thing is a long-term winning strategy even when short-term expediencies tempt us.

Doing the right thing has two parts: Doing, and the right thing. A common disease that I see along the entire reporting chain from executives to coders is abdication. We feel that no one can blame us for a decision we don’t make.

Abdication takes many forms. I recently watched an executive assistant defend the CEO from having to consider his reports’ input about urgent problems. The assistant didn’t want to waste his valuable time on that. What a tragedy to hide problems from the company’s most powerful problem-solver. Decisions entail value judgments, and no judgment is bad judgment.

Another sinister form of abdication is empowerment. A study at Rutgers (of GM, Honeywell, Pitney-Bowes, AT&T, and DuPont: see Ronald E. Yates, “Employee Empowerment Efforts Found to be Weak,” Chicago Tribune, December 26, 1995) found that empowerment distributes autonomy ineffectively.
Empowerment breaks down trust networks and increases hierarchy. The buck should stop with the boss.

That doesn’t mean that the boss dictates work, but it does mean making the tough decisions when called upon. The IEEE has a code of ethics and its very first stipulation is that you accept responsibility in making these decisions.

Empowerment isn’t what you do to become agile, because its very presence presumes haves and have-nots with respect to power. Good self-organization removes the very need for empowerment.

Then there is the second half of Doing the Right Thing: the issue of right. I hear many arguments about whether right means right for ROI or right for the employees or right for the world as a whole. It’s important to focus on overall value. Any manager and any employee should be able to answer to what they value. Many enterprises (even the IEEE) try to enumerate their values, perhaps just in case someone happens to forget one.

It’s easy to oversimplify these issues, as any human system is a complex system. But that doesn’t stop you from doing the right thing. Most of “the right thing” is common sense—but it is more fluid than may appear at first glance.

The theologian James P. Carse describes life as a series of "Finite and Infinite Games" (Ballantine, 1987). A finite game seeks to establish a winner and a loser, the purpose being that the winner receives the accolades of an audience. Finite games have fixed rules designed to bring the game to an end and to define the criteria for winning, for achieving value. Chess, football, getting a university degree, and promotions are finite games.

But value is more complex than this. In an infinite game, the goal is to keep playing the game. There are rules and value propositions, but there are rules for changing the rules. Think Calvinball. Right is about the social process that defines it.

Every finite game is played in the context of an infinite game. Carse defines evil as playing an infinite game as though it were a finite game. There is only one infinite game. It’s sometimes called career. It’s also called life.

Change the World, a Bit at a Time

Welcome to this new blog, where I’ll be sharing with you about life and career. We probably don’t know each other yet, but maybe that can change in a small way in this space. I think a lot about people, my relationship to them, and our collective relationship to our world and to history. Don’t expect me to prattle about this generation’s industry fads here. This is about bigger things.

This first installment, entitled Change the World, sets the tone for the rest. To make a career from your calling is to change the world. If you're not changing the world, it's not a career: it's just a job.

You probably didn’t learn how to change the world in school, and your orientation meetings at work probably didn’t cover that either. You probably think I’m going to suggest making a long-term career plan to become a CEO who can influence a big company, or getting a patent that helps cure cancer.

Goal-setting is big these days. But it rarely happens like that. Life happens a minute at a time and a person at a time. Changing the world is about small things in the moment. Honesty in small things is no small thing, as we say in Denmark.

It’s not a choice: you can't help but change the world. The autumn butterflies here in Denmark really do affect the hurricanes off the American coast. Every selfless—or selfish—act at school or work affects dozens of people, each of whom in turn touches dozens more. Just look, and you’ll notice it.

As I wrote as guest editor of an IEEE Software issue in 1999, the work of computing professionals is woven into the fabric of society. We put our pants on one leg at a time; we write code one line at a time. We don’t view each one as changing the world. But the lines add up, each one contributing its small bit. This perspective captures the sentiments of the architect Christopher Alexander, who would say that communities grow through millions of selfless acts of thousands of individuals. What it means to earn your place in history isn’t to become one of The Greats, but to be fully human.

Engineering history offers plenty of evidence for this. Who invented the telescope? Photography? The telephone? History usually honors a single individual because it wrongly ascribes progress to individual genius. The anthropologist Kroeber points out that each of these was “discovered” independently by two or three people within the same year (Alfred Kroeber, Anthropology: Culture, Patterns and Process, 1948, p. 140).

Millions of earlier selfless acts accumulated in the fullness of time. We have the thousands of individuals of the preceding decades and centuries to thank for that.

It is, however, important to know where you fit in. Contemplate how your actions affect your customers, and beyond, to your end users. Think of how your actions open and close doors for your colleagues: the everyday stuff.

The bad news is that you must become more attentive to the details at work, ever comparing today with yesterday. That implies measuring yourself not by how much you know, but by the rate at which you are learning.

The good news is that you don't have to be a rock star to change the world. The few opportunities the world has given me to change its course haven't come as I stand at the tiller, but as the breath of my voice adds to thousands more to fill the sails.

Let’s change the world.

Showing 51 - 57 of 57 results.
Items per Page 10
of 6