Position Description: SOFTWARE ENGINEER
REQUIRED SKILLS:
- Bachelor’s degree in Computer Science or related field
- 15+ years of experience in software engineering
- Extensive experience working with AWS cloud services such as S3, RDS, SNS and SQS
- Strong grasp of DevOPS processes and tools to enable CI/CD pipelines, particularly with database deployments
- Skilled in various Database platforms, both building and designing, such as PostgreSQL, MySQL and DynamoDB
- A passion for modernizing legacy tools, services, and processes
- Experience with building pipelines and connectivity with both COTS and GOTS products
- Experience with ETL tools and processes, as well as the movement and tracking of big data
- Strong problem-solving skills and ability to debug complex issues
- Experience with design, development, testing and operations of highly-available REST API services to support large enterprise business/mission objectives
- Experience automating API documentation using a range of solutions for generating, visualizing and maintaining up-to-date docs as your API evolves, such as Swagger
- Experience with unit testing and test-driven development (TDD)
- Familiarity with Agile development methodologies and practices
- Proficiency in one or more programming languages such as Java, TypeScript and JavaScript
- Familiarity with Jira or similar issue tracking tools
- Excellent communication and collaboration skills
- Excellent problem-solving skills and attention to detail
- Ability to work collaboratively in a team environment and participate in pair programming
- Understanding of security best practices for software development
DESIRED SKILLS:
- Experience with frontend development using frameworks such as React, Angular, or Vue
- Knowledge of microservices architectures and containerization
- Familiarity with serverless computing and event-driven architectures
- Experience with cloud platforms such as AWS, Azure, or Google Cloud
- Familiarity with microservices architecture and containerization technologies
- Familiarity with DevOps practices such a continuous integration and deployment
- Experience with DevSecOps practices and tools like Git, Jenkins and Ansible
- Familiarity with database design and SQL
- Experience with performance testing and optimization