Senior Software Developer


The Senior Software Developer is responsible for providing a range of software development and technical services to support the Office of Advancement, the broader campus advancement community and the broader global advancement alumni and donor constituency. The primary focus of the role will be to provide software design and development, systems analysis, programming, reporting, database development as well as ongoing technical support.

Key Accountabilities 

Software application design, development and support

  • Conduct systems analysis and requirements gathering to develop solutions for the department using best practice software development methodologies
  • Design system architecture, databases, design components, business processes or concepts for software or technical solutions developed
  • Perform full stack development and maintain custom developed software programs for both front and back-end for desktop, client/server and/or web environment
  • Test and debug software programs using best practice QA techniques
  • Perform code maintenance and versioning using department revision control tools
  • Document requirements, design, analysis, programs, processes and testing results for all software development project
  • Develop and deliver training for software development projects
  • Participate in the evaluation and selection of software development languages and tools
  • Support of production systems in terms of problem analysis, solution development and maintenance of existing software programs or applications supported by the Systems team
  • Keep informed on latest software development practices and vendor product enhancements through workshops, webinars or attending vendor conferences as appropriate

Database development, maintenance and administration

  • Design, develop and support databases used with department applications, custom developed programs, including; database architecture, table design, indexing, script development, ETLs or automated jobs for SQL based database environments
  • Perform ongoing database maintenance and data mining database query languages and tools
  • Document database architecture, design and data dictionaries
  • Administration of databases including installation, tuning, performance monitoring, user setup and upgrading
  • Review quality of donor database data periodically or on request to determine database health and perform routine data maintenance tasks as necessary
  • Work with universities Information Systems and Technology teams to maintain and upgrade server infrastructure or database platforms as necessary

Custom report development and data analysis

  • Conduct end user interviews and analysis to develop specifications for reporting or report modifications
  • Design and develop custom reports through custom programming, department report writing tools, business intelligence or data visualization tools
  • Use department business intelligence tools (such as SSRS and SSAS) to develop advanced reporting using data warehouses or analytical OLAP cubes
  • Perform  data analysis on department donor databases to support business unit programs, projects and business program reporting
  • Where appropriate, work with Report Developers to create reports based on specifications developed

Projects, requests and operational tasks

  • Participate and/or lead system or department projects that may include performing assigned project tasks, project planning, documenting, communicating, scheduling, organizing or attending meetings
  • Participate in acquisition and implementation of new computer systems or software, including product research, product demonstrations and RFP development
  • Complete departmental requests and ongoing operational tasks that include; data extracts, data cleanup, database coding, data exchange, reporting and technical support

Other Duties

  • Backup resource to other team members where appropriate
  • Provide general technical support for departments computing environment as required
  • Provide direction for work-study or Coop students as required
  • Other tasks and responsibilities as assigned

Required Qualifications 

  • A University degree or College diploma preferably in computer science, software engineering, software development or a related information technology area of study.
  • 7+ years extensive experience developing software applications and/or full stack development using software development methodologies (SDM) and practices such as prototyping, rapid application design, agile or waterfall for system architecture, with experience conducting requirements gathering, testing and code design
  • 5+ years experience developing .Net based windows or client/server applications using Microsoft Visual Studio and using VB .net or C# .net programming language and/or experience developing web based applications using ASP .Net / MVC architecture, HTML, CSS and JavaScript
  • Experience designing and maintaining SQL databases, such as Microsoft SQL Server and Access databases and using database tools such as SSIS
  • Experience developing Extract Transform and Load scripts (ETLs) for data migration would be an asset
  • Experience developing custom reports programmatically or using report-writing tools, such as SSRS
  • Experience developing web applications or supporting Windows or Linux Server operating system platforms would be an asset using current web programming languages
  • Proven experience documenting requirements, functional specifications, test results and processes
  • Experience providing technical support for Microsoft Windows operating systems, the desktop environment, Intel based PC hardware, Linux OS and networking would be an asset
  • Experience working with higher education institutions and/or fund raising donor databases would be an asset
  • Strong interpersonal, organizational, communication, analytical and problem solving skills
  • Ability to handle multiple tasks, and work in teams or independently
  • VB. net or C# .net with Microsoft Visual Studio to develop Windows Forms / WCF or web based forms
  • Basic web development using HTML, CSS, JavaScript, JQuery and knowledge of SOAP or REST APIs
  • Microsoft SQL Server (2012 or newer) database development, Microsoft Access, SQL management studio, T-SQL query language (or similar) and XML
  • Microsoft SSIS (integration services) for data and ETL’s
  • SQL server reporting services (SSRS)
  • Microsoft Windows 7/10 operating system and Microsoft Office Suites of products
  • ASP .Net and MVC architecture would be an asset.
  • Red Hat Linux OS, Microsoft Windows Server 2012, PHP, Python, PERL. MySQL and PostgreSQL databases would be an asset
  • Experience with Blackbauds’ Raisers Edge Enterprise, iModules EnCompass, Crystal Reports 11, Drupal, Confluence, GIT or MS Team Foundation would be an asset