SOFTWARE ENGINEER Job Description: This position on the new Architecture Refactoring team within the Software Development organization, requires excellent Object-Oriented programming and Design Pattern skills in order to implement new and refactor existing architectural components across all layers of the UltiPro.NET architecture, including the presentation, services, business, domain model, and data access layers.
Under this position, strong experience with Object Relational Mapping (ORM) technologies, such as NHibernate, are critical to implementing a new business, domain model, and data access layer that maps to a global HCM domain model and provides the necessary tools and API required to develop web features with increased productivity. The candidate must possess excellent technical domain modeling experience (UML, Activity, Sequence, State diagrams) to clearly articulate technical designs.
As a member of the new Architecture Refactoring development team, you will be responsible for helping the team introduce significant architectural changes to the existing UltiPro.NET framework to achieve the following:
- Improve programmer’s productivity via clean, simple APIs and tools
- Separate concerns across architectural layers and components via refactoring
- Simplify or eliminate the need for tenant specific (custom) code
- Enhance and refactor the current domain model and database schema to closely match the new global HCM domain model
The team will achieve these goals by first assessing and researching the architectural components that will yield the most value, refactoring and enhancing such elements (sometimes managing a coordinated effort across teams), and provide guidance and enforcement of such changes via documentation, training, and code analysis.
- C#, .NET 3.5 and above
- Proficient in ORM technologies (nHibernate, EntityFramework, etc.)
- T-SQL programming
- Strong in OO design patterns
- Strong refactoring skills
- Unit Testing framework experience (NUnit, MbUnit, etc.)
- Test Driven Development (TDD)
- Experience with mocking frameworks (RhinoMocks, etc.)
- SQL Server 2005
- Strong debugging and code analysis skills
- Delphi development (version 7)
- Experience writing and using COM objects.
- Experience with code analysis tools such as Resharper, NCover, NDepend
- UML modeling
- Advanced relational data modeling experience
- Advanced T-SQL development
To apply SOFTWARE ENGINEER: http://tinyurl.com/4n84d4o