JOB FUNCTION / SUMMARY:
The Software Engineer II is a fully proficient technology professional responsible for the design, development, testing, implementation, and support of software applications, integrations, and technology solutions. This role works independently on moderately complex assignments and collaborates with business stakeholders, analysts, architects, and other technology professionals to deliver secure, scalable, and reliable solutions. The Software Engineer II applies established software engineering principles and contributes to continuous improvement initiatives that support organizational objectives.
ESSENTIAL DUTIES & RESPONSIBILITIES:
- Design, develop, test, and maintain software applications, services, and system integrations.
- Analyze business and technical requirements and translate them into functional software solutions.
- Develop, enhance, and support APIs, interfaces, and application integrations.
- Create efficient, maintainable, and scalable code in accordance with established development standards.
- Perform unit testing, integration testing, and support user acceptance testing activities.
- Troubleshoot and resolve application defects, performance issues, and production incidents.
- Participate in code reviews and recommend improvements to software quality and development practices.
- Develop and maintain technical documentation, including specifications, diagrams, and support procedures.
- Collaborate with cross-functional teams to implement new features and technology enhancements.
- Support software deployments, release activities, and post-implementation reviews.
- Monitor application performance and identify opportunities for optimization and automation.
- Adhere to cybersecurity, data privacy, and regulatory compliance requirements.
- Participate in Agile ceremonies including sprint planning, standups, retrospectives, and backlog refinement.
- Provide guidance and technical assistance to Software Engineer I team members.
- Stay current with emerging technologies, software development tools, and industry best practices.
SUPERVISORY RESPONSIBILITIES:
None
MINIMUM REQUIRED EDUCATION, EXPERIENCE & KNOWLEDGE:
- 3-5 years of professional software development experience.
- Experience developing, testing, and supporting enterprise applications.
- Experience working with software development lifecycle (SDLC) methodologies.
- Experience with databases, APIs, web services, and application integrations.
- Experience working within Agile or Scrum environments.
- Experience supporting cloud-based applications and DevOps practices preferred.
- Proficiency in one or more programming languages such as Java, C#, Python, JavaScript, or comparable technologies.
- Working knowledge of application design, software architecture, and development best practices.
- Understanding of relational databases, query optimization, and data integration concepts.
- Knowledge of source control, automated testing, and CI/CD processes.
- Strong analytical, troubleshooting, and problem-solving skills.
- Ability to effectively communicate technical concepts to both technical and non-technical stakeholders.
- Ability to manage multiple priorities and deliver assignments with minimal supervision.
- Strong collaboration and teamwork skills.
- Ability to mentor junior developers and contribute to team knowledge sharing.
ESSENTIAL MENTAL & PHYSICAL REQUIREMENTS:
- Ability to work under stress and meet deadlines.
- Ability to travel if required to perform the essential job functions.
- Ability to operate related equipment to perform the essential job functions.
- Ability to read and interpret a document if required to perform the essential job functions.
- Ability to lift/move/carry approximately 10 pounds if required to perform the essential job functions. If the employee is unable to lift/move/carry this weight and can be accommodated without causing the department/division an “undue hardship” then the employee must be accommodated; hence omitting lifting/moving/carrying as a physical requirement.