Company Name:
Company Url:
Short Pitch:
Description:
Headquarter Location:
Tags:


Job Url:

Edify Software Consulting




12d

Backend Technical Lead

Edify Software ConsultingAlajuela, Costa Rica, Remote
DjangoNextJS2 years of experienceagile5 years of experiencepostgressqlDesignFirebasevueazurescrumapijava.netMySQLtypescriptcssangularjenkinsAWS

Edify Software Consulting is hiring a Remote Backend Technical Lead

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.

• Integration of services and software components.

• Error handling.

• Internationalization and accessibility.

• Responsive Design.

• Real-time data management.

• Configuration management.

• Experience with systems based on micro services.

• Multitenancy.

• Processes / background / jobs / attendance / Messaging (queues, bus, subscriber).

• Documentation (design diagrams, README.md, API, wiki, etc.)

Languages:

• 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: NodeJs, Express, NestJS, Spring, Rails, NextJS, Django, Flask, .Net Core, React, Angular, Vue, or similar.

Tools:

• Advanced POSIX shell handling.

• Relational and non-relational databases. (Postgres, MySQL, 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, TypeScript, CoffeeScript and Flow.

• Tools for managing continuous integration processes such as Travis, Jenkins and CircleCI.

• Code management processes in repositories such as GitFlow and GitHub 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.

See more jobs at Edify Software Consulting

Apply for this job

12d

Intermediate Full Stack Software DeveloperJob

Edify Software ConsultingAlajuela, Costa Rica, Remote
CypressPrismaDjangoVitestJestredisagilesqlDesignmongodbazurescrumapigitrubyjavac++.netdockerelasticsearchpostgresqlMySQLpythonAWSreduxbackendfrontend

Edify Software Consulting is hiring a Remote Intermediate Full Stack Software DeveloperJob

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.

See more jobs at Edify Software Consulting

Apply for this job