Job Description Responsible for analyzing, designing, developing, maintaining, evaluating and assuring quality and performance specific components of software systems.
Qualifications Roles, Responsibilities and Key Functions: Analyze together with your team the project requirements.
Estimate together with your team the effort needed to implement the analyzed requirement.
Design and program together with your team the software components that implement the analized requirements.
Verify compliance with the requirements and the correct functioning of the developed components as specified.
Analyze system defects to find their causes and correct them.
Design and implement unit, integration and system tests with the help of the team.
Verify the correct functioning of the code tests and apply corrections where appropriate.
Ensure that code tests are kept up-to-date with respect to changes introduced by the components developed.
Work with your team to determine data storage, processing and transmission needs according to the requirements analyzed.
Document technical and process aspects related to your day-to-day work (technical documentation, report of estimates and timesheets, workflows, etc.).
Integrate the developed components with the rest of the system (frontend and backend integration, among others).
Perform peer review of your teammates' code.
Follow processes and standards for code management.
Requirements : Intermediate knowledge in: Object-oriented, functional, procedural and asynchronous programming paradigms.
Software engineering processes.
Concepts and processes related to software quality.
Use of agile software development methodologies (SCRUM, Kanban, etc.).
Software quality assurance (code testing, linting, static code analysis).
Design patterns.
Development best practices to ensure efficiency, quality and maintainability.
Best practices and mechanisms for application deployment.
Security, authentication and authorization mechanisms OWASP Top 10.
Best practices in error handling.
Documentation (design diagrams, README.md, API documentation, etc.).
Integration of services and software components.
Internationalization.
REST.Real-time data management.
Multitenancy.
*nix shell handling (bash, sh,zsh,etc.).
Git.Dependency management tools (Gradle, Maven, NPM, Yarn, etc.).
Managing continuous integration processes tools (Github Actions, GitlabCI, etc.).
Git branching strategies (GitFlow, trunk based, etc.).
Use of virtualization (KVM, QEMU, Virtual Box, etc.).
Use of containers (Docker, Podman, runc, etc.).
Cloud computing services (AWS, GCP, Azure, etc.).
Web technologies HTML CSS/LESS/SASS Frameworks (at least one) Java Spring Hibernate React Status management (MobX, Redux, Pinia, Signals, etc.)
Testing libraries (at least one) Jest Testing Library Vitest Cypress JUnit5 Programming languages (at least one) JavaScript/TypeScript Java Python Ruby C# Go Implementation platforms (at least one) Node JVMC Python Ruby MRI (CRuby) Frameworks (at least one) Spring & Spring Boot NestJS Rails Django .Net Core Data access libraries (at least one) Spring Data JPA Spring Data J DBC JOOQ TypeORM Prisma SQL Relational databases.
(PostgreSQL, MySQL, etc.)
Non-relational databases.
(Redis, MongoDB, ElasticSearch etc.)
Academic Training: Technician or Bachelor in Computer Engineering, Computer Science and related or level of knowledge demonstrated equivalent.
Language : Technical and conversational English level B2 according to the Common European Framework.
Work Experience: Minimum 2 years experience in software engineering.
Additional Information Benefits : 100% work remote from any part in Costa Rica.
Digital Nomad.Monthly Internet connectivity allowance.
Private health insurance for employees (90/10), 50% for beneficiaries (spouse and children).
International Health Insurance.
Sick days.
Ergonomic equipment.
Educational assistance (courses, certifications, books).
Life insurance for employees.
$800 referral bonus.
Personal support through our wellness department.
Dental and optical insurance.
Snacks and beverages.
Meal allowance if you want to work at the office.
Edify is proud to be an equal-opportunity employer committed to diversity and inclusion.
We encourage all candidates to apply regardless of their sex, gender identity, sexual orientation, race, color, religion, national identit y, disability, age, medical condition, pregnancy, marital st atus, family status or any other characteristic protected by law.