Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
- Aid in the design of interfacing and application protocols.
- Develop our hardware's Linux image and its running containers.
- Develop applications and agents that manage other running apps lifecycle.
- Develop applications that communicate with other running apps using RPC/IPC.
- Develop applications that communicate hardware microcontrollers using custom protocols.
- Develop SDKs for developers and write their documentation.
- Develop APIs for desktop applications.
- Develop cross-platform desktop applications.
- Build reusable modules and libraries for future use.
- Integrate and test functionality with other parts of the system.
Job Requirements
- Computer Engineering degree or equivalent.
- 4+ year experience in software development.
- 3+ year experience in backend/APIs development.
- Proficiency in either Nodejs/Golang or both.
- Proficiency in object-oriented design, data structures and algorithms.
- Proficiency in Linux administration.
- Excellent skills in debugging and editing open source code.
- Experienced in developing libraries and SDKs using blocking and non-blocking APIs.
- Proven software design, programming, and analytical skills
- Experience in any source control tools, preferably git.
- Proven experience in security, cryptography and hashing. (RSA, ECC, DSA, SHA, ...etc)
- Built projects using Raspberry Pi or any other hardware devkits.
- Worked with protobuf, GRPC or any other RPC frameworks.
- Experienced with Docker.
Additional Experience
- Experience in CoffeeScript, TypeScript and ES6 is a plus.
- Developing desktop applications using Electron framework is a plus.
- Knowledge of any hardware projects is a plus.
- Familiarity with blockchain and decentralized technologies is a plus (Ethereum, Bitcoin, IPFS, ...etc).
- Experience with different interfacing protocols like USB, SPI, I2C, UART,...etc is a plus
- Working with any of these framing protocols is a plus: HDLC, PPP, COBS, XModem ...etc
- Experience with embedded Linux, Yocto or BuildRoot is a plus.
- Past contributions to open source projects is a plus.
- Winning or participating in programming contests is a plus.