Senior Software Engineer - OCLC, Inc.
Dublin, OH 43017
About the Job
You have a life. We like that about you.
At OCLC, we believe you'll do the best work of your life when you're living the best life possible.
We work hard to build the technology that connects thousands of today's libraries. But we also work hard to make a job at OCLC a meaningful part of a balanced life- not a substitute for one.
Technology with a Purpose. OCLC supports thousands of libraries in making information more accessible and more useful to people around the world. OCLC provides shared technology services, original research and community programs that help libraries meet the ever-evolving needs of their users, institutions, and communities. With office locations around the globe, OCLC employees are dedicated to offering premier services and software to help libraries.
The Job Details are as follows:
The Senior Software Engineer will perform analysis and design of software programs and systems and create, analyze, design, modify and test programs and systems.Responsibilities
- Uses industry-standard programming techniques to translate requirements and designs into code.
- Designs, codes, and tests multiple modules of a system in a timely manner.
- Participates in unit, system, and acceptance testing by designing tests, building test data, executing tests, and evaluating results.
- May identify and recommend improvements or fixes to the tested system.
- Assists in developing and interpreting requirements.
- Is proficient in the use of the latest innovations in search technologies.
- Participates in major architectural reviews and plans, but may not lead these reviews or plans.
- Participates in the analysis and implementation of third-party solutions for OCLC applications, with the ability to understand the impact and analyze the risk.
- Work with other engineers to implement new search features.
- May participate in load, capacity, and performance analysis and/or testing.
Qualifications:
- Bachelor's degree in computer science or related discipline required
- 5 years of software development, five years of JAVA programming required
- Experience with the following technologies is a must -- JAVA, Object Oriented Design (and UML notation and patterns), SOA based systems, Hessian, Servlets, Spring-loC, MVC (Struts or Spring), JavaScript, CSS, AJAX, FreeMarker (or JSP or similar), AspectJ
- Experience with Linux (or any UNIX for that matter) and some with Windows would be required
- Experience with MySQL, Oracle is desired.
- Familiarity with unit testing, integration testing and performance/stress testing
- Excellent communication skills is a must
- Bachelor’s degree in a Computer Science related discipline required and skills usually represented by 3-6 years of software development or project management experience
- Ability to implement industry standard programming techniques by Mastering advanced fundamental software development concepts, practices, and procedures, and having the ability to analyze and solve problems in existing systems.
- Must have the ability to concentrate on a strictly technical focus, project management or a combination of the two depending on interests and project load of the work unit.
Technical Focus:
- Expert in at least one discipline (UI, telecom, database, performance, etc.) on a single product or research project.
- Has successfully implemented multiple major areas of functionality.
- Participates as technical lead in sub-projects.
- Works with other areas in implementing significant architectural changes.
- Project Management Focus -
- Successfully manages projects or sub-projects, at a Project Initiation approved level of up to $500,000, using proven project management techniques.
- Expert in negotiating skills.
- Demonstrated ability to lead and communicate in a team environment.
Working Conditions: Normal office environment.
ADA/EAA: The above statements cover what are generally believed to be the principal and essential functions of this job. Specific circumstances may allow or require some people assigned to the job to perform a somewhat different combination of duties.