Twisthink is looking for a Senior Software Engineer to design and build custom IoT edge devices. This developer will architect, implement, and deploy IoT solutions running on embedded Linux and other platforms. They will work closely with Twisthink’s clients, internal design and engineering teams, and our external development partners to deliver scalable, maintainable, and resilient solutions.

Problems, solutions, and strategy are constantly evolving and challenging us. If you have an imaginative mindset and you are fast thinking, collaborative and energetic – join the Twisthink team!

Twisthink Senior Software Engineer Essential Responsibilities

  • Provide technical expertise and leadership to the design and delivery of embedded Linux solutions that include sensors, wireless communication, battery/power management, edge analytics, real-time control, and more.
  • Work closely with internal and external stakeholders to understand the client’s technical requirements and then design and specify software architectures to meet these requirements.
  • Assist product owners and project managers with quoting new development projects by defining software development tasks and phase deliverables, identifying dependencies and areas of risk, and estimating development effort.
  • Design and develop software within an Agile framework, using Scrum, Kanban, and other methodologies.
  • Leverage your knowledge and experience to mentor the development team on best practices for software design, development, and testing.
  • Lead technical status updates in your area of expertise. Communicate architectural and design rationale and present learnings and their impact on product performance during customer update calls.

Senior Software Engineer Experience and Skills

  • Bachelor’s degree in CS or CE with at least 7 years of embedded systems development experience.
  • Experience and interest in working face-to-face with teammates and clients.
  • Strong verbal, written, and presentation skills with ability to communicate complex technical concepts to technical and non-technical professionals at all levels of the organization.
  • Desire and ability to learn quickly, take professional risks, and operate in a fast-paced entrepreneurial environment.
  • Fully competent at developing software in a team-based environment using Git version control tools: commit cadence, branching, merging, pull requests, and code reviews.
  • Expert level competency with the Linux development environment: scripting languages, command line interface, and standard utilities.
  • Solid understanding of standard embedded Linux components: cross compilation toolchain, Buildroot, multi-stage bootloader environment, kernel image, device tree, root file system, BusyBox, and system initialization.
  • Strong comprehension of object-oriented and scripting languages with deep experience in C/C++ and Python.
  • Experience with software technologies such as: real-time operating systems, inter-process communication and coordination, MQTT, protocol buffers and other serialization techniques, containerization, databases, and design of APIs and messaging protocols.
  • Experience with embedded system IO technologies: GPIO, SPI, UART, and I2C.
  • Familiarity with DevOps practices: continuous integration, automated testing, remote device monitoring and management, and deployment of software updates to devices in the field.

Why work at Twisthink?

  1. Ability to work on a variety of projects keeping each day new and exciting
  2. Work in an inclusive, fun environment that emphasizes culture
  3. Enjoy a hybrid work environment that offers great flexibility including flexible hours and summer hours!
  4. Receive a competitive package that include gym membership, education assistance, 12 paid holidays and biannual performance bonuses
  5. Attend quarterly meetings that provide business and sales transparency
  6. Be part of a company that values giving back locally and globally

To apply to this position, please send an email and your resume to