OverviewThe Senior Software Engineer researches, designs, develops, tests, and manages software solutions to enhance and maintain products, driving business success. Software Engineers actively develop new software code and work to maintain existing code with a high degree of quality, leveraging software design principles, ingenuity and creativity, attention to detail, and analytical skills to devise unique and innovative software solutions. By utilizing DevOps and Agile methodologies, the Software Engineer swiftly delivers innovative functionalities and continuous improvements while managing legacy systems and technology debt. Lastly, Software Engineers collaborate with Business Systems Analysts, Test/QA Engineers, Product Managers, and leaders to ensure the achievement of critical objectives.
Primary Responsibilities- Ensure high-quality software deliverables by leveraging automation and tooling best practices.
- Diagnose and resolve complex software issues by analyzing root causes and assessing their impact on system performance.
- Take initiative with the proactive integration of solutions with other applications and platforms.
- Contribute to the establishment and refinement of development guidelines and standards, promoting best practices within the team.
- Execute configuration tasks to tailor software solutions to meet specific requirements and enhance user experience.
- Aid in resolving incidents, ensuring timely and effective resolution to maintain system reliability.
- Accurately estimate the scope and effort required for backlog items.
Additional Primary Responsibilities- Develop high-quality code using a disciplined and structured development process.
- Design, develop, and rigorously test assigned software components, following established development methodologies.
- 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.
- Provide ongoing Use DevOps and Agile processes to deliver desired functionality quickly and effectively while iterating to continue development.
Minimum Qualifications- Bachelor's degree in related field (e.g., Computer Science, Information Systems, etc.) or equivalent combination of education and work experience.
- Typically, 3 - 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 (preferred).
- Experience in DevOps and Agile technology environments (preferred).
- 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.
- 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