Whats the job
The position of C/C Engineer with Java is open in our team that is working on implementing secure enterprise data protection solutions and advanced Ransomware Detection with File Integrity Monitoring features. Youll be working directly with our DPX platform including GuardMode ransomware detection module and other cutting-edge security products that protect enterprise data from evolving threats.
You will be part of a distributed team working in a startup-like atmosphere across the US and Poland. We want you to help us create high-performance backend systems built using modern C/C for core data processing and Java (17/21) with Spring Boot for microservices architecture that provides REST APIs to our Angular (SPA) based UI.
Our Backend is built with a hybrid architecture combining high-performance C/C components for data-intensive operations and Java microservices for business logic and API layers all with modern development practices and a lot of love. Were writing comprehensive unit tests with JUnit (Java) and need to make sure C/C is just as good! And we make sure our code follows the same style across the codebase using automated linting and formatting tools. We heavily rely on automated CI/CD pipelines in Jenkins that run our tests handle semantic versioning/releases and build Docker images that can be deployed to our test environment (or your local dev environment if you want). Oh! We always do proper code reviews.
What you will do:
- First of all work in a friendly elastic and supportive environment where having great fun and doing a great job become the same thing
- Maintain and modernize high-performance C/C components for data processing storage operations and system-level integrations
- Implement Java microservices using Spring Boot for business logic and REST API endpoints
- Bridge C/C native libraries with Java applications using JNI (Java Native Interface)
- Help analyze new feature (or existing features modernization) requests and plan architecture/implementation using layered architecture patterns
- Perform code reviews in both C/C and Java codebases; help others by providing feedback on architecture and design following best practices
- Design and implement RESTful APIs with proper authentication mechanisms using Spring Security
- Optimize performance-critical code paths in C/C for data processing and file operations
- Prepare technical documentation for both low-level C/C components and high-level Java services
- Communicate with other teams and help to integrate native code with Java-based solutions
- Identify and address the root cause of issues across the technology stack drive problems from definition to successful completion
- Drive innovation by implementing modern C features (smart pointers lambdas ranges) and Java features (streams records pattern matching)
- Work on memory management threading and concurrent programming in both languages
- Identify improvements in existing architecture and code to continuously refactor and evolve the products
- Work in a fast-moving and forward-thinking development environment that is constantly researching and implementing the latest technologies
- Research and implement open source frameworks and architectures for both C/C and Java ecosystems
- Work closely with fellow developers and end users to rapidly produce critical features for vStor and our ransomware detection/file integrity monitoring solution
- Work with databases and implement efficient data access patterns
Qualifications :
Its great if you have:
- 3 years of experience in developing applications with C/C (C11 or higher)
- 2 years of experience with Java development (Java 11)
- Strong understanding of C/C fundamentals: memory management pointers RAII templates STL
- Solid knowledge of Java fundamentals: OOP principles collections exception handling concurrency
- Experience with modern C features: smart pointers lambdas auto keyword range-based loops move semantics
- Experience with modern Java features: streams API optional functional interfaces records
- Understanding of JNI (Java Native Interface) for C/Java integration
- Solid grasp of OOP principles and SOLID design patterns
- Experience with clean code practices and code quality principles
- Good understanding of Spring Framework Maven/Gradle and RESTful Web services
- Experience with build systems: CMake (C) and Maven/Gradle (Java)
- Knowledge of multithreading and concurrent programming in both languages
- Good knowledge of Docker Docker Compose
- Fluent work with Linux environments
- Knowledge of Git and GitFlow
- Experience in debugging and profiling applications in both C and Java
- Understanding of JWT structure and stateless API authentication
- Experience with unit testing: Google Test/Catch2 (C) and JUnit/TestNG (Java)
Nice to have:
- Experience with microservices architecture and distributed systems
- Knowledge of MongoDB and message queues (RabbitMQ Redis)
- Experience with Kubernetes for container orchestration
- Understanding of CI/CD pipelines and automated testing (Jenkins)
- Experience with performance tuning and application monitoring for both C and Java
- Knowledge of system programming and low-level optimizations
- Experience with cross-platform development
- Understanding of database integration with both native C and Java applications
- Experience with Spring Boot and Spring Security
Additional Information :
What we are offering:
- Full time job
- All necessary equipment such as laptop additional monitor and accessories
- Individual career path and professional development initiatives
- Continuous performance feedback and end-year performance review
- Remote work and flexible work hours (were fine with breaks in the middle of the day);
- Set of non-salary benefits (Medicover MultiSport life insurance referral program)
Remote Work :
No
Employment Type :
Full-time