Responsibilities:

  • Write maintainable, clean, re-usable, OO, and efficient programming code in compliance with company standards and templates
  • Work within source control utilizing branching, merging, proper check-in procedures, and passing of continuous builds to ensure that software is always releasable
  • Practice Test Driven Development and ensuring that unit tests are created prior to writing programming code and that any programming code is structured in such a way to maximize testability
  • Resolve software bugs in the programming code and modify unit tests to prevent future regression
  • Perform various types of testing including black box, white box, integration, functional, systems, sanity, smoke, regression, acceptance, stress, load, performance, usability, installation, recovery, security, compatibility, and more on software systems
  • Work within the context of department processes and procedures
  • Peer review programming code and participate in code reviews
  • Learn and understand the technical details of all relevant products and having hands-on familiarity of the system as required
  • Work with management to define and establish processes, templates, and standards related to software development and to continually improve the quality of the process
  • Contribute fresh, new ideas during developer meetings demonstrating a commitment on-going learning
  • Utilizing code coverage, code metrics, and other tools to improve quality of code
  • Mentor and assist in the training and on-boarding of other team members
  • Raise concerns to management and team members
  • Any other tasks required by management

Skills Required:

  • A minimum of 8 years of demonstrated prior work experience conducting the primary responsibilities outlined in this job description
  • Proficient English written and verbal communication skills
  • Exceptional knowledge and skill with either C#/.NET 4.0 and greater or Java is essential. Strong skills in both would be an asset.
  • Experience in Multi-threading and Sockets
  • Experience in WCF, Web Services, jQuery, JavaScript, MVC3, LINC
  • Demonstrated expertise with SQL Server 2008 R2 or greater or Oracle creating relational database objects (tables, columns, stored procedures, scalar and table-valued functions, etc.)
  • Experience with advanced debugging techniques, such as breakpoints, watches, attaching to remote processes, utilizing dump files, etc.
  • Demonstrated experience developing large-scale, high-availability applications and systems
  • Experience with Team Foundation Server or SVN (Subversion), including working with Work Items (Tasks, Bugs, Product Backlog Items), source control, branching and merging, is essential
  • Ability to quickly and independently learn about new technologies, business and technical terms and concepts is essential
  • Ability to discern between value-added and frivolous work
  • Dedicated to continuous education by obtaining industry-related certifications and training
  • Ability to collaborate with multiple departments and teams, demonstrating high-quality interpersonal skills, including good listening skills, respectful treatment of others, and professional behavior contributing to a positive and enjoyable environment
  • Ability to work as part of a team and also individually with a self-starter (“can do”) attitude
  • Comfortable speaking and interacting with technical and non-technical people
  • Excellent research, analytical, and organization skills with an exceptional eye for detail
  • Ability to perform work activities according to set priorities and delivery timelines
  • Ability to perform work activities for multiple projects simultaneously
  • Diploma or degree in Computer Science or Engineering is required
  • Experience working in an Agile environment is an asset