People are the most important success factor in any size technical company. Even start-ups need solid management to support their people and solid tools to support their managers. It’s important to build in some amount management structure and focus to ensure that the company retains its valuable employees. Although the information in this paper is specific to technical employees – and most specific to software development and other software professionals - the concepts are applicable to all employees regardless of skill set or background. Good management is critical in any company.


In a software development company, workers are the only real assets. The loss of any key engineer is a blow to the company. In a small company – and especially a start-up - every worker is a key worker. Retaining employees requires excellent management, even in the post-dotcom era. Stellar engineers will often follow trusted managers from company to company. Of course there’s no way to put a management treatise into a short subject paper, but the basics are consistent and straightforward. Each person must be treated and evaluated fairly and consistently. Identifying and correcting performance problems is essential to the morale of all employees – no one wants to be picking up after others when there’s already more than enough work to go around. Professional development, including career path and education, must be addressed for each employee. Finally, from a practical perspective a solid base must be created in order to avoid any legal problems.


Define job levels and pay grades The first step in developing good management practices is to hire and pay consistently. In order to do this well, the company will need job titles and/or levels, and descriptions for each level. The description should describe the expectations of the job at the specific level – assignment types, skills and skill levels, education, and experience. There should be a pay range for each level to (public or not) to ensure that employees of similar skills are paid at a comparable level. (No matter what management thinks or directs, employees almost always discuss pay levels and stock options with peers.)


Regular communication with each employee is crucial. Employees have differing communication needs – some will need weekly meetings with their manager or team lead, others like drive-bys, still others just prefer to find and talk to their manager when they feel the need. The key is to determine each person’s preference and try to accommodate it. Some people will simply want to use the manager as a sounding board; others will want regular performance feedback and direction. Still others want to know that things are going well. If managers in the company are too busy to keep up this kind of communication with each direct report, work should probably be re-allocated. In any case, reviews should be held no less frequently than yearly, and nothing in a performance review should ever be a surprise. People need to know when they’re performing well and when they need improvement, and should always receive sufficient opportunity to make improvements after receiving feedback.

Professional Development

All employees want (and deserve) professional development. Unfortunately for managers, professional development means different things for different people and a formal development program is often not practical for a small or rapidly growing company. There are, however, some fairly easy things that each manager can do to ensure that employees feel their development needs are recognized, even if the needs cannot be met immediately. It’s important for the manager to determine the needs of each employee and to be able to offer advice on how to proceed with development. For some employees, development simply means promotion to the next level. These people will need to be coached to perform at the next job level (one of the places the job descriptions are very useful) in order to be promoted. For others, development means expanding certain skills to a greater depth – more expertise in a particular technology, for example. Once these needs are understood the manager can use job assignments, technical mentoring, and outside classes to help the employee gain the expertise. For some employees, development means expanding to a greater breadth – gaining new skills in new (but associated) functional areas. Again, job assignment, mentoring, and classes can help the employee obtain this breadth. Finally, some employees will want to develop skills to move into another job area entirely. This is a much slower process and needs to align with company goals and needs, but should involve identifying the skills necessary to move to the job area and providing assignments and classes to help gain those skills. For all of these development needs, the manager and employee should come up with some sort of plan. Such a plan is not a contract with the company, just a loose direction to help keep moving in the right direction. Review the plan and needs regularly – quarterly is good – because people and circumstances change.

Career Progression

To prepare the company for growth as well as to aid in employee development, it’s very useful to establish a career progression for each technical function. For example, development engineering typically has either 4 or 5 levels, from junior to very senior and ending at architect. Using job descriptions, it’s fairly simple to plot out the skills progression from level to level. This helps employees to determine what’s needed to reach the next level (and to decide whether the next level is something for which they’d like to aim – often job responsibilities include more staff/administrative skills and activities at higher levels, and not everyone is interested in the change). It also helps management determine whether more employees are needed at different job levels and whether current employees will be able to fill the needs.

Reviews and Assessments

Each employee should receive a written assessment at least yearly. Usually, these assessments are tied to pay raises, stock grants, and promotions. The job descriptions should be the basis for the reviews so that all employees are confident that they are being assessed against the same baseline as their peers. Unless performance is unsatisfactory, reviews should focus on positive gains as well as areas for growth. The reviews should be given to the employee verbally as well as in written form, and each person should have the chance to respond to their own review. Self-reviews can be extremely useful as well – people are usually much harder on themselves than managers will be, and the self-review is an excellent vehicle for discussion. The bottom line, though, is that nothing in a review should be a surprise. As noted earlier, regular communication is key.

Any serious performance problems should be addressed when they occur and should be documented in writing (email is fine) after discussion with the employee. Serious performance problems should be followed up on at least weekly until they are resolved, or further action needs to be taken. A performance plan policy will help ensure that this happens in a consistent manner. Delaying discussions with the employee will cause morale problems both for the employee with the performance problem and with the employee’s peers; it is very important to deal with the problems as quickly as possible.

Rewards and Recognition

Rewards and recognition are an important part of employee morale. Here again, everyone is different in their needs and preferences for rewards and recognition. Some people thoroughly enjoy being recognized in a group setting, in front of their peers. For others this type of recognition is excruciatingly embarrassing. Be sure to understand each person’s preference before recognizing them in public. For others stock and monetary rewards are motivating factors rather than recognition before their peers. In any case, look for reasons to reward employees. Everyone thinks of public praise and monetary awards when considering recognition; however, there is a host of other ways to reward good work. The accomplishment doesn’t need to be huge to gain a pat on the back. Think about parking places, spa trips, coffee house gift certificates, and other small rewards for accomplishments. For engineers, a reward involving toys is often worth far more than the cost of the toy (either electronic gadgetry or actual toys). Sometimes an unexpected afternoon off is worth more than any amount of money. Be creative, and match the rewards to the person and to the effort involved.