Contact Us Today!   |   + 1 (301) 424 3903

Scaling your Software Development Team

Do your senior developers have what it really takes to be a team leader? 

The skills required for each are very different. So! What would be the best thing to do in case you want to promote your star coder to show your appreciation?

Here are some tips from an article on

Allow them to have options

  • ask your web developer if she is prepared for management and if it's the path she is willing to undertake
  • if not then reward them with a pay increase, extra time off or flex time

Find the mentor in them

  • being a great coder, there is a chance that they can help other web developers develop the same skills
  • see if they are open to mentoring other coders
  • bonus: this can help you find and attract the best developers for your company

Open communication between tech and the sales team

  • there is growth when sales people can openly address customer issues to the tech team
  • have developers easily access feedback and customer support questions

Culture screening

  • only hire web developers who fit in to your company culture
  • make sure all team members share the same values at work

Scaling tech teams is very different from promoting people on other departments. It takes having the right person in the right position, knowing what they are comfortable and are willing to do, and having clear communication within the organization.

Let me know your thoughts on promoting senior developers?

Why you want ideal developers on your team

Why is it so important to have ideal developers on your team?

In a survey I did last year 17% of participants said they had incompetent staff on their projects. Which means bad code, more bugs and bad team dynamics. Ouch!

There is a ten to one variance between the worst programmer and the best programmer. And the worst programmers actually have negative ability because they introduce more bugs than they actually produce good code!

Paradox: 85% of a programmers success is due to human factors rather than pure technical skills.

What are the true costs of bad developers?

  • Bad code, more bugs, even server crashes
  • Bad hiring increases turnover cost
  • More management headaches
  • Other team members moral goes down
  • Learning curve and training time
  • Days lost to changing team members in and out

So you are probably asking yourself what is an ideal developer like? 

Ideal Developer

Here is my take on this:

An ideal developer:

  • Writes great programs that users love to use
  • Code is easy to maintain
  • Works well in teams
  • Has few bugs
  • Is good at solving problems in a simple way

But you only find this out once you have hired them. So! I look for character traits that predict this behavior ahead of time in the interview process.

What 7 character traits does an ideal developer have?

  • Humble
  • Curious
  • Honest
  • Communication
  • Coding conventions
  • Lazy
  • Thinking and Planning

For example Humble

  • My brain can’t take in the whole program at once - uses coding crutches
  • Egoless programming - doesn't take their code personally if others need to change it
  • Rewrites complex code to make it simpler to read
  • Gets their code reviewed by another developer
  • Asks for help if stuck for more than 15 minutes on a problem
  • Holds back Murphy’s law with defensive coding methods
  • Gives examples in comments
  • Reference Change Tracker issue# and Description in comments
  • Documents algorithm used in comments

These traits are from a user group talk I gave on "Guru Coders". If you want to read about the other 6 traits in more detail I posted the slides on my LinkedIn profile.  And if we are not connected on LI already I invite you to connect with me while you are there!

How to make Conscious Decisions in Software Development and Hiring

You have a close decision to make on hiring a software developer or several different ways to architect a program.

If one sucked and the other was brilliant it would be easy (pick the brilliant one!)

But often there are two or more options that are really close and it is hard to decide which is best. And the ramifications of a bad decision could be thousands of dollars of extra cost, a failed project and wasted days of work...

How to decide?

Some common ways are

  • The pros and cons list. List out the benefits and drawbacks of each choice. Pick the one with most benefits and least drawbacks


  • Weighted pros and cons. Same as previous method but give each aspect of the choice a weight depending on how important it is. Pros get a number +1 to +10 and cons a number -1 to -10, depending on how good or bad they are. Multiply the score by the weight and add them up. Pick the option with the best score. eg in hiring you might have one aspect of the choice is database design with weight 3. Candidate A is a +5. Candidate B is -2. So the contribution for for A is 3 x 5 = 15 and for B is 3 x (-2) = -6. Add these to the weighted scores for all other aspects of your decision to get the total scores.

I have used your weighted scoring system successfully too. Hey I was a mathematician by training at college! :-)

I give extra weight to a decision is easily reversible/gives early feedback on whether it is the right course/can be course corrected down the road.

Particular areas I have found this useful for are:

  • Scoring job candidates on the different skills and characteristics in the job req
  • Scoring clients by idealness (ie easy to work with, have budget for our kind of task, communicate clearly, appreciate quality software development etc) and then "firing" the bottom 10% each year.
  • Scoring prospects the same kind of way and focusing my energy on the top scorers.

  • Flip a coin. If the choices are really nearly equal it doesn't matter. Pick one at random. Then see how you feel about the decision. If you feel good, great go with it. If you get a bad feeling in your stomach the it is not a good choice, pick the other one! (You just realized new information about the first choice).


  • Test them out with a trial. Perhaps you can hire there different candidates for a few hours of paid work to see how you get on and what they really can do. Or if you have different program designs you can hack out the essence part of the algorithm (with no UI) and throw together some realistic volume of test data and compare speed (or does the algorithm even work at all!).

All the above methods are pretty common in management and software development. Here are two further thoughts on close decisions:

1. The time value of decisions. The values of the different options are usually not fixed over time. Often they decline over time.In addition the days and energy you spend making a decision are time and energy you could have spent on other productive tasks in your business, so they have a cost too.

For example in hiring, the slower you are at responding to the different candidates the less enthusiastic they are about the job, and the more likely they are to pick another company. Plus the more time you have lost to other money making tasks.

Suppose you have two candidates A and B with values of 51 and 49 on Day 1 and that they loose 3 points each day you wait/it costs 3 points in your energy used each day.

Here are the values of the options over time:

Day 1 A 51 B 49
Day 2 A 48 B 46
Day 3 A 45 B 43


In this case making a fast "bad" decision on Day 1 by hiring B at 49 points is actually better than the slow "correct" decision of hiring A on Day 3 at 45 points.

True sometimes the value of the choices might not change over time but the cost of continuing to spend your time/energy on the decision day after day definitely applies. Time that could have been spent making money for your business other ways. So there is still a time value to a decision.

The only way to avoid that is to not worry about the decision or spend any time on it at all until you next consider the choice. A deliberately delayed decision. I have seen entrepreneurs successfully do this when they realize that they are too busy/lack resources to implement yet another change this year and "consciously decide not to decide" until next January.

I also did not include the lost opportunity cost of a delayed decision. All the profits/new deals you could have made in the days (weeks?) spent decision making using either choice A or B.

We are not just comparing choice A to B. But also to choice N - do nothing. In the case of a 49/51 near equal decision I imagine the value of N is much less than either A or B.

In sales often clients don't take the cost of choice N into account because they have had the problem and been in this choice for so long. It is my job wearing my salesperson hat to help them see the true costs of choice N, as well as the costs and benefits of choosing buying from me. Bringing more consciousness to their buying decision.


2. Intuitive decision making. When a decision is pretty equal and complex then using intuition processes all the complexity at a subconscious level, saving my conscious processing power for other thoughts. It is also fast to do.

This is one method for making intuitive decisions, or at least giving you extra info for your conscious decision process.

Heart based decision process (example for picking from 4 choices)

  • Drop down into your heart (imagine your consciousness is in an elevator from your head).
  • Hold each of options 1 - 4 in your hand one at a time.
  • Bring your hand to your heart and notice what you feel.
  • Then bring option 5) Something else (that I don't consciously know right now) to your heart too.
  • Pick the option that makes your heart feel most open and happy.
  • Notice any extra info you get on each option eg heart feels heavy, a color or sound that appear, other body sensations, new inspired thoughts that come to you
  • If you get the "Something else" option then be ok to be patient a few days and see what occurs to you or synchronisities that occur that point to what it is.

(Exercise from the book "Beyond Human").

There are many other ways to access your intuition, pick what works for you.




Four leadership skills even Attila the Hun could have used

Miki Saxon writes in her blog about four leadships skills that even Attila the Hun could have used:

  • leading people
  • strategic planning
  • inspiring commitment
  • managing change

"... it will be the executives and managers who get it; who understand that these skills need to be embedded in the company’s DNA; they are not CEO skills, but core competency requirements to thrive in the 21st Century."

Great CIOs mix business and tech skills

Interesting article in CIO Insight on why having both business and technical skill is important to get ahead in IT management. And having the ability to translate from tech speak to biz speak and back again is vital.

The author knew he had connected with the C-level staff when at a buget cutting meeting the President said “IT isn’t staff,” he said. “It’s a core business function.” Now that is music to an IT manager ears!

Cash, Strategy, and a Way to Thrive


The recession and credit crunch have made cash a strategic asset.  While debt and equity financing is still available, these sources of cash have become unreliable and difficult to tap, increasing the importance of operating cash flow.

Optimizing cash flow requires the close scrutiny of incoming and outgoing cash transactions and the implementation of credit, purchasing and strategic decisions that impact cash.

Simply put, maximize cash by spending wisely.

Reduce and Control Expenses

Headcount is a main driver of operating expenses.  In good times as well as bad, organizational rightsizing is essential to effective cash management and controlling the company’s “expense burn.”  Operating expenses are also strongly influenced by the company’s business model and strategic focus...

Weekly Monitoring of Cash Flow

Another component of effective cash management is the preparation and review of a weekly cash flow statement.  This report should show in sufficient detail the items comprising cash receipts (cash sales, A/R collections, etc.) and cash disbursements (payroll, benefits, inventory purchases, etc.) for the current week and projected for the next 4 – 8 weeks...

Cash as a Strategic Asset

There is no question that in these uncertain times, cash and ready access to cash are strategically important and may make the difference between winning and losing.  A company that manages its cash well will be in a strong position to weather the downturn and take advantage of the opportunities to strengthen its market share...

To read more, please CLICK HERE or visit:


Ducks In A Row: Do You Have People Or Persons?


 May 19, 2009

By Miki saxon


Do you work for a company or a manger? Phil Gerbyshak manager over at Slacker did a great post on the fact that people quit managers, not companies—great because it is so true.

If you ask most people who they work for they’ll name a company, but if you ask them why they love or hate it, stay or leave they’ll usually mention a manager, the people or the culture, which is a projection of the manager and the people.

People quitting is expensive and bad for team morale, but, as Phil pointed out, they can quit and not leave, which, from a management perspective, is the worst thing that can happen.

Think about it, who do you manage? And How?

Adequate managers manage employees.

Good managers manage people.

Great managers manage persons.

Yes, persons.  Individuals, because you can’t manage (or lead) everyone the same way...

To read more please visit:

10 tips to recession proof your development career

With the current economy it is important to know what will help you keep you current job or easily get a new one if you need to. Here are my tips for recession proofing your development career - let me know if you have any other suggestions!

1.    Have a positive attitude. When a manager has two developers with equal technical skills but one is optimistic/"can do" and the other one is grumpy you can bet that grump will be laid off first.

2.    Keep your promises. If you promise to complete a piece of code by Thursday make sure than you do. If you don't think you can make a deadline it is much better to speak up ahead of time and renegotiate what can be done, or get help, rather than say "yes" when you are not sure. If you have agreed to a deadline and things change tell your manager or client as soon as you know, so that you can both come up with a  plan B.

3.    Keep your code simple. Simple code is easier to read and maintain, generally runs faster and has fewer bugs. Clever code has a way of biting you or someone else in the rear end. Yes it sometimes takes more thinking to write something simple and elegant instead of complex -- and your future self will thank you for doing it!

4.    Communicate clearly. The number one way projects fail is poor communication - misunderstandings with clients over scope, missing features, upsetting email threads. Confirm verbal meetings afterwards in bullet point emails. If a topic is getting heated in email then switch to an in person meeting or phone call to defuse it, then document what was agreed in email afterwards. Keep your ego out of the office and out of your code. Focus on what is best for the project and client.

5.    Bring up questions early. If you get stuck on some code (and who hasn't some time or other) then bring up questions early. There is nothing worse than a late deliverable that could have been on time if the right questions where asked sooner. If being assertive doesn't come naturally to you read a book or take an evening class on assertiveness.

6.    Don't add bells and whistles. If the client has not asked for a feature don't add it without asking first. Maybe they really like the idea and will pay extra for it. Maybe they would rather wait until version 1.0 is released before adding the feature. Maybe it is not of interest to them or the users at all. In any event you are better off asking before adding features that are out of scope.

7.    Test and proof read your code. Clients and managers can not directly tell how good your code is but they sure can see when you have a bug! Test your code every time you make a change - there are no changes too small to test! The other thing that clients will spot is typos and spelling mistakes - I know that it is not fair but they will initially evaluate your code based on how it looks, not on what is does under the hood. If you can't spell well or don't have a good eye for user interfaces then get the help of someone who does to give your application a proof reading before you send it to clients to review.

8.    Keep Learning. Technology is always changing and companies keep those who have the most upto date skills. Read books on evelopment, follow blogs, attend user group meetings and go to conferences. And if you do have to find a new job it will be easier if you have CF 8 and Flex experience on your resume.

9.    Network. If a developer has amazing skills and a great attitude but no one else knows them then it will be hard to get a new job. You never know who may refer you to work in the future. Go to user group meetings and talk with others, help others out on lists, attend the networking events at conferences, trade business cards. Focus on what you can give to others and then you will receive in return at another time.

10.    Volunteer. A great way to stand out is to volunteer at your local user group, conference or company committee. Speak, write or blog. Just be prepared to do this on your own time. Consider it an investment in your future.

Attending a conference such as CFUnited will let you learning new skills, learn better project skills and network with more people than you could meet in 210 days at home!

Boxes Don't Hamper Creativity by Miki Saxon

Miki Saxon is quite a perceptive woman.  Virtually every month we feature a new article of her's in our newsletter, and for good reason.  They are interesting, well written, and have different takes on virtually every aspect of corporate life.

Her latest entry is about how encouraging people to think "outside the box" as people say, is futile.  Everyone has a box in which their imagination is contained.  Trying to think outside of it is against the purpose of these boxes.  Saxon feels that the way we come up with new ideas is to recognize the size of your box and try to expand upon it. 

Obviously, those who are very creative and have built their lives on their creativity have much bigger boxes.  The objective is to expand our boxes so that our creativity increases.  But everytime we "think outside the box" a new box is created around it, thus we always have a box.  But if we keep expanding, the sky is the limit.  You can read all of Miki's article HERE.

Staying Afloat in a Bad Economy

Because I am such an avid reader of Miki Saxon's Blog, I saw an article that most everyone can relate to, even billionaire company owners.  As unfortunate as it is, we are in a recession, especially with rising fuel costs and housing crisis that won't ever seem to bottom out.  WIth even the cost of groceries rising exponentially, people are spending less everywhere to save on the things they need.  This translates into companies having less money across the board.

During an economic downturn, it makes logical sense for executives to cut costs, and the easiest way to do this is simply to start letting people go.  If you fire people, obviously there's less people to pay, and a company will retain the money they're used to, with the exception of those people who were fired.  Right?  Not exactly.  Hopefully the people you have on your staff are there because you think they should be there.  Releasing them just because the economy isn't going well will only put these valuable people on someone else's payroll, so that when the economy comes back, you'll simply be out the right peole for the job, and people who've already been trained in their positions to boot!  To read Miki's entire article, just click here.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version Contact Blog Owner