We are looking for a Senior Software Engineer to join our team and help design, develop, and maintain high-quality software solutions. In this role, you will work on business-critical applications, contribute to system design, and apply modern development methodologies to deliver reliable and scalable software.
You will work at various long-term unanticipated worksites throughout the U.S.
Responsibilities
- Create software programs and customize existing programs utilizing specific programming languages, frameworks, and development environments
- Gather requirements and needs, analyze, test, script, and document them to strengthen quality and functionality of business-critical applications
- Develop general system design including internal and external information flows, as well as current and future system requirements
- Create design, technical, and project documentation including high-quality documentation of code. Utilize different software development methodologies, processes, techniques, and quality planning methods in all phases of work
Requirements
- Bachelor’s degree or foreign equivalent in Computer Engineering, Software Engineering, Electrical Engineering, Electronics Engineering, Computer Science, Computer Information Systems, Computer Technology, Data Science, Information Technology, Information Systems Security, Information Design and Technology, Information Science, Telecommunications Engineering, Systems Networks and Engineering, Cybersecurity, Mathematics, Applied Mathematics, Physics, Statistics, Informatics, Radiophysics, Electronics, Mechatronics Engineering, or closely related discipline
- 18+ months of employment experience in the job offered (Senior Software Engineer), Software Engineer, Systems Engineer, Software Developer, Algorithm Developer, Testing Engineer, Quality Assurance Engineer, Technical Support Engineer, Application Support Engineer, Computer Programmer, IT Developer, or closely related occupation
- Utilization of at least one of the following cloud services, web technologies, and database technologies: GCP, Azure, AWS, or .NET to develop and design software applications
- Usage of at least one of the following programming languages: Java, C++, C#, Python, JavaScript, Golang, or Swift in developing software applications
- Maintenance of enterprise-grade software application solutions using at least one of the following SCM tools: Git or Docker
- Utilization of Agile methodology to apply software development methodologies, processes, techniques, and quality planning methods throughout all phases of work