CareFirst BlueCross BlueShield is seeking a Principal Software Engineer to implement engineering best practices for high-quality product deployment. The role involves leading design and development efforts, mentoring junior engineers, and ensuring alignment with the company's architectural roadmap and product development strategy.
Responsibilities:
- Lead the strategic direction of the design, development, and implementation of multiple applications
- Performs and leads the detail technical design, debugging, coding, code review and testing of new applications as well as enhancements of existing applications
- Compile, assess, and report data results from software testing and analysis
- Experience building cloud ready applications
- Design and implement software application from both a code point of view and a deployment point of view
- Demonstrated experience with front-end and back-end programing and integration frameworks and tools
- Estimate the effort required to develop, test and deploy software applications
- Learn and fully understand business domains and functions
- Participates in collaborative meetings with internal and external stakeholders to coordinate both short and long term activities between business areas
- Ensures that product engineering remains consistent with the company's architectural roadmap and product development strategy while improving the performance of existing software
- Articulate the trade-offs, benefits and risks of proposed architecture and design solutions
- Researches, analyzes, and implements best-practice engineering methodologies and processes for products
- Provides technical guidance to development teams and oversee the technical aspects of the project
- Provide necessary guidance to the teams related to quality engineering (Test Driven Development, Behavior Driven Development, Test automation, performance testing, building quality in from the beginning, and test data management)
- Develop and implement application on proposed architecture, overseeing issues such as migration
- Extend open-source libraries and systems as necessary to meet the needs of the team
- Play a crucial role in product scoping and roadmap / architecture discussions
- Continually evaluate emerging technologies to identify opportunities, trends, and best
- Mentors more junior and senior engineers in-person or via code reviews and assists in problem solving
- Provide mentorship, administrative oversight, evaluations, and personal development of junior staff
- Assist the application/solution architect in the architectural vision and design process
- Assist and triage production issues and propose fixes
Requirements:
- Bachelor's Degree in Information Technology or Computer Science OR in lieu of a Bachelor's degree, an additional 4 years of relevant work experience is required in addition to the required work experience
- 10 years' Experience in the software development life cycle (SDLC) and ensures adherence to quality and delivery management systems
- Works closely with Architects, Product Owners, Scrum Masters, and Value Stream Managers to provide insight into delivering business value and meeting objectives
- Decomposes functional and technical requirements into project activities and tasks and provides conceptual design, prototype, and test cycles appropriate to a chosen technical solution
- Identifies technical risks and develops mitigation strategies; introduces and recommends industry best practices and standards for the project
- Evaluates and assists in the selection and procurement of hardware and software technologies and serves as a mentor for junior developers
- Works with stakeholders as well as technical and analytical counterparts to define constraints and develop requirements and concept of operations documentation
- Knowledge of cloud technologies (e.g. Azure, AWS)
- Knowledge of database technologies (e.g. cloud, SQL, Oracle, Mongo DB, PostgreSQL, etc.)
- Fundamental knowledge of software engineers' best practices, agile methodologies, CI/CD pipelines
- Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests
- Strong experience with Deployment/Continuous Integration/ Continuous Testing/ Continuous Delivery processes and tools and have expertise in CI/CD tools and framework
- Experience with deploying a global application including deployment and configuration management
- Ensure code quality standards, deployment methodologies and practices
- Knowledge of code deployment architecture and methodology
- Reviewing the work of other developers and providing feedback
- Ability to communicate technical requirements to all levels of expertise
- Proficient in establishing and maintaining good working relationships