Senior Software Engineer


30+ days agoFull-timeEstimated: $110,000 - $140,000 a year
Clever Devices is growing and as a result we are continually seeking talented Senior Software Developers (with skills in C# and .NET) to join our passionate team of developers.

The primary technologies used in this position are: C#, ASP.NET, WCF, MVC, MVVM, WPF, RESTful Web Services, multi-threading, LINQ, data structures, writing SQL queries and stored procedures, unit testing, TCP and sockets, Windows Services, Windows Forms, HTML/JavaScript, and jQuery

Primary Responsibilities
Write maintainable, clean, re-usable, object-oriented, and efficient programming code in compliance with department 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 (TDD) 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 2 years of demonstrated prior work experience conducting the primary responsibilities outlined in this job description
Proficient English written and verbal communication skills is essential since you will need to communicate with other offices on the phone.
Exceptional knowledge and skill with C# in .NET is essential.
MVC is essential
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 SVN (Subversion), source control, branching and merging, is preferred
Experience working with JIRA is preferred
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 take constructive criticism
Ability to perform work activities for multiple projects simultaneously
Desire to participate in speaking engagements or be involved within user or other community groups or any other events attended by the department
Diploma or degree in Computer Science or Engineering is required
Experience working in an Agile environment is an asset