Description:
We are looking for a skilled Node-RED Developer with a strong background in Node.js to join our team. The ideal candidate will have experience in developing custom nodes, building flows, and integrating Node-RED with various APIs, databases, and IoT platforms. You will work on designing, implementing, and optimizing Node-RED flows for automation, data processing, and system integration projects.
If you are passionate about flow-based programming, enjoy solving complex problems, and have a knack for creating scalable and reusable solutions, we’d love to hear from you!
Key Responsibilities
- Develop and Maintain Node-RED Flows:
- Design and implement Node-RED flows for automation, data processing, and system integration.
- Optimize flows for performance, scalability, and reliability.
- Develop custom Node-RED nodes to extend functionality and integrate with proprietary or third-party systems.
- Package and deploy custom nodes as npm modules for reuse across multiple environments.
- Integrate with APIs and Services:
- Integrate Node-RED with REST APIs, GraphQL, WebSocket, and other external services.
- Implement authentication mechanisms (e.g., oAuth2, JWT) for secure API interactions.
- Work with IoT and Data Processing:
- Build flows to process and analyze IoT sensor data, device telemetry, and other real-time data streams.
- Implement error handling, retry mechanisms, and data validation for robust data processing.
- Collaborate with Cross-Functional Teams:
- Work closely with backend developers, frontend developers, and DevOps teams to ensure seamless integration of Node-RED flows with existing systems.
- Provide technical guidance and support to team members on Node-RED best practices.
- Debugging and Troubleshooting:
- Identify and resolve issues in Node-RED flows and custom nodes.
- Monitor and optimize flow performance to ensure low latency and high throughput.
- Documentation and Knowledge Sharing:
- Document flows, custom nodes, and integration processes for future reference.
- Share knowledge and best practices with the team to improve overall development efficiency.
Qualifications
Required Skills:
- Strong proficiency in JavaScript and Node.js.
- Experience with Node-RED, including creating custom nodes and building flows.
- Familiarity with REST APIs, GraphQL, and WebSocket integrations.
- Knowledge of oAuth2, JWT, and other authentication mechanisms.
- Experience with IoT platforms and real-time data processing.
- Understanding of Redis, MongoDB, or other databases for caching and persistent storage.
- Ability to write clean, maintainable, and reusable code.
Preferred Skills:
- Experience with Docker and Kubernetes for deploying Node-RED instances.
- Familiarity with AWS, Google Cloud, or other cloud platforms.
- Knowledge of message brokers like MQTT, RabbitMQ, or Kafka.
- Experience with CI/CD pipelines for automated testing and deployment.
- Understanding of flow-based programming concepts.
Soft Skills:
- Strong problem-solving and analytical skills.
- Excellent communication and collaboration skills.
- Ability to work independently and as part of a team.
- Attention to detail and a commitment to delivering high-quality solutions.
Nice-to-Have
- Experience with Amazon SES or other email services for sending transactional emails.
- Familiarity with Node-RED Dashboard for building user interfaces.
- Knowledge of security best practices for Node-RED flows and custom nodes.
- Experience with version control systems like Git.