What are the responsibilities and job description for the Software Engineer III position at Creospan Inc.?
In this role, you will be building distributed systems that are scalable and adaptive to various data acquisition and ground truth data generation processes. We're addressing a variety of technical challenges in the areas of providing high-quality ground truth data that enable the training and evaluation of various ML models, including depth estimation, object detection, scene understanding, 3D reconstruction, SLAM tracking and occlusion modeling. Do you want to help build a scalable end-to-end pipeline that brings real-world AI to billions of people? We encourage you to apply and join us!
Software Engineer Responsibilities
- Design core, backend software components
- Conduct design and code reviews
- Maintain, analyze and improve efficiency, scalability, and stability of various system infrastructure
- Establish self as an owner of a particular component, feature or system with expert end-to-end understanding
- Successfully completes projects at large scope while maintaining a consistent high level of productivity
Minimum Qualifications
- Bachelor's degree in computer science, Computer Engineering, relevant technical field, or equivalent practical experience
- Experience with distributed systems development
- Experience maintaining, analyzing and improving efficiency, scalability, and stability of backend systems
- Experience improving quality through thoughtful code reviews, appropriate testing, proper rollout, monitoring, and proactive changes
- Proficient with Python, C/C or Hack programming languages
Preferred Qualifications
- MSc or PhD degree in Computer Science or Computer Engineering.
- Experience building and shipping high quality work and achieving high reliability
- Experience owning a component or feature a distributed system
- Exposure to architectural patterns of large-scale software applications
Top 3 must-have skills
- Proficient with Python, C/C or Hack programming languages,
- Experience with distributed systems development
- Experience maintaining, analyzing and improving efficiency, scalability, and stability of backend systems
Good to have skills:
- Experience building and shipping high quality work and achieving high reliability
- Experience owning a component or feature a distributed system
- Exposure to architectural patterns of large-scale software applications
Years of experience needed:
- Bachelor or master's degree in computer science, Computer Engineering, relevant technical field and 2 years of industrial experience