World Vision International

Senior Software Developer

Job Description

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 customers 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%)

  1. 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.

  2. Analyze system specifications and translate system requirements to task specifications for self and junior programmers.

  3. Analyze, design, coordinate and supervise the development of software applications in accordance with FH coding standards.

  4. Responsible for analysis of applications including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.

  5. Responsible for planning, processing and performing all jobs in an efficient manner with no assistance from the supervisor

  6. Responding promptly and professionally to bug reports.

  7. Responsible for development of new programs,

  8. Responsible for analyzing current programs and processes, and making recommendations which yield a more cost effective product.

  9. Responsible for utilizing tools and equipment involved in performance of essential functions of programming, including measuring instruments.

  10. Making presentations to customers, or customer audiences, or professional peers

  11. Responsible of writing proposals and / or supporting documentation as needed

  12. Provide general administrative support to the organization

  13. Research and recommend software tools to management.

  14. Provide assistance to testers and support personnel as needed to determine system problems.

Key Result Area #2 Provide support for key business applications (15%)

  1. Respond promptly, professionally and resourcefully in order to resolve application support issues.

  2. Provide assistance to system users, support personnel, testers and as needed to diagnose and resolve application problems.

  3. Assist in the analysis of existing applications performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.

  4. 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%)

  1. Member of FH Project Management Team, working with FH internal customers to set development priorities.

  2. Maintain open communications and reporting status to application Project Manager in order to schedule development projects and development resources.

  3. Serve as lead project programmer as required during product development.

  4. 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.

  5. Provide application level support for troubleshooting of FH developed products.

QUALIFICATIONS

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.

  1. Vibrant personal relationship with Christ

  2. Ability to reason logically

    1. Strong written and verbal communication skills

    2. Broad background in information technology, databases, software development, security, and related concepts

    3. Good conflict resolution skills

  3. Practical working experience with a variety of business information applications, including collaboration tools, accounting and finance, communications, and enterprise level databases

    1. Knowledge of Project Management tools and processes

    2. Ability to prioritize multiple responsibilities/projects

  4. Demonstrable advanced programming knowledge, skills and experience in web based application development with a focus on PHP development with Laravel 5, MySQL, PostgreSQL, JavaScript, JQuery, AngularJS and CSS.

  5. 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.

  6. Solid understanding of software development in accordance with current best practices

  7. Knowledge of Project Management tools and processes desired

  8. Ability to define problems, collect data, establish facts, and draw valid conclusions

  9. Ability to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables

  10. Supervisory experience managing technical staff desired

  11. Ability to sit at a computer for 8 hours a day doing repetitive motions on a keyboard

  12. 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.

SUPERVISORY RESPONSIBILITIES

Responsibilities include participation in interviewing, hiring, and training employees; planning, assigning, and directing work within assigned projects as a technical lead.

LANGUAGE SKILLS

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.