Junior Systems Developer
You will be joining a forward-thinking organization that thrives on innovation and technical excellence. Our culture is built on collaboration, continuous learning, and empowering our engineers to solve challenging problems. We operate a distributed, remote-first team, trusting our people to deliver outstanding work from wherever they are most productive. Here, you won't just be coding; you will be building the bedrock of our technology and growing your skills with the support of experienced mentors.
Your Impact and Responsibilities
- Engineer and develop foundational system software and essential internal tools using modern C++ and Java.
- Engage in the full software development lifecycle—from concept and design to deployment and maintenance.
- Proactively identify, diagnose, and resolve complex bugs and performance bottlenecks within our systems.
- Collaborate closely with senior developers and cross-functional IT teams to support seamless system integrations and API functionality.
- Author and maintain clear, concise technical documentation for new and existing processes, ensuring knowledge is shared effectively.
- Assist in the deployment pipeline, helping to roll out new features and system updates in a controlled production environment.
- Analyze and optimize system performance, ensuring our infrastructure is scalable, reliable, and efficient.
- Contribute to the continuous improvement of our codebase and development practices through code reviews and team discussions.
Core Qualifications
- A Bachelor's degree in Computer Science, Software Engineering, or a related technical field is required.
- Foundational programming experience with system-level languages, specifically C++ (C++17 or newer) and/or Java (Java 11 or newer).
- A solid understanding of computer science fundamentals, including data structures, algorithms, and operating systems.
- Familiarity with version control systems, particularly Git, and collaborative development workflows (branches, pull requests, code reviews).
- Exceptional problem-solving and analytical skills—you know how to break down a complex problem into manageable parts.
- Strong written and verbal communication skills, with the ability to articulate technical concepts clearly.
- A natural curiosity and an eagerness to learn new technologies and programming paradigms.
- The ability to work independently and manage your time effectively in a remote setting.
Preferred Skills
- Experience with scripting languages such as Python or Bash for automation and tooling.
- Exposure to containerization technologies (like Docker) and orchestration tools (like Kubernetes).
- Basic familiarity with cloud computing platforms (AWS, Azure, or GCP) is a significant plus.
- Hands-on experience with debugging and performance profiling tools.