We are looking for an experienced Back-end developer to join our IT team. You will be responsible for the server side of our web applications.
If you have excellent programming skills and a passion for developing applications or improving existing ones, we would like to meet you. As a Back-end developer, you’ll work closely with our engineers to ensure system consistency and improve user experience.
Ultimately, you should be able to develop and maintain functional and stable web applications to meet our company’s needs.
Responsibilities
· Participate in the entire application lifecycle, focusing on coding and debugging
· Write clean code to develop functional web applications
· Troubleshoot and debug applications
· Perform Unit tests to optimize performance
· Manage cutting-edge technologies to improve legacy applications
· Collaborate with Front-end developers to integrate user-facing elements with server-side logic
· Gather and address technical and design requirements
· Provide training and support to internal teams
· Build reusable code and libraries for future use
· Liaise with developers, designers and system administrators to identify new features
· Follow emerging technologies
Requirements
· Experience building complex software systems
· Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
· Ability to take a project from scoping requirements through actual launch of the project
· Collect requirements, describe software product features, and technical designs
· Fundamentals in algorithm design, problem solving, and complexity analysis
· Fundamentals in object-oriented design and data structures
· Experience in integration of user-facing elements developed by front-end developers with server side logic
· Strong proficiency with JavaScript and TypeScript
· Knowledge of Node.js and frameworks available for it such as Express, Nest.js
· Understanding the nature of asynchronous programming and its quirks and workarounds
· User authentication and authorization between multiple systems, servers, and environments
· Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform
· BSc degree in Computer Science or relevant field
