Monday, August 01, 2011

OppenheimerFunds - Senior Java Programmer, Senior Programmer

At OppenheimerFunds, we've built a winning organization through a partnership between the Company and our employees. This reciprocal relationship provides the Company with the means to be successful in our competitive industry, while ensuring OppenheimerFunds' employees have a true stake in the Company's future and the opportunity to build a rewarding career.

OppenheimerFunds' success has and will continue to be driven by our greatest asset: our people. For nearly 50 years, OppenheimerFunds' employees have helped shape a winning, entrepreneurial-based culture fueled by a commitment to our shareholders and our Corporate Values.

Job Purpose:
This Senior Programmer role will be part of OppenheimerFunds' Data Services middleware development team within the Corporate Technology Group. The individual will participate in all aspects of the system development life cycle with specific focus on the development of technical requirements, technical design, estimates, construction, unit and integration testing of various application components.


Principal Responsibilities:
Provide software development and production support for the Data Virtualization Platform that establishes data services for systems development initiatives to consume:
All aspects of the system development life cycle, with specific focus on application analysis, design, development, testing and deployment.
All aspects of system support to include problem resolution, preventative enhancements, on-call responsibilities and upgrades.
Interaction with other internal Delivery Teams, development teams, Quality Assurance and Systems Infrastructure Teams
BS / MS Computer Science or equivalent

Competencies for Success/Requirements:
Strong Object Oriented Design background including Design Patterns and UML
5+ years of Java programming and design experience (J2EE Web Services, SOA, XML, XSD, XSLT, SOAP, REST)
5+ years of experience with Java application servers including significant debugging of deployment and operational issues, preferably using WebLogic Server
Work across teams in the development of a canonical information model to implement a reusable service-oriented (Data Services) information infrastructure across the firm
Highly proficient in SQL and RDBMS (preferably Oracle, Sybase, MySQL)
Skilled in Data Modeling and Database Design
Proficient in using Object-to-Relational Mapping technologies (preferably Hibernate and GORM)
Strong analysis skills; such as gathering user requirements, developing use cases and process models
Experience with different testing methods and understands strengths and weaknesses of each
Ability to work within tight schedules
Ability to be versatile in role and assist team in other disciplines, such as testing or analysis

Preferred Skills:
Demonstrated knowledge and experience with Data Services platforms e.g. Denodo, Composite
Demonstrated knowledge and experience working with web frameworks such as Grails (preferred), Rails or Spring MVC
Experience with NoSQL technologies (such as MongoDB, Cassandra, etc.)
Experience working with Spring frameworks
Experience working with Groovy
Proficient in Unix/Linux
Solid understanding of system lifecycle methodologies including agile (Scrum preferred) and waterfall
Significant system integration experience, such as using messaging services and middleware
Has utilized various design and development tools, such as Ant, Maven, Eclipse or SVN
Experience with testing tools/frameworks such as JUnit, FitNesse, Mercury QTP, SOAPUI, Selenium, XMLUnit or others
Experience with unit testing using either test-driven or behavioral-driven development
Experience with Continuous Integration(CI) testing
Experience with software performance profiling, tuning and refactoring
Experience with data caching strategies
Experience with building macro extensions to Word and Excel using VBA

Desired Characteristics:
Good natured with strong interpersonal and communication skills (both written and verbal)
Capable of working well in a collaborative team environment
___________________________________________________________

At OppenheimerFunds, we've built a winning organization through a partnership between the Company and our employees. This reciprocal relationship provides the Company with the means to be successful in our competitive industry, while ensuring OppenheimerFunds' employees have a true stake in the Company's future and the opportunity to build a rewarding career.

OppenheimerFunds' success has and will continue to be driven by our greatest asset: our people. For nearly 50 years, OppenheimerFunds' employees have helped shape a winning, entrepreneurial-based culture fueled by a commitment to our shareholders and our Corporate Values.

Job Purpose:
This Senior Programmer role will be part of OppenheimerFunds' Application Development team. The individual will participate in all aspects of the system development life cycle with specific focus on the development of technical requirements, technical design, estimates, construction, unit and integration testing of various application components.


Principal Responsibilities:

Provide system/project development and production support for a variety of applications and other initiatives in support of Systems Development
All aspects of the system development life cycle, with specific focus on application analysis, design, development, testing and deployment
All aspects of system support to include problem resolution, preventative enhancements, on-call responsibilities and upgrades
Interaction with other internal Delivery Teams, development teams, Quality Assurance, external vendors, business partners and management


Competencies for Success/Requirements:

Required Skills
Strong Object Oriented Design background including Design Patterns and UML
3+ years of Java programming and design experience (J2EE, JDBC, JMS, etc)
3+ years of experience with Java application servers including significant debugging of deployment and operational issues, preferably WebLogic
Strong application integration & data service skill set
Proficient in SQL and RDBMs (Sybase, Oracle)
Strong analysis skills, such as gathering user requirements, developing process maps and use cases
Excellent interpersonal and written & oral communication skills
Capable of working independently as well as an effective team member/leader
Experience with different testing methods and understands strengths and weaknesses of each
Ability to work within tight schedules and budgets
Ability to mentor other colleagues
Ability to be versatile in role and assist team in other disciplines, such as testing or analysis
Can weigh pros and cons of various architectural decisions in light of project constraints

Preferred Skills
Demonstrated knowledge and experience working with Adobe FLEX
Experience working with Spring frameworks
Demonstrated knowledge and experience working with web frameworks such as JSF, Struts or Spring MVC
Experience with SOA Sonic ESB
Proficient in UNIX
3+ years of experience with XML/XSL/XSLT
Web Services, including hands-on work with SOAP and UDDI or RESTful
Experience with iXP and Autosys
Experience with PowerBuilder
Solid understanding of system lifecycle methodologies including agile and waterfall
Demonstrated leadership experience
Significant system integration experience, such as using messaging services and middleware
Has utilized various design and development tools, such as Ant, Eclipse or SVN
Experience with testing tools such as FitNesse, Mercury QTP, Selenium or others
Experience with unit testing or test driven development
Previous experience with a financial services organization