Company Description Hello, we are Edify, one of the highest-ranked IT companies in Costa Rica and Central America.
We're a consolidated technology services consulting firm specializing in education technology. We deliver unbelievably creative and rock-solid solutions for a wide range of clients, including major corporations, startups, educational institutions, and non-profit organizations.
We help our clients design, build and run some of the most interesting ventures in the industry while promoting a warm, friendly and cooperative culture. Work and life should definitely be balanced, so we're serious about cultivating a great work environment.
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.