Purpose of the position
The Senior Software Developer is responsible for leading teams of developers, working towards the delivery of reliable software and hardware solutions, writing impeccable code and delivering projects on time and within budget. The Senior Software Developer will serve as a Technical Project Manager taking ownership of assigned development projects from inception to delivery. He/She is expected to be able to lead a team, with the ability to multitask, teach and instruct coworkers, attend meetings with FH customers as required to ensure customer’s needs are met and successfully deliver all assigned projects.
Secondarily, this person will provide support for key business applications. This person will provide 2nd level support by responding to and resolving technical issues and requests for enterprise applications worldwide, whether in person or remotely using email, phone, and remote access software,
Key Result Area #1–Provide leadership and expertise in the area of code development and the implementation of software best-practices (75%)
Conduct system analysis and development tasks for assigned application development tasks, with limited support from professional staff, as well as keep our customers’systems current with changing technologies.
Analyze system specifications and translate system requirements to task specifications for self and junior programmers.
Analyze, design, coordinate and supervise the development of software applications in accordance with FH coding standards.
Responsible for analysis of applications including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
Responsible for planning, processing and performing all jobs in an efficient manner with no assistance from the supervisor
Responding promptly and professionally to bug reports.
Responsible for development of new programs,
Responsible for analyzing current programs and processes, and making recommendations which yield a more cost effective product.
Responsible for utilizing tools and equipment involved in performance of essential functions of programming, including measuring instruments.
Making presentations to customers, or customer audiences, or professional peers
Responsible of writing proposals and / or supporting documentation as needed
Provide general administrative support to the organization
Research and recommend software tools to management.
Provide assistance to testers and support personnel as needed to determine system problems.
Key Result Area #2 –Provide support for key business applications (15%)
Respond promptly, professionally and resourcefully in order to resolve application support issues.
Provide assistance to system users, support personnel, testers and as needed to diagnose and resolve application problems.
Assist in the analysis of existing applications performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
Assist in the analysis of current applications and processes, and making recommendations which yield a more cost effective product.
Key Result Area #3–Serve as Project Technical Manager. (10%)
Member of FH Project Management Team, working with FH internal customers to set development priorities.
Maintain open communications and reporting status to application Project Manager in order to schedule development projects and development resources.
Serve as lead project programmer as required during product development.
Work with Director of Support Services to develop any training materials during the implementation phase of FH developed products; training necessary support staff in use of application.
Provide application level support for troubleshooting of FH developed products.
To perform this job successfully, an individual must be able to perform each essential duty/function satisfactorily. The requirements listed below are representative of the knowledge, skills, and abilities required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Ability to reason logically
Strong written and verbal communication skills
Broad background in information technology, databases, software development, security, and related concepts
Good conflict resolution skills
Practical working experience with a variety of business information applications, including collaboration tools, accounting and finance, communications, and enterprise level databases
Knowledge of Project Management tools and processes
Ability to prioritize multiple responsibilities/projects
Solid understanding of Test Driven Development techniques with experience using tools such as PHPUnit, Behavior Driven Development techniques with experience using tools such as Jasmine and End-to-End testing with experience using tools such as Protractor.
Solid understanding of software development in accordance with current best practices
Knowledge of Project Management tools and processes desired
Ability to define problems, collect data, establish facts, and draw valid conclusions
Ability to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables
Supervisory experience managing technical staff desired
Ability to sit at a computer for 8 hours a day doing repetitive motions on a keyboard
Ability to travel (domestically and internationally) up to 15% a year
EDUCATION and/or EXPERIENCE
Requires a four-year degree in a related field or at least seven years of experience in application programming or an equivalent combination of education and experience. Supervisory experience managing technical staff and projects desired.
Responsibilities include participation in interviewing, hiring, and training employees; planning, assigning, and directing work within assigned projects as a technical lead.
Proficiency in spoken and written English. Ability to read, analyze, and interpret general business periodicals, professional journals, technical procedures, or government regulations. Ability to write reports, business correspondence, and procedure manuals. Ability to effectively present information and respond to questions from groups of managers, customers, and the general public.