Sr. Software Engineer (Web)
Must reside in Michigan / Role is 100% onsite A minimum requirement for this position is the ability to work legally in the United States. No visa sponsorship/support is available for this position. In addition, NO C2C or 3rd parties please.Senior Software Engineers design and create websites, services and other online applications, which requires knowledge of programming languages, UI/UX principles, data storage services, security and performance. They will also be responsible for desktop or mobile applications that communicate with servers using a variety of protocols and data formats. In addition to their web development duties, Senior Software Engineers are also responsible for training junior developers and other groups on the products and technologies they are using or creating.
Responsibilities
These are the day to day expectations.
Research, architect, design, implement, test and support all aspects of large multi-tenant enterprise web services, as well as mobile and desktop applications
Create and maintain systems that store and process large amounts of data from 1000’s of concurrently connected users from all around the world
Work on all aspects of web development including security, performance, backend services, integration with external services, UI/UX, mobile and desktop application integration, SDK/API design, installation and deployment
Develop applications and utilities using a variety of programming languages including C#, JavaScript, TypeScript, C/C++ and PowerShell
Own features from initial research all the way through to final release and be the “go to” person for information related to those features
Communicate effectively, both verbally and in writing, with team members, other groups and customers
Gather requirements, use cases and user stories from other groups while also providing alternative options and additional requirements that may not have been identified originally
Transform high level feature requests into designs and implementations that are performant, secure and maintainable by other team members
Determine the best services, libraries and technologies to use based on factors such as cost, performance, availability and long term support
Quickly learn new technologies, communication protocols, file formats and software to a level that allows you to make educated decisions, designs and implementations using them and to help train other team members on them
Create and maintain unit/automation tests that can be used to verify existing functionality and new code works as expected in both normal and failure conditions
Maintain existing web, mobile and desktop products by adding new functionality and providing defect fixes as needed
Keep up to date on new technologies and methodologies that are relevant to software engineering so they can be considered and utilized in the products and feature you work on
Identify, diagnose and resolve CPU, network and server performance issues using a variety of tools and techniques in order to provide scalable and secure solutions to our customers
Developer Skills
These are the technical skills that are needed and could be used on a daily basis.
Expert in creating web based products using these technologies
C#, JavaScript
ASP.NET Core
Entity Framework Core
Microsoft SQL Server
Experience creating desktop, mobile and web based products using many different languages, specifications and technologies such as
C, C++, C#, JavaScript, TypeScript
HTTP, HTML, CSS, JSON, XML
SQL, LINQ
TCP/IP and UDP based protocols
SSL/TLS, client and server certificates
.NET Framework, .NET Core
Entity Framework, Entity Framework Core
ASP.NET, ASP.NET Core
Angular, React, Vue
Windows Forms, WPF, Win32 API
xUnit, MSTest
LDAP, ActiveDirectory, social authentication
MySQL, PostgreSQL, Microsoft SQL Server
MongoDB, Cosmos DB
Microsoft IIS, Apache HTTP Server
Microsoft Azure Services
RabbitMQ, Kafka, MQTT, SignalR, Hangfire
Experience in advanced engineering skills such as
Mult-threading and concurrency handling
Debugging network communication protocols
Network security and user authentication
Writing code that uses memory, CPU and networks efficiently
Multi-tenant web hosting and data storage
Cloud based web hosting
SQL and Entity Framework performance tuning
Horizontal and vertical server scaling
Advanced SQL queries and indexing
Unit/automation testing
Dependency injection and interface usage
Tools of the Trade
These are the typical developer tools and services being used.
Visual Studio (version 2013 - latest)
Visual Studio Code
Team Foundation Server
Microsoft IIS
Microsoft SQL Server
Microsoft Azure Services
A minimum requirement for this position is the ability to work legally in the United States. No visa sponsorship/support is available for this position. In addition, NO C2C or 3rd parties please.