Overview

Responsibilities:

Software Design

  • Accountable for optimization-focused design to ensure that all code is written with high availability and high-impact.
  • Accountable for efficiency-focused design that serves to ensure that all code is highly reusable and modular.
  • Design push and pull data interfaces using the latest web and data sharing technologies integrated to a multitude of third party providers.

Software Development

  • Develop software according to functional and technical design specifications and maintain a “common sense” approach that serves to recognize potential design gaps and provide insight into closing them.
  • Extensive knowledge of C# using Visual Studio using Webforms, MVC and Entity Framework
  • Create efficient, scalable, reusable middle tier logic using any of ASP.NET.
  • Experience as an applications programmer on large-scale data base management systems.
  • Experience writing SQL queries for SQL Server or another Relational Database is required.
  • Solid understanding of the Software as a Service (SaaS) model in the online environment.
  • High scalability projects involving cloud-based infrastructure design and implementation.
  • Create intuitive, logical and dynamic user interfaces.
  • Work with other departments to understand the systems analysis and development requirements of new systems.
  •  Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
  • Responsible for developing new programs and proofing the program to develop needed changes to assure production of a quality product.
  • Perform intensive testing of all new and existing programs to ensure they are free of errors and function as intended.
  • Responsible for development of new programs, analyzes current programs and processes, and making recommendations which yield a more cost effective product.
  • Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.

Maintenance and other roles

  • Assess, troubleshoot, document, upgrade and develop maintenance procedures.
  • Review code for potential performance issues, reusability, and/or anomalies.
  • Detail unit testing of code.
  • Troubleshoot client problems both remotely and onsite.
  • Perform and assist with quality assurance activities as needed.
  • Lead a team of software developers to complete large-scale as well as smaller projects according to pre-determined specifications, system requirements and security requirements.
  • Act as liaison with the other departments in the University for assessing/identifying departmental needs for software development.
  • Perform other related duties assigned by the supervisor.

Required Qualifications:

  • 1-3 years of relevant experience;
  • Fluency in English, both verbal and written;
  • Understanding of the global strategies of AUA;
  • Understanding and interpretation of complex IT requirements and solutions; 
  • Experience with database technologies;
  • Proficiency in object oriented programming;
  • Experience in creating multilingual reports and data manipulation tools;
  • Experience in requirements engineering, and data cleaning and migration;
  • Demonstrated ability in required programming language(s);
  • Knowledge of Structured Programming techniques, analysis, standards and systems methodologies;
  • Exposure to all stages of the application development process, from specification and design, development and testing, through to implementation, and training;
  • Practical experience and knowledge in specific subject areas and associated technologies;
  • A broad knowledge of IT hardware, software, operations and networks;
  • Communication and interpersonal skills, including the ability to effectively communicate with Users at all levels.