As a Software Engineer II, you will beresponsible for developing and maintaining scalable web applications, APIs, andintegrations, ensuring configurability and extensibility. This role focuses onbuilding a configuration-driven and IoT-ready platform with workflowautomation, real-time data processing, and GIS capabilities
Key Responsibilities
Design low-level architecture based on SOLID principles, adhering to system requirements.
Develop code, automated unit tests, and automated integration tests.
Review code and tests built by peers critically.
Actively participate in SCRUM ceremonies such as backlog refinement, sprint planning, retrospectives, and demonstrations.
Collaborate with cross-functional teams, including architects, product owners, DevOps engineers, and test engineers.
Ensure security, scalability, and maintainability in all aspects of the system
Skills
4+ years of hands-on experience as a full-stack developer with MS Dotnet technologies and React JS.
Strong proficiency in Dotnet Core/Dotnet 6+, C#, and building scalable REST APIs and microservices.
Strong proficiency in React.js (React Hooks, Redux, component lifecycle, state management).
Proficiency in relational and NoSQL databases (SQL Server, PostgreSQL, MongoDB, etc).
Familiarity with API security best practices (OAuth, JWT, authentication & authorization).
Strong communication and problem-solving skills, with the ability to debug production issues efficiently.
Experience working with event-driven architectures (RabbitMQ, Kafka, MQTT) for real-time processing is a plus.
Familiarity with DevOps pipelines and CI/CD tools (GitHub Actions, Azure DevOps, GitLab CI/CD, etc).
Experience with containerization using Docker and orchestration with Kubernetes is a plus.
Experience with GIS/mapping tools (OpenLayers, CesiumJS) is a plus.
Knowledge of workflow automation tools (Camunda, Appian, OutSystems)
YOU MUST HAVE
bachelors degree from an accredited institution in a technical discipline such as the sciences, technology, engineering or mathematics
WE VALUE
Understanding various software development lifecycle
Demonstrate the ability to develop efficient and high quality software
Knowledge of software configuration management and change management practices
Diverse and global teaming and collaboration
Effective communicator
Can quickly analyze, incorporate and apply new information and concepts
Ability to consistently make timely decisions even in the face of complexity, balancing systematic analysis with decisiveness
Ability to convey subtle or complex messages clearly, as appropriate for the topic and audience
Some relevant experience
Job Classification
Industry: Consumer Electronics & Appliances Functional Area / Department: Engineering - Software & QA, Role Category: Software Development Role: Software Development - Other Employement Type: Full time