
Job Information
Clever Devices Senior Software Engineer in Woodbury, New York
Technology Stack The primary technologies used in this position are C#, ASP.NET, NET Core, WCF, MVC, MVVM, WPF, RESTful Web Services, Web API, multi-threading, LINQ, data structures, writing SQL queries and stored procedures, NoSQL, unit testing, TCP and sockets, Windows Services, Windows Forms, HTML/JavaScript, TypeScript, jQuery, Angular 6 or later, Docker.
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.