Primary Purpose of job:
This position is responsible for performing programming and testing of computer-based programs. It is also responsible for providing maintenance, support, and implementation of computer-based programs. This position relies on instructions and pre-established guidelines to perform the functions of the job.
Duties and responsibilities:
Product Development and Engineering
- Write, modify, extend and debug software based on the Software Development Lifecycle (SDLC) process.
- Have extensive knowledge of development tools/environments
- Utilize thorough understanding of complex database concepts and practices during the development process.
- Resolve technical issues related to software problems utilizing excellent customer service skills, problem solving skills, and technical thinking/reasoning skills following established support process and metrics guidelines.
- Measure and analyze incoming software issues to determine root cause and develop technical and training solutions to minimize reoccurrences and severity, report results to management.
- Accurately document all customer issues, resolution steps, and gather feedback in support tracking software to enhance identifying and reporting trends leading to recurring technical problems.
- Develop and publish support documentation for internal users for troubleshooting, training and other areas as needed.
- May perform the following functions of a Product Technical Owner on occasion:
- Ensure that implementation plans for the product features and user stories are consistent with the architecture, technology, and development standards.
- Ensure that Quality and Security are carried throughout product development and product lifecycle management.
- Plan product releases for rolling 12 months.
- Manages technical debt (backlog) of the product.
- Determine resource and skill sets requirements by sprint.
- Organize and plan technology roadmap advancements for assigned products.
- Alert any product related conflicts to the Product Portfolio Manager.
- Seek input from team members and supervisors on areas to improve skill set.
- Actively applies feedback received into day-to-day work and strives to improve performance
- Actively utilize training outlets as necessary improve development skills. This could take the form of multiple items, including but not limited to self-study, in-house classes, seminars or online training.
- Maintain professional and technical knowledge by attending ongoing training workshops, reviewing professional publications, reviewing industry best practices/procedures and reviewing new technologies to determine fit within the organization.
- Assist in development of junior developers on application development skills or system knowledge through mentoring, knowledge transfer, code review, and shadowing.
- Ensure consistency in design on various products within their portfolio by following reference architecture provided by enterprise architecture, and engage architecture whenever exceptions need to be made.
- Assist with User Story, Bug and other Work Item delivery and acceptance as well as technical documentation such as current state diagrams and process flows for use in driving architectural and procedural decisions.
- Be a contributor to the success of product development and delivery by facilitating working groups or directly contributing to coding efforts, code reviews, testing and/or other work when needed.
- Coordinates delivery efforts across one or more development teams including arbitration of technical conflicts and decisions.
- Holds Development, Technical, Professional Services, Data, and other IT teams accountable within the framework of the product.
Administration and Communication
- Listen to others and accept input from team members.
- Clearly articulate ideas and thoughts both in verbal and written formats.
- Accurately prepares written business correspondence that is coherent, grammatically correct, effective, and professional.
- Timely communication status updates with the project manager or lead, the project team, and/or key customers and supervisor regarding specific assignments and overall scheduling/coordination needs.
- Accurately record project and trouble call work assignment updates within timeframes determined by departmental standards or individual supervisors.
- Record time tracking.
- Identify individual task progress.
- Identify task completion.
- High school graduate or equivalent. College or technical school courses in one or more programming languages used by the company
- College degree, preferably in MIS or Math.
- 3-8 years’ experience in programming applications.
- Familiar with all aspects of systems analysis, design, and installation procedures in a business environment.
- 5-8+ years professional experience including programming in a business environment, installing, and troubleshooting hardware and software problems.
- Competent and knowledgeable of the entire programming range of duties.
- Programming skills in at least one of the company’s programming languages.
- Knowledge of computer hardware, operating systems used and SQL Server and/or DB2.
- Should have good problem-solving skills.
- Familiar with a variety of IT concepts, practices, and procedures.
- Good written and verbal communication skills and time management skills.