

There are various job roles within software development, each with its own focus and responsibilities. Some common job roles include:
1. **Software Engineer/Developer**: This role involves designing, developing, and testing software applications or systems.
2. **Front-end Developer**: Front-end developers focus on creating the user interface and experience of websites or applications using languages like HTML, CSS, and JavaScript.
3. **Back-end Developer**: Back-end developers work on the server-side of applications, managing databases, servers, and application logic using languages like Python, Java, or Node.js.
4. **Full-stack Developer**: Full-stack developers have expertise in both front-end and back-end development, allowing them to work on all aspects of an application.
5. **Mobile App Developer**: Mobile app developers specialize in creating applications for mobile devices, often using platforms like iOS (Swift) or Android (Java/Kotlin).
6. **DevOps Engineer**: DevOps engineers focus on streamlining the development process by automating tasks, managing infrastructure, and ensuring smooth deployment and operation of software.
7. **Quality Assurance (QA) Engineer**: QA engineers are responsible for testing software to ensure it meets quality standards and is free of bugs or errors.
8. **UI/UX Designer**: UI/UX designers work on designing the user interface and experience of software applications, focusing on usability and aesthetics.

About CodesCastle Software Pvt Ltd
About
Similar jobs


Core Responsibilities
Front-end Development:
o Develop web applications using React, flask. o Implement responsive design to ensure user-friendly interfaces.
o Utilize mapping libraries (e.g., Leaflet, Mapbox) to display geospatial data.
Back-end Integration:
o Work with APIs and manage data flow for project analytics and management.
o Enhance features for robust data handling and real-time project analysis.
Cloud Deployment:
o Deploy and manage web applications on AWS and similar platforms. o Optimize for performance, scalability, and storage efficiency.
GIS and Mapping Tools:
o Develop tools using GIS data like KML and Shapefiles.


Key Responsibilities:
1. Design and Development: Lead the design and development of web
applications using Python and Flask, ensuring code quality, scalability, and
performance.
2. Architecture: Collaborate with the architecture team to design and implement
robust, maintainable, and scalable software solutions.
3. API Development: Develop RESTful APIs using Flask to support front-end
applications and external integrations.
4. Database Management: Design and optimize database schemas, write efficient
SQL queries, and work with databases like PostgreSQL, MySQL, or NoSQL
solutions.
5. Testing and Debugging: Write unit tests and perform code reviews to maintain
code quality. Debug and resolve complex issues as they arise.
6. Security: Implement security best practices, including data encryption,
authentication, and authorization mechanisms.
7. Performance Optimization: Identify and address performance bottlenecks in
the application, making improvements for speed and efficiency.
8. Documentation: Maintain clear and comprehensive documentation for code,
APIs, and development processes.
9. Collaboration: Collaborate with cross-functional teams, including front-end
developers, product managers, and QA engineers, to deliver high-quality
software.
10. Mentorship: Provide guidance and mentorship to junior developers, sharing your
knowledge and best practices.
Qualifications:
Bachelor's or Master's degree in Computer Science, Engineering, or a related
field.
Proven experience (4-5 years) as a Python developer, with a strong emphasis on
Flask.
Solid understanding of web development principles, RESTful APIs, and best
practices.
Proficiency in database design and SQL, as well as experience with database
systems like PostgreSQL or MySQL.
Familiarity with front-end technologies (HTML, CSS, JavaScript) and related
frameworks is a plus.
Strong problem-solving skills and the ability to work in a fast-paced, collaborative
environment.
Excellent communication skills and the ability to work effectively in a team.
Knowledge of containerization and deployment tools (e.g., Docker, Kubernetes)
is a plus.


About Rara Delivery
Not just a delivery company…
RaRa Delivery is revolutionising instant delivery for e-commerce in Indonesia through data driven logistics.
RaRa Delivery is making instant and same-day deliveries scalable and cost-effective by leveraging a differentiated operating model and real-time optimisation technology. RaRa makes it possible for anyone, anywhere to get same day delivery in Indonesia. While others are focusing on ‘one-to-one’ deliveries, the company has developed proprietary, real-time batching tech to do ‘many-to-many’ deliveries within a few hours.. RaRa is already in partnership with some of the top eCommerce players in Indonesia like Blibli, Sayurbox, Kopi Kenangan and many more.
We are a distributed team with the company headquartered in Singapore 🇸🇬 , core operations in Indonesia 🇮🇩 and technology team based out of India 🇮🇳
Future of eCommerce Logistics.
- Data driven logistics company that is bringing in same day delivery revolution in Indonesia 🇮🇩
- Revolutionising delivery as an experience
- Empowering D2C Sellers with logistics as the core technology
A section describing benefits and life at your company is a great way to attract talent.
About the Role
- Architect, build, and maintain excellent React Native applications with clean code.
- Implement pixel-perfect UI's that match designs.
- Implement clean, modern, smooth animations and transitions that provide an excellent user experience.
- Integrate third-party APIs.
- Work as part of a small team to build applications.
- Write unit and integration tests.
- Release applications to IOS and Google Play stores.
- Work with native modules when required.
- Work as part of a small team, which will include other React Native developers, a project manager, QA professional, and designer.
- Complete two-week sprints and participate in sprint retrospectives and daily standups.
- Assist with building estimates.
- Interface with clients via Slack, Zoom, and email.
- Track your time throughout the day using Toggle.
- Work with modern tools including Jira, Slack, GitHub, Google Docs, etc.
- Be part of a community of React Native developers who share knowledge and help each other as problems arise



- Collaborate with engineering, design and product teams to build and ship new features.
- Seeing through a project from conception to finished product using Agile methodologies.
- Maintain and improve web applications. Optimize applications for maximum speed
- Design mobile-based features
- Self-contribution & able to manage and execute work through team members.
- Developing features to enhance the user experience.
- Create quality mockups and prototypes
- Translate application storyboards and use cases into functional applications.
- Create proof of concepts to demonstrate feasibility of proposed solution
- Continuously discover, evaluate and learn new technologies to stay at the forefront of technology innovation
- Write good quality, modular, reusable, well documented, unit-tested code.














