Position Description For Software Programmer/Systems Engineer
The purpose of this job description is to communicate the responsibilities and duties associated with the position of Software Programmer/Systems Engineer. The following information should not be considered a comprehensive description of this position. It should also be noted that some responsibilities and duties might not be specifically addressed. The Company fully expects every person to perform any reasonable task or request that is consistent with fulfilling company objectives. The Company recommends an ongoing effort to familiarize yourself with the duties and responsibilities of those positions directly above and below your own.
Position: Software Programmer/Systems Engineer
Supervisor: Vice President, Engineering
Location: Carrollton, TX
Job Brief:
The full-time position of Software Programmer/Systems Engineer is primarily responsible for designing, developing, maintaining and supporting advanced geo-location and tracking system software.
Essential Functions:
1. Modify and enhance system software using a variety of languages and platforms.
2. Design, develop and implement software to work with wireless receivers, wireless tracking devices, and related mapping software tools (e.g. Microsoft BING).
3. Maintain and support existing software through ongoing testing, verification and evaluation.
4. Test and evaluate new hardware and software tools, components, and utilities for applicability to current and future systems.
5. Support the definition, design, development and evaluation of new systems.
6. Maintain good working relationships with other departments to assure customer satisfaction and ensure company's goals and objectives are reached.
7. Adjust duties, responsibilities and work schedules to remain consistent with the stated objective in any company plan.
Education Required:
1. Bachelor's degree in Computer Science (or equivalent).
Practical Experience:
1. A minimum of 3 years software design and development experience with real time systems.
2. Knowledge of networking and modern data communications, wireless communication systems theory and application, and information coding.
3. Experience working on multiple stages of the Software Development Life Cycle from planning through maintenance.
4. Experience developing Microsoft .NET enterprise applications using C# and ASP.NET.
5. Experience with SQL database applications.
6. Knowledge of C++ with ability to debug and correct existing code.
Supervision Received:
1. Receives occasional supervision from the Engineering Manager.
Responsibilities:
1. This position requires the candidate to perform functions that include drawing upon application and data processing experience in order to provide technical solutions to business problems; supporting systems operations by resolving problems and making enhancements; creating efficient, structured, and logical coding, testing, and debugging of the system; preparing and leading informal training sessions and workshops for team members and users; serving as a technical information resource; and meeting with user management on a regular basis to report the status of projects. Technical writing skills.
2. The principal challenges of this position are keeping pace with increasing functional/user demands for new systems and/or enhancements to existing systems, while ensuring that the programs and modules fit together as outlined in the detailed specifications. This requires the incumbent to identify problems and analyze the system to determine procedures for programming; translate the request into technical terminology; develop alternate solutions and assess their feasibility; and select solutions and write the code for the program.
Aptitudes Required:
This position requires the following levels of aptitudes:
Reasoning Development - must be able to apply principles of logical or scientific thinking to define problems, collect data, establish facts and draw valid conclusions. Interpret an extensive variety of technical instructions in mathematical or diagrammatic form. Deal with several abstract and concrete variables.
Language Development - must be at a level that would normally apply to a person capable of reading novels, technical magazines with excellent comprehension. Must be able to write reports and essays with proper format, punctuation, spelling and grammar.
Math Development - must be able to solve mathematical problems using techniques such as algebra, calculus and statistics.