Flexion is seeking Lead/Senior Software Engineers to join our Flexion team to support a large agile health IT program in the Maryland/Virginia/Washington DC area. Hybrid of client onsite and remote work. The team's mission is to improve the program in the areas of security, reliability, and efficiency.
We are looking for engineers with strong application design and development skills. In this role you must possess excellent problem-solving skills and deep technical knowledge with a strong aptitude for appreciating the focus, scope, and impact of your work in a much wider and forward-looking software landscape. You should also be able to demonstrate a history of technical leadership, excellent communication, and a positive attitude.
You will collaborate with team members to develop tools that support several product development teams. Although you are a member of the cloud services team, you will work directly with two or three product development teams as an "Embedded Liaison". About half of your time will be spent with your teams as a Liaison, while the other half is spent working with the cloud services team to build tools and solutions.
Finally, the cloud services team provides expert troubleshooting services, and we are engaged by the primary support teams as a diagnostic experts to help reduce the severity and duration of significant incidents, and to understand and document incident root causes.
Embedded Liaisons are infrastructure and automation experts that serve as ambassadors, directly connecting product teams to the cloud services team. You will interact directly with your product teams every day. For the cloud services team, you are our eyes and ears on the ground, conducting invaluable user research. For the product teams, you socialize and coach cloud services tools, solutions, and services.
- Design, code, test, debug, and document software in an agile environment, including application framework components for use by the development team and business components when it intersects with new technology direction
- Collaborate with other teams in the organization to define supporting infrastructure and software tools needed to run and monitor software in a large scale environment
- Learn and analyze new technologies and industry best practices to identify suitability for adoption by the development team
- Contribute to the design and architecture of software and infrastructure to ensure projects meet goals for security, scalability, maintainability, availability, and resiliency and should be able to clearly articulate and present the implications of design/architectural decisions, issues, and plans to leadership
- Develop reusable patterns and encourage innovation that will enable team velocity
- Drive a quality mindset within the team
- Excellent analytical and creative problem-solving skills
- Independent/go-getter attitude to stay well-versed with new evolving technologies and apply this knowledge to improve the software we're developing now or in future
- Experience with all aspects of application development
- 8+ years of application development experience
- Experience with several of the following: Java, Python, Node.js, Spring, Hive, HBase, Spark, RabbitMQ, Postgres
- Demonstrated success in building design patterns and software engineering best practices
- Experience building APIs using a microservices architecture
- Experience developing cloud application architectures, specifically AWS
- Experience with tools supporting DevOps and Continuous Delivery
- Experience with automated unit testing, end to end testing, smoketests and application monitoring.
- Bachelor's degree in Computer Science, Information Technology Management or Engineering, or other IT related degree or two (2) additional years of experience in the Information Technology field in lieu of a degree for a total of ten (10) years of experience.
- Experience in complex projects with division or company-wide scope
- Experience designing systems for extremely high availability with 99.999% uptime
- Experience in projects requiring application re-engineering, modernization
- Speak openly and honestly about problems and proposed solutions
- Apply an attitude of servant leadership in a technical leadership role
- Welcome and handle changing requirements and priorities with little or no warning
- Collaborate in small groups online about 50% of the time
- Encourage simple and minimal solutions that keep options open
- Expect and vocally advocate for quality first
- Learn new practices and techniques as the situation demands
- Ensure the teams develop demonstrable software every week or two
- Do what needs to be done to deliver the product or project
- Relentlessly improve yourself, your team, and your processes
Equal Employment Opportunity/Affirmative Action Employer
Please mention that you come from GetRemotify when applying for this job.