As THE leader in transit technology, Clever Devices' vision is to make meaningful contributions to worldwide mobility. Our goal is to be the leading provider of exciting technology that improves the quality of mobility in communities around the world. We are continuing to grow, and are looking for a Senior Software Developer.
Clever Devices is growing and as a result we are continually seeking talented Senior Software Developers (with skills in C#, SQL Server, ASP.NET, MVC, Angular, Java etc.) to join our passionate team of developers.
Technology Stack
The primary technologies used in this particular position are: Windows Services, WCF web services, Web API, and Java.
Primary Responsibilities
• Support ongoing maintenance and development efforts of web application, BI Tool and ETL processes for our fleet maintenance application.
• 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
• Investigate and resolve any escalations and support tickets requiring developer involvement
• Learn and work with any third party tools currently used by the application
• 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
• Any other tasks required by management
Skills Required
• A minimum of 6 years of demonstrated prior work experience conducting the primary responsibilities outlined in this job description
• Proficient English written and verbal communication skills is essential
• Exceptional knowledge and skill with C# in .NET is essential.
• Exceptional knowledge and skill SQL Server (stored procs, functions, indexing, profiling and performance improvements, etc.) is essential.
• Experience with Angular is essential.
• Experience with MVC is nice to have.
• Experience with WCF and Web API is nice to have.
• Experience with Java is nice to have.
• Demonstrated expertise with SQL Server (2008+) creating relational database objects (tables, columns, stored procedures, scalar and table-valued functions, etc.)
• Demonstrated expertise writing and maintaining stored procedures
• 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 advanced debugging techniques, such as breakpoints, watches, etc.
• Experience with source control systems (Git, Subversion or similar) source control is essential
• 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
• 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
Clever Devices is an Affirmative Action/Equal Opportunity Employer
This job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee. Duties, responsibilities, and activities may change, or new ones may be assigned at any time with or without notice based on business need.