Embedded Software Engineer
Job Opportunity at iDevices LLC

Posted on Aug 4

https://idevicesinc.com    

Location: Avon, CT
Job Type: Full Time
Job ID: W4139370

There’s an evolution happening in Avon, CT. iDevices, the preeminent consumer tech brand in the connected home industry, is growing a line of smart home products available at the largest retailers worldwide. We are creating “The Silicon Valley in the Farmington Valley” – so if you thrive at the intersection of Technology and Engagement then we want you to join our evolution.

We’re seeking an Embedded Software Engineer with at least 3 years of relevant experience who has a firm grasp of object oriented programming methodologies and real-time issues like multi-threading and concurrency. Additionally, we are looking for someone with experience implementing and debugging network communications over a variety of transport mediums. Here at iDevices, we build our products to work with smartphones and tablets. Any experience with iOS and Android is a plus. Also, experience in writing device drivers for peripherals over several low-level bus technologies is desirable.

This position is responsible for developing firmware for low power embedded sensor and application interface electronics, and software tools for supporting development and test. This role requires working closely with product management and our Electrical Engineering team to define strategy and requirements. The position involves regular communication with management on status, risks and product strategy. Excellent listening and writing skills and very strong technical competencies are essential.

Responsibilities

  • Perform all aspects of software development. This includes, but is not limited to, requirements and specifications, design and development, coding and debugging, unit testing and integration of embedded devices and systems. The result is intended for production and commercial deployment and must meet quality objectives, engineering methodologies and company guidelines
  • Develop scripts to aid in automated unit, regression and integration tests to meet quality expectations. Understand appropriate verification practices and tools
  • Interpret, understand and provide feedback on software requirements for active projects
  • Work and interface with cross-functional design teams
  • Analyze and enhance efficiency, stability and scalability of system resources
  • Develop code that is consistently well documented and maintainable
  • Write device drivers for various sensors and other small peripherals
  • Support hardware/software integration and software validation
  • Support software QA and provide post production support
  • Evaluate and recommend tools, technologies and processes
  • Implement custom protocols over TCP/IP, UDP
  • Assess, utilize and integrate third party and open source software
  • Review code and design

Minimum Qualifications 

  • Bachelor in Computer Science or Computer Engineering Required; Master in Computer Science or Computer Engineering preferred
  • Minimum 3 years of proven work experience in embedded software development, using C on low-power microcontrollers
  • Proven experience in embedded systems design with preemptive, multitasking real-time operating systems (scheduling, processes, threads, deadlocks, priority issues, etc.)
  • Experience in hands-on development and troubleshooting on embedded targets
  • Sound understanding of software engineering principles, software configuration management tools and processes including defect/version tracking tools, and peer review (e.g., Git, GitHub,
  • SVN, Mantis, Bugzilla, and Jira)
  • Comfortable working in a Linux/OS X development environment
  • Strong Object Oriented background with C/C++ proficiency
  • Experience working in a memory constrained environment
  • Familiar with microcontrollers (preferably ARM) with, and without, an RTOS
  • Proficiency with TCP/IP, UDP, HTTP, and Sockets
  • Experience interfacing with peripherals over UART, SPI and I2C
  • Strong communication skills (written and verbal)
  • Detail oriented, organized and able to meet tight deadlines
  • Proficiency with Microsoft Office (Word, Excel, and PowerPoint)
  • Satisfactory knowledge of reading schematics and data sheets for components
  • Demonstrated ability to effectively prioritize and manage multiple projects to completion and within established deadlines

Preferred/Desired Qualifications

  • Experience with development and integration of Bluetooth Low Energy and/or Wi-Fi embedded software
  • Comfortable with instrumentation such as oscilloscopes, logic analyzers, digital multimeters, etc.
  • Experience with Objective-C, Swift, Python, Shell scripting and/or Java
  • Comfortable with peer code reviews
  • Proficiency with cryptography (AES, chacha20, curve25519, ed25519, and poly1305)
  • Comfortable with Wireshark for debugging network communications 
Facebook
SoftwareEngineer.com is owned, operated, and copyrighted by Career Marketplace (© 2002-2018, All Rights Reserved)
CAREERMARKETPLACE INC BBB Business Review