Key & Responsibilities:
· Technical Leadership: Provide technical guidance and mentorship to development teams, ensuring adherence to best practices and high-quality code standards.
· Architecture and Design: Architect scalable and efficient solutions using React JS, React Native, and Java, considering performance, security, and maintainability.
· Hands-on Development: Collaborate with the development team in the design and implementation of complex features and modules.
· Code Review: Review code, enforce coding standards, and promote code quality through thorough code reviews.
· Google Cloud Platform: Leverage GCP services to design and build cloud-native applications, utilizing services such as Google Cloud Functions, Firestore, Cloud Pub/Sub, and more.
· Performance Optimization: Identify and resolve performance bottlenecks in applications and ensure optimal performance.
· Documentation: Create and maintain technical documentation, including architecture diagrams and code documentation.
Non-Technical Responsibilities:
· Leadership: Provide leadership and guidance to the development team, ensuring they meet project goals and deadlines.
· Stakeholder Communication: Collaborate with product managers, stakeholders, and other teams to understand project requirements and communicate progress effectively.
· Mentorship: Mentor and coach team members, fostering a culture of continuous learning and growth.
Qualities Crucial for a Fast-Paced Product Development Environment:
· Adaptability: Ability to quickly adapt to changing project requirements and technology stacks in a dynamic environment.
· Effective Communication: Strong communication skills to convey complex technical information to non-technical stakeholders and foster collaboration within the team.
· Problem Solving: Proven ability to identify and solve complex technical challenges, making critical decisions under pressure.
· Team Collaboration: A collaborative mindset, promoting a positive team culture and ensuring efficient teamwork in a fast-paced setting.
Core Technical Skills:
· Java: Solid proficiency in Java for backend development, including:
· Programming Proficiency: Strong command of the Java programming language,
· RESTful API: Design and implementation of RESTful APIs for communication between the frontend and backend.
· Database Integration: Integration with databases using frameworks like Hibernate or JPA.
· Performance Tuning: Proficiency in optimizing Java applications for performance, memory management, and garbage collection.
· Spring Framework Knowledge: Strong understanding of the core concepts of the Spring Framework, including dependency injection and aspect-oriented programming.
· Dependency Injection: Expertise in dependency injection and inversion of control (IoC) in Spring Boot applications.
· Security: Understanding of Spring Security for implementing authentication and authorization in Spring Boot applications.
· Pub/Sub (Publish/Subscribe) Systems: Understanding of the publish/subscribe architectural pattern and its applications in event-driven systems.
· Apache Kafka: Knowledge of message brokers and middleware solutions like Apache Kafka, and Google Cloud Pub/Sub.
· Kafka Concepts: In-depth knowledge of Apache Kafka concepts, including topics, partitions, brokers, producers, and consumers.
· Scaling: Familiarity with scaling and load balancing in a pub/sub system to handle varying workloads.
· Google Cloud: Familiarity with Google Cloud Platform services, including but not limited to:
· Google Cloud Functions: Building serverless functions for event-driven applications.
· Firestore: Structured and scalable NoSQL database for real-time applications.
· Cloud Storage: Storing and retrieving binary data such as images and documents.
· Cloud Pub/Sub: Event messaging service for building event-driven systems.
· PostgreSQL Database: In-depth knowledge of PostgreSQL, including installation, configuration, and administration.
· Database Security: Knowledge of PostgreSQL's security features, including access controls, encryption, and authentication mechanisms.
· PL/pgSQL: Proficiency in PostgreSQL's procedural language for developing stored procedures, triggers, and functions.
· High Availability: Understanding of database replication, clustering, and failover mechanisms for high availability configurations.
· Data Migration: Experience in planning and executing data migrations, upgrades, and backup and recovery strategies.
· PostgreSQL Database is optional or good to have skill
Qualifications:
· Bachelor’s degree in computer science or a related field.
· 10+ years of software development experience, with a focus Java, and Google Cloud.
· Previous experience in team lead role
Bachelor's degree