The NC Board of Elections (NCSBE) requires a sophisticated and nimble IT practice to support and strengthen election business divisions by providing central services and infrastructure for state-wide access to information resources and technologies. This position aims to design and develop software application functions that meet business requirements, maintain, modify, and develop complex interconnected software solutions, and analyze current software for improvements.
Requirements
- Proven work experience as a software developer, including the understanding of the differences between application types ranging from small to enterprise level. Should also have a broad understanding of programming paradigms and experience in more than one language.
- Ability to design and implement highly scalable applications, APIs, and database components.
- Extensive technical knowledge to serve as a resource in solving problems of high complexity, and to devise or modify systematic processes to solve complex problems, accounting for computing capacity and limitations.
- Expert knowledge and practical experience with C-Sharp, VB6, VB.NET and tSQL. Knowledge in Javascript, Razor and Blazor is a plus.
- Knowledge in the following development practices is required: distributed, enterprise-oriented application development, agile-based development methodologies, object-oriented development, Windows application development, web application development (preferably with .net (MVC or Blazor), HTML5, Javascript, web API), and database object structure.
- Knowledge of the architecture design and security protocols of systems being developed.
- Knowledge and practical experience with a software testing procedure and/or toolset.
Responsibilities
- Evaluate and analyze existing specialized applications and define problems effectively in order to make recommendations; accurately identify business needs and opportunities for process improvements using increasing knowledge of specific agency functions and business needs; changes in computer technology and specific applications systems; and laws, rules and regulations affecting the business needs of the organization.
- Review and translate functional and technical specifications in order to develop software to that meets agency needs.
- Decompose functional requirements into individual building blocks that can be submitted for development.
- Determine system changes/support necessary to implement new functionality.
- Perform work necessary to build a functioning software application. This task can be from small to large in scope, providing some functional part of a complete programming solution.
- It could involve adding a feature to an existing solution or re-factoring existing functionality.
- It could include participation in the development of screen shots, writing program code in a variety of languages, using database objects in code as required to support the application’s use of a data source, providing the associated tSQL scripts needed to implement or change database objects, or designing reports, including writing their underlying control logic.
Other
- The position serves as a lead software developer and provides guidance, review, and training to other analyst and technicians.
- The position provides research into new trends and technologies and provides recommendations on such use.
- The position will provide third-tier user support, assess business requirements, and evaluate hardware usability and compatibility with agency-built software, as needed.
- Must have excellent communication, documentation, and presentation skills for technical and business audiences.
- Must have outstanding problem-solving skills as part of the design as requirements change or technical solution is designed, or as issues arise.