Under the general direction of the Supervisor Application Developer, the Senior Application Developer plans, architects, designs, develops, implements, tests and solves problems with complex applications involving authentication, encryption, and databases used by the University community. The incumbent is expected to demonstrate innovation and leadership in developing and enhancing application services. As the Senior Application Developer, he/she participates in the future planning and direction of application services and serves as the resource on applications to other Specialists. He/she is responsible for modifying, debugging, and development of large existing applications. The incumbent will work closely with colleagues, faculty, and departmental heads, as well as helping them visualize concepts.
The incumbent will act as resource on specific Application and Development issues to other Application and Development specialists, and other IIT staff on the project teams. He/she is expected to assume responsibilities for activities or projects by providing leadership, application expertise, and support to other technical staff. The incumbent will perform code reviews and ensure applications are developed in compliance with established procedures and industry best practices.
Bachelor degree in Computer Science or Computer/Electrical Engineering or an equivalent combination of education and experience.
Minimum five yearsâ€™ related experience in designing, developing and maintaining highly complex, multi-tier solutions, and enterprise-level programs in a networked environment with at least two (2) of these years in a Senior Application Developer role. Extensive experience integrating databases with PHP, Java, or other enterprise-grade Web technologies and projects is required. Demonstrated proficiency with Content Management Systems, including Drupal and WordPress,. Experience in Service-Oriented Architecture (SOA), database architecture, and Object-Oriented design, architecture, and systems. Highly proficient with Web technologies and servers. Experience developing in Windows and Linux/Unix environments. Experience in web programming and scripting, including PHP, JSON, AJAX, XML, HTML, CSS & XHTML, Java, and Python. Strong database back-end skills, including design, implementation, and testing of RDBMS, OLTP, and OLAP databases, e.g.,. Oracle, MSSQL, DB2, PostgreSQL, and MySQL. Experience with various Web server technologies e.g., Apache, Java Tomcat, Spring, etc. Proven strong understanding of version control as systems and processes. Proven background in Eclipse or equivalent IDEs. High-level proficiency with application software such as office productivity suites. Experience with business process analysis, workflow modelling, software development lifecycle, secure development procedures, and creating user and technical specification documents.
Specific skills required by the position include: proficiency in professional project management methodologies and best practices; demonstrated leadership competences, with ability to motivate in a team-oriented, collaborative environment and lead calmly in a variety of situations; demonstrated ability to utilize logic in the interpretation of guidelines; superior analytical, evaluative, and problem-solving abilities; demonstrated excellent oral and written communication skills; strong interpersonal skills; demonstrated training and presentation expertise; expert level knowledge, experience and skills in a wide range of technologies, tools; experience and skills in designing, deploying, configuring, administering and securing enterprise-level physical and virtual server environments, server applications, systems, information and database architectures and database-backed applications/services.
Strong commitment to high-quality service. Excellent interpersonal and communication skills both verbal and written; must employ tact and diplomacy. Demonstrated initiative and ability to learn new skills. Must be able to work independently or in a team setting with a leadership role. Ability to motivate in a team-oriented, collaborative environment.. Strong analytical and problem-solving skills. Demonstrated flexibility in adapting to a constantly changing environment. Strong time management and organizational skills. Ability to deal effectively with multiple priorities and must be able to handle multiple projects with conflicting deadlines while maintaining a high degree of accuracy and high quality. Must keep abreast of latest technological advances.