Job Description
We are looking for back end programmers responsible for handling interchange of data between the users and server. The primary goal will be development of server-side logic, definition and maintenance of the central database, solving problems and ensuring high performance thereby creating a more seamless experience for users
Responsibilities
- BSc degree in Computer Science or relevant field
- Integration of user-facing elements developed by a front-end developers with server side logic
- Developing ideas for new programs, products, or features by monitoring industry developments and trends.
- Recording data and reporting it
- Optimisation of the application for maximum speed and scalability
- Implementation of security and data protection
- Design and implementation of data storage solutions
- Compile and analyse data, processes, and codes to troubleshoot problems and identify areas for improvement.
- Collaborating with the front-end developers and other team members to establish objectives and design more functional, cohesive codes to enhance the user experience.
- practices, learn new programming languages, and better assist other team members.
- Taking lead on projects, as needed
- to proper parties, such as clients or leadership.
- Participating in continuing education and training to remain current on best
- Building reusable code and libraries for future use
- Skill Set
- Basic understanding of front-end technologies and platforms, such as JavaScript, HTML 5, and CSS3
- Good understanding of server-side CSS processors, such as LESS and SASS
- Understanding accessibility and security compliance {Depending on a specific project}
- User authentication and authorisation between multiple systems, servers, and environments
- Integration of multiple data sources and databases into one system
- Management of hosting environment, including database administration and scaling an application to support load changes
- Data migration, transformation, and scripting
- Setup and administration of backups
- Outputting data in different formats
- Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimising output to match the specific platform
- Creating database schema that represent and support business processes
- Implementing automated testing platforms and unit tests
- Proficient knowledge of a back-end programming language {{Depending on the specific case, a developer should have the knowledge of one or more of PHP, Python, Ruby, Java, .NET, JavaScript etc.}}
- Proficient understanding of code versioning tools, such as Git
- Proficient understanding of OWASP security principles
- Understanding of “session management” in a distributed server environment
