Advanced Software Engr
HoneywellWe are seeking an experienced and highly motivated Advanced Software Engineer with 6-10 years of software application development experience to design, develop, and maintain scalable, high-performance enterprise IIOT applications. The ideal candidate should possess strong expertise across frontend, backend, gateway integrations, cloud technologies, databases, and event-driven architectures.
The candidate will work in an Agile environment and actively participate in Scrum ceremonies, sprint planning, estimation, code reviews, and technical solution design while collaborating with cross-functional teams.
Key Responsibilities
Application Design & Development
- Design, develop, test, and deploy scalable enterprise-grade software applications.
- Build responsive and interactive web applications using modern frontend frameworks.
- Develop robust backend services, APIs, and microservices architectures.
- Implement real-time communication and streaming solutions using WebSockets and messaging platforms.
- Create secure and high-performing gateway services for device and application integrations.
Architecture & Integration
- Design and implement event-driven architectures leveraging Kafka.
- Develop MQTT-based communication layers for IoT and distributed systems.
- Implement RESTful APIs and service integrations using HTTP/HTTPS protocols.
- Work with Protocol Buffers (Protobuf) for efficient data serialization and inter-service communication.
Cloud & DevOps
- Design and deploy cloud-native applications on Microsoft Azure.
- Support CI/CD pipelines and deployment automation.
- Monitor application health, performance, and scalability in cloud environments.
Database & Performance
- Design and optimize database schemas and queries.
- Work with relational and time-series databases.
- Implement caching strategies using Redis.
- Ensure high availability and performance of data services.
Agile Delivery
- Participate in Scrum ceremonies, sprint planning, backlog grooming, and retrospectives.
- Provide accurate estimations and technical guidance.
- Support continuous improvement initiatives and engineering best practices.
Mentor junior developers and contribute to technical leadership activities.
Required Technical Skills
Gateway Technologies
- Strong experience in:
- C#
- .NET Framework / .NET Core
- MQTT
- Protocol Buffers (Protobuf)
Frontend Development
- React.js
- JavaScript (ES6+)
- TypeScript
- WebSocket
- REST APIs / HTTP
- State management libraries and modern frontend development practices
Backend Development
- Java
- Spring Framework
- Spring MVC
- Spring REST Services
- Apache Maven
- Embedded Tomcat
- Kafka
- WebSocket
- Protocol Buffers (Protobuf)
- Microservices Architecture
Database Technologies
- PostgreSQL
- Redis
- InfluxDB
- Database performance tuning and optimization
Cloud Technologies
- Microsoft Azure
- Azure App Services
- Azure Storage
- Azure Monitoring & Diagnostics
- Azure-based application deployment and management
Required Qualifications
- Bachelor's or Master's degree in Computer Science, Engineering, Information Technology, or a related field.
- 6-10 years of hands-on experience in software application design and development.
- Strong understanding of object-oriented programming principles and design patterns.
- Experience building scalable distributed systems and microservices.
- Strong debugging, troubleshooting, and performance optimization skills.
Preferred Skills
- Experience with IoT platforms and connected device ecosystems.
- Knowledge of containerization technologies such as Docker and Kubernetes.
- Familiarity with CI/CD tools and DevOps practices.
- Experience with system monitoring, observability, and logging frameworks.
- Exposure to security best practices for distributed applications.
Soft Skills
- Strong analytical and problem-solving abilities.
- Excellent communication and stakeholder management skills.
- Ability to work independently and in collaborative Agile teams.
- Strong ownership mindset and commitment to delivering quality solutions.
Success Criteria
- Deliver high-quality, scalable software solutions within sprint timelines.
- Contribute to architectural, design decisions and technical discussions/decisions.
- Ensure application reliability, security, and performance.
Drive engineering excellence through best practices, automation, and code quality standards.