The position is responsible for software development and application support to meet a variety of municipal government business operation needs. In a given day, the Application Developer may oversee and support the development of web-based internal/external applications; develop and support Application Programming Interfaces (APIs), interfaces, mobile applications, and vendor-purchased solutions; leverage user interface and user experience principles (UI/UX) to make applications that are intuitive, responsive, and scalable; lead and participate in strategic and tactical planning activities; perform thorough diagnostics and troubleshooting in support of designated applications; lead test processes and quality assurance reviews to ensure quality results; perform business analyst responsibilities; provide quality written and verbal communications/presentations to customer areas, senior leadership, in both small and large settings; and mentor and actively share expertise with others.
The Application Developer is expected to have a comprehensive understanding of the technologies supported and actively shares this expertise with others.
The Ideal Candidate: The ideal candidate will have strong familiarity and experience in the following types of tools and technologies:
• Microsoft .Net Tools: Visual Studio, C#, .Net CORE, ASP.Net MVC, ASP.Net Web Forms, ASP.Net Web API, Entity Framework, IIS
• Modern Application Development Patterns: Repository Pattern, Unit of Work, Dependency Injection, Responsive Web Design, Unit Testing, API-first Methodology
• Database Technologies: Microsoft SQL Server, SQL Stored Procedures, Normalized Database Design
• Reporting Tools: SQL Server Reporting Services (SSRS), Web-based Reporting
Additionally, a solid understanding of the application development life cycle and related skillsets such as documenting and analyzing user requirements, prioritizing features, and setting expectations via Agile methodologies is a plus. The candidate should be proficient in written and verbal communication, customer service, teamwork, and collaboration to meet the strategic and technical goals of the team.
Minimum Qualifications Required: Any combination of training, education, and experience equivalent to graduation from an accredited college or university with a bachelor’s degree in Computer Science or a related field. Considerable (3 - 5 years) computer systems experience in at least one of the following technical support areas: Application Development, Applications, Database, or Web Support.