ProObject is seeking an Extract, Translate, and Load (ETL) Software Engineer to join their software development team that provides application development for ETL processes for retrieving and delivering data across multiple persistence technologies in a performant manner.
ETL Software Engineer Duties Include:
- Providing software development and technical services to support the Analytic and Engagement Applications (AEA)
- Developing ETL processes to retrieve and deliver data across multiple persistence technologies in a performant manner
- Understanding and ensure corporate compliance rule sets are upheld
- Developing and deploying Map/Reduce analytics to the corporate cloud environment
- Connecting to outside data sources to retrieve, collate, and cache data
- Writing automated unit and integration tests
- Monitoring running applications and troubleshooting errors.
- Provide software engineering support to the development of Extract, Translate, and Load (ETL) processes for retrieving and delivering data across multiple persistence technologies in a performant manner.
- Team Size: ~37 team members made up of software developers, system engineers, test engineers, SCRUM masters, and technical writers.
- Team Location: Contractor facility, Annapolis Junction, Md.
- Team collaborates with Outreach (user application helpdesk) and User Experience teams.
- Seating: Cubicle environment (has access to both classified and unclassified computers and phones at their desk)
- Some contact with technical government personnel but no direct user contact
- Product support analysts at the agency, IC, and other party affiliations.
Technical Skills Required:
- Technical experience with:
- Developing applications using Java
- Developing RESTful Services
- Developing applications interfacing into Elasticsearch / Oracle
- 20+ years’ experience with:
- Serving as the technical lead of multiple software development teams
- Development of software solutions by analyzing system performance standards
- Assisting with development and execution of test procedures for software components
- Designing, developing, and modifying software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
- Ensuring quality control of all developed and modified software
- Delegate programming and testing responsibilities to one or more teams and monitoring their performance
- Writing or reviewing software system documentation
Special Technical Skills Desired:
- Experience with HTTP caching
- Experience with cloud technologies
- Experience with Apache Spark
- Experience with Kafka
- Experience with consuming and writing web services
- Experience with generating technical documentation
- Experience with writing Linux based scripts for code integration and cron jobs using Bourne Shell, C, or Python and work in a command line environment
- Experience working in an Agile software development environment
- Experience managing software code using Git & MAVEN
- Experience using with Jira and Confluence
Minimum Experience Required:
- A Bachelor’s degree in Computer Science or related discipline
- Four (4) years of experience may be substituted for a Bachelor’s degree
- 20+ years of ex/Javaperience
- TS/SCI with Polygraph Required