Software Design Engineer

Brunswick CorporationTulsa, OK

About The Position

Brunswick, a global marine leader, is seeking a Software Design Engineer to contribute to the development of innovative, next-generation technologies. This role involves working on products from concept through production, focusing on application software for embedded devices and Android applications. The engineer will be part of a team that defines the future of marine recreation, transforming vision into reality through passion and a commitment to delivery.

Requirements

  • Bachelor's degree in Computer Science, Software Engineering, Electronics Engineering, or a related discipline.
  • 3–5 years of professional software development experience.
  • Experience developing Android applications using Kotlin and/or Java.
  • Experience with Android SDK and modern Android development practices.
  • Familiarity with Android architecture patterns such as MVVM or MVP.
  • Experience with dependency injection frameworks.
  • Experience writing unit tests using JUnit (Robolectric experience is advantageous).
  • Experience developing embedded software using C/C++.
  • Familiarity with embedded systems and hardware integration.
  • Experience using Git and modern software development workflows.
  • Strong debugging and problem-solving skills.
  • Good communication skills and the ability to work effectively within a collaborative engineering team.

Nice To Haves

  • Experience with embedded Linux.
  • Experience developing connected or IoT devices.
  • Knowledge of networking protocols such as Bluetooth, Wi-Fi, or Ethernet.
  • Exposure to CI/CD pipelines and automated testing.
  • Experience working within Agile development teams.
  • Understanding of software architecture and design patterns.

Responsibilities

  • Contribute to the development of products from concept, design, prototyping, qualification, and production using the Navico Product Development (NPD) process.
  • Design, develop, test, and maintain application software for embedded devices.
  • Develop software for processing and manipulating data.
  • Participate in software verification through unit, integration, and system testing.
  • Support system-level software verification and debugging.
  • Develop Android applications using Android SDK with Kotlin and/or Java, integrating software with embedded hardware.
  • Design and implement Android applications using modern Android architecture components, MVVM/MVP, dependency injection frameworks, and automated testing tools such as JUnit and Robolectric.
  • Design, develop, test, and maintain embedded software in C/C++.
  • Work closely with engineers, project managers, and cross-functional teams across multiple locations.
  • Produce and maintain technical documentation, including software design and a detailed requirements.
  • Report progress clearly and provide test results and technical updates.
  • Participate in code reviews and contribute to improving software quality and development practices.
  • Collaborate with electrical, mechanical, and QA engineers throughout the product development lifecycle.
  • Troubleshoot and resolve software defects with guidance from senior engineers when required.

Benefits

  • Growth opportunities within and across our many brands.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service