Archive for the ‘Uncategorized’ Category

Management & Technical Career Growth Tracks (v2)

Click on the diagram above to view it as a zooming presentation.

This second version of the diagram illustrating technical career tracks reflects the following updates since version one:

  • A product management track is now included. (Future updates may include other tracks like design, editorial and marketing.)
  • There is no longer a contributor-level position on the people-management track. This is because most organizations do not have an entry-level position whose main job is to manage people yet is below the manager level.
  • The number of levels is still 5, but the two contributor levels below manager have been merged into one. The C-level (as in CEO, CTO, CFO, …) band has been added above the VP levels.
  • The director-level position in the technology track is now called principal architect or simply principal.
  • In the people management track, it is suggested that a manager directly supervise at least 3 contributors and that a director supervise at least 3 managers. Exceptions can be made to this guideline when it is well-justified, but these are suggested as the default requirement to hold these titles.

Management & Technical Career Growth Tracks

Described here is one way to enable technologists to grow their careers in your organization while still allowing them to focus on the type of work they are best at and enjoy most.
The typical management career growth path does not suit some technical people. These information workers need to grow in their careers (gain greater compensation, responsibilities and influence) without having to become managers of other people. A good way to achieve that goal is to create a technical career growth track in your organization.

The following diagram and table illustrate management positions alongside technical positions of similar levels.

Click on the diagram above to view it as a zooming presentation.
People Management Track Technical (Engineering) Track Technical (Project Management) Track Band Salary
To (Max)
Manages team of people and/or manages work assigned to others May lead people, but usually does not manage people from HR perspective May lead people, but usually does not manage people from HR perspective Please refer to the notes at the bottom of this table.
CTO, Executive Vice Present Chief Scientist & EVP EVP [Program] 5.2 300 600
Senior Vice President Distinguished Fellow & SVP SVP [Program] 5.1 250 500
Vice President Fellow & VP VP [Program] 5.0 200 400
Executive Director
(Group Director)
Architect & Executive Director
(Group Director)
Executive Program Director
(Group Director)
4.2 180 220
Senior Director
(Managing Director)
Architect & Senior Director
(Managing Director)
Senior Program Director
(Managing Director)
4.1 160 200
Director Architect & Director Program Director 4.0 140 180
Deputy Director
(Associate Director)
Architect & Deputy Director
(Associate Director)
Deputy Program Director
(Associate Director)
3.2 140 180
Senior Manager Senior Architect Senior Program Manager 3.1 120 160
Manager Architect Program Manager 3.0 100 140
Lead Technical Business Analyst Lead Engineer Lead Project Manager 2.2 100 140
Senior Technical Business Analyst Senior Engineer Senior Project Manager 2.1 80 120
Technical Business Analyst Engineer Project Manager 2.0 60 100
Technical Analyst
Project Coordinator 1.0 30 60

  • In this table, a number like 100 may correspond to a salary of US $100,000/year. However, please note that salaries vary greatly based on industry, the particular company, market conditions and location. Comparing your salary to the To (read: Often The Maximum) end of the range is unrealistic. The From (read: Typical) is not the Minimum. In many markets and companies, the minimum of the range is lower than that.
  • The example salary ranges shown here are based on data from online research (,,, etc.), experience and discussions with people in the industry.
  • The salary range within any particular rank is wide since salary is based not just on rank, but also on factors like performance and specific job roles and requirements.
  • There is significant overlap in salary ranges in nearby ranks to reflect the realities of salary differences among employees based on factors like areas of expertise of the employee, the person’s prior salary history and market/company conditions at the time of hiring.
  • Salaries for VP and above jobs vary widely across industries, organizations and even within the same company, especially since performance based bonuses vary greatly.

This system isn’t meant to be rigid. It is designed to find a good balance with most organizations. That balance, i.e. how may “levels of authority” there are will differ across organizations. The focus of this article is to provide a technical track as an alternative to management tracks, whether there are 3 levels or 13.

There are pros and cons of having fewer “bands” or ranks. (As a side note, some organizations like the military1 require lots of ranks.) Ranks need not signify a strict hierarchy where one can only go from one rank to the one immediately above. The ranks could simply be used as “salary bands” and the levels of “hierarchy of authority” could be fewer.

In this model, for example, an architect role is at the same compensation and influence level as a manager role, assuming that the particular manager and architect being compared add similar value to the company. To accommodate more ranks, a senior architect would be at the same level as a senior manager.
If the organization prefers consistent titles for levels regardless of track, the system could name them like this: vice president & fellow, senior director & architect, etc. In the case of a fellow who is at an SVP level, they could be named SVP & distinguished fellow.

Here is a definition of the fellow role from WikiPedia:2

Large corporations in research and development-intensive industries appoint a small number of senior scientists and engineers as Fellows. Fellow is the most senior rank or title one can achieve on a technical career, though some fellows also hold business titles such as vice president or chief technology officer.

Such a technical career growth plan brings many benefits to your organization.

  • It helps retain good technologists who want to grow in their careers, but want to do keep doing the type of work they are best at and enjoy doing: technical work.
  • It avoids brilliant technical people from being “pushed” (by themselves or their supervisors trying to “reward” them) into people-management responsibilities.
  • It reduces situations of having too many people-managers but not enough people-management positions over time as people get promoted.

Care should be taken to recognize that some technical people do enjoy making the transition to people-management roles and the presence such a technical track should not discourage them. Having an alternate career growth track option is about presenting employees with more than one choice.
Similar system are also used to enable non-managerial career paths at editorial and design departments at newspapers, magazines and other newsrooms.

The diagram below illustrates some pathways for career development in an engineering – focused product development organization. It shows an organization where software engineering is a major discipline. The pathways shown here map out career paths that we have seen work well in a number of organizations. (There are also other pathways that work well that are not shown here.)

Shorter paths (fewer arrows along the way) do not indicate a quicker career growth path. To the contrary, often gaining experience in multiple areas helps develop as a well-rounded executive prepared for senior leadership roles.
Certain roles are not listed explicitly but are combined into other roles in this illustration. For example, the roles of Security are merged into Systems in this view. Also, roles like Senior Engineer and Lead Engineer are not shown separately, but covered by Engineer and Engineering Manager. Similarly, Senior Manager and Senior Director are also not shown separately. Incorporating that level of detail would have significantly increased the complexity and decreased the readability of the diagram.

The Ultimate Guide to SEO Testing: Yes, it is Possible

SEOs love to blame their bad reputation on the spammers, but you probably know as well as we do that this blame is misplaced. Businesses, in general, really don’t care how they get results. They just care about results. And that’s where most SEOs are screwing up – they suck at metrics.
Ecommerce and SaaS businesses already know why PPC gets so much more attention. It’s simple. PPC is easy to test. You split test your ads, headlines, and landing pages, and you get irrefutable evidence that improvements have been made in ROI.
this made money
You don’t get those kinds of clean experiments in SEO. In fact, most SEOs will tell you it’s flat out impossible to test SEO theories and that you have to approach the whole thing with pure intuition and the touchy-feely advice of industry experts.
What a load of crap.
I don’t want to downplay the crucial role that intuition plays in SEO (and marketing in general), but if you aren’t testing and proving your theories, you’re going to end up wasting resources on ineffective, and even counterproductive, strategies.
All of the legitimate experts in SEO know that tests, experiments, and metrics are the key to everything; but the subject almost never sees the light of day. I think it is time to change that, so today we’re going to talk about how to test and experiment with SEO ideas, stop wasting time, and start getting results.

How to “Split Test” an SEO Theory

You’ve probably heard a million times that it’s important to put your keyword in the title tag. I’ll tell you right now that, yes, you should. But here’s the thing. You shouldn’t take this on faith. Granted, if you throw everything at the wall, some things are going to stick. But, without tests, you’re going to do a lot more work than you need to do.
What if you want to test the notion that it is a good idea to put the keyword in the title tag? How would you go about it?
I’m about to explain how, but let me begin with this preface: it’s for testing an SEO theory. It’s not the kind of thing you want to do on your main sites, because it’s slow. Don’t worry; we’ll get to “real world” methods later in this post. For now, just realize that this is all about discovering individual changes you can make that you won’t necessarily read about on top industry blogs. It’s the kind of thing you can test on your microsites.
The biggest obstacle we face here is the fact that you can’t really split test in SEO. In a genuine split test, you need to have two identical samples, change just onecondition for one of your samples, and then measure the results. That doesn’t happen in SEO because you can’t set up two identical websites with identical link profiles and then change just one thing. Odds are one of the sites wouldn’t even be indexed because of duplicate content issues. In fact, the identical link profiles would be so suspicious that it’s likely neither of the sites would rank.
So, yeah, we’re not going to tell you to do that.
Instead, you would go through a process that looks something like this:
the thought process
I can’t stress enough that this laborious process isn’t for your main sites; it’s for testing your pet theories about how to boost traffic (or other metrics). This is crucial, because you can’t make any other changes to the site while you’re performing the test.
So, why do all this? Well, the ten day minimum comes from statistics. You need a total sample size of at least forty before you can run a test without having to worry about skewed data or anything like that. This method guarantees at least forty days of sample data to work with.
Why switch it back and forth? If you don’t, a change in traffic could be the result of a seasonal shift or a general trend. It’s still possible that some other random factor could cause a change, but the odds of it just happening to coincide with four site changes that don’t follow a weekly cycle or any other obvious pattern are pretty low.
And, finally, you need to pay attention to Google’s cached page because that’s the copy they’re using to rank you. For the most accurate results, you’ll ignore the days between when you made the change and when the change showed up in the cache, because nobody’s quite sure if Google might be using the data before it shows up in the public cache.
So, what’s a two sample t-test? Well, it basically uses the same math as a traditional split test, but your split test software probably isn’t going to be able to handle it for you, and that’s about all you need to know about it. I’m not trying to turn you into graduate level statisticians here.
There is a two sample t-test calculator here. This is how to use it:
enter summarized data
In the calculator above you would enter daily visits to your test URL as your data points.
On the right side, you’ll see results like this:
what we care about
In this example, we can be 95 percent sure that the average traffic in the experimental sample is between 17 and 30 visits higher than in the control sample. That’s a measurable difference.
As long as this interval doesn’t include zero, we know we have a conclusive result (95% of the time, anyway). If it’s negative, like it is here, it means that the experimental group won. So, yes, putting the keyword in the title tag was a good move.
A few thoughts on what you should be using for your data before we move on:
  • Go to Advanced Segments in Google Analytics and choose “Non-paid Search Traffic.”
  • audience overview
  • If you’re changing only a single page, limit the data to that page. Otherwise, the noise from the rest of your site is going to make it hard to find anything useful.
  • Ten days for each measurement is an absolute minimum, and sometimes Google’s algorithm is slow to react, even after the page is cached. You’ll want to at least eyeball a noticeable difference before switching cases back and forth. (And, yes, that makes this only quasi-scientific; this is business after all.)
  • If you want to get things done a bit quicker, you can avoid the back and forth and just take 20 straight days of measurements for each case. This means there’ll be less time waiting for things to cache. Just keep in mind that the possibility of other factors playing a part is going to be a lot higher.
So this is how you can discover new ways to boost search traffic. Like we said, this is a slow method that you really can’t employ on your main sites. It’s also impossible to test external signals, like links, without walking into “black hat” tactics like private link networks.
So what about the messier world of live sites that need to be constantly updated, and where high risk tactics just aren’t acceptable? Is there any way to test and experiment with these kinds of sites?

SEO Tests for the Ugly Real World

The first thing I’m going to say about “real world” SEO testing is that it’s not about the algorithm. You will never reverse engineer the algorithm, not even using the method discussed above. What you can do is figure out how to maximize metrics that truly matter, like lifetime visitor value.
So let’s get this out of the way. SEO testing is not about testing “ranking factors.” It’s about testing strategies and tactics in order to get the biggest boost in your KPIs. (Hint: “traffic,” “twitter followers,” and “email subscribers” aren’t KPIs.)
This can be done without bringing progress on your site to a halt and then waiting for results from a single tweak. However, it can’t be done without clearly defined strategies and keen project management. Do not approach SEO marketing as a “throw everything against the wall and hope something sticks” free-for-all.
Here’s what you do:
brainstorm content ideas
There’s a lot going on here, so let’s go over these one by one in more detail:

Define a List of Tactics You Use

This is all about doing the hard work of figuring out what you actually do. While it’s a bad idea to get too granular, you’ll want to be specific. These are tactics that your team will need to act on. Here are a few examples:
Defining what tactics you use is beneficial outside of these kinds of experiments and helps you get consistent about what you do, so there’s no excuse for skipping this step.
A word of caution. Focus on principles or small, individual tweaks. Do not attempt to plan out exactly how each piece of content should be developed and promoted. There is a danger of falling into “big design up front,” and that’s a very bad idea.
It’s absolutely crucial to give your team flexibility with how these tactics are implemented, but it’s equally crucial to measure which tactics are being used and which are not.

Define an Experimental Tactic

This is the tactic you want to test. You want to test it for one of these two possible reasons:
  1. A tactic is particularly costly, and you want to measure whether it is effective enough to justify the cost (or even effective at all)
  2. You have an idea, and you want to test whether it is worth incorporating into your main strategy
Either reason is justifiable. However, it’s worth noting that, according to a massive study by the Harvard Business Review, the most successful businesses put increased revenue ahead of reduced costs.
You also should recognize the possibility that some of the tactics you use mayhurt revenue.
And keep in mind that you also can define an experimental tactic as a ramped up or toned down version of a tactic you already use. In other words, instead of adding or removing a tactic from your arsenal to see if it makes a difference, you can try changing the “amplitude” to see if you get improved results (or reduced costs without losing results).

Brainstorm 40+ Content Ideas

There is no reason to change your brainstorming strategy here (unless it’s what you’re testing). Just do what you always do.
As you might have guessed, 40+ is the number we need in order to get a reliable statistical test, so that’s where this comes from.
If you’re a more “news” driven site, you may need to skip this step and just take the ideas as they come. You’ll still need to find a way to incorporate this next step, though.

Randomly Assign the Ideas to Two Groups

Split the ideas into two groups. Randomness is important here. We need to make sure we aren’t biasing things by pairing our favorite content ideas with our favorite tactical approach, or we could get a false result.
The same goes for your team. They need to be randomly assigned to the topics, or at least assigned before anybody knows which topics will employ which tactics.
You can use this random assignment tool to do this for you. Just assign each idea to a number. If you entered this data into the tool, you would get numbers 1 to 40 assigned to group A or B:
randomly assign subjects to treatment
And these inputs would assign ideas 1 through 40 to one of 5 employees (or teams):
If you think that randomly assigning your teams is taking things a bit too far in the name of science, you can go ahead and let the teams pick their own ideas, or assign them yourself. If you do this, though, you should make the assignmentsbefore you split the ideas into two groups. (I know I’m repeating myself, but it’s important!)
Remember, the point is to avoid biasing the results by accidentally putting your best employees with the set of tactics you really want to succeed.

Alternate between Content Types

As previously mentioned, a sudden improvement in success may not be because of your strategy. The reason you alternate between the two strategies is so that you’re comparing results at the same time.
(In an ideal situation, you would publish and promote them at exactly the same time, but this isn’t usually very realistic.)

Run a Two Sample T-Test

We already covered how to do this, but it’s worth addressing a few extra pointers here:
  • Use a more meaningful metric than traffic as the outcome of your experiment, like “lifetime revenue minus lifetime cost” or even “employee satisfaction.” The point is to choose metrics you genuinely care about as a business, so that you can make informed, purposeful decisions.
  • Consider revisiting these tests later when you have more data to work with. For example, after incorporating KISSmetrics, you can track which piece of content produced the kinds of visits that led to long term value. The ultimate value of each strategy isn’t necessarily measureable immediately after the test.
  • It’s important to understand the difference between “statistical significance” andpractical significance. If your confidence interval doesn’t include zero, you’re 95 percent sure something real is happening. But that doesn’t mean that what’s happening is important. Look at the size of the effect from your confidence interval as well. Is it big enough to matter? You want to focus on the tactics that make the biggest impact, not pour resources into minute, inconsequential gains.
It’s also not immediately obvious what data you should be pasting into each column of the calculator in this case, so let me elaborate on that. There actually are three basic ways you could approach this:
  1. Treat each piece of content as one observation
  2. Treat each day as one observation, split into the two groups
  3. Treat each day for each piece of content as one observation
All of these are valid approaches, depending on what you’re going for. It’s even worth running the test all three ways to see if you get the same basic conclusion.
Just remember that in each of these three scenarios, you’re not quite measuring the same thing. This is what you’re doing with each test, respectively:
  1. You’re comparing the average total value (to date) of a piece of content from one group with that of the other group
  2. You’re comparing the average daily value of one strategy against another
  3. You’re comparing the average daily value of a piece of content from one group with that of the other group
This can get a bit taxing on the brain so I’d rather you didn’t over think this. It’s better to test than not to test. If it doesn’t seem obvious which one you should test, test all of them.

What about Flywheel Strategies?

Oh boy, I opened Pandora’s box when I started talking about SEO testing, didn’t I?
We have talked about comparing individual pieces of content (and the strategies behind them) as a way to determine which tactics work and which ones don’t. But this ignores a big part of the value of SEO – cumulative effects.
If you’ve been building or attracting links for years, you don’t necessarily have to do any link building to get significant traffic on a new piece of content. This is where things start to get very difficult to measure.
It’s next to impossible to pinpoint which cumulative tactics are making things easier as time goes by. Does the traffic come easier because you have a better link profile? Because Google has more positive user data on you? Because your social presence is larger? Because you’ve literally grown the demand for content like yours on the web?
At the beginning of this article, I said I didn’t want to downplay the role of intuition. That applies here. Intuition about your audience, the future of your industry, the future of search engines, and the future of the market as a whole is going to play a major part in how successful you are in the long term.
(Not to mention luck, the most underrated thing that separates winners from losers.)
As a data-driven marketer, I tend to sidestep the issue of flywheel tactics. It’s not because I don’t believe they exist. They do, unquestionably. But no matter what you tell yourself, immediate results always take precedent. And no matter what you claim, you can’t predict the future.
I like to focus on things we can do right now that have a directly measureableimpact on lifetime value. The strategies I’ve discussed so far address how to do this.
Cumulative effects are higher order factors. They’re basically impossible to measure in a real world setting. You can demonstrate that they do, in fact, exist by pointing to case studies or cumulative results over time, but you can’t identifywhich strategies were most responsible for the gains.
Don’t even try. Just know they’re there.

Does Traditional Testing Play a Part in SEO?

The punch line – yes.
First, it’s important to understand that user experience and design come before link building. Put simply, these factors increase the value of traffic from any source, including search engines. If you aren’t doing split tests and usability tests to maximize the value of your site, what’s the point of doing SEO in the first place?
But there’s even more to it than that. You can use traditional tests like these to improve your “pure” SEO.
First off, if you don’t know anything about split testing, take a look at this beginner’s guide. It should be easier to follow than some of the more advanced stuff we’ve been talking about today. I also have to say that I completely agree with Peter Sandeen; you should test strategies, not page elements. (Hopefully, this article has made that clear already). The basic structure of split testing looks like this:
statistically compare conversion rates
If you don’t have software for this, Firepole Marketing has a free tool for split tests.
Now, most people run split tests to maximize conversions or other financial factors, but there’s also another interesting possibility:
You can split test landing pages for their ability to earn links.
For example:
  • You can run ads on two different pages to see which earns the most natural links
  • You can alternate between two different pages during outreach to see which page gets the most links
  • You can split test landing pages for their ability to propagate through social networks
Remember to use the randomization tool I mentioned earlier to keep these tests fair.
My personal preference is to use the value of referral traffic from these links as the primary metric. In the long run, I suspect that is the most useful way to measure the value of a link in Google’s eyes. In the short run, it’s clearly the most useful metric financially.
There are two different ways you can approach these kinds of split tests:
  1. Use two different versions of the same page
  2. Use two entirely different pages
Again, either one of these is perfectly fine, depending on what you’re trying to accomplish. If you’re testing the message, two completely different pages will work great. If you’re testing the amplitude or the mix of the messages, it’s better to test two different versions of the same page. Again, take a look at Peter Sandeen’s article to learn how this works.
If you do end up testing two different versions of the same page, you’ll want to make sure one of them is noindexed. After the test, you can remove the noindex tag and redirect it over to the other page, assuming the pages were similar enough to deserve the same links.
These tests can help you gain direct insight into the kinds of pages that are most likely to earn links, so be sure to record and learn from your results.

You Made It

This is a monster of a post, so congratulations on wading through this. The central point here is that SEO is testable. You can test theories, you can test strategies, and you can test individual pieces of content. As long as you recognize thatpeople and direct results come first, it’s actually easier to measure than you probably think.
Use these tests to weed out what doesn’t work, and discover the truly remarkable road forward. I hope you find this useful enough to pass along to your teams and your audiences. Thanks for reading.

++ Click Image to Enlarge ++
Google vs. Microsoft: How Do Their Employees Compare

Great Software Engineers

Posted: July 31, 2013 in Uncategorized

Great Software Engineers

How to Become a Software Engineer (For Non-Indians)

Software Engineering was recently listed by Time Magazine as still being the #1 career for pay/stress load. In spite of all the media hype about offshoring of these type of jobs, it’s still a job that’s in high demand. This article is for those considering Software Engineering as a career path.


High School Preparation

  1. 1

    You must love programming! If you’re in junior or senior high, and you haven’t yet explored programming, do so. If you’re not interested in math or science to begin with, you should probably explore other options.

  2. 2

    Get all the math you can in high school like algebra, calculus, and geometry, it might be worth it if you try trigonometry and graphing. Try to advance to college level math before leaving high school, you’ll need a ton of math to complete any Computer Science program and Engineering program.

College Curriculum

  1. 1

    Plan on getting a degree. With all the success stories of college drop outs becoming billionaire CEOs in the 90’s, there is a certain lure that “as long as I think outside the box and have outstanding problem solving and programming skills I don’t need a four year degree”. It’s difficult for entry level software engineers to obtain a position without a four year degree.

  2. 2

    Qualify your degree by what you want to do. If your love is game design and you wish to enter that industry as a game programmer, you’ll need a Computer Science degree. If you want to work for IBM, Intel, Microsoft, Google, etc., then a Computer Science degree may be good for you. If you’re looking to work for a non-technical corporation building mostly business applications, consider a degree in Management Information Systems or one of the many business technical degrees now offered. This type of degree is best for most, because it provides management and general business skills and doesn’t focus on a lot of information that will not be useful to most.

Extra College Curriculum

  1. 1

    Supplement your classwork with personal research. Search job boards and note what technologies are hot and buzzing. The colleges simply can’t keep up with everything, so you’ll need to buy additional technical books and teach yourself.

  2. 2

    Unless you’re planning to get your foot in the door through an intern position, try to find side projects while in school. No one wants to take a risk and hire someone fresh out of school without projects under their belt. Internships are great at taking care of this problem, but unfortunately a lot of students can’t land an internship or do so only to discover they would prefer to work elsewhere. The only way to give yourself options is to find some non-classroom work to put on your resume.

  3. 3

    Develop contacts with software engineers. If possible try to connect with software developers and work on some projects under their guidance.

The Difference Between Engineer & Programmer

  1. 1

    Understand that software engineering is not the same as programming. Every software engineer knows how to program, but not every programmer is a software engineer. Here’s the principal difference between the two:

    • Software engineering is typically a group effort, with differing and often fluid roles and responsibilities for the group members.
    • Engineering projects have timelines, release dates, and considerable interaction between people responsible for various components.

EditExtra Activities

  1. 1

    Always do some extra activities apart from studies and related to any software that has some real time solution of any problem. Whenever you have free time spend it searching on the internet about new technologies in the market and also watch for the technologies that will be useful in the future.

  2. 2

    After studying about all the fields related to Computer Science, choose a particular direction in Software Industry. Narrowing your choice down will help considerably in planning your career. Always think simple because the Software Industry itself is very complex.

  3. 3

    Learn about the field. The major difference between programmer and engineer is simply that engineers design tools;hence those are used by programmers to build solutions.