Software Engineer
Job Summary
Working under the direction of the Manager or Senior Team Lead, will be responsible for designing and developing sophisticated software for small self-contained projects. Work on cloud technologies like Docker and Kubernetes, and microservices-based software architectures with a strong focus on high scalability and high availability. Design and implement software features and components. Write high quality code and design extensible software using software engineering principles, patterns and methodologies. Execute performance monitoring and integration and participate in software development projects of moderate scope, from requirements gathering and design to implementation, qualification and validation. Assist cross-functional team members in engineering, quality engineering, user experience, and documentation. Increase increasing productivity and bring quality features to market. Work with subject matter experts in pursuit of continuous improvement of designs and strategies. May telecommute up to 40%.
Responsibilities
Qualifications
Required Qualifications:
Employer will accept a Master’s degree in Engineering, Computer Science, Analytics, or a closely related field and no experience.
Alternatively, employer will accept a Bachelor’s degree in Engineering, Computer Science, Analytics, or a closely related field and three (3) years of experience in the job offered or in a Software Engineer - related occupation.
Position requires demonstrable experience with the following:
- Demonstrated expertise in development, testing, and web based or cloud based development;
- Demonstrated expertise in object-oriented design and analysis, including writing algorithms, applying design patterns with object-oriented programming languages such as Golang, C++, , JavaScript, Java, or other JVM-based languages;
- Demonstrated expertise writing algorithms and applying data structures;
- Demonstrated expertise in the full software development life cycle (SDLC), including functional design, architecture design, implementation, and testing, according to scrum-based Agile methodologies.
Experience may be gained during graduate program. Will accept any suitable combination of education, training, and/or experience. Multiple positions available.