Backend Developer

The Backend Developer is responsible for managing the interchange of data between the site/software users and servers. The primary focus of the Backend Developer is to develop the server-side logic as well as the development and maintenance of the central database, ensuring high responsiveness and performance to requests from the frontend.

The Backend Developer is responsible for the integration of frontend elements built by the frontend teams, hence, requiring that he have a basic understanding of frontend technologies. The Backend Developer must be highly skilled at developing Application Program Interface (APIs).

The backend development team not only owns the API, but the engines that are used to drive the APIs as well, for example, ElasticSearch and MySQL. The Backend Developer works with his team in building and supporting all of the business’s web properties.

Objectives and Responsibilities of the Backend Developer

Development and Design:  The Backend Developer is responsible for developing and evolving the business’s sites/software/applications using the latest software development infrastructure and methods. He is also responsible for the development of analytics of any arising solutions in the site/software where he also develops and maintains automated tests.

The Backend Developer will design and develop technical and complex MS SQL Server Databases. He also designs and implements security and data protection measures and implements data-storage solutions and web applications through web application frameworks such as Java. It is the duty of the Backend Developer to develop sites/software through configuration driven behaviors and dependency injection.

He conducts unit tests, code reviews, refactors the current source codes, assesses and improves site/software performance, and maintains design and code documentation.

Structure and Methodology: The Backend Developer is an expert in core data structures and algorithms who has the ability to implement them through a language of choice. In this position, the Backend Developer writes code that meets the project standards in an attempt to deliver the desired functionality aligned with the engineering department’s overall standards and guidelines.

The Backend Developer, being an expert in Java development will also take and drive Java implementation aspects and apply methodologies such as Agile, Lean, CI, and XP.

Collaboration & Support: The role of the Backend Developer is a highly collaborative one and, as such, he works with frontend developers, data scientists, system engineers, and other technical experts in developing and implementing solutions. The Backend Developer will especially work closely with the frontend developers in building and ensuring synchrony in the development of the site/software.

He also collaborates with the frontend development team in integrating consumer-facing elements through server side logic. He also works with the senior backend development team in impact assessment and decision-making in relation to technology choices, design considerations, and strategy implementation.

Knowledge: The Backend Developer is further tasked with consistently gathering knowledge and defining the industry best practices. He gathers and introduces new and relevant technologies and information on factors such as, documentation practices, scalability, testing techniques, and refactoring.

Other Duties: The Backend Developer performs similar duties and duties as assigned by the Senior Backend developer, Lead Backend Developer, Head of Engineering, Director Engineering, Chief Technology Officer, or the Employer.

Required Qualifications of the Backend Developer

Education: The Backend Developer has to have a bachelor’ degree in Computer Science or any other relevant field. An equivalent of the same in working experience is also acceptable for this position.

Experience: A candidate for this position must have had at least 3 years of working experience in either a frontend or backend position, preferably working as junior support personnel. The candidate will have gained a deep understanding of frontend platforms and technologies, for example, HTML5, SASS, JavaScript, and CSS3.

He will also have gathered an understanding of site/software accessibility and security compliance measures. The candidate will also have had experience working Linux, MySQL, Apache as well as experience working with Flask and SQLAlchemy. The candidate must also demonstrate an understanding of the basic performance of Python and Django in caching, checking for slow queries, and developing solutions for speeding up processes.

The candidate will demonstrate a basic understanding of DevOps such as log rotation, reverse proxies, activities that have to do with giving reliability to the sites/software in development.

The candidate will also have had experience with integration of multiple databases and data sources into a single system. He will further be familiar with the management of hosting environments, inclusive of database administration and application scaling to support load changes. He will show familiarity with data migration, scripting, transformation, and the setup and administration of backups.

The candidate will be capable of creating database schemas that support and represent business processes as well as the implementation of automated unit tests and testing platforms, for example, JUnit and Jenkins. A suitable candidate will further demonstrate proficiency and knowledge in back-end programming languages such as JavaScript, Java, and Scala as well as proficiency in various coding tools, for example, Git.

Communication Skills: The Backend Developer will also need outstanding communication skills for the proper execution of his duties. Communication skills are especially necessary in his collaborative position, where the clarity of his communications will largely determine the how efficiently collaborative activates are executed, hence determining the success or failure of the site/software in question.

Technology/Software: A candidate for this position must also be technologically adept and demonstrate exceptional strong computer skills. He will be highly familiar with software such as Golang and have an intimate understanding of the workings of Python and equivalent languages such as Java.

He will also be familiar with JavaScript, KnockoutJS, SQL, PostgreSQL, XML, HTML, JSON, CSS, jQuery, Haxe, and jQuery UI, KnockoutJS. He will further have an excellent understanding of design patterns and build tools such as Gradle and Maven. He must also have services development experience and knowledge of Linux, UNIX, and Django.

Interpersonal Skills: Certain attributes will also make a candidate more suitable for the role. The candidate must be a consumer-oriented individual, be result-oriented, be a team-player and a team builder, have an ability to work comfortably in a highly collaborative setting, be able to work comfortably in a fast-paced and constantly evolving environment, be highly organized, have ability to works on multiple projects and meet tight deadlines, and demonstrate ability to stay calm and composed in stressful and uncertain times.

People Skills: The Backend Developer must be a people person who is able to build and maintain strong and lasting connection with others. He will be a people person who inspires confidence and trust in others, who will then readily follow in his insights and directives.