Amano McGann, Inc. (AMI) has an immediate opening for a Senior Software Engineer in Roseville, Minnesota. The Senior Software Engineer is responsible for design and development of new and existing features and functions for product development initiatives for parking devices, payment solutions and garage applications. The applicant is self-motivated and self-empowered while working independently and in collaboration with a team. The applicant will have experience with creating installation packages and utility scripts as well as troubleshooting & resolving issues across the full development stack, including SQL Server.
The applicant will be comfortable with end-to-end testing of software applications across multiple parking devices, including the need to install software updates across multiple development environments. The ideal candidate has experience with continuous integration / continuous deployment and package installation of software applications, both internally and externally.
Able to understand the business requirements and write technical functional specifications.
Work with business and architecture team members to review technical specifications and make necessary updates.
Design and develop software components and services to meet business requirements & technical functional specifications.
Correct software faults and drive through to root cause analysis.
Work with architecture and technical team members to propose, review and update designs and schemas.
Create and exercise automated unit, functional, and integration tests of software before releasing to the Quality Assurance team.
Lead and facilitate reviews of analysis, designs, code, tests and scripts.
Work with Quality Assurance and Technical Support teams to verify results.
Analyze, update, and document reported defects of the software to fix issues as necessary to meet requirements.
Mentor and guide team members for technical development.
Required Skills and Experience
Bachelor’s degree or master’s degree in Computer Science or related field and experience.
Six or more years of demonstrated professional software development experience in creating multi-threaded applications using Microsoft .NET and Cloud Computing Technologies.
Experience in designing and developing web and console applications using Microsoft Visual Studio.
At least 6+ years of experience designing and developing applications in C#, .NET Core / Framework, WPF, ASP.NET MVC, JSON, and XML.
Experience in designing and developing Web Services with Microsoft Azure, MQTT, AMQP, Web API (RPC, RESTful), WCF (SOAP), Entity Framework, RDBMST – SQL, stored procedures, views and triggers.
Experience in designing and developing mobile applications.
Experience in designing and developing with the Agile SCRUM methodology.
Experience with PA-DSS (PCI) compliance and secure coding techniques and best practices.
Experience with Continuous Integration \ Continuous Delivery.
Experience with MS Team Foundation Server.
Experience with automated build servers.
Experience in creating automated unit test cases.
Experience in designing and developing with Microsoft Windows 10, Microsoft Visual Studio 2008 / 2010 / 2015 / 2017 / 2019 Microsoft Platform Builder.
Experience in estimating software development.
Excellent written and oral communication skills.
Experience in Object Oriented Analysis & Design (OOAD), Design Patterns,
Must be eligible to work in the United States.
Desired Skills and Experience
Experience with Microsoft Active Directory, Linux and Atlassian’s JIRA a plus.
Experience with package installation software (e.g., InstallShield, WiX).
Experience in designing and developing mobile applications for iOS and Android.
Experience with comm port / serial programming (e.g. RS-485) or other machine-to-machine messaging and communication development.
Experience in developing for peripherals and components, integrating TCP / IP, USB and RS 232 / 485 communication protocols.