Job Opportunities

Firmware Engineer

Reports to

Urbana PM

Summary

We are URBANA, a high-tech company working of cutting-edge project in the world of IoT, distributed systems and AI.

We are looking for an EMBEDDED FIRMWARE ENGINEER to help build, maintain, and troubleshoot our rapidly expanding platforms.

Your primary role will be to design, develop, test and debug Urbana’s devices working with the team in order to deliver high quality products. You will be in charge of writing high quality code, maintain the code repository, submit frequent code commits and guarantee that the software properly interacts with all other firmware components and sensors.

You will be part of a talented team of engineers that demonstrate superb technical competency, delivering mission critical infrastructure and ensuring the highest levels of availability, performance and security. Qualified systems engineers will have a background in IT, computer systems engineering, or systems engineering and analysis.

If you are a code master obsessed by delivering high quality valuable software and can work in an agile and fast paced development team, then we should talk.

The position is based in Venice, Italy, and the job scope involves a responsibility for the entire platform development in multiple major markets worldwide.

Tasks / Responsibilities

  • Design, develop, code, test and debug embedded software (C and C++ mainly)

  • Integrating existing software modules

  • Dealing with different communications protocols

  • Review code

  • Prototype a product solution from research to production

  • Maintain and improve the code

  • Preparation of reports, manuals and other documentation on the status, operation and maintenance of software

  • Collaborate with hardware design and platform development team

  • Build high-quality reusable code that can be used in the future

  • Responsible for frequently committing code updates and revisions

  • Provide training, help and support to other team members

  • Stay up to date with current best practices

  • Follow new and emerging technologies

  • Working on multiple projects at one time

Requirements

  • Firmware and libraries development (C, C++) for embedded systems, 2+ years of experience

  • BA degree in Computer Science or similar relevant field

  • Good programming and debugging skills for small uController architectures such as ARM (i.e. Cortex M0)

  • Very good knowledge of common communication interfaces like I2C, UART, SPI, CAN, etc.

  • Very good knowledge in IoT Protocols (MQTT, HTTP, TCP, UDP, AMQP, nice to have)

  • Good knowledge in SW architecture and HW abstraction

  • Affinity with digital hardware and circuit theory

  • Good knowledge of scripting languages such as Python or equivalent

  • Very good knowledge of versioning tools

  • Team player

  • Critical thinker and problem-solving skills

  • Good organizational and time-management skills

  • Great interpersonal and communication skills

  • A hard worker who is eager to push the limits and come up with better solutions every single day

  • Fluent in English

Apply now