Salary
💰 $4,500 - $5,500 per month
About the role
- Provide complex analysis, design, programming, testing, and debugging for software applications with minimal assistance.
- Offer input on the feasibility of new products during the initial requirements phase.
- Actively contribute to architectural direction and improve organizational practices and processes.
- Develop engineering estimates for new products under consideration.
- Add new features or fix bugs in both your own code and that of other engineers.
- Ensure the team follows good software engineering practices and standards.
- Develop comprehensive engineering documentation for applications.
- Work with other software development staff, project management, and product management to facilitate product requirements.
- Coordinate the use of advanced software techniques and technologies using strong Software Engineering methodologies.
Requirements
- Bachelor’s degree in Computer Science/Software Engineering.
- 5+ years of industry experience.
- Strong knowledge of Software Engineering methodologies.
- Strong programming skills in Python, Bash, and some C/C++.
- Advanced proficiency in Linux environments, including system-level programming, shell scripting, process management, networking, and troubleshooting.
- Hands-on experience with hardware interfaces and drivers.
- Familiarity with security best practices.
- Experience with remote device monitoring, firmware updates, and over-the-air (OTA) deployment strategies.
- Experience with containerization and Podman preferred.
- Good oral and written communication skills.
- Excellent problem-solving and deductive reasoning skills.
- English-fluent, based in Latin America.