The Software Engineer II is a mid-level engineering role responsible for the design, development, maintenance, and enhancement of software applications and systems. This role operates with a high degree of autonomy on development and maintenance activities while collaborating cross-functionally to deliver reliable, scalable, and high-quality solutions. The engineer contributes to innovation, process improvement, and technical excellence across the organization.
Software Development & Delivery
- Design, develop, test, debug, and maintain software applications and systems.
- Participate in the full software development lifecycle (SDLC), including requirements analysis, design, development, testing, and deployment.
- Implement enhancements, upgrades, and patches to existing applications.
- Diagnose and resolve system defects, performance issues, and production incidents.
- Ensure application performance, reliability, and quality standards are met.
Technical Execution & Innovation
- Contribute to continuous improvement through research and application of new and existing technologies.
- Participate in proof-of-concept (POC) efforts to evaluate solutions supporting business and technology initiatives.
- Support enterprise application portfolio strategies and modernization efforts.
- Create, maintain, and enhance reusable components and packages (e.g., NuGet, NPM).
Collaboration & Cross-Functional Support
- Work closely with cross-functional teams to gather requirements, analyze user needs, and deliver effective solutions.
- Collaborate with DevOps teams to improve system stability through CI/CD pipelines and automation.
- Partner with team members and stakeholders to support project planning, problem-solving, and execution.
- Provide guidance and feedback to junior engineers and contribute to team knowledge sharing.
Operational Support & Continuous Improvement
- Maintain and support existing applications, ensuring ongoing stability and performance.
- Respond to inquiries, issues, and service requests in a timely and professional manner.
- Identify opportunities to improve development processes, tools, and team effectiveness.
- Contribute to enhancing development capabilities and engineering best practices across teams.
Qualifications
Professional Background
- Bachelor’s degree in Computer Science, Information Technology, or related technical field (or equivalent experience).
- 2–4 years of experience in software development, analysis, and coding.
Technical Skills
- Strong understanding of software development lifecycle (SDLC) and project lifecycle principles.
- Proficiency in one or more programming languages and modern development frameworks.
- Experience with web technologies, APIs, and/or scripting tools.
- Familiarity with DevOps practices, CI/CD pipelines, and version control systems.
Core Competencies
Problem Solving & Analytical Thinking
- Ability to diagnose issues, analyze requirements, and deliver effective solutions.
Collaboration & Communication
- Strong teamwork skills with the ability to communicate effectively with technical and non-technical stakeholders.
- Professional communication when working with business partners and external vendors.
Ownership & Execution
- Capable of working independently on assigned tasks while contributing to team goals.
- Takes accountability for delivering high-quality work on time.
Continuous Learning & Mentorship
- Actively develops technical skills and stays current with emerging technologies.
- Supports and mentors less experienced team members.