Sr. Software Developer (IOT)
- Full-time
Company Description
StackAvenue Technologies is a Product Development and Innovation Company Building IoT, Web, Mobile, and Desktop Applications using various Technologies namely Ruby, Angular, Flutter, Node, Salesforce, React, Elixir. We are helping other startups scale ⚡ by providing relevant software technology support.
Job Description
As a Senior Software Engineer in the IoT domain you will be responsible for developing critical systems keeping in mind.
Concurrency: You must handle multiple activities concurrently like fetching and sending multiple messages from/to multiple devices at the same time.
Distributed Operations: You must run on a distributed network of multiple servers in different geographies, coordinating through APIs on a microservices architecture.
Scalability: You must scale horizontally as the traffic grows and leverage on the multiple CPU cores of the servers to run parallel threads.
Responsiveness: You must maintain a strict time-frame of <100ms to respond to users and devices, even when the servers are flooded with multiple requests.
Reliability: You must stay in continuous operation for years without any server downtime or restarts even for system updates through hot-swapping.
Your Roles and Responsibilities
Design and write programs to improve the availability, scalability, latency, and efficiency of Company’s IoT systems.
Work with the engineering team to explore and create new design/architectures geared towards scale and performance.
Work with multiple data ingestion sources and protocols like HTTP, MQTT, CoAP,OPC UA and databases to drive efficient ETL processes for streaming data from IoT sensor devices
Participate in code and design reviews to maintain our high development standards.
Engage in service capacity and demand planning, software performance analysis, tuning and optimization.
Collaborate with product and experience teams to define and prototype feature specifications.
Work closely with the infrastructure team in building and scaling back-end services as well as performing root cause analysis investigations.
Design, build, analyze and fix large-scale distributed systems.
Qualifications
Required Software Aptitude and Qualifications
5+ years of overall software engineering experience.
Programming experience with modern languages such as Ruby/Python/Elixir etc.
You should have good experience working with relational and non-relational databases. We use Postgres and Cassandra.
Good to have but not mandatory working experience with caching tools such as Redis, Queue mechanism setup with RabbitMQ.
Good knowledge of version management with Git.
Awareness of TDD.
CI/CD knowledge would be a huge advantage.
Will to design and maintain large scale distributed systems.
Past experience in building complex applications, either by yourself, or as part of a larger team
Desire (obsessive?) for maintainability.
Experience of working with cross-functional remote teams in an Agile software development framework.
Experience in designing APIs with proper documentation.
Ability to write useful and maintainable tests.
Good understanding of the common architectural patterns and design principles.
Solid understanding of how modern web applications work.
Strong written and verbal communications skills in English to engage a variety of large audiences, internally and externally.
Strong analytical and reasoning skills.
Bachelor’s Degree or equivalent in any relevant discipline.
Good to have experience with Elixir
It would be amazing if you have some experience working with Elixir Lang.
You should be aware of idiomatic programming in Elixir, and should have good awareness of concepts such as pattern matching, recursion, and behaviours.
You should be well versed with concurrency and processes in Elixir.
You should be hands on with Genservers, Tasks, Agents, Supervisors, and other OTP concepts in Elixir.
Plus points if you have worked with data processing libraries such as Genstage, Flow and Broadway.
Additional Information
Job Type: Full-time/Part-Time/Remote
Work Remotely