Senior and Principal Software Engineers (Multiple Openings)

Monmouth County, NJ – hybrid – salary to $175K + stock options

Our client, a growing and well-established software company, is seeking talented Senior and Principal Software Engineers to join their team. This company specializes in developing high-performance Linux applications using Scrum Agile methodology. Most development is done in C programming language, with some use of Python.

We are looking for individuals passionate about coding and solving complex technical challenges in a collaborative environment. Ideal candidates will have extensive experience designing algorithms and data structures for multi-threaded, high-performance software on Linux platforms. Experience with data protection, backup, or data storage software is highly desirable.

Key Responsibilities

  • Collaborate as a member of a Scrum team to design, develop, and maintain software.
  • Define and implement new product features and requirements.
  • Integrate software modules and ensure system functionality meets requirements.
  • Develop and execute unit tests and automated quality improvements; support QA testing processes.
  • Play a key role in a small, dynamic, and collaborative development environment.
  • Reverse-engineer complex data formats (a plus).
  • Manage tasks effectively in a hybrid work environment.
  • Work with the support team to resolve issues identified in customer bug reports.

Required Skills and Qualifications

  • Education: BS or MS in Computer Science, a related technical discipline, or equivalent experience.
  • Programming Expertise: Strong skills in C programming and Linux platform development.
  • Algorithms and Data Structures: Deep understanding of data structures and algorithms, with a focus on performance optimization.
  • High-Performance Development: Experience developing high-performance algorithms and optimizing code for efficiency.
  • Scripting Skills: Proficiency in Python is strongly preferred; experience with Bash is a plus.
  • Collaboration: Team player with strong interpersonal and communication skills.
  • Problem-Solving: Ability to solve complex challenges in a collaborative setting.

Desired Experience

  • Familiarity with Microsoft development environments.
  • Experience with any of the following:
    • Data protection, backup, or data storage software.
    • pthreads, security, ransomware, or embedded systems development in C.
    • Parallel, distributed, or complex system programming.
    • Machine learning.
    • Writing software that manipulates data at the bit and byte level.

This is an excellent opportunity to join a fast-growing company with a collaborative team environment and tackle challenging technical problems. If you thrive in a high-performance culture and are excited to make an impact, this role is for you.