GCI, embodies excellence, integrity and professionalism. The employees supporting our customers deliver unique, high-value mission solutions while effectively leverage the technological expertise of our valued workforce to meet critical mission requirements in the areas of Data Analytics and Software Development, Engineering, Targeting and Analysis, Operations, Training, and Cyber Operations.
We maximize opportunities for success by building and maintaining trusted and reliable partnerships with our customers and industry.
At GCI, we solve the hard problems. As a Software Engineer, a typical day will include the following duties :
JOB DESCRIPTION
The Software Engineer will design, develop, code, test, and debug complex software products to be deployed in a mission critical environment.
The ideal candidate is a hands-on developer with significant experience in scalable data platforms, cloud-based services, and big data analytics.
They must have strong, firsthand technical expertise in a variety of data ingestion / computation technologies and the proven ability to fashion robust scalable solutions that can manage large data sets.
They must be at ease working in an agile environment with a cross-functional team. This person should embody a passion for innovation and continuous improvement.
KEY RESPONSIBILITIES
Work with a team to write new cloud-based applications and tools, and recommend new technologies and methodologies to improve system performance and usability.
Design, develop, test, debug, and deploy new software tools that extend or replace existing capabilities to parse raw data for analysis.
Collaborate cross-functionally with data scientists, analysts, project managers and other engineers and technical SMEs.
Deploy new software into an AWS-based data ingest pipeline.
Write software that interacts with multiple data types and stores data into S3 buckets that is queried by processes running on EMR clusters.
Troubleshoot complex problems and provide support to mission areas for software systems and application issues.
Maintain good documentation for new software written and new procedures to be followed.
Provide recommendations for continuous improvement.
Work alongside other engineers on the team to sustain and advance our organization’s capabilities.
EDUCATION AND EXPERIENCE
Bachelor's degree in Computer Science, Information Technology, or other related technical discipline, or equivalent combination of education, technical certifications, training, and work / military experience.
REQUIRED QUALIFICATIONS
Demonstrated hands-on experience with Python, Git, and unit testing frameworks.
Demonstrated hands-on experience working with AWS Athena
Demonstrated hands-on experience with building APIs and services using REST.
Demonstrated hands-on experience with AWS Glue
Demonstrated hands-on experience with PRESTO, Trino, or Apache Spark
Demonstrated hands-on experience with AWS CDK 1 and / or 2.
Demonstrated hands-on experience with cloud-based Lambda functions
Demonstrated hands-on experience with reverse proxy solutions e.g NGINX
DESIRED QUALIFICATIONS
Demonstrated hands on experience working with DynamoDB, , or HIVE.
Demonstrated hands-on experience with Parquet and / or ORC file formats.
Demonstrated hands-on experience working with Hadoop, Apache Spark and their related ecosystems.
Demonstrated hands-on experience working with cloud formation for automation.
Demonstrated hands-on experience building and deploying software within a CI / CD pipeline.
Demonstrated hands-on experience with Linux-based systems and shell scripting.