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.