Full time Belgrade, Hybrid
In this role, you will build mobile applications for an international distributor with a focus on the African continent. As a key member of our development team, The candidate will be responsible for designing, developing, and maintaining web applications. You’ll work with Node.js for backend services and React/react.native for the frontend. The ideal candidate will have a strong foundation in software development, with extensive experience in both frontend and backend technologies.
Responsibilities
- Frontend Development: Utilize React Native to architect and implement high-performance mobile applications. Apply deep knowledge of advanced state management techniques, hooks, and context APIs to ensure smooth and dynamic user experiences.
- Backend Development: Develop, optimize, and scale backend services using Node.js. Leverage advanced frameworks and libraries to build RESTful and GraphQL APIs, ensuring seamless data exchange between the mobile frontend and server-side systems.
- System Architecture Design: Conceptualize and execute the architectural design of both client-side and server-side structures. Champion the adoption of microservices architectures or serverless computing models as suited to project requirements.
- Full Stack Integration: Seamlessly integrate frontend and backend components to ensure smooth operation across the entire stack.
- Code Optimization: Write clean, efficient, and reusable code. Optimize applications for maximum speed and scalability.
- Performance Optimization: Employ optimization techniques to enhance application responsiveness and efficiency. Integrate caching mechanisms, service workers, and code splitting strategies to boost load times and application speed.
- Cross-Platform Adaptability: Ensure codebase compatibility across different platforms and devices, addressing nuances in performance and layout for a uniform user experience.
- Testing and Debugging: Implement comprehensive testing strategies to identify and fix bugs and performance bottlenecks.
- Technical Leadership: Provide guidance and mentorship to junior developers. Lead by example in writing high-quality code and implementing best practices.
- Documentation: Develop and maintain detailed documentation for the applications’ architecture and codebase.
Requirements
- Extensive React Experience: Comprehensive experience with React and its ecosystem, including state management with Redux and routing with React Router, to develop dynamic and responsive user interfaces.
- Advanced Proficiency in Node.js: Deep understanding of Node.js and its primary frameworks such as Express, showcasing the ability to build efficient, scalable backend services.
- Proficient in frontend technologies (JavaScript ES6+, CSS pre-processing frameworks, responsive design principles).
- RESTful APIs: Skilled in working with RESTful services and managing asynchronous requests, ensuring seamless data exchange between front-end and back-end systems.
- Demonstrable experience with data structures, algorithms, and applying design patterns to solve complex problems.
- Database Technologies: Experience with database technologies, including Google Firebase and PostgreSQL/TimescalesDB, for robust data storage solutions.
- Testing Frameworks: Experience with testing frameworks and libraries such as Jest, Mocha, Enzyme, or React Testing Library for unit and integration testing.
- Build Tools & Version Control: Familiarity with modern front-end build pipelines and tools like Webpack, Babel, and NPM. Proficient use of code versioning tools, particularly Git, for effective source code management.
- Excellent verbal and written communication skills in English, capable of articulating technical concepts clearly and effectively.
Nice to have Qualifications (not Required):
- Cloud Services: Experience with cloud platforms, especially MS Azure Cloud, enhancing the application’s scalability and reliability.
- Containerization & Orchestration: Familiarity with containerization (e.g., Docker) and orchestration (e.g., Kubernetes) technologies, facilitating the deployment and scaling of applications.
- Agile Methodologies: Working knowledge of Agile development methodologies like Scrum or Kanban, including using tools like JIRA or Trello for task management.
- French language skills are considered a bonus.
Additional Comments
Professional Attributes
- A Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field, complemented by a minimum of 7 years’ experience in full-stack development roles.
- A history of successful project delivery using React Native for mobile development and Node.js for backend services.
Soft Skills
- Demonstrated ability to tackle complex problems effectively and adapt to fast-paced development environments.
- Strong leadership qualities and the ability to mentor junior developers.
- A passion for continuous learning and staying abreast of technological advancements.
- Proven track record of working effectively in team settings, demonstrating flexibility, and contributing positively to a collaborative work environment.
- Analytical and Problem-Solving Skills: Exceptional ability to analyze complex requirements, identify potential bottlenecks, and devise effective solutions. Strong debugging skills to efficiently resolve issues in the development process.