The primary role of this position is to work with members of management, Senior Software engineers, 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. 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.Responsibilities:
- Application Design and Programming: Proficient in at least one procedural programming language. Codes simple to moderately complex application components based on design specifications. Performs routine/simple maintenance and problem resolution on software applications. Exhibits working knowledge of development tools such as source control and build practices. Designs new reports and/or reporting protocols for new applications.
- Apply fundamental principles of the .Net and C# framework or comparable WEB application development tools to write, compile, and execute simple WEB components: The concept of encapsulation and how it applies to data, function, and objects. How objects send messages to one another. Create a Use Case from a business problem domain description. Associate actors with Use Cases. Identify classes of objects in the system. Allocate behavior to objects based on the business. Develop UML sequence diagram and class diagrams for a Use Case. Use the commonly used operators in a Java program. Understand Java's object model. Create and use an interface. Do basic Input/Output (I/O) operations needed to read files.
- Candidate must be highly motivated to follow project management, systems/software processes, measurement disciplines, and process improvement (Agile) to improve product and services quality to achieve business objectives.
- Communicate project activities, statuses, accomplishments, and strategic direction with executive management both orally and in written communication.
- Evaluate new hardware and software products and technologies and participate in project assessments as necessary.
- Implementing Packaged Solutions - Power User Capabilities: Transfer data between different devices, peripherals and applications. Perform basic installation, configuration, and troubleshooting of software applications. Create and edit documents using basic to intermediate functions of software applications. Manage files and subdirectories. Connect to the system using hardwired and wireless peripherals and devices. Apply basic security measure and tools, including updating security applications.
- Implementing Packaged Solutions - User Support and Training: Select hardware and software components that are appropriate for business applications. Transfer data between different devices, peripherals and applications. Perform basic installation, configuration, and troubleshooting of software applications. Create and edit documents using basic to intermediate functions of software applications. Manage files and subdirectories. Connect to the system using hardwired and wireless peripherals and devices.
- 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 peers and team members in project planning and resource allocation.
- Project Management Skills: Plans and manages own work effort. Documents and communicates issues associated with own work. Apprises project manager of status, schedule variances, and outstanding issues. Balances quality of work with deadlines and budget. Suggests ways to better accomplish assigned tasks. Manages workload to meet project timelines. Controls project costs and communicate any project-related expenses to project manager.
- 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 as necessary. This includes the development of detailed project plans for all major requests.
- Systems Analysis: Drafts technical requirements and designs specific modules or programs within a larger system under direction of an experienced Systems Analyst. Assists with creating prototype designs for low-risk projects. Documents existing workflow/current business processes. May use CASE tools.
- WEB / e-Business Applications Development: Basic knowledge of object-oriented technology. Know process for developing applications using object technology, and how it differs from traditional approaches to application development.
- Working with members of management and Senior Software Engineers on a daily basis to provide status updates, recommendations for improvements, and other inputs of a world class engineering development organization.
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 3 + years of experience in complex development environments, taking abstract concepts and ideas and formulating a detailed software engineering plan to deliver. Experience using, developing, and managing for Linux, UNIX, and/or Microsoft Windows systems. Highly proficient in programming preferred (C#, .Net, C++, Java, and Python, and Flash) Proficient in network programming, sockets, RPC systems, web protocols, JQuery, HTML5. Basic knowledge with web site construction and management. Basic knowledge of Matlab or similar packages. 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 experience in a research environment or similar type of work environment.
Licensure, Certifications, and Clearances:
UPMC is an equal opportunity employer. Minority/Females/Veterans/Individuals with Disabilities