- Drupal or similar Web Content Management System (WCMS)
- HTML, CSS, JavaScript
- PHP
- Apache
- Git / GitLab
- Linux
- MySQL / SQL
- DNS
- SSL/TLS
- Bash / PowerShell
- Docker
- REST APIs
Preferred Technical Skills
- Kubernetes deployments
- Microsoft Azure
- Apache Solr
- CI/CD
- Python
Level 1 – Duties & Responsibilities
- Develop and deploy application features based on technical specifications.
- Follow established application development best practices.
- Identify inefficiencies in existing development processes.
- Contribute to product development within a defined technical domain.
- Use existing frameworks and tools to develop application code.
- Write clean, well-structured, and maintainable code.
- Write test cases and automated unit tests for application code.
- Troubleshoot issues in existing application code.
- Analyze and prototype technical solutions.
- Follow source control and deployment practices to support reliable releases.
- Participate in various phases of the Software Development Lifecycle (SDLC).
- Perform other related duties as required.
Level 2 – Duties & Responsibilities
In addition to Level 1 responsibilities:
- Research and promote application development best practices.
- Develop automated solutions for inefficient or repetitive development tasks.
- Contribute to multiple products within a technical domain.
- Identify and select frameworks and tools appropriate for specific tasks.
- Create technical specifications based on functional requirements.
- Refactor code to maximize reuse of methods, functions, and plug-ins.
- Research and promote automated testing tools and techniques.
- Diagnose application problems and develop solutions to resolve them.
- Perform in-depth analysis of technical issues.
- Recommend short-term and long-term technical solutions.
Level 3 – Duties & Responsibilities
In addition to Level 1 and Level 2 responsibilities:
- Act as a technical leader or Subject Matter Expert (SME).
- Provide broad technical expertise across multiple areas of the profession.
- Lead teams and support day-to-day personnel and workflow management.
- Oversee application development across the full software lifecycle.
- Integrate new application development standards into existing processes.
- Architect, design, and develop complex systems spanning multiple technical domains.
- Identify gaps in existing frameworks and tools and develop solutions to address them.
- Develop architectural strategies aligned with organizational goals.
- Develop reusable components, objects, and plug-ins for multiple applications.
- Integrate new testing tools and techniques into development processes.
- Identify systemic issues within application codebases and develop solutions.
- Recommend technical solutions to business problems.
- Support the development of functional requirements.
- Serve as a technical leader and advisor for cross-functional teams.
- Communicate IT issues and technical solutions effectively to management and business stakeholders.
Required Qualifications
Education / Training
- Bachelor's degree in a related field.
- Four years of equivalent technical experience may substitute for the degree requirement.
Licensure / Certification
- No license or certification required.
- Development technology certifications are preferred where applicable.
Experience
- Level 1: No experience required beyond the minimum education/equivalency requirement.
- Level 2: 2 years of directly related experience.
- Level 3: 4 years of directly related experience.
Skills & Knowledge
Level 1
- Basic understanding of technologies supporting applications.
- Working knowledge of source control systems such as Git, VSS, TFS, or Subversion.
- Ability to navigate development environments using IDEs and command-line tools.
- Familiarity with at least one development framework.
- Familiarity with a high-level programming language such as PHP, Python, C#, Ruby, or Visual Basic.
- Basic understanding of programming data structures, including:
- Linked lists
- Dictionaries
- Classes and objects
- Ability to apply standard algorithms and design patterns.
- Ability to write effective test cases and automated unit tests.
- Follow established coding and naming conventions.
- Basic understanding of database concepts, including:
- Normalization
- Transactions
- Basic SQL queries
- Ability to develop software according to requirements.
- Ability to document functions, methods, and classes.
- Ability to diagnose and troubleshoot code and development tools.
- Effective communication with team members and peers.
- Ability to complete assigned tasks with close supervision.
Level 2
In addition to Level 1 skills:
- Comprehensive understanding of technologies supporting applications.
- Strong understanding of application deployment processes and methodologies.
- Extensive knowledge of multiple frameworks and/or high-level programming languages.
- Ability to optimize software based on underlying technologies.
- Comprehensive understanding and application of algorithms and design patterns.
- Strict adherence to coding standards.
- Proficiency in refactoring code and creating reusable functions and objects.
- Ability to design systems spanning multiple technologies and platforms.
- Ability to create technical documentation covering:
- System architecture
- Functional specifications
- Technical specifications
- Ability to coach and mentor junior developers.
- Ability to complete normal-scope tasks with minimal supervision.
Level 3
In addition to Level 2 skills:
- Demonstrated expertise in technologies supporting applications.
- Expert knowledge of deployment, code management, and development tools.
- Comprehensive knowledge of multiple technologies and frameworks.
- Ability to select the most appropriate technology for a given task.
- Expert programming skills with a focus on clean, maintainable code.
- Ability to plan and implement complex changes to production systems.
- Ability to develop and execute automated:
- Functional tests
- Load/performance tests
- UI tests
- Strong understanding and adherence to architectural standards and industry best practices.
- Ability to establish local technical standards and best practices.
- Ability to optimize, troubleshoot, and review other developers' code.
- Strong understanding of:
- Object-oriented programming
- Encapsulation
- Reusable libraries and solutions
- Ability to architect, design, document, and develop complex integrated systems.
- Experience with systems involving:
- Internal and external components
- Monitoring
- Reporting
- Failover
- Load balancing
- Ability to diagnose and resolve systems with limited prior exposure.
- Ability to troubleshoot issues across multiple technology layers, from hardware through application software.
- Proactively identify system weaknesses and develop tools to prevent future issues.
- Ability to present technical information to both technical and non-technical audiences.
- Recognized as a technical expert and leader.
- Demonstrated initiative and extensive technical knowledge.
- Ability to complete large-scope projects with minimal supervision.
- Ability to technically direct and oversee Level 1 and Level 2 Developers to maintain project timelines and deliverables.
Behavioral / Soft Competencies
For advancement to Level 3 or above, employees should demonstrate:
- Proven ability to perform responsibilities associated with the next level.
- Ability to handle more complex tasks and challenges.
- Potential to take on responsibilities beyond the next level.
- Long-term growth potential within the organization.
- Consistent alignment with organizational values, including:
- Integrity
- Teamwork
- Diversity
- Excellence
- Safety
- Patient-focused service
- Consistently strong performance and contributions.
- Reputation as a high-performing and reliable team member.
- Ability to exceed expectations and deliver results.
- Demonstrated leadership, initiative, and readiness for increased responsibility.