Senior C ++ Developer
Key Performance Areas
- A technical job concerned with software programming in C/C++ developing & maintaining
visual & non-visual/service applications.
- Conceive, design, and test logical structures for solving problems by computer.
- Analysis of relevant standards.
- Understand project / product requirements from a technical perspective
- Produce and review baseline documentation that collectively defines the solution.
- Review requirements, specifications related to the proposed solution.
- Follow the software development plan
- Write, test, and maintain the detailed instructions, called programs that computers must
follow to perform their functions.
- Write programs according to the specifications determined primarily by computer software
engineers and systems analysts.
- Code detailed designs from design specifications, according to best practices and software
coding standard.
- Perform the testing and debugging.
- Produce test code (unit tests) to drive all functionality, including error paths
- Ongoing support throughout lifecycle of the product (or until the support responsibility has
been re-allocated), to all departments and customers as and when required.
- Update, repair, modify, and expand existing programs
- Code detailed designs from design specifications, according to best practices and software
coding standard.
- Build, test and implement the software solution, including any amount of coding that may be necessary. A small project may require end to end detail involvement.
- Be thoroughly familiar with company standards and procedures.
- Maintain all development documentation under configuration and source control as per
company standards (incl. Source, documentation, assembly drawings, etc.)
- Ensure completion of deliverables by prescribed milestones, with proactive feedback.
- Continual feedback from / to spec and throughout process
- Configuration management of data: know the documentation requirements for the project /
product.
- Ensure the documentation is completed according to the best practices guidelines and the
content is adequate and appropriate
- Produce test code (unit tests) to drive all functionality, including error paths
- Project Execution
- Participate in project definition and project planning giving detailed inputs in Statements of
- Work to the project manager as and when requested.
- Test, integrate and even maintain the software as it may be required at any particular time.
- Ongoing support throughout lifecycle of the product (or until the support responsibility has
been re-allocated), to all departments and customers as and when required.
- 24 Hour standby
Qualifications
- Relevant degree in the engineering field or alternatively a proven in-house track record
through an engineering career.
Experience
- More than 2 years’ experience as a Programmer
Specialist Skills required
- Software design
- Software language exposure: Primarily C/C++ experience
- TCP/IP communication
- Knowledge of records/structures and binary data storage
- Knowledge of binary & hexadecimal numeral system. i.e. understanding of binary data (bits & bytes)
- Development of dll’s & dll interfacing a plus.
- Databases (Basic SQL)
- Office tools
The successful applicant must have:
- Appropriate technical domain
- Be familiar with Systems Concepts and Standards.
- Software Engineering
- Computing Systems Design
- Computer Programming
- Technical Documentation
- Knowledge of Quality Assurance techniques,
- Be familiar with company policies and procedures relating to software development.
- Develop and understanding of the complete testing life cycle, including developing test cases
and test plans.
- Teamwork
- Communicate with other team members; share knowledge; share resources; seek assistance
- Acknowledges and appreciates each team member’s contributions.
- Train and assists more junior programmers
- Endeavour to always satisfy or exceed performance expectations at all times
- Meet deadlines or other requirements, as specified by management, which are under your
control
- Improve skills and competencies by identifying own training needs and proposing courses
- Be self-motivated, by taking an interest in the job, and obtaining satisfaction from the
achievement of a job well done.
- Proactively endeavor to resolve de-motivating factors or circumstances thereby contributing
to job satisfaction
- Take ownership of responsibilities and ability to work both independently with minimal
supervision, as well as part of a team
Desired Skills:
- Software design
- Software language exposure: Primarily C/C++ experience
- TCP/IP communication
- Knowledge of records/structures and binary data storage
- Knowledge of binary & hexadecimal numeral system. i.e. understanding of binary data (bits & bytes)
- Development of dll’s & dll interfacing a plus.
- Databases (Basic SQL)
- Office tools