Works independently and as a member of a team to design and develop new applications and to support/modify existing applications in Windows/Linux environments. Assists or leads in the development of system architecture, design, and documentation. Assists or leads in the development of organizational design and development standards.
ESSENTIAL DUTIES AND RESPONSIBILITIES
•Acts as senior technical resource in working with business owners to define project requirements and to ensure that those requirements are implemented through efficient and timely application design and development
•Acts as senior technical resource in designing, coding, testing, debugging, configuring, and documenting applications
•Acts as senior technical resource in working with internal and external development staff to ensure that the business goals are translated into effective and efficient applications
•Analyzes, defines, and documents system requirements for data, workflow, logical processes, hardware and operating system environments, interfaces with other systems, internal/external checks and controls, and I/O
•Serves as a senior technical resource in the development of organizational standards for system architecture, system security, and system documentation
•Ensures that application design and development are in accordance with architectural and development standards, policies and procedures
•Assists in the definition, capture, and reporting of relevant development metrics
•Acts as senior technical resource in the development and documentation of organizational coding standards
•Mentors junior staff, helping to increase their technical proficiency and development skills
•Writes and maintains documentation to describe program development, logic, coding, unit testing, changes, and corrections
•Writes and reviews documentation that describes installation and operating procedures
•Aids in the development of configuration files, build and deployment scripts, and release notes to ensure complete and accurate deployment of all applications into test and production environments
•Analyzes and estimates feasibility, cost, time, compatibility with other systems and computer capabilities
•Develops and maintains plans outlining steps for developing and installing applications
•Researches and evaluates software and hardware to assist in programming or to use as program platforms
•Designs and codes screen layouts, graphical user interfaces, printed outputs, and interfaces with other systems
•Creates unit tests and other test transactions and runs tests to find errors and to confirm that developed code meets project specifications
•Analyzes code to find causes of errors and revises programs
•Provides technical assistance by responding to inquiries regarding errors, problems, or questions with programs; trains end users or technical support staff to use programs
•Analyzes, installs, and tests upgrades of externally developed application programs
•Applies generally accepted programming standards and techniques to assure efficient program logic and data manipulation
•Provides assistance and consultation to users in the development and use of applications
•Designs and executes SQL queries and stored procedures as necessary in the development of data driven applications
•Performs other duties as assigned
EDUCATION/QUALIFICATIONS
Bachelor’s degree in computer science with a minimum of10 years of relevant development experience. Extensive experience in developing data driven applications using C#, ASP.NET, AJAX, JavaScript and ASP is required; experience in Java is desired. Experience with service-oriented architecture including WS security and with the development and consumption of web services is required. Experience in the development of enterprise design and coding standards. Good working knowledge of Microsoft operating systems (Windows 2003/2008/2012) and Active Directory, DNS, SMTP, IIS, PKI, Tomcat, Apache and networking protocols. Extensive knowledge of relevant existing and emerging technologies and coding best practices is required.
Ability to clearly communicate ideas through written reports, business correspondence, technical standards, and procedure manuals. Ability to effectively present information and respond to questions from groups of directors, clients, and the general public. Ability to define problems, collect data, establish facts, and draw valid conclusions. Experience in training or mentoring other junior staff.