The Fog Creek Professional Ladder determines your base salary. It is recalculated every August, and new base salaries go into effect September 1st (you’ll see it on the September 15 paycheck).
Currently, the professional ladder is used for:
- Software developers
- Software QA/Testers
- System Administrators
Your career level at Fog Creek is determined as a function of three things: experience, the scope of your job, and your skills.
Definition: Years of full-time experience developing and testing software or administering computer systems.
This includes things like:
user interface design
managing software teams
software testing using scripting/programming tools
1 year for completing a PhD
It does not include:
anything that happens in school, before school, or during school
technical positions that are not software development
Low level / highly repetitive tasks (rote tech support, manual black box testing) are collapsed into one year. (You don’t have three years of experience, you have the same year experience three times over).
Definition: What your current job entails
|Scope||Software Development||System Administration||Test/QA|
|Summer interns and Co-ops||Summer interns and Co-ops||Summer interns and Co-ops|
|Does development work but does not own any specific area of the code. Works on non-shipping code or on other people’s areas, for example, fixing bugs, making small modifications, and implementing very small features.||Does small system administration projects as directed by someone else. Most work is on internal systems which are not customer-facing. Not much coding.||Executes test defined by someone else|
|Owns a major functionality area in a product, where they do or lead most of the development.||Owns a major area of system administration functionality, where they lead or do most development and work. Job must require coding, managing critical customer-facing systems, and responsibility for high-availability systems||Designs tests and test strategies for a major area of functionality in a product. Generally given an area to test and expected to come up with a test plan independently|
|Owns the development for a major project (an entire product), for example, FogBugz or Copilot.||Owns multiple major areas of system administration functionality, which they run with little supervision.||Responsible for all QA for a major project. Designs test plans, allocates resources, signs off on shipping versions.|
MULTIPLE PROJECT OWNER
|Owns or oversees multiple major projects||Overall responsibility for all Fog Creek systems, internal and external||Overall responsibility for all Fog Creek QA.|
Definition: your skill level, regardless of actual responsibility.
|Skills||Software Development||System Administration||Test/QA|
|0||Summer interns and Co-ops||Summer interns and Co-ops||Summer interns and Co-ops|
|1||Learning the basic principles of software engineering; works under close supervision; not expected to write production code||Learning the basic principles of system administration; works under close supervision; not expected to work on customer-facing or mission-critical systems independently||Learning the basic principles of software testing; works under some supervision and occasionally responsible for developing tests.|
|2||Works under some supervision and occasionally writes production code||Works under some supervision and occasionally works on customer-facing or mission-critical systems||Extensive background in non-automated QA and test, qualified to develop test plans independently for most software. Has learned the practices, methods, conventions, and standards of software QA and test.|
|3||Some background in software engineering, qualified to write production code without much supervision, although they probably aren’t designing anything. Will be expected to learn the software development lifecycle practices, methods, conventions, and standards of the computer industry. Understands and practices the skills of The Joel Test.||Some background in system administration, qualified to administer most types of systems we have in production without much supervision, although they probably aren’t designing anything. Extensive experience with both Windows and Unix systems and most major Internetworking technologies.
Will be expected to learn the practices, methods, conventions, and standards of system administration.
|Extensive experience with automated and code-based testing. Writes scripts and creates unit tests. Mostly works on fully-automated tests. Will be expected to learn the software development lifecycle practices, methods, conventions, and standards of the computer industry. Understands and practices the skills of The Joel Test.|
|4||Familiar with industry practices and therefore can work independently as necessary. Proposes design approaches for review and agreement from peers and his or her supervisor. Has worked on one or more shipping projects, and has experience in each of the basic software development lifecycle steps needed to ship a product. Very competent in nearly all code-centered, detailed-design centered, and task-centered areas, and demonstrates additional competencies in other software lifecycle areas. Teamwork skills are excellent.||Software development skills equivalent to a programmer at Level 4. At this level no distinction is made between someone who primarily writes code used in testing vs. code used in production.|
|5||Has consistently had major success during their participation in all aspects of small and large projects and has been essential to those projects’ successes. Has a track record of consistently rendering clear technical judgment and routinely considers architecture-level and project-planning issues. They ensure that projects are conducted in ways that benefit the project objectives, the people participating in the project, and Fog Creek’s long-term interests. Innovative, consistent, and contributes beyond the assigned tasks. Mentors others. Actively seeks accountability. Has achieved mastery of The Joel Test. Competence extends to architecture, user interface design, project planning, documentation, fit and finish, and other project-level issues. Teamwork skills are excellent. Committed to a self-study program, reading books and journals.
A developer at skill level 5 delivers complete, fully-baked products, from specs and prototypes, complete with documentation, management interfaces, polished user interfaces, automatic build routines, marketing collaterals, etc., which have been tested internally and externally.
|6||Has been critical to shipping a world-class product. Takes total ownership for all aspects of their project and makes many unique contributions. Decisions have a significant impact on Fog Creek’s profitability and overall well-being. Routinely provides technical direction to other groups and people. Their competence extends well beyond project-level issues to company-level issues.|
DETERMINING YOUR LEVEL
Level is determined as a function of (a) experience (b) the average of scope and skills (rounded using normal math rules, so 3.5 becomes 4) using this chart: