Full-Stack Developer Job Description
We’re looking for an inquisitive, innovative Full-Stack Developer to join the product team at Overdrive IOT.
You’ll be responsible participating in our product development from ideation to deployment and beyond, and then working as part of a team to execute new features or products.
You must possess additional knowledge of embedded/firmware systems, communication technologies, networking protocol, sensor technology, and custom build hardware as we are in IoT industry.
The ideal person for this role is a problem-solver with an inquisitive and innovative mind, and loves to collaborate with other teams to drive the company forward.
Our key areas of consideration
- You are able to do embedded level programming: The knowledge of embedded code running in the wearables and sensors is essential as design, development, and debugging is different at the embedded level than at cloud or mobility level of programming.
- You are able to do application-level and middleware programming: It is essential to integrate all the required elements; for instance, the cloud, the gateway, and all the distributed elements.
- A good understanding of cloud development and operations: Typically, IoT applications require a cloud infrastructure like Amazon AWS, Microsoft Azure, etc. The knowledge of cloud development and application is required to make applications more robust in the face of outages.
- A good knowledge on how to integrate with IT and other systems: It is crucial for the OT systems to integrate and interface with business applications to unlock from the contextual value provided by the IoT system. IoT application may also need to integrate with other devices or services to enhance the overall digital experience.
- He/she will be exposed to design, development, and manufacturing of hardware: T stands for “Things” in IoT and hardware is required to interface with them. Expertise in hardware design, development, manufacturing, and supply chain is required to establish an entire IoT ecosystem.
- Understand relational and non-relational databases
- Ability to manage devices, network, and applications
- Understand process automation: Knowledge of repeatable automated processes for building, testing, documenting, and deploying the application plays an essential part in full stack development.
9. Having security in mind: Awareness regarding security is required to avoid any damages, as each layer presents its own vulnerabilities. Providing encryption and decryption technologies while transmitting the data is essential in IoT.
- Can build mobile and tablet apps
- User interface and user experience: Knowledge of both UI and UX is required to understand what the consumer will see and experience through our application or website.
- Understand business and customer needs: A basic understanding what the customers expect from the product is can help ensure that poor requirements understanding do not derail the project.
Full-Stack Developer Requirements
- You have at least 2 years of hands-on experience creating public, complex systems using multiple languages.
- Proficiency with server side languages such as Python, Ruby, Java, PHP and .Net.
- Familiarity with database technology such as MySQL, Oracle and MongoDB.
- Experienced in developing responsive, interactive websites.
- You feel at home working in a test-driven, agile team.
- You know your limits and how to work on a deadline.
- You are a problem-solver with an inquisitive and innovative mind.
- Ability to take on the new challenges ahead together with the growing business.
- Seeing through a project from conception to finished product.
- Designing and developing APIs.
- Meeting both technical and consumer needs.
- Staying abreast of developments in web applications and programming languages.
- BS in Computer Science, Information Management is a plus.
Full-Stack Developer Responsibilities
- Participate in our product development from ideation to deployment and beyond.
- Create groundbreaking new features for our users and customers, and for internal use.
- Work with our data team to make our product smarter and more intuitive to use.
- Maintain and help optimize existing systems.