Modis is looking for a talented Software Developer for our client in Reston, VA! They have great benefits, a great company culture, and they offer advancement opportunities!
You will join a dynamic and intelligent software development team to design, develop, and maintain a complex System. The system contains various software components including web application to collect radiology imaging (DICOM) and non-imaging data, desk top application to submit and manage data, and cloud based service to store data and provide data access.
The system is developed using Microsoft .NET platform, along with various development tools and technologies, including ASP.NET Web API, EntityFramework, TypeScript, Angular 6, Git source control, ReSharper, etc... Currently, the system has a fully implemented CI process to build and deploy code changes automatically with automated regression testing. In the near future, the system will be incorporating Microservices architecture design and implementing related deployment and hosting methodologies, and evolving from RDMS to NoSQL database development.
As a software developer, your job will include but will not be limited to software design & development, providing tier 3 software support, working in an agile driven development process, working and using the latest development tools and platforms.
- Development responsibilities:
- Design, develop, and maintain a complex software system using Microsoft .NET and open source technologies.
- Writing high quality code both on the front and back end of the system
- Refactoring the existing software application to improve quality and to attain a maintainable code base
- Collaborating and working with other developers, both on-site and off-shore to design and develop new features and functions of the system
- Participating in peer review process with other team members to review code written by the team
- Writing unit tests for existing functionality and new functionality
- Creating software design documents for new software projects or new features and functions. Presenting the software design to other development team leads and project stakeholders
- Improving software development lifecycle processes as needed
- Supporting software deployment by creating the software deployment instruction document and providing technical support to operation teams during and after the deployment as needed
- Working with the organization s security team to address software security issues and resolve / mitigate security risks of the software code
- Reading, reviewing, and providing comments to the software requirements and user stories, providing development estimates and designing/implementing the technical solutions
- Working with the software testers to provide input and review testing plans and testing cases
- Maintenance and support:
- Providing tier 3 support by investigating system bugs and production issues
- Resolving and fixing the system bugs and production issues
- Strong knowledge of .NET Framework 4.5+, C# 5+, Visual Studio 2017
- Understanding of what is ORM framework and how it works
- Knowledge of version control systems (SVN and git)
- Strong knowledge and ability to apply object-oriented software design patterns to design software systems
- Savvy of writing well-designed and high-quality code
- Experience in unit testing
- Understanding of relational databases, knowledge of SQL
- Experience in Microsoft SQL Server