OverviewThe Staff Software Engineer enhances and maintains software products by translating backlog items into technical designs that meet business needs, while determining the technical feasibility of features. Senior Software Engineers provide strategic solutions for issues, review technical design specifications, and ensure quality in development practices. Additionally, the Senior Software Engineer guides other engineers in configuration tasks to maintain platform stability and usability. By collaborating closely with Business Systems Analysts, Test/QA Engineers, and Product Managers, the Senior Software Engineer is instrumental in driving the achievement of key business objectives.
Primary Responsibilities- Determine technical feasibility criteria and identify the next steps and actions for software and features.
- Diagnose and resolve complex software issues by analyzing root causes and assessing their impact on system performance.
- Offer strategic solutions, analysis, and advice regarding identified issues for future development.
- Integrate solutions with other applications and platforms.
- Perform configuration tasks and provide guidance to other engineers/technical administrators.
- Maintain the stability and usability of the platform across all environments.
- Translate and/or review backlog items into physical designs and logical units, ensuring designs meet business requests
Additional Primary Responsibilities- Design, develop, and rigorously test assigned software components, following established development methodologies.
- Participate in the design and development of the test automation framework and any required in-house tools.
- Implement automated testing and integrate best practices within CI/CD pipelines to enhance software quality and delivery speed.
- Conduct thorough code reviews to ensure quality assurance, incorporating feedback into development artifacts and practices.
- Use DevOps and Agile processes to deliver desired functionality quickly and effectively while iterating to continue development.
- Assist with and review technical design specifications.
Minimum Qualifications- Bachelor's or master's degree in related field (e.g., Computer Science, Information Systems, etc.) or equivalent combination of education and work experience.
- Typically, 5+ years of experience as a developer, programmer, software engineer, or other relevant role.
- Experience using engineering methodologies; related certification or professional engineer designation desirable.
- Experience in building APIs for both internal and external products.
- Experience in DevOps and Agile technology environments.
- Experience with multiple programming languages (e.g., Java, C++, C#, Scala).
- Experience with development platforms (e.g., AWS, Azure, Salesforce, Pega, Docker, Kubernetes).
- Experience with relational databases (e.g., Oracle, PostgreSQL, etc.).
- Experience directing team workflows (preferred).
- Native-level proficiency/fluent in English
Physical Demands- Physical demands with activity or condition for a considerable amount of time include sitting and typing/keyboarding using a computer (e.g., keyboard, mouse, and monitor) or mobile device
- Physical demands with activity or condition may occasionally include walking, bending, reaching, standing, and stooping
- May require occasional lifting/lowering, pushing, carrying, or pulling up to 20lbs