Job Description
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging or designing of software applications or operating systems. Provide technical leadership to other software developers. Specify, design and implement modest changes to existing software architecture to meet changing needs. Duties and tasks are varied and complex needing independent judgment. Fully competent in own area of expertise. May have project lead role and or supervise lower level personnel. BS or MS degree or equivalent experience relevant to functional area. 4 years of software engineering or related experience.
Minimum Qualifications
- 4+ Years of Experience in building scalable, cloud-native distributed systems.
- Educational Background: BS in Computer Science or equivalent experience.
- Collaboration Skills: Ability to work effectively in a cross-functional team environment.
- Strong Knowledge in Computer Science concepts (data structures, algorithms, programming paradigms).
- Proficiency in Programming: Experience with Java/C++, Python, and shell scripting.
- Container Orchestration: Experience with Kubernetes, Docker Swarm, Mesos, and Helm Charts.
- Version Control & CI/CD: Strong working knowledge of GitHub/Bitbucket, TeamCity/Hudson, Maven/Gradle.
- Service-Oriented Architecture: Experience with building highly available services and knowledge of service-to-service communication protocols.
- Infrastructure Components: Familiarity with service discovery, secret storage, containerization, and software-defined networking.
- Production Operations: Experience in deploying quality code in production, troubleshooting issues, and following best practices.
- Clear Communication: Ability to communicate technical ideas effectively (verbally and in writing), including proposals, design specs, and architecture diagrams.
Preferred Qualifications
- Advanced Degree: MS in Computer Science.
- Start-Up Experience: Experience working in fast-paced start-up environments.
- Cloud Native Expertise: Experience in building control plane/data plane solutions for cloud-native companies.
- Performance Troubleshooting: Skilled in diagnosing and resolving performance issues in complex environments.
- Unix-like Systems: Deep understanding of Unix-like operating systems.
- Cloud & ML Technologies: Production experience with Cloud technologies and Machine Learning.
- Data Science/ML Knowledge: Knowledge in data science and machine learning is a plus, but not required.