Overview
We are seeking an experienced Software & Data Engineer to support the maintenance, enhancement, and continued development of an existing social media data exploitation platform.
The program applies technical resources to accelerate the timely, reliable, and secure delivery of open-source data, information, and insights. The Software & Data Engineer will work within an established development team to enhance a service-based web application, develop data ingestion and processing capabilities, integrate external APIs, and maintain supporting database and infrastructure components.
What will you do?
• Design, develop, enhance, and maintain software supporting a social media data exploitation platform.
• Develop applications and services using Python.
• Develop and maintain Python-based API integrations.
• Design, develop, and integrate APIs utilizing:
• RESTful APIs
• GraphQL
• Sockets
• Other web-service protocols
• Develop and maintain software components using Java as required.
• Develop enhancements to existing service-based web applications.
• Work with web technologies including cookies, web transactions, host-to-host communication, browser developer tools, and mobile compatibility capabilities.
• Utilize Anaconda and/or MicroMamba for Python environment and package management.
• Maintain application source code within enterprise Git repositories.
• Design, develop, and maintain SQL-based databases, including:
• PostgreSQL
• MySQL
• Develop and maintain PL/SQL scripts, including:
• Procedures
• Functions
• Exception handlers
• Triggers
• Write, optimize, and tune complex database queries.
• Work with both structured and unstructured datasets.
• Design and maintain Extract, Transform, and Load (ETL) processes.
• Develop and support data ingestion and transformation pipelines.
• Utilize Apache NiFi for data flow, ingestion, and processing.
• Work with NoSQL and big-data technologies including:
• MongoDB
• Elasticsearch
• MapReduce
• HBase
• Troubleshoot database, ingestion, transformation, and data-processing issues.
Do you have what it takes?
• Active TS/SCI with Polygraph
• Bachelor's degree in Computer Science, Information Technology, Engineering, or a related technical discipline preferred.
• Demonstrated professional experience developing applications with Python.
• Experience developing Python API integrations.
• Experience utilizing Anaconda and/or MicroMamba for Python package and environment management.
• Strong experience working within Linux environments.
• Experience with Bash scripting, Cron jobs, and IT automation.
• Experience developing and integrating APIs using REST, GraphQL, and/or socket-based communications.
• Professional development experience with Java.
• Experience with web application technologies and browser-based troubleshooting.
• Knowledge of SSL/TLS, certificates, and secure application communications.
• Experience designing, developing, and maintaining relational databases, including PostgreSQL and MySQL.
• Experience developing PL/SQL scripts, procedures, functions, exception handlers, and triggers.
• Experience developing and tuning complex queries against structured and unstructured datasets.
• Experience maintaining Jenkins CI/CD pipelines with automated testing and deployment.
• Experience with big-data and/or NoSQL technologies such as MongoDB, Elasticsearch, MapReduce, or HBase.
• Experience with Apache NiFi.
• Strong experience designing and supporting ETL processes and data pipelines.
• Experience maintaining and troubleshooting software, hardware, and network infrastructure.
• Experience using Git for source code management.
• Strong troubleshooting, analytical, and problem-solving abilities.