Job Brief
We are looking for a Software Engineer responsible for developing and maintaining web and mobile applications using React.js or React Native. You will work closely with software engineers, business analysts and solution architects to design, develop and deliver high-quality applications.
Responsibilities
- Design, develop, test, deploy and maintain web or mobile applications.
- Develop reusable frontend components and libraries.
- Translate UI/UX designs into high-quality code using JavaScript/TypeScript, HTML5 and CSS3.
- Collaborate with other software engineers, business analysts and solution architects throughout the software development lifecycle.
- Integrate applications with RESTful APIs, WebSocket services and backend systems.
- Participate in solution design discussions, code reviews and application testing.
- Ensure software development standards and best practices are followed.
- Deploy applications to production and provide post-implementation support.
- Analyse, troubleshoot and resolve technical and application issues.
- Identify opportunities to improve application performance and development processes.
- Prepare relevant technical documentation.
- Keep up to date with the latest web and mobile technologies.
- Provide maintenance support when required.
- Perform other duties as assigned.
Requirements
- Degree in Computer Science, Information Technology or an equivalent discipline.
- At least 3 years of experience in software development, systems analysis, design or programming.
- Experience in frontend web or mobile application development.
- Proficiency in either:
- React.js with JavaScript/TypeScript, HTML5 and CSS3; or
- React Native with Android Java or iOS Objective-C/Swift.
- Good understanding of object-oriented programming, data structures, algorithms and design patterns.
- Experience integrating applications with RESTful APIs and backend services.
- Familiarity with Git and modern frontend development tools.
- Knowledge of UI/UX design principles.
- Strong debugging, analytical and problem-solving skills.
- Ability to work independently and collaboratively in a team environment.
- Good English communication and organisational skills.
- Ability to learn new technologies and handle changing project requirements.
Good to Have
- Experience with Angular or Vue.js.
- Experience with WebSocket and Webpack.
- Familiarity with Jenkins or other continuous integration tools.
- Knowledge of a backend language such as Java, Golang or Python.
- Understanding of Agile or Scrum methodologies.
- Knowledge of microservices architecture.
- Experience in cryptocurrency or trading platforms.