Role Overview
Ravn is a digital product development agency that partners with companies to build exceptional software. We specialize in building and designing world-class mobile and web applications and seek exceptional engineers to join our company.
At Ravn, we do quality work at lightning speed. The only way to consistently meet requirements with confidence is to hire people who share a passion for technology and are focused on building software the right way. We deliver digital solutions - done right, on time, every time.
The Ravn java software engineer will be responsible for designing, developing, and maintaining high-quality software applications. You will work closely with cross-functional teams to ensure that our software solutions meet the needs of our customers and are delivered on time.
We are looking for a proactive and detail-oriented individual who can work independently and as part of a team. You will also be asked to participate in setting architecture direction for development projects, mentor and assist junior team members and perform detailed code reviews.
Ravn offers our team members exposure to diverse technical challenges and accelerated career growth.
Minimum Requirements
Bachelor’s degree in Computer Science, a related technical field, or equivalent practical experience.
At least 5 years of experience in software development with a strong focus on Java.
Proven experience in designing, developing, and maintaining Java-based applications.
Proficiency in Java SE/EE, Spring Framework (Spring Boot, Spring MVC), and Hibernate.
Experience with front-end technologies such as HTML, CSS, JavaScript, and frameworks like Angular or React is a plus.
Experience with RESTful APIs, microservices architecture, and cloud platforms (AWS, Azure, Google Cloud).
Proficiency with version control systems (e.g., Git) and CI/CD pipelines.
Strong understanding of fundamental design patterns used in modern web applications.
Excellent written and verbal communication skills in English.
Preferred Qualifications
Experience with Kotlin and/or Scala.
Experience working on open-source libraries.
Experience with containerization and orchestration technologies (Docker, Kubernetes).
Knowledge of relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra).
Experience with Agile/Scrum methodologies.
Familiarity with test-driven development (TDD) and behavior-driven development (BDD).
Experience with performance tuning and optimization of Java applications.
Knowledge of DevOps practices and tools (e.g., Jenkins, Ansible, Terraform).
Understanding of security best practices in software development.
Location:
This position is open to candidates based anywhere in Latin America and is fully remote. Candidates located near our offices in Arequipa, Peru or San Salvador, El Salvador have the option to work in a hybrid in-office/remote arrangement. While office attendance is not mandatory, regular or occasional visits to the office is valued.