Principal Software Engineer at P Chappel Associates Inc
Holmdel, NJ
About the Job
Our client is a well-established, growing software company. Their Linux application is developed using Scrum Agile methodology. Most development is done in C language; some Python is used. As the company experiences this period of growth we are looking for talented individuals who are motivated by overcoming difficult technical challenges in a collaborative environment to join the team. Ideal candidates for these positions will love to code and have extensive experience developing algorithms and data structures for multi-threaded high performance software in C on Linux platforms. Experience developing software for data backup or data storage applications is desired. Hybrid position working in the office 3 days per week.
Responsibilities:
- Work as a member of a Scrum team on the design and maintenance of software
- Develop and assist in definition of new product features and requirements
- Integrate software modules and ensure the system operates to meet requirements
- Develop and implement unit automated tests and quality improvements, support QA testing
- Be a key contributor in this small, challenging and collaborative environment
- reverse engineer complex data formats a plus
- manage your work and time with a hybrid work model
- work with support organization to fix issues identified in customers bug reports
Required / desired skills and experience:
- BS or MS in Computer Science or other technical discipline or equivalent experience
- Strong skills in C programming and development on Linux platforms
- Extensive knowledge of data structures and algorithms
- A lot of focus is on performance and optimization. Experience developing high-performance algorithms and analyzing code to optimize is desired
- Experience with Python scripting is greatly preferred. Bash is a plus
- Team player with strong interpersonal skills
- Familiarity with Microsoft development environments a plus
- Experience with any of the following is a plus: data protection, backup, data storage; pthread; security; ransomware; embedded systems development with C; parallel, distributed or complex system programing project experience; machine learning; writing software that manipulates data at the bit and byte level.