Software Engineer
Develop and maintain large-scale, multi-tier software and storage infrastructure applications using C and C++ across Unix/Linux environments. The role requires 3–6 years of development experience, strong systems design skills, and familiarity with networking, security, and automation.
About the job
Responsibilities
- Design, plan, configure, deploy, and support storage technologies, including capacity planning, performance optimization, and troubleshooting.
- Participate in the software development lifecycle using Agile or Waterfall methodologies.
- Design complex systems and software/storage environments; prepare product specifications and test strategies.
- Develop, integrate, maintain, and enhance software applications and functionality.
- Analyze and review code, resolve software defects, and ensure product quality.
- Present project status and prepare technical documentation.
- Collaborate effectively with developers and work independently when needed.
- Build and maintain end-to-end applications for Unix environments and large-scale, multi-tier systems.
- Develop REST clients and work with web services on Windows and Unix.
- Support build and automation activities on Unix.
Requirements
- 3–6 years of software development experience.
- Strong object-oriented programming skills using C++.
- Expertise in C and C++ in Unix/Linux environments.
- In-depth experience building end-to-end applications for Unix environments.
- Proficiency with Windows and Unix, data structures, algorithms, design patterns, and threads.
- Experience designing and implementing large-scale, multi-tier applications.
- Understanding of web services on Windows and Unix.
- Familiarity with networking protocols, including TCP/IP and TLS/SSL.
- Familiarity with Windows and Unix security mechanisms.
- Strong build and automation knowledge on Unix.
- Strong communication, collaboration, initiative, and problem-solving skills.
Nice-to-haves
- Understanding of security fundamentals, including authentication and cryptography.
- Experience building REST clients.
- Knowledge of cloud technologies.
- Knowledge of security technologies.
- Experience leveraging AI for work.
Skills
C++, C, Unix, Linux, Windows, Object-Oriented Programming, Data Structures, Algorithms, Design Patterns, TCP/IP, Tls/Ssl, Rest, Cloud Technologies, Cryptography, Build Automation
Similar jobs
Fullstack Engineering jobsProduct Engineer responsible for building Bolter’s AI agent runtime, workspace, generated applications, and production reliability systems. The role requires strong full-stack TypeScript experience, product judgment, rapid prototyping ability, and depth in AI systems, real-time infrastructure, or developer tooling.
Build and scale full-stack Creative and Studio products spanning APIs, user interfaces, infrastructure, and generative AI workflows. The role emphasizes product ownership, solving complex engineering problems, and expertise in Python, TypeScript, and React; no formal degree or experience requirement is specified.
Build production-grade training environments and infrastructure that enable AI agents to perform realistic, multi-step work. The role requires strong Python skills, broad engineering range across application and infrastructure layers, and ownership of technically substantial projects.
Build and lead development of scalable HRIS products and core services, partnering with product and design leaders while mentoring engineers and improving engineering excellence. Requires at least 3 years of software engineering experience and experience with customer-facing systems at scale.
Build infrastructure and automated testing frameworks for MongoDB’s application modernization platform, including database-equivalence validation, LLM-assisted test generation, and distributed-system tooling. Requires four years of software development experience with Java or another JVM language, Spring, databases, and testing frameworks.