Purpose: The primary role of this position is to work with members of management, and third party partners to define and deliver prototype software that demonstrates feasibility, performance, utility, and user experience. The position will include collaborating on the definition of software development efforts, collecting requirements, developing code, creating documentation, and deploying a working system. Additionally, this position will be responsible for supporting the needs of the client community through direct interaction with client representatives and fellow colleagues across the Information Services Division. Implementation tasks could include a wide span of computer software including web service/site design, to embedded mobile applications. The role will require a broad background in computer science, the application of many different programming languages, a complete set of programming/debugging skills, ability to adapt and change, and an aptitude for continuous learning. The candidate will be able to expand their role into defining and leading new software projects which will deliver significant impact.
Advanced capabilities to: Design, develop and test JSPs, JSF and Struts applications. Create and use custom tag libraries to deliver dynamic content to Java Server Pages. Design, develop, test, and debug Enterprise Java Beans. Advanced capabilities to: Create Web services from EJB sources. Implement Java clients calling Web services. Configure data sources. Apply declarative role-based security to EJBs and Web components. Validation, Tuning & Troubleshooting of the Development Runtime Environment. Perform problem determination on complex application components. Assemble Web components, EJB components, and application client components into enterprise applications. Deploy an enterprise application to an application server. Create and configure test servers. Switch the database back end of EJB applications.
Application Design and Programming: Codes complex or high risk components. Performs complex maintenance and problem resolution of software applications. Maintains full technical knowledge of applications, development tools and methods within a particular platform or technology; instructs and guides others oftentimes providing peer review to ensure quality assurance. Demonstrates in-depth knowledge of technical design alternatives and the implications of each. Develops and implements application maintenance plans to address technical and business issues. Integrates applications applying knowledge of software architecture, including - but not limited to - clustering, transactions, memory management, and messaging. Integrates with complex third-party systems using middleware and/ or messaging products.
Candidate must be highly motivated to follow project management, systems/software processes, measurement disciplines, and process improvement (CMMI) to improve product and services quality to achieve business objectives.
Communicate project activities, statuses, accomplishments, and strategic direction with executive management both in oral and written communication.
Evaluate new hardware and software products and technologies and participate in project assessments as necessary.
Implementing Packaged Solutions: Configuration & Testing: In-depth knowledge of a particular Packaged Solution and of the business processes the package supports. Configuration & Testing: Customize the package for local needs using proprietary APIs, tools, and scripting languages. Configuration & Testing: Develop and validate system requirements and specifications. Configuration & Testing: Design schemes, architecture and models and create and test prototypes. Configuration & Testing: Develop, or acquire and customize and test system/application components and interfaces. Configuration & Testing: Integrate subsystems/application unites and conduct systems/applications level testing and validation. Configuration & Testing: Develop and implement system/ application release and testing.
Interface with peers throughout UPMC to develop a strong working relationship between all groups within the UPMC system. Seek opportunity to provide assistance and wherever possible thereby increasing overall service and reducing cost through elimination of duplicate/redundant efforts.
Partner with all team members in project planning and resource allocation.
Project Management Skills - Works with project manager to develop realistic work estimates, financial budgets, and project schedules. Assists and mentors others involved with project planning and execution. Measures progress toward goals and revises work plan accordingly. Reviews project deliverables for accuracy and provide assistance and mentoring to others. Proactively apprises management of issues effecting project status and offer solutions to solve the issues.
Promote and participate in professional self-development to stay up to date with new technologies and development approaches within the industry.
Provide technology and operational support to members of management.
Systems Analysis - Identifies and specifies technical / functional requirements, resources and processes for a complex sub-system or major system modification required to meet user requirements. Develops detailed selection evaluation criteria based on identified product requirements. Full accountability for developing business requirements for complex to highly complex processes. Creates prototype designs for complex/ significant-risk projects.
WEB / e-Business Applications Development: Design and implement complex to highly complex Web Components: Design, develop and test Servlets, Filters and Life-cycle Listeners.
Work with management team on a daily basis by providing status updates, recommendations for improvements, and other inputs to provide a world class engineering development organization.
Working with management, identify, develop, and manage a strategic engineering plan for the candidate's respective project(s) within the organization. Candidate will be expected to participate in project proposal process and roadmap process.
Bachelors Degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field from an accredited university, or has acquired core software development skills and knowledge via practical experience.
Prefer 7+ years of experience in complex development environments, taking abstract concepts and ideas and formulating a detailed software engineering plan to deliver.
Experience using, managing and developing for Linux, UNIX, and/or Microsoft Windows systems.
Highly proficient at programming preferred (C, C++, Java, and Python, and Flash)
Proficient in network programming, sockets, RPC systems, web protocols, JQuery, HTML5.
Basic knowledge of Matlab or similar packages.
Basic knowledge with web site construction and management.
Understanding of database programming and management.
Experience with virtualization technologies.
Ability to construct engaging user interfaces.
Demonstrated increasing responsibilities including the ability to develop significant software projects.
Must be able to work independently as well as in small groups to problem solve High initiative and be self-motivated to exceed expectations.
Ability to work in and support a team based environment.
Prefer academic interaction with professors, students, and staff in the areas of computer science, software engineering, robotics, or other similar fields of study.
Prefer experience in a research environment or similar work environment.
3-5 years Informatica (ETL) development
Healthcare experience preferred
Strong SQL skills.
Experience with Informatica PowerCenter.
Ability to debug and resolve issues.
Capable of data modeling and analysis.
Basic understanding of unix commands and scripting.
Knowledge of data warehousing methodologies.
Familiarity with scheduling tools (Automic).
Licensure, Certifications, and Clearances:
Act 33 Child Clearance with Renewal
Act 34 Criminal Clearance with Renewal
Act 73 FBI Clearance
UPMC is an equal opportunity employer. Minority/Females/Veterans/Individuals with Disabilities