The project provides a unique opportunity for a programmer to model a complex business domain, leveraging advanced object-oriented design (OOD) techniques to create an extensible, robust, and maintainable software system with an expected minimum lifetime of 15 years.
A Senior Developer actively participates in the full software development lifecycle (SDLC) of the client's new system, one of the best implementations of agile software development found in Houston. Participation requires collaboration with activities from planning through deployment.
Due to the highly collaborative development environment, the candidate must have a predisposition to work in a team-based setting. This means the candidate must have demonstrable acceptable skill at oral and written communication.
--REQUIRED—
1. Object-oriented, server-side programming in C# 2 (or newer) (4+ years)
2. Unit testing with a library like MBUnit, MS Test, NUnit, or xUnit (3+ years)
3. Mocking with a library like Moq, NMock, Rhino Mocks, or Microsoft Fakes (2+ years)
4. In-browser ECMAScript® (JavaScript™) (3+ years)
5. jQuery and jQuery UI (2+ years)
6. Enterprise-level messaging with a JMS- or AMQP-compliant messaging system (1+ years)
7. Source code management with Microsoft TFS, Subversion, Perforce, or CVS (4+ years)
8. Object-relational mapping library such as NHibernate or Code-First Entity Framework (2+ years)
9. Dependency injection with a library like Autofac, Ninject, StructureMap, or Unity (1+ years)
--PREFERRED—
1. At least one more year of at least three of the skills listed in the “Minimum Skills and Experience for Consideration” section
2. Deliberate practice with knockout.js
3. A well-defined philosophy of OOD spanning concerns from class- to system-level construction 4. An understanding of using ReST for building an application and a provable ability to explain that understanding
5. Familiarity with the URI, JSON, HTTP/1.1, WebSocket, and URI Template specifications
6. Previous work experience participating in an iterative, test-driven, pair-programming environment
7. Working knowledge of cross-browser development issues targeting Microsoft Internet Explorer 8+, Google Chrome, and Mozilla Firefox
8. Deliberate practice with ASP.NET SignalR
9. A conversant knowledge of OOD patterns including the “Gang of Four” patterns and Fowler’s Patterns of Enterprise
10. Some practical awareness of the SOLID Principles of object-oriented programming
11. One year of professional Python programming experience (1+ years)
12. Experience developing software for energy-related industries