As a Full Stack Developer, you will work on both front-end and back-end technologies to build, maintain, and optimize applications and services. You will leverage AWS cloud services to ensure scalability, performance, and reliability. This is an excellent opportunity for a developer with 1-2 years of experience to grow their skills and contribute to meaningful projects.
Location: Edappally, Kochi, Kerala
Key Responsibilities:
Develop and maintain both front-end and back-end web applications.
Collaborate with cross-functional teams to define, design, and ship new features.
Build and deploy applications using AWS.
Write clean, scalable, and efficient code while ensuring optimal performance.
Perform troubleshooting and debugging of existing applications and services.
Optimize applications for maximum speed and scalability.
Participate in code reviews to ensure best practices and code quality.
Stay updated with the latest trends in full-stack development and AWS cloud technologies.
Technical Skills & Requirements:
Front-End Development:
React.js/Next.js: Advanced proficiency for creating dynamic, responsive, and SEO-optimized interfaces.
TypeScript: Strong typing and maintainability for large projects.
HTML5, CSS3, SASS/LESS: Expertise in semantic markup and styling with pre-processors.
JavaScript (ES6+): Proficiency in modern JavaScript features.
Front-End Performance Optimization: Techniques like lazy loading, image optimization, and efficient rendering.
Back-End Development:
Build and maintain RESTful APIs using Node.js and Express.js, ensuring they are scalable and efficient.
Leverage GraphQL to optimize data fetching in large-scale applications, ensuring performance and responsiveness.
Design and manage complex database schemas in MySQL or PostgreSQL (relational databases).
Implement NoSQL databases like MongoDB and Redis to support high scalability and caching mechanisms for enhanced performance.
Develop and manage headless CMS solutions (Strapi, Contentful, or custom-built) for content management and delivery.
Implement authentication and authorization mechanisms, including OAuth2, JWT, and session management systems to secure applications.
React.js/Next.js for Front-End Development
React.js: Used to build user interfaces that are dynamic and highly responsive. Reacts component-based architecture allows for efficient rendering and updates of parts of the UI when data changes.
Next.js: Extends React by adding features like server-side rendering (SSR), static site generation (SSG), and API routes. Its especially useful for building SEO-friendly applications and handling server-side logic directly in React applications.
Static Site Generation (SSG) and Server-Side Rendering (SSR) are key for improving web performance and SEO.
API Routes in Next.js allow for serverless functions to handle backend requests directly within the framework.
Node.js/Express.js for Back-End Development
Node.js: A JavaScript runtime used for building scalable, event-driven applications. It allows you to use JavaScript on both the front-end and back-end, leading to a unified development experience.
Express.js: A web application framework for Node.js that simplifies routing and middleware integration. Express helps in building RESTful APIs and managing HTTP requests easily.
Used for creating server-side logic, routing, and managing the application flow for APIs, databases, etc.
RESTful APIs and integration with front-end services.
Microservices Architecture
Microservices: A software architecture where an application is broken into smaller, independently deployable services. Each service typically handles a specific business functionality and communicates over APIs.
Scalability: Microservices allow for independent scaling of specific services based on demand, which is essential in high-traffic environments.
Resilience: By decoupling services, you reduce the risk of a single point of failure.
Tech stack: Could include tools like Docker for containerization, Kubernetes for orchestration, and tools for API management.
High-Traffic Environments
Load Balancing: Distributing traffic efficiently to different instances of your services to ensure no single server or instance becomes overwhelmed.
Caching: Using caching mechanisms like Redis to speed up responses by storing frequently requested data.
Asynchronous Processing: Implementing job queues (e.g., using tools like RabbitMQ or Kafka) to offload long-running tasks and handle them asynchronously, ensuring the main application remains responsive.
Dynamic, Real-Time Content Solutions
Live Feeds (RSS, WebSockets):
RSS (Really Simple Syndication): A method to deliver live updates of dynamic content, commonly used for news, blogs, and notifications. Implementing an RSS feed generator or consumer to handle real-time content delivery.
WebSockets: A protocol for two-way communication between client and server, which is essential for real-time updates (such as notifications, live chats, and dashboards).
Automated Workflows:
This could involve using event-driven systems to trigger automated processes based on certain events (e.g., a new user signs up, a payment is made, etc.).
Integrating services such as AWS Lambda for serverless execution of these tasks or Apache Kafka for stream processing.
Key Skills and Technologies:
Front-End: React.js, Next.js, Redux, CSS-in-JS (styled-components), and front-end testing tools like Jest or React Testing Library.
Back-End: Node.js, Express.js, RESTful APIs, JWT (JSON Web Tokens) for authentication, and database integration with MongoDB, PostgreSQL, or others.
Microservices: Docker, Kubernetes, gRPC, API Gateway, Service Mesh (e.g., Istio), and CI/CD pipelines for deployment.