1. Software Engineer (I, II, and III) We don t hire coders 1.1 Introduction 5AM s primary mission is to build software solutions for our clients. At 5AM, software engineers build those software solutions. A 5AM Software Engineer must possess skills across various software disciplines such as analysis and design, implementation, and test, as well as universal disciplines such as communication and mentoring. The following represent the disciplines we measure for our software engineers: business modeling requirements analysis and design implementation test deployment configuration management and change control project management environment database user experience security communication mentoring Each software engineer at 5AM follows their own path of specialization, however all our software engineers share a fundamental competence across each of the disciplines. We don t hire coders, though we do hire software engineers whose primary responsibility is to implement solid code. We don t hire requirements analysts, though we do hire software engineers whose primary responsibility is to elicit requirements and communicate them to the rest of the team. 1.2 Roles With each new endeavor, we seek to assign project roles to individual software engineers based on a combination of their talent, current obligations, and career desires. We also consider, though we cannot always oblige, specific client requests for folks they have enjoyed working with in the past. As is often the case in a small but growing company, when we cannot fulfill roles with existing 5AM software engineers, we seek talented and passionate individuals to join us. It is important that candidates considering joining 5AM understand that, though we may be advertising an initial engagement in an initial role, for example, senior developer, we are really seeking a software engineer who understands that our culture and our way of doing business does not allow for one-trick ponies. Though a new software engineer may join 5AM in one specific role, it will only be a matter of time before they will be presented the opportunity to be in a different one. Prepared by 5AM Solutions, Inc. 1
1.3 Technical Growth Path There are three dimensions within the technical growth path at 5AM. 1.3.1 First Dimension -- Keeping Afloat It is a fact of life that software engineering requires a steady dose of education simply to remain vital and effective. Without deliberate and concentrated effort to keep up with our industry, software engineers can lose their usefulness. Consider these simple examples. An engineer considered to be expert in C++ or PERL implementation might still have absolutely zero talent in Ruby, Java, or AJAX development. While one can benefit from their experience, individual technologies do get obsolesced and/or replaced over time and it is imperative that our software engineers remain current just to keep afloat. 1.3.2 Second Dimension Increasing Depth of Expertise in Specific Disciplines While we need our software engineers to have a broad appreciation and ability in our field, we still anticipate that people will develop expertise in specific disciplines. Developing expertise in a specific discipline is dependent on several factors, including exposure, aptitude, interest, and experience. 1.3.3 Third Dimension Increasing Overall Breadth of Expertise Across Disciplines Having an understanding and appreciation for each of the disciplines is one thing, but actually having a degree of proficiency in many or all of them is even more valuable. The role of software architect, for example, requires a breadth of ability so that the architect can make valuable and considerate decisions. 1.3.4 Levels I, II and III We do not rank our software engineers based on years of experience or degrees held. On the contrary, we consider current results more than one s past or pedigree. One moves along from a Software Engineer I to a Software Engineer II by increasing their worth across any/all the growth dimensions. Here are some examples of the distinctions of the entry criteria for each of the levels: Software Engineer I Demonstrable proficiency in one or more software engineering disciplines Demonstrable proficiency in both verbal and written communication A passion in and interest to absorb and employ new skills, especially in disciplines with non-existent or only nominal skill A willingness and eagerness to be mentored by more senior software engineers A desire to serve the mission of 5AM Software Engineer II Successful experience in three or more software engineering disciplines Successful experience as a team member on one or more complete software solution lifecycles Good working knowledge of all the software engineering disciplines and the processes Prepared by 5AM Solutions, Inc. 2
and technologies that support them A willingness and eagerness to mentor peers and more junior software engineers Software Engineer III Successful experience in four or more software engineering disciplines Successful experience on three or more complete software solution lifecycles Successful experience on one or more complete software solution lifecycles while on a 5AM team Successful experience mentoring peers and more junior software engineers Demonstrable expert-level application of at least one of the software engineering disciplines 1.3.5 Charting Your Disciplines The following three charts illustrate both the similarities and differences among different software engineers. Can you match the chart to a suitable role and Software Engineer Level (I, II, or III)? Software Engineer III: Software Architect Software Engineer II: Database Developer Software Engineer III: Expert User Interface Developer Software Engineer I: Requirements Analyst Figure Figure 1 - discipline graph suitable for which role? Prepared by 5AM Solutions, Inc. 3
Figure 2 - discipline graph suitable for which role? Figure 3 - discipline graph suitable for which role? Prepared by 5AM Solutions, Inc. 4
Figure 4 - discipline graph suitable for which role? 1.4 Further Information For more on what 5AM does and on the specific technologies 5AM currently embraces, visit us at www.5amsolutions.com. Interested? The best way to learn more is by approaching and speaking with an existing 5AM software engineer. If you do not already know a 5AM software engineer, send an email to resumes@5amsolutions.com. Prepared by 5AM Solutions, Inc. 5