Leading software development in a small software company is different from running a software team in a large company. A manager from a large company who is put in charge at a small firm can run in to big problems. Let’s look at some of the key differences between what happens in large software firms and your experience leading engineering in a small company.
In a large company, support staff handles many of the different routine things.
In a small firm, you are the support staff.
In a large company, the engineering manager reports to another manager up the management chain.
In a small firm, as head of engineering, you report to the CEO.
Continue reading "What’s Different about a Small Software Company?" »
You are frustrated because in the last month, three engineers on your team did the wrong things on the most critical project: The first engineer completed his task, but only using an expensive third party software package. The second engineer had three critical tasks to do and only completed one, along with a lot of low importance features. And the third engineer completed the wrong task because she thought something else was more important. So, questions rattle around in your head:
- Don’t they all know there is a tight schedule?
- What about costs - don't they care?
- How can they spend so much time on non-critical tasks and not get the critical ones done?
- Why didn’t they let me know there were problems?
Rather than calling your team together to express your frustration, you decide to take a walk to think about what to do. You think back to how you gave your engineers their assignments…You caught them in hallway when you saw them getting coffee and you were running to a meeting. None of them had pencil or paper handy and you were in a hurry, so you didn’t have time to really talk about each task and they didn’t come back to ask for more information…
Hmm… Maybe the problem isn’t the team after all. Maybe the problem is my not properly delegating the tasks to the team.
Continue reading "Getting the Right Things Done Right" »
A recent experience reminded me of an older truth – when you are discussing the cost or delivery date of software with your customer:
The first number or date a customer hears is what they will remember.
It doesn’t matter that they pressed you for a rough guess;
It doesn’t matter that you stated assumptions that are wrong;
It doesn’t matter that you set context, conditions, or caveats;
That first number will stick with your customer and be the reference for any other number you provide them later. When you come back with the real estimate and the number is less favorable than your first guess (it almost always is), then you have a problem. Now you are giving the customer bad news, not refined information.
Continue reading "(Mis-) Setting Customer Expectations" »
I remember a brainstorming meeting a number of years ago where my company was looking for new revenue opportunities for our products. The company president was leading the meeting. I suggested an outline of an idea and the president immediately responded with “we have already tried that before and it doesn’t work”, then moved on to request other ideas. My enthusiasm level went down as I didn’t get to complete my proposal. This continued with a few more people suggesting ideas and the president offering instant negative judgments that killed many ideas before they were explored. Ultimately, the brainstorming session only produced a few ideas very similar to what we had already tried.
Fortunately, effective approaches to brainstorming exist. As important as selecting an approach is getting agreement by the participants to use the same approach. Selecting the approach should be the first step at any brainstorming meeting.
To have an effective brainstorming meeting that generates many new and unexpected ideas, follow this rule: Cleanly separate idea generation from idea evaluation. Do this for two reasons. First, idea generation uses a different part of the brain from idea evaluation. When people are critiquing ideas, they reduce their creative abilities.
Continue reading "Brainstorming about Brainstorming" »
Do you remember in your career when you felt exceptionally proud of a work project or effort? Your may have put in extra hours, come up with a great idea, or delivered a high quality product ahead of schedule. Remember when you were last thanked or congratulated for your efforts? If you felt the congratulations were sincere, it probably encouraged you in your next effort.
As a manager, when was the last time that you praised someone working for you for doing great work? Has anyone done really great work for you lately?
Many managers fall into the trap of accepting great work that is done without a comment and get in the habit only speaking up when somebody makes a mistake. This approach encourages cautious behavior instead of encouraging people to push for excellence.
Continue reading "Showing Appreciation for Great Work" »
If you have worked for small growing software companies for any length of time, you will eventually find your company under the microscope by a perspective purchaser. For some rapidly growing companies, you may find yourself on the other side of the table - examining a company you might want to buy. Either way, technical due diligence is required when you examine a software company to assess its value. Real due diligence requires looking at more than the source code and the product. It requires examining all of the company’s intellectual property.
Intellectual property (IP) describes the data and information that you have spent time and money creating. People who wouldn’t think about not having the proper insurance will take huge risks by not protecting their company’s IP. Many small growing companies are so busy getting products together and dealing with the demands of growth they don’t have time to examine how well they are protecting themselves. Even when IP is valued, managers don’t understand the extent of the IP that they need to protect.
Continue reading "Protecting Your Intellectual Property" »
Targeting your Companies
Here is the payoff from Targeted Networking: you now know how to network to get to the companies you want to join. The top ranked companies on your list are your primary targets. With these companies in mind, network to find people in those companies and people familiar with those companies.
Ideally, the people you want be introduced to in these companies are managers in a position to hire; If you are looking for a VP position, then the CEO. However, you should especially talk to employees at the company and people associated with the company to get their perspective. This includes:
- former employees
- vendors & suppliers
Continue reading "Targeted Networking to find a Job– Part 4" »
You need every possible resource working for you while searching for your next job. One such resource is the broadcast message you use to describe yourself and the kind of job you are looking for as you seek out a specific job opportunity. Similar in concept to effective business advertizing, your broadcast message should be working on your behalf even when you’re not there in person. This general message is used to broadcast your availability and value to those that are looking for someone like you. It should be sufficiently brief and simple so that it can be used easily by your friends and networking contacts to pass on your message to others. Your broadcast message, however, is only intended to help you discover possible jobs. Once you uncover a specific opportunity, you will then want to create a message specifically targeted to the needs of that opportunity.
Continue reading "Creating a winning job search broadcast message - Part 1" »
Building the company list
Building a company list is the next step in targeting your networking. With this list, you have identified your target companies, so that you can networking into them.
Having read the earlier articles, you should now have an idea of what you are looking for in a job. Ranking each quality as critical, important, or “nice to have” will give perspective as you are looking for companies with those qualities. This information is useful to rank each individual company to build up your target list.
Continue reading "Finding a Job by Targeted Networking - Part 3" »