Senior Full Stack Developer (Angular + Node.js)
Plan Optimus · Remote · remote · Posted 1d ago
About a minute. You'll make an account on the way through.
About this role
About Plan Optimus
Plan Optimus is a cloud-native Integrated Business Planning (IBP) platform built on Snowflake, purpose-built for CFOs and Chief Supply Chain Officers in FMCG, QSR, and manufacturing. The platform unifies Demand Planning, Supply Planning, Distribution Planning, S&OP/IBP, Business Spend Management, and FP&A into a single connected planning environment replacing fragmented spreadsheets and legacy tools with real-time, data-driven decision-making. We are a lean, founder-led team building against established players like Anaplan, and we move fast.
About the Role
We are looking for a Senior Full Stack Developer who owns features end-to-end — from Angular component to Node.js API to the database query that powers it. You will build and maintain the core application layer of a complex enterprise SaaS platform where the frontend is a rich, data-heavy planning interface and the backend orchestrates workflows across Snowflake, PostgreSQL, external APIs, and Python job engines.
This is not a CRUD role. You will work on interactive worksheet grids handling thousands of cells, real-time collaboration features, complex multi-step business workflows (S&OP, budgeting, approvals), SSE streaming, job queue orchestration, and an AI-powered analytics layer. We need someone who thinks in systems, not just screens.
Key Responsibilities
- Design, develop, and maintain production features across the full stack — Angular frontend, Node.js/Express API layer, PostgreSQL (UI metadata), and Snowflake (business data).
- Build rich, performant Angular interfaces for enterprise planning use cases: interactive worksheets/grids, drag-and-drop, dashboards, charting, and complex form workflows.
- Develop and optimise Node.js/Express REST APIs that serve as the orchestration layer between the Angular frontend, Snowflake, PostgreSQL, and Python job engines.
- Write efficient SQL for both Snowflake (analytical queries, aggregations, scenario management) and PostgreSQL (session management, UI config, notification metadata).
- Implement real-time features using Server-Sent Events (SSE), WebSockets, or polling patterns for live job status, alerts, and collaborative editing.
- Integrate with job queue systems (BullMQ or similar) to trigger, monitor, and manage long-running Python batch jobs from the Node.js layer.
- Own the connection management layer — Snowflake connection pooling, reconnection logic, and error recovery in a multi-tenant environment.
- Participate in code reviews, architecture discussions, and technical decision-making as a senior member of a small, high-output team.
- Write clean, maintainable, well-tested code with proper error handling, structured logging, and security best practices throughout the stack.
- Troubleshoot production issues across the stack — from Angular rendering bugs to Node.js memory leaks to slow Snowflake queries.
Must-Have: Angular & Frontend Expertise
We need depth in Angular, not just surface-level component building:
- Angular 14+ — deep understanding of modules, standalone components, signals, dependency injection, change detection (OnPush), and the Angular lifecycle.
- Reactive programming with RxJS — Observables, Subjects, operators (switchMap, mergeMap, combineLatest, debounceTime), subscription management, and memory leak prevention.
- Component architecture — smart vs presentational components, dynamic component loading, content projection, custom directives, and reusable component libraries.
- State management — experience with NgRx, Akita, or service-based state patterns for complex application state.
- Angular Routing — lazy loading, route guards, resolvers, and multi-level nested routing for enterprise-scale applications.
- Forms — Reactive Forms (FormGroup, FormArray, dynamic form generation, custom validators, cross-field validation).
- Performance optimisation — trackBy, virtual scrolling (CDK), lazy loading, bundle analysis, tree shaking, and profiling with Angular DevTools.
- CSS/SCSS — responsive layouts, CSS Grid, Flexbox, theming, and component encapsulation (ViewEncapsulation).
- Testing — Jasmine/Karma or Jest for unit tests; Cypress or Playwright for E2E; mocking HTTP calls and services.
Must-Have: Node.js & Backend Expertise
We need a strong backend developer, not just an Express route writer:
- Node.js fundamentals — event loop, non-blocking I/O, streams, Buffer, clustering, and understanding V8 memory management.
- Express.js — middleware patterns, error handling middleware, route organisation for large codebases (100+ routes), request validation.
- Asynchronous patterns — Promises, async/await, Promise.allSettled, error propagation in async chains, and avoiding unhandled rejections in production.
- Database integration — Snowflake Node.js driver (connection pooling, parameterized queries, handling large result sets), PostgreSQL with pg/node-postgres or Sequelize.
- Security — JWT authentication, role-based access control, input sanitisation, SQL injection prevention, CORS, rate limiting, helmet.
- Job orchestration — BullMQ or similar for managing async job queues; triggering Python processes; handling job status, retries, and failure notifications.
- SSE / real-time — implementing Server-Sent Events for streaming updates to the frontend (job progress, alerts, AI responses).
- Logging & observability — structured logging (Winston/Pino), request tracing, error monitoring, and debugging large Node.js services in production.
- Process management — PM2, graceful shutdown, health checks, and managing Node.js in production Linux environments.
- Performance — profiling with clinic.js or Node.js inspector, diagnosing memory leaks, optimising response times for data-heavy endpoints.
Database & Data Layer
- Snowflake — complex analytical SQL (window functions, CTEs, MERGE, PIVOT/UNPIVOT), schema design, role-based access, and query performance tuning.
- PostgreSQL — schema design for UI metadata, indexing strategies, connection pooling (pgBouncer patterns), and migrations.
- Clear understanding of the architectural split: Snowflake holds all business/financial truth; PostgreSQL holds only UI metadata, sessions, configs, and job status.
- Experience writing parameterized queries (not string-concatenated SQL) across both databases.
Infrastructure & DevOps
- AWS — EC2, S3, CloudFront, WAF, Route 53, Systems Manager, IAM policies; deploying and managing production workloads.
- Nginx — reverse proxy configuration, SSL termination, Angular SPA routing, and API proxying.
- CI/CD — automated build and deployment pipelines; experience with GitHub Actions, Jenkins, or similar.
- Docker — containerising Node.js and Angular applications.
- Git — branching strategies, rebasing, pull-request-driven development, conflict resolution in a large codebase.
- Linux — comfortable managing production servers, systemd services, log rotation, and shell scripting.
Good to Have
- Python proficiency — ability to read, debug, and contribute to the Python job engine and data processing layer.
- Experience integrating LLM/AI APIs (Anthropic Claude, OpenAI) — streaming responses, sandboxed rendering, prompt engineering.
- Familiarity with Snowflake-specific features: stages, streams, tasks, stored procedures.
- Experience with multi-tenant SaaS architecture — tenant isolation, schema-per-tenant patterns, connection management.
- Supply chain, FP&A, or enterprise planning domain knowledge.
- Experience with AG Grid, Handsontable, or similar enterprise grid libraries.
- Familiarity with p-limit or concurrency control patterns in Node.js.
What Sets You Apart
- You can explain Angular’s change detection strategy and when OnPush breaks — and how to fix it.
- You know why a 9,000-line Node.js file is a problem and have opinions about how to refactor it incrementally without breaking production.
- You’ve debugged a Snowflake connection timeout at 2 AM and built the reconnection logic so it doesn’t happen again.
- You understand the difference between RxJS switchMap and mergeMap and have been burned by choosing wrong.
- You’ve built an Angular interface that handles 10,000+ cells without the browser melting.
- You care about the user’s experience of loading states, error messages, and perceived performance — not just whether the API returns 200.
- You prefer diff-friendly, targeted changes over heroic rewrites when shipping to production.
Qualifications
- B.Tech / B.E. / M.Tech / MCA in Computer Science, IT, or a related field.
- 6–10 years of professional full stack experience with Angular and Node.js as primary technologies.
- At least 3 years working on data-intensive or enterprise-grade SaaS applications.
- Demonstrable portfolio — GitHub contributions, architecture documents, or production systems you can speak to in depth.
- Strong written and verbal communication skills.
Why Join Us
- Work on a cutting-edge cloud-native IBP/SaaS platform built on Snowflake, serving global enterprise customers in FMCG, QSR, and manufacturing.
- Small, senior team — your work directly shapes the product, architecture, and technical culture.
- Full stack ownership — no artificial boundaries between frontend and backend.
- Exposure to AI/LLM integration, modern cloud infrastructure, and enterprise-scale data challenges.
- Competitive compensation with growth potential in a founder-led company.
Interested? Apply on Naukri or send your resume with a brief note on the most complex full stack feature you’ve shipped.
Sourced from naukri