As a Software Engineer II, you will deliver complex code solutions that support business objectives and customer needs. You will contribute to system design, architecture, security, scalability, reliability, and application performance while providing end-to-end support for services and applications. This role requires collaboration across teams, ownership of technical solutions, and a commitment to delivering high-quality software in a fast-paced environment.
-
Works on defined technology projects and tasks with occasional guidance.
-
Writes production-ready code and tests that meet acceptance criteria, are easily testable, documented, understandable by other developers, and account for edge cases, security, and error handling.
-
Creates, configures, and supports build and deployment pipelines.
-
Participates in on-call support, debugging, and troubleshooting moderately complex issues within team services. May seek guidance from more senior engineers for complex issues.
-
Grows technical skills and experience while beginning to lead small initiatives independently.
-
Collaborates across teams, learning how to influence within the team and serve as a mentor for more junior engineers.
-
Recommends changes to processes and tools at the team level based on industry standards, patterns, and best practices.
-
Navigates complex work that may span multiple systems and applications.
-
Diagnoses and troubleshoots problems occurring within their area of responsibility.
-
Ensures work is appropriately sized for accurate estimation, continuous integration, and incremental delivery with support from the team.
-
Seeks out and defines work while understanding and acting on task prioritization.
-
Identifies and communicates dependencies and blockers within the team and escalates risks appropriately.
-
Manages workload effectively and collaborates with teammates to deliver high-priority work.
-
Contributes to root cause analysis and provides recommendations to prevent future issues.
-
Engages appropriate stakeholders to resolve issues and escalates concerns when necessary.
-
Learns and implements effective system monitoring and observability practices.
The responsibilities and essential functions outlined above describe the general nature and level of work assigned to this position. This is not an exhaustive list of duties, responsibilities, and skills required. Duties and responsibilities may be modified at any time based on business needs. Employees may be required to perform other job-related tasks as requested by their supervisor, subject to reasonable accommodations.
-
Experience in software development and in the specific area of assignment.
-
Experience with common software engineering tools such as Git, Jira, and Confluence.
-
Strong knowledge of computer science fundamentals such as data structures, algorithms, and design patterns.
-
Conversant in the technology stack of the systems and services supported by the team.
-
Able to review others' code for the strength of engineering solutions, including performance, sustainability, and iterative development potential.
-
Strong understanding of coding standards and design principles/patterns and Lean Startup or Agile development methodologies.
For Backend Software Engineers:
-
Working knowledge of relevant technologies (e.g., Node.js, Java, Python, PHP, MySQL, API development, microservices).
-
Understanding of systems architecture technologies (e.g., Linux, Amazon Web Services, Docker, cloud-native architectures, distributed systems).
Professional Competencies:
-
High degree of personal accountability to self and team for continued growth.
-
Ability to operate independently while owning your effect on the organization.
-
Resilient and optimistic when faced with the unexpected, can manage most ambiguity within the scope of daily work, and is willing to proactively disambiguate requirements.
-
Team player who actively learns the team's domain by asking questions, sharing knowledge, and contributing to documentation. Collaborates effectively with Product Management, Design, QA, and other partners.
-
Committed to adding value by supporting the team, contributing perspective, and committing to the appropriate amount of work.
-
Growth Mindset. Ability to fail-forward, ask questions, apply coaching, and demonstrate a genuine desire to learn, grow, and teach. Serves as a model for junior engineers and consistently demonstrates company values.
-
Self-starter who proactively seeks help when priorities or dependencies are unclear and takes initiative to learn the team, the work, and the business.
-
Impact. Understands area of responsibility and shares knowledge with others. Provides constructive feedback and recognizes the contributions of teammates.
-
Connect. Facilitates conversations to ensure viewpoints are represented and understood. Listens to differing perspectives and works toward the best solution for all.
-
Bachelor's degree in Computer Science or comparable formal training, certification, or relevant work experience.
-
Travel by car or plane, including occasional overnight stays.
-
Ability to work extended hours, as needed.
-
Ability to sit for extended periods.
-
Ability to participate in rotating on-call schedules, as needed.
The work environment characteristics described here are representative of those a Partner encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Last Revised: 11/01/2024