Company Description Apply today to become a member of our Community Network! You will be among the first professionals to be considered for future roles.
By submitting your resume, you will be a part of our pipeline and will be among the first ones to be considered once we have an opening. 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
In charge of leading the development work team and making technical contributions to the development of projects. In addition, is responsible for ensuring that the needs of the client and the organization are met by establishing a fluid and continuous communication, implementing best practices and ensuring the fulfillment of the established development process, without neglecting the concept of continuous improvement and the constant professional development of the people he/she leads.
Qualifications Responsibilities:
Identify and meet the information needs of both stakeholders and team members.
Ensure that the team works on the development of the deliverables required for the project with the expected quality.
Ensure that the equipment keeps the code tests up to date with the changes made by the developed components.
Determine data storage, processing and transmission needs according to analyzed requirements.
Ensure that the equipment meets agreed development standards and processes.
Analyze the high-level requirements of the project and collaborate in the definition and analysis of the specific requirements.
Along with the rest of the team, define the development process.
Coordinate with the person in charge of architecture or practice leader the definition of development standards based on design principles and best practices to ensure the fulfillment of non-functional requirements of quality, efficiency and maintainability.
Perform knowledge transfer to other members of the project team and client vendors.
Lead the analysis of defects in the system to find their causes and correct them.
Lead the process of analysis of project requirements.
Design and implement unit, integration and system testing.
Direct the design of software components integrated into the system under construction or maintenance that implement the analyzed requirements.
Participate in the implementation of these components.
Lead and participate in estimating the effort needed to implement the analyzed requirements.
Direct and implement the integration of developed components with the rest of the system (Front End – Back End integration, APIs).
Be a reference for the team in peer review of the code of their teammates (peer review).
Define and follow processes and standards for handling code in repositories.
Verify the fulfillment of the requirements and the correct functioning of the components developed as specified.
Requirements:
Advanced knowledge in:
Object-oriented, functional, procedural and asynchronous programming paradigms.
Software engineering processes (development cycle and quality control).
Participation in agile software development methodologies: SCRUM, Kanban, among others.
Software quality assurance (unit and integration testing).
Design patterns.
Development best practices to ensure efficiency, quality and maintainability.
Best practices and mechanisms for deployment.
Security, authentication and authorization mechanisms.
Advanced knowledge of at least two of the following languages: Java, Spring, Hibernate, React.
Advanced knowledge of markup languages: HTML, XML, JSON, YAML.
Knowledge of CSS and processors such as SASS/LESS
Knowledge of SQL language.
Experience with at least 2 modern application development frameworks: Node Js, Express, Nest JS, Spring, Rails, Next JS, Django, Flask, .Net Core, React, Angular, Vue, or similar.
Tools:
Advanced POSIX shell handling.
Relational and non-relational databases. (Postgres, My SQL, Mongo, Firebase, Dynamo DB).
Code management tools (Source Control).
Dependency management tools such as NPM, Yarn, Maven, Gradle.
Build Managers such as Grunt, Gulp, Webpack, Maven, Gradle.
Precompilers such as Babel, Type Script, Coffee Script and Flow.
Tools for managing continuous integration processes such as Travis, Jenkins and Circle CI.
Code management processes in repositories such as Git Flow and Git Hub Flow.
Virtualization and Containerization.
Experience in cloud computing and its services (AWS, Azure, GCP).
Academic Training:
Technician or bachelor in Computer Engineering, Computer Science and related, or equivalent level of knowledge demonstrated.
Certification of Scrum Fundamentals. (desirable)
Language:
Technical and conversational English level C1 according to the Common European Framework.
Experience:
Minimum 5 years of experience in software engineering (at least one year as Senior Developer)
2 years of experience leading software projects.
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).
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 identity, disability, age, medical condition, pregnancy, marital status, family status or any other characteristic protected by law.