Tag Archives: Management

Office Worker Essentials

A century ago the majority of people were employed in manual labor: either on a farm or in industry. A small minority worked as professionals. They were the early knowledge workers. Their primary tools were the pen and paper. How times have changed. Today every knowledge worker has a myriad of tools at their disposal and they are expected to master them.

This is the first article in the series on Starting in a Software Development Career.

You have to work with at least two office tools: email and calendar. First things first: resist the temptation to use your office email for personal messages. The company owns, operates, or at least pays for the email system. It should be used only for company business. Find an email provider that you like (Google Mail, Yahoo!, iCloud, Outlook.com, etc.) and sign up for a free account (if you haven’t already done so). Use this account for your personal messages. Even though you will end up with two email boxes and two calendars, you are still better off keeping company business and your personal business separate. This applies to you if the other email is your school or college email, not work.

Setup filters for your incoming email that tag (and sort) your mail. This allows you to focus on the more important messages (either because you tag the important ones, or filter out the less important ones). Setup shortcuts, or just learn the ones your email system already has, that allow you to move the messages quickly into your email archive or the trash bin. Use filters to retrieve tagged messages from the message archive.

A good email habit to get into is to check your messages just a few times a day, only when you are ready to process them. Processing your messages means that you look at the message, and decide on the spot what to do about it. If you can complete the work required by the email in less than 30 seconds, then do it right then. If you think that it will take longer, then schedule time on your calendar to get the work completed. If you need to keep it for reference, then tag it and archive it. Otherwise, delete it. 1

Keep your calendar current with all your scheduled activities. Attempting to keep meetings and appointments in your head will sooner or later result in missing one. Add calendar entries that reserve time for doing your work to ensure that nobody schedules you for something else when you need to focus. Most calendaring apps allow you to color code your calendar to see at a glance what your day or week looks like. Pick 4 to 6 categories, assign colors to them, and color your calendar entries accordingly. You’ll be surprised how much faster you will grasp what your day or week looks like.

As you attend meetings and talk to your colleagues have a notebook so that you can write things down. You will come across well organized and dependable as a result. People will trust you more if they know that they can count on your listening to what they are saying, taking notes, and following up on requests or action items.

For your engineering work, keep a separate engineering notebook where you record your engineering thoughts, sketches, theories, and observations. For both of these uses there are good electronic notebooks for laptops and tablets. If you are not comfortable having everything online or you can’t quite feel that the electronic pad can capture everything that you want to sketch, then you may still want to have a paper notebook. Always date your notes; it is a practical habit to adopt to ensure that you can also find your ideas if at least you vaguely remember when you thought of them.

There is a good chance that your workplace will also have a corporate wiki for collaboration and knowledge management. You need to learn how to use one and get used to working with it regularly. Wikis are a great way to collaborate with your colleagues even if they are in the same office with you (because writing will clarify your thinking), but especially across time (asynchronously) and geography (especially long distances). For more on how to use a wiki see: What Makes a Good Wiki and What Makes a Good Wiki Page. In addition to the collaborative editing aspect of every wiki page, the comments and highlighting on every page are a useful collaboration tool, too.

Another element of every person’s life (both personal and work) is online chat, also known as messaging. In the work setting chat has been elevated from idle diversion to the status of a useful productivity tool. Chat channels are used for connecting people around a common projects, interests, or locations. To be a successful chat user, you must learn how to manage your chat-driven interruptions. There are times when you may not want to be interrupted by chat messages. Let your team know this in advance. Tell them when you are available, so that they can count on you. Most messages do not require immediate attention. A workable strategy is to let people know that if it’s urgent, they should use some other method to contact you, like a phone call, etc.

That takes us to one of the oldest office tools: the telephone. For most software developers the telephone lives on as a device for conference calls, though even in that aspect is getting replaced by online voice and video calls or tools like GotoMeeting and join.me. Since these days you are not likely to get a lot of voice messages, I recommend that you check your messages before you leave for the day; you never know, it might be from somebody important.

In almost every knowledge worker role, certainly most roles in software development, from time-to-time you are expected to prepare and deliver presentations. Learn how to use a presentation software, be it PowerPoint, Keynote, Slides, or anything else that your workplace standardizes on. You need to know at least how to: (1) edit and create presentations, (2) put the presentation software in full-screen presentation mode from the beginning and from the current slide, and (3) pick the appropriate screen for displaying your presentation. Practice these skills for a few minutes every week until your learn them, or at least practice it before you present. Make sure that you practice with the equipment that you will present with. Since there is a good chance that you don’t present a lot, during those few occasions when you do, you will have a lot of eyes on you as you fumble with your computer, projector, or the cables that connect them together.

Plan your work and work your plan. It is an old adage and it still holds true. Avoid the desire to make a perfect plan. Your goal should be to make a plan that can guide your work. A good plan will warn you when you are getting off track. When you cannot make a plan for the work, that’s a sign that at this time you may not know enough to do that work. This can be either an opportunity or a problem: if you realize this early, you may still be able to learn what you need to know, but if you find out late that you are lacking critical knowledge, then you might not be able to complete your work on-time. Then you have to ask for help. For details on how to plan, see my earlier post: Brief Introduction to Personal Planning.

Whenever you accept to do any work, even as simple as a task, part of that work is to report the completion of that work to whomever gave it to you. Or, if the work takes more than a day, then it is a good idea to agree ahead of time how often you are expected to report on the status of the work. If it takes more than two days to do, then identify smaller chunks of work that you can complete in a day or half-a-day. As you work through the first few tasks, you will have a better idea about how the work is going. And, you’ll be able to report on your progress.

Lastly, learn to touch-type and dictate. Most software developers spend a great deal of their time in front of the keyboard. Thus it is a very useful skill to learn how to type without having to hunt and peck for every key on the keyboard. Typing at a respectable 30 to 50 words-per-minute is within everybody’s reach.

Dictation used to be a skill reserved for top executives. Today voice recognition is built into almost every mobile phone and computer. As a result, it is possible to dictate to the computer what in the past you would’ve had to type. However, dictation is a skill that needs to be learned. Learn how to do this and you will save yourself a great deal of typing. (As you may have guessed, I dictated part of this post.)

Look through the above list, pick something that you feel you should do next and get going on it. You will enjoy getting more effective, more productive, and you might also have some fun along the way.


  1. For more on processing your messages, see *Getting Things Done*, by David Allen.

Resources for a New Manager

The life of a new manager is full of challenges. You, like many people before you, might’ve gotten into this role without any management training. This article aims to assist you in building your own management curriculum to help you on your new journey.

The job of a manager is very different from the job of an individual contributor. As a manager, you are responsible for your entire team’s work, not only your own. You are accountable for the performance of your organization. You have to enable your team to produce more jointly then what they would be capable of producing alone.

According to Peter Drucker, the guru of modern management, the five elements of management are:

  1. Set objectives
  2. Organize
  3. Motivate and communicate
  4. Measure
  5. Develop people

All of the elements above are important. Unfortunately, many managers get themselves so busy that they forget about developing their team and themselves. As a manager, you get your work done through other people. And this means that you’ll be meeting with people, both formally and informally most of your time. Here are some of the meetings that you’ll need to have to succeed:

  1. Weekly one-on-one meetings with each one of your direct reports. An important part of this meeting is developing the people who report to you.
  2. Weekly project review meeting for all projects that are your responsibility.
  3. Weekly staff meeting with all your direct reports. The purpose of this meeting is to ensure that your entire team is on the same page with the issues that affect your organization.
  4. Monthly department staff meeting (if you have multiple managers reporting to you). During this meeting you have a chance to communicate with the entire organization those topics that pertain to all of them.

The following are resources that you can benefit from as you are developing yourself and your team.


The following podcasts are excellent learning resources:

Manager Tools: Mark Horstman and Michael Auzenne have been producing this podcast since 2005. They provide ready-to-use, practical, and detailed advice on topics ranging from “How to do a handshake” to “How to do your one-on-ones.”

Career Tools: Also by Mark & Mike of Manager Tools. Detailed, practical advice on managing your career one day at a time.

HBR Ideacast: published by the Harvard Business School, provides commentary and advice on a variety of business topics.

Management Books

There are many books targeting the new manager, so picking one is not so easy. Here are some to help you get started:

First, Break all the Rules, by Marcus Buckingham and Curt Coffman. The authors report the findings of a multi-year Gallup survey. Their book represents the conclusions drawn from interviews with eighty thousand managers representing one million employees. Their teams sifted through the data to find which criteria separate the best from the rest. Their advice helps you focus your first actions, and provides a roadmap of what to concentrate on as a manager.

The 7 Habits of Highly Effective People, by Stephen Covey. Free Press. 2004. The undisputed front-runner work  with lessons for developing yourself and your team. Covey’s words of wisdom are just as true today as they were over 20 years ago when he wrote them.

The Essential Drucker, by Peter Drucker. Harper Paperbacks. 2008. This is a good summary of Drucker’s work. He is the “guru of gurus” when it comes to management. He is able to clearly articulate topics that others struggle mightily with. You learn from him about just about any management topics that you will come across during your career. Feel free to pick up any other book by him, including one of the thickest ones, called: Management.

For more books look on my reading list.


Magazines may be old media, however the following have good web editions as well. The Harvard Business Review keeps you up-to-date with both academic and hands-on practitioner articles. The Strategy-Business magazine adds to the mix consultant written articles with sound advice. The Economist magazine keeps you up-to-date on world business and politics.


There is an abundance of material available to help you become a great manager. Commit yourself to using them. You may have a lot to learn, however it will be a lot of fun. It is only appropriate to end with Drucker’s advice to all of us: you accumulate knowledge with one reason in mind, to use it to help your team get better results:

The ultimate test of management is performance. Achievement rather than knowledge remains, of necessity, both aim and proof.

Peter Drucker

Humans, Multitasking, and Context Switching

The modern age demands from all of us to deliver more in shorter time. The easy solution to this problem is to multitask. However, as an article by Roger Brown points out: “Multitasking Gets You There Later.” At the bottom of the article he provides a good list of references as well.

Even if you manage to keep yourself and your team focused on one project at a time, you still have to ensure that you keep your day “defragmented.” Let’s suppose that you intend to do 6 hours of work today on your project. You can achieve the 6 hours total if you work:

  1. 40 blocks of time, 9 minutes each, or
  2. 4 blocks of time, 90 minutes each.

You will get way more done working the 4 blocks of 90 minutes. The simple reason is that you have minimized your context switches. Therefore you could focus on the task and finish it. Don’t take my word for it: try it out yourself today.

Effective On-Task Time

Software development is knowledge work. We use knowledge, take input as knowledge, and the output we produce is knowledge. Our output is executable knowledge. According to Peter Drucker, the 21st century’s defining characteristic is knowledge work. We, software engineers, are right in the middle of it. Drucker writes that manual worker productivity during the 20th century increased 50 times. He admonishes us to improve knowledge worker productivity during this century as much as we improved manual worker productivity during the last century. He postulates that the developed nations of the future will be those that will make their knowledge workers productive.

Unfortunately, we seem to have a hard time measuring productivity. Economists have a straightforward measure of productivity: the value of the output divided by the time required to create it, expressed in dollars per hour. We need to figure out how to make this definition operational for software developers. A component of this measure is time.

Let’s start with Effective On-Task Time or EOT. This is the time that you spend creating the deliverable that is the target of your task. You keep this number pure, devoid of anything that didn’t directly contribute to the output. Your objective is to measure the time that the task took. You can find references to the concept of “Task Time” in a number of places. Watts Humphrey writes that “task time is what engineers spend working on scheduled tasks.”

And herein lies the heart of the matter: EOT is about working on something that you planned to work on. It is about your ability to meet a commitment. The plan is your commitment. The time that it took to complete the task is reflective of your ability to understand the work required to meet that commitment.

EOT doesn’t include time for any activities that don’t matter to the work of creating that deliverable. The interruptions from your co-worker, phone calls, and breaks don’t count. Some of the activities may tangentially work toward it, but your objective is not to account for every minute, but rather to count those distinct minutes when you know that you are moving the needle forward.

At the end of the day, EOT matters first and foremost for you. It helps you understand how good you are, how well you understand your work. It builds your confidence. When you repeatedly make aggressive plans and meet them, you know that you are becoming the engineer that you always wanted to be: outstanding.


Mastering Deadlines

In Living with Constraints, I touched on a topic that is on the mind of software people: managers and developers alike. The time constraint, also known as “The Deadline” is of particular angst for some technical people.

Many people have a fear of deadlines. They are as frightened by them, as they are of speaking in public. For developers, the mastery of both can be a critical success factor. For managers, they are a survival skill.

What happens if you have a problem with deadlines? Maybe right now you have difficulty meeting the deadlines thrown at you, and you have given up on being able to meet them. Not meeting deadlines can be detrimental to your business and your career. So, how do you get out of this?

The age old advice is right on the mark: start out by setting small deadlines that you can meet. Get early wins. The only way you can get better at meeting deadlines is… by actually setting and meeting deadlines.

Along the way it helps if you remind yourself as to why are you doing this: you are getting better at meeting deadlines, because deadlines are nothing more than commitments. The world runs on commitments. Both your business and personal life depend on commitments. Your ability to succeed depends on your ability to make and meet commitments. Other people count on your output. You shouldn’t let them down. And you count on commitments from others. Once the chain reaction of missed commitments and deadlines starts, the endeavor can spiral out of control.

What is a good first commitment? Select a deliverable that can be done in 30 minutes or less. Make a commitment to yourself at the beginning of the day that you complete the work by the end of the day. That’s your first deadline. Here is an example: “I provide feedback to John on the white paper by 5 pm today.” Repeat this for a week.

Once you successfully meet your deadline every day for a week, then set yourself a slightly more ambitious goal. Make the next deadline one that involves between 5 to 10 mini deadlines to deliver on a more complex deliverable (requiring about 5 hours of total work). Then work yourself up to 20, 40, 50 hours of commitments involving many intermediate deadlines. Meet each one, and see your confidence grow.

As you set and meet commitments the word will get out that you are a person to trust with projects. You will become every more successful. And you will see your career take off.


PS: The Deadline is a book of fiction by Tom DeMarco. The author illustrates many issues surrounding software development. The main character of the book, Mr. Webster Tompkins, the project manager, sets up three teams for each product to develop the same system with different methods. Make time to read it.