Job Summary:
Under general supervision, uses specialized knowledge and skills obtained through education, experience and/or specialized training to create and modify new and existing software. Involved in full systems life cycle and is responsible for coding, testing, implementing, maintaining, and supporting application software that is delivered on time and within budget. Guidance is provided to perform varied work that is more difficult in character requiring limited evaluation, originality and ingenuity to make moderately complex decisions. Resolves escalated issues and problems.
Essential Duties and Responsibilities:
* Adheres to established information technology standards and procedures.
* Analyzes system requirements, including identifying program interactions and appropriate interfaces between affected components and sub systems.
* Assists in analyzing user needs and software requirements to determine feasibility of design within time and cost constraints.
* Collects/creates test data. Tests programs.
* Conducts special studies and investigations and with guidance develops new information systems to improve business processes, as required.
* Designs and/or modifies programs from specifications and develops system documentation.
* Writes code for new and existing programs.
* Designs conversion procedures.
* Identifies and corrects program defects.
* Maintain currency in technical skills
* Writes system specifications, including output requirements and flow charts.
* Participates in software system testing and validation procedures, programming, and documentation.
* May work individually or coordinate development activities as part of a team.
* May participate in various committees to support department initiatives.
* Performs other duties and responsibilities as assigned.
Knowledge, Skills, and Abilities:
Knowledge of:
* Concepts of programming such as data structures, error handling, data manipulation, and I/O processing.
* 2-5 years of .Net development experience required with C#, ASP.Net and SQL.
* Agile experience is preferred.
* Database concepts and practices, including definition and query language concepts.
* Basic data processing hardware.
* Program design concepts through the use of flowcharting and data flow diagramming.
* Structured development methodology.
* Basic operating systems.
* Familiarity with files, reports, and screens and how they are used in applications.
* Relationship between IT and business.
* Concepts and practices of testing procedures.
Skill in:
* Development in 1 programming technology, with exposure to a second programming technology, and 1 development platform, along with beginner level design abilities.
* Processes of programming such as compiling, source code editing, debugging, testing and deployment.
* Modifying existing systems.
* Maintaining currency in technical skills.
Ability to:
* Ask pointed questions to verify clear understanding of client issues.
* Recommend technical direction at the individual program and sub-system level.
* Comprehend software specifications or design and translate into executable code with limited assistance and provide feedback to the designer.
* Take ownership of an aspect or task on a system with little to no assistance.
* Create clear and concise program and sub-system documentation.
* Lead a meeting addressing focused technical issues.
* Provide a high level of customer service.
* Establish and maintain effective working relationships with others.
* Exhibit a positive attitude when dealing with others.
* Follow all internal procedures for handling customer requests.
* Communicate timely and through proper channels to keep customer and upper management informed of the progress of an issue.
* Take ownership of issues, focusing on root causes, and following through to issue resolution.
* Attend to detail.
* Analyze and solve problems.
* Read, comprehend, and apply technical information.
* In emergency situations, determine appropriate actions to protect critical systems and data.
* Demonstrate judgment appropriate for level and experience.
* Organize and prioritize multiple tasks and meet deadlines.
* Respect all team members regardless of level, role, or skill.
* Participate in team projects and activities.
* Demonstrate flexibility in accepting and adapting to change.
* Demonstrate appropriate frequency and level of detail in communications, both verbal and written.
Educational/Previous Experience Requirements:
* Bachelor's degree in Computer Science or Software Engineering.
* Requires technical knowledge, training, and understanding of job's requirements.
* Requires a minimum of two (2) years of relevant work experience.
~or~
* Any equivalent combination of experience, education, and/or training approved by Human Resources.