Software Engineer II (Java, Typescript, React)
Job description
About the role
We are seeking a Software Engineer II to join our team at Jamf, where you will play a pivotal role in the entire lifecycle of our software products. This role involves owning the design, development, testing, and deployment of solutions built with Java, Typescript, and React. You will be responsible for translating complex business requirements into robust, scalable, and user-friendly applications that meet the highest standards of quality. Collaboration with product managers, designers, and other engineers is central to this position as you work to deliver features that provide tangible value to our clients. You will troubleshoot and debug issues in existing systems, ensuring they remain reliable and performant in production environments. This position requires a proactive mindset, where you identify opportunities for process improvements and contribute innovative ideas to the engineering team. You will also mentor junior developers, sharing your expertise in software principles and best practices to elevate the overall capability of the group. By focusing on clean code and sustainable development, you will help maintain the long-term health of our technology stack.
Key facts
What you'll do
- Architect and implement new features using Java, Typescript, and React, ensuring alignment with technical standards.
- Investigate and resolve complex software defects by analyzing logs, reproducing issues, and implementing effective fixes.
- Partner with product owners to refine requirements and translate business objectives into technical specifications.
- Conduct code reviews to maintain code quality, share knowledge, and ensure adherence to engineering best practices.
- Optimize application performance by identifying bottlenecks and implementing efficient algorithms and data structures.
- Write and maintain comprehensive unit tests and integration tests to validate functionality and prevent regressions.
- Collaborate with cross-functional stakeholders to gather feedback and iterate on software solutions.
- Document system architecture and application workflows to facilitate knowledge transfer and future maintenance.
- Monitor deployed applications to ensure stability and quickly respond to any operational incidents.
- Explore emerging technologies and tools that could enhance our development process and product capabilities.
Requirements
- Possess a minimum of 3 years of professional experience in software development across full cycles.
- Demonstrate advanced proficiency in Java, showcasing your ability to write clean and efficient object-oriented code.
- Show strong expertise in Typescript, including its type system and modern language features.
- Exhibit deep knowledge of React, including component design, state management, and interaction with APIs.
- Have a solid grasp of software development principles such as SOLID, DRY, and KISS.
- Understand methodologies like version control workflows and build processes using systems like Git.
- Prove excellent problem-solving skills, capable of breaking down ambiguous problems into manageable tasks.
- Pay meticulous attention to detail to ensure code correctness and a high-quality user experience.
- Thrive in a team environment, communicating clearly and respectfully with colleagues and stakeholders.
- Be eligible to work legally in Poland without requiring sponsorship for a work permit or visa.
Nice to have
- Hands-on experience with cloud platforms and deploying services in distributed environments.
- Familiarity with Agile ceremonies, sprint planning, and backlog refinement practices.
- Knowledge of testing frameworks and test-driven development approaches.
- Exposure to containerization technologies such as Docker and orchestration tools.
Practical notes
This position operates on a hybrid schedule, allowing for a combination of remote work and office presence in Katowice, Poland. Candidates must be physically available or willing to relocate to the Katowice area to satisfy the role's requirements. The work hours align with standard business hours to support collaboration with global teams. Applications will be accepted on a rolling basis until the position is successfully filled, so early submission is encouraged. There are no specific travel requirements associated with this role, as the position is based in Katowice.