Intermediate (2-5 years of experience)
Summary of the Role
We are looking for a dedicated and passionate Intermediate Back-End Developer to join our team. The ideal candidate will be responsible for developing and maintaining the server-side logic, integration of user-facing elements developed by front-end developers, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for managing the interchange of data between the server and the users, as well as developing all server-side logic, definition, and maintenance of the central database.
Required Skills
Proficient in back-end programming languages like Ruby, Python, Java, or .NET
Solid understanding of object-oriented programming, functional programming, and design patterns.
Experience in concurrency and event-driven development.
Excellent knowledge of Relational Databases, SQL and ORM technologies.
Experience with development of RESTful APIs.
Good understanding of server-side templating languages and server-side CSS preprocessors.
Strong problem solving and communication skills.
Ability to work independently as well as in a team environment.
Proactive and eager to learn new tools and technologies.
Qualifications
Bachelor's degree in Computer Science, Engineering, or a related field.
2-5 years of experience with server-side languages such as Ruby, Python, Java, or .NET.
Experience working with SQL/NoSQL databases and their declarative query languages.
Understanding of accessibility and security compliance.
User authentication and authorization between multiple systems, servers, and environments.
Integration of multiple data sources and databases into one system.
Familiarity with front-end technologies (like HTML, CSS, JavaScript) for seamless integration.
Strong understanding of the web development cycle and programming techniques and tools.
Experience with version control, such as Git.
Responsibilities
Develop and maintain scalable server-side applications.
Work collaboratively with front-end developers to integrate user-facing elements with server-side logic.
Write reusable, testable, and efficient code.
Design and implement low-latency, high-availability, and performant applications.
Implement security and data protection measures.
Integrate data storage solutions, including databases, key-value stores, blob stores, etc.
Troubleshoot and debug applications.
Provide technical leadership and mentoring to junior developers.
Stay informed of emerging technologies/industry trends and apply them into operations and activities.