Responsibilities
- Develop and maintain modular, reusable React components for a highly interactive, stateful frontend application
- Collaborate with designers and product managers to build intuitive yet powerful user experiences for managing devices, storage, and network systems
- Design and implement complex UI interactions, including drag-and-drop systems, WYSIWYG editors, and topology-style visualizations
- Build high-performance interfaces capable of handling large datasets, real-time updates, and complex state synchronization
- Develop scalable visualization components for representing device relationships, floorplans, and system topologies
- Ensure code quality through testing, code reviews, and maintainable architecture design
- Contribute to frontend architecture decisions, including state management, performance optimization, and component design patterns
- Act as a bridge between frontend, backend, and design to ensure consistency between system behavior and user experience
Requirements
- Strong proficiency in JavaScript (ES2015+), TypeScript, HTML, and CSS
- Solid experience building complex applications with React (not just simple UI pages)
- Strong understanding of modern React patterns (hooks, context, functional components)
- Experience with state management in complex applications (e.g., Redux or similar patterns)
- Ability to design and implement scalable frontend architecture
- Strong debugging and problem-solving skills in complex UI scenarios
- Passion for building high-quality, performant, and maintainable frontend systems
Nice to Have
- Experience building highly interactive UIs (e.g., drag-and-drop systems, editors, or visual tools)
- Experience with data visualization, canvas/WebGL, or large-scale UI rendering
- Familiarity with performance optimization techniques (e.g., virtualization, code splitting, lazy loading)
- Experience with micro-frontend architecture or large-scale frontend systems
- Background in networking, IoT, or device management interfaces
- Experience building reusable component libraries or npm packages
- Experience taking products from 0 to 1 with strong ownership
- Familiarity with Node.js or full-stack development