We are seeking an experienced object-oriented programmer to join a team that is implementing a high-performance, highly-scalable Systems. You should enjoy working in a dynamic, fast-paced environment, be focused on high quality and take responsibility for tasks from start until completion. You will have the opportunity to apply modern techniques and work with the latest software development technologies.
This position reports to the Director, Product Engineering
· Design and implementation of every component of a dashboard application from the front end to the database layer
· Define, commit to and complete tasks as necessary to implement features.
· Mentors and train junior team members.
· Apply your development skills to complete tasks. Work will include design, documentation, coding, generation of automated unit tests, integration testing and other work that may be necessary to help the team achieve each sprint goal.
· Diagnose and resolve defects in code.
· Willingness to ‘pitch in’ where necessary to help the team achieve its goal. This may require collaboration with others on design, development, testing, documentation and/or production support tasks.
· Enforce team and department software development practices and guidelines.
· Provide strong input to the Software Architect for design of the system
· Be in constant communication with other members of the team. Attend planning, design and retrospective meeting. Plan, track and report progress to the other team members and the team lead.
· Be ready to drive development in the absence of the lead.
A subset of the following
· C# and .NET development
· Strong Database and SQL
· Knowledge of design patterns and Object Oriented Programming
· Relational databases design
· Ability to write queries and stored procedures, SQL 2005 preferred.
· Experience with ETLs
· Familiarity with Ajax
· Experience with test-driven development using a unit testing framework such as NUnit.
· 3-5 years or more in similar position
· Strong communication skills in written or spoken English.
· Thrive in a dynamic, collaborative environment.
· Work with onshore and offshore team members.
· Team Player. Ability to communicate throughout the team
· Good problem solver. Ability to think outside the box
· Continuous learner. One who keeps up to date with techniques and skills for implementation.
· Committed to Quality. Attentive to details.
· Never give up attitude. Work on an issue until it is completed
· Hard worker, thinker and an innovator
· Willingness to adapt - willing to change direction and skill set to meet the needs of market place
· Can balance hard work with the need to create a fun and challenging environment
· Readiness to work on production support.