Position: Applications Programmer/Analyst
Salary: $53,000 - $57,000
Experience Range: 2 to 5 Years
Systems Analysis and Development (85%):
- Responsible for working with users and technical staff to determine requirements for software systems supporting more than 400 people.
- Write and review functional specifications for data and systems.
- Participate in the design of data and systems.
- Develop using Test Driven development and agile methodology.
- Assess alternative problem solutions.
- Participate in all cycles of online system development (design, implementation, testing, deployment)
- Provide technical advice and consultation on system architecture, analysis and programming problems.
Software Support and Knowledge transfer (15%):
- Provide installation assistance and troubleshooting for software related issues.
- Responsible for writing, modifying, and reviewing software documentation.
- Contribute to testing activities of software systems.
- Provide technical knowledge transfer to project team members and users.
- Perform regular self-study to learn new concepts and technologies in web development.
- Perform other duties as assigned
- Bachelor's degree or an equivalent combination of education and experience.
- Excellent technical, verbal and written communication, organizational skills and demonstrated ability to provide effective customer service to a diverse group of people.
- Proven ability to work independently, assume responsibility, exercise good judgment and communicate effectively.
- Demonstrated skills using agile methodology, Test Driven Development with continuous integration (Scrum would be a plus).
- Minimum 3 to 6 years of systems analysis/programming in a business environment and experience in software development using Microsoft development tools
- Experience with client-server and web application development using Microsoft .net Framework
- Experience with relational databases (Microsoft SQL Server)
- Familiarity and experience with XML, Web Services, REST API
- Demonstrated skills in strong code design, object-oriented analysis, data modeling, software development methodologies, code performance tuning and benchmarking, and software quality testing
- Ability to analyze, diagnose, solve problems in a timely manner, set priorities and adapt to new and complex information technology demands and still keep focused on the current tasks. Effective time management, problem-solving and analytical skills. Ability to forecast timelines and consistently meet deadlines in a fast paced environment.
- Experience and desire to work in a customer driven environment.
- Experience of web development languages, tools, standards (such as W3C) and technology including automation of tasks and web services.
- In-depth knowledge of multi-tiered system architectures including client/server, application server, and web based technologies, systems integration (ETL tool knowledge is a plus).
- Ability to train users in web and data integration concepts both from a conceptual and holistic point of view centering around best practices but also in the hands-on "how to" aspects of using web based software and applications.
- Experience in integrating with the Google platform (Google Apps Script, Google App Engine)
- 3 years of applications development experience, including all stages of the application development life cycle from gathering requirements from users through project implementation.
- Demonstrated successful experience in creating creative solutions in order to support business needs. Mobile platform would be a plus.
- Demonstrated successful experience working on project teams using Agile and TDD. Proven history of successful partnerships on multi-discipline teams.
- Strong working knowledge of Development/Fundraising software and good general concepts of how online engagement software is used to help manage and enhance relationships with constituents. Some familiarity with CRM software and tools will be an asset.