The primary purpose of this position is to design, code, and test programs for either a web-based, mobile, or client/server environment, and to develop the technical specification and necessary documentation in compliance with MTA procedures.
Code, configure, and deliver easily maintainable software according to the specification provided using standard MTA tools and products.
Test and debug routines and programs for efficient processing and maximum utilization of computer systems.
Develop and maintain technical and standard documentation for program development activity in a timely and high-quality manner.
Participate in the evaluation of new software development products, applications, practices, and techniques.
Participate in the development and maintenance of functional test plans that adequately test the defined requirements and functions.
Participate in the analysis of business requirements and system design for the development and configuration of software applications that support MTA business requirements.
Participate in the investigation and resolution of production problems, and assist other technical support staff in solving technical issues related to MTA software applications.
Assist less experienced software developers/analysts in solving coding and technical issues related to MTA software.
Work with business users to develop the technical and business specifications.
Guide and lead software developers/analysts throughout project life, from design build and test through to delivery.
Evaluate the operating efficiency of software developed by other MTA software developers/analysts and consultants.
Lead in the development and delivery of well-designed software, from simple to extremely complex applications, following MTA standards and guidelines.
Take a leadership role in working with MTA business users to develop functional requirements and system specifications.
Lead the evaluation of new software development products, applications, practices, and techniques.
Develop test criteria, analyze/debug logic and coding errors, review programs and assist other team members with the testing of all computer routines, programs, and integrated solutions.
Basic programming skills in MTA IT-supported languages and software packages; basic knowledge of secure coding techniques is a plus.
Basic knowledge and some experience applying programming logic to the development and debugging of software applications.
Basic knowledge of Windows and/or Linux operating systems and internet technologies.
Good interpersonal skills, ability to function as part of a team that might include end-users as well as other technical staff.
Ability to conceptualize business requirements of the program being developed, including the ability to identify underlying principles and the appropriate data handling techniques required.
Good oral and written communications skills.
Good analytical skills.
Ability to initiate, demonstrate flexibility, and good time management skills.
Availability to handle production problems outside normal workday hours.
Programming skills in MTA IT-supported languages and software packages; basic secure coding techniques a plus.
Knowledge of Windows and/or Linux operating systems and internet technologies.
Demonstrated troubleshooting skills and ability to handle multiple programming tasks simultaneously.
Strong programming skills in a MTA IT-supported language.
Strong knowledge of Windows and/or Linux operating systems and internet technologies.
Strong leadership oral and written communications skills.
Advanced programming skills in an MTA IT-supported language, including secure coding techniques.
Excellent knowledge of Windows and/or Linux operating systems and internet technologies.
Demonstrated ability to plan activities and instruct and guide less senior software developers / analysts.
Proven experience working with senior level staff contributing to both short and long term, technology related planning strategies.