Software Engineer

SUMMARY

Design, develop, maintain, test, and evaluate software for CNC computer control system under limited supervision of the Software Engineering Supervisor.

ROLE/ RESPONSIBILITIES

• Proposes problem solutions through analysis, problem definition, requirement generation and implementation of those solutions.

• Creates documentation and supporting diagrams supporting solutions.

• Prepares and installs source code into source control by determining compliance of software changes with system specifications, programming best practices, and ensuring these changes are free from defects.

• Improves workflow by conducting analysis, and recommending changes in policies and procedures to management.

• Must be an active coder.

• Creates bug reports through investigation and by collecting, analyzing data, and providing clear documentation on reproduction of observed issues.

• Communicate technical ideas clearly, able to use Microsoft Office applications when appropriate.

• Employees are expected to follow instructions, procedures and to escalate any issue impacting workflow, quality, etc. Additionally, there are high value items that require proper care and protection.

REQUIRED SKILLS/ BACKGROUND

• 3+ years of coding experience.

• Expertise in Java, C and C++.

• OOP (Object Orientated Programming) knowledge.

• Experience reading and writing bash and batch scripts (basic).

• Comfortable working in Windows and Linux environments.

• Linux is not a requirement, but will have to learn.

• Experience with inter-process communication (Google Protocol Buffers is a plus).

• Experience in writing and debugging multi-threaded applications.

• Understanding of real time systems, XML, file systems, networking, multi-threaded applications, computer graphics, linear algebra, calculus, geometry, and trigonometry, human-computer interaction/User Interface design, design patterns, encryption, hashing, checksums, and CRCs (Cyclical Redundancy Check).

• Experience in reading and writing technical requirement documentation.

• Experience working with source-control system.

• Experience with Eclipse/Visual Studios.

• Can reverse engineer source code written in C and generate requirements and write equivalent code in a higher-level language.

• Employees must exhibit honesty and integrity as well as demonstrate adherence to rules, procedures and policies.

EDUCATION and/or EXPERIENCE

Bachelor' s Degree BSCS or BSCE, (MS preferred) from a four-year college or university is required, plus an additional 3+ years related experience, training and/or equivalent combination of education and experience.


Back to top