Roles and responsibilities
We are looking for a talented Software Engineer to join our growing development team at Property Finder in India. We believe in nurturing talent and we encourage creativity and autonomy where you are free to grow and develop your career in a fun, forward thinking and positive environment. We expect our developers to be passionate about technology and think of creative ways that they could benefit our business. In this role, you will be responsible for developing and maintaining high-quality, scalable full stack applications that power our core business functions. We are big proponents of Agile development methods with small cross-functional teams fully empowered to take an idea from inception and to be able to deliver it fully tested into production with minimal outside disruptions. Because of this you will need to be able to work well with others in your team and outside of your team to be able to contribute meaningful ideas on how to best achieve your objectives and key results.
Key Responsibilities:
- Design, develop and maintain full-stack web applications
- Experience with CI/CD using Jenkins, Github Actions, etc.
- Experience working with cloud native tech stack and cloud architecture
- Collaborate with cross-functional teams to define, design and ship new features
- Optimize applications for maximum speed and scalability
- Implement security and data protection measures
- Participate in code reviews and contribute to engineering best practices
- Troubleshoot, debug, and upgrade existing systems
- Stay up-to-date with emerging technologies and industry trends
The Person
Desired Qualifications:
- Bachelor's degree in Computer Science, Engineering, or a related field
- 8+ years of experience in full-stack web development experience
- Strong proficiency with backend languages i.e., Java, C#, Node.js Python, Golang
- Experience with AWS services, cloud architecture and containerization technologies
- Experience designing system from ground up
- Familiarity with message queue systems and microservices architecture
- Knowledge of database technologies (both SQL and NoSQL)
- Understanding of DevOps practices and CI/CD pipelines
- Experience with version control systems (e.g., Git)
- Strong problem-solving skills and attention to detail
- Excellent communication and teamwork abilities
- Self-motivated and able to work independently when required
- Passion for clean, efficient, and maintainable code
- Ability to mentor junior developers and contribute to the team's growth
Desired candidate profile
-
Advanced Programming and Software Development
- Expert in multiple programming languages (e.g., Java, C++, Python, JavaScript, Ruby, Go, C#) depending on the industry and application.
- Strong understanding of data structures and algorithms to write efficient and scalable code.
- Knowledge of object-oriented programming (OOP) principles and design patterns (e.g., Singleton, Factory, Observer).
-
System Architecture and Design
- Ability to design scalable, maintainable, and high-performance software systems.
- Experience with microservices architecture, RESTful APIs, cloud platforms (e.g., AWS, Azure), and distributed systems.
- Designing solutions that ensure high availability, fault tolerance, and robustness in production systems.
-
Software Development Life Cycle (SDLC)
- Proficiency in agile methodologies like Scrum or Kanban for iterative software development and project management.
- Familiarity with DevOps practices and tools for continuous integration and continuous delivery (CI/CD), such as Jenkins, Docker, Kubernetes, GitLab CI, and Travis CI.
-
Code Review and Mentorship
- Reviewing code to ensure quality, consistency, and adherence to coding standards.
- Mentoring junior developers, providing guidance, sharing knowledge, and helping them grow technically.
- Ensuring that the team follows best practices in coding and software design.
-
Problem Solving and Debugging
- Ability to identify and resolve complex software issues, both during development and in production environments.
- Using debugging tools and techniques to troubleshoot application issues, performance bottlenecks, and defects.
-
Version Control and Collaboration
- Expertise in using Git or other version control systems for code collaboration and management.
- Experience in using GitHub, GitLab, or Bitbucket to manage repositories and facilitate team collaboration.
-
Database Design and Management
- Experience with SQL and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB, Redis), including data modeling and query optimization.
- Knowledge of ORM frameworks like Hibernate or Entity Framework for interacting with databases.
-
Front-end Development (if applicable)
- Familiarity with front-end frameworks like React, Angular, or Vue.js to create responsive and dynamic user interfaces.
- Understanding of HTML, CSS, JavaScript, and modern front-end tools like Webpack and Babel.
-
Performance Optimization
- Analyzing and optimizing code for performance, memory usage, and efficiency.
- Familiarity with profiling tools to identify performance issues in code or infrastructure.
-
Cloud Computing and Deployment
- Expertise in deploying software applications in cloud environments (e.g., AWS, Microsoft Azure, Google Cloud).