Permanently Gone
Industry Role:
Join Date: Mar 2004
Posts: 10,019
|
I'll give you some "off-the-cuff" thoughts while I watch the Pacquiao fight:
Senior-Level: Capable of architecting and executing enterprise-level applications that deliver in time-to-market, scalability, and maintainability. Deadlines are set in stone, and delivery is virtually certain. Often has responsibility for more junior-level staff, and may serve as an interim CTO or VP of Engineering while the company seeks in-house staff. This person is a programmer, not a web developer, and is capable of delivering projects across a multitude of platforms. Comfortable in a number of frameworks, and is capable of constructing custom MVC-based frameworks for projects. Excellent grasp of object-oriented principles. Code is self-documenting. Utilizes unit testing, version tracking, and bug tracking tools. Capable of re-architecting existing codebases from the superclass and interface level, as well as database plans and server infrastructure. Cooperatively generates, and then works off of a very detailed spec sheet. Engages with only the most interesting or profitable projects, and almost always has more available work than available time. Monthly revenue from freelance projects: $9,500 to $15,000. Salary requirements: $95,000-$145,000.
Upper-Mid-Level: Can execute the system architecture of a more senior-level coder, generally meets deadlines without excuses, and finishes the majority of projects they start. Good grasp of object oriented principles. Capable of changing gears in the middle of a project and adapting a spec sheet to meet the fluid goals. Works well with others, and is capable of doing a code review of more junior-level programmers. Can enhance super-classes and class interfaces. Monthly revenue from freelance projects: $6,500 to $9,000. Salary requirements: $75,000 to $90,000.
Mid-Level: Capable of working as part of a cohesive team. Comfortable with MVC and object-oriented principles, but may not always utilize them properly. Can maintain the code of more junior-level programmers, and has suggestions for improving some methods and classes. Code produced is often somewhat challenging for other coders to maintain. Generally has no knowledge of programming, and is primarily a web developer. Monthly revenue from freelance projects: $2,500 to $5,000. Salary requirements: $45,000 to $65,000.
Junior-Level: Generally works alone ("Cowboy Coding"), producing code that is difficult to maintain. Uncomfortable or unfamiliar with MVC, OOP, unit testing, and possible basic concepts such as regression and referential data integrity. Usually incapable of working with the code of others, and will often suggest code-rewrites. Completion is far from guaranteed, and projects are often abandoned when the work moves beyond the scope of their ability. Often poorly articulate in spec sheets, and budgets overruns, delays, and other problems are common. May only have knowledge of one web development language (PHP being the most common), and has no knowledge of programming. Monthly revenue from freelance projects: $0-$2,000. Salary requirements: $20,000 to $35,000.
That's based on my roughly two decades of experience developing in general (in languages beyond the learner-level -- we're not counting the time spent BASIC and its kin here), and about a decade and a half developing in the corporate world for large clients.
|