Software Engineer II
- Job Title
- Software Engineer II
- Job ID
- Nashville, TN 37221
- Other Location
The Software Engineer II is responsible for coding and testing of all modules and applications that are part of the Platform. This position will push the envelope to deliver highly automated and intelligent solutions that are redefining what is possible for clients. This role will be charged with understanding and interpreting requirements to contribute to the technical architecture and the associated design documents. You will be working with industry standard technologies like Docker, Kubernetes, Terraform and Kafka on a daily basis, deploying to Azure and AWS.
PRIMARY DUTIES AND RESPONSIBILITIES
- Writing, debugging, unit testing and performance test code in all applications layers, including front end (Web), middle layer (Web Services), and data access layers in accordance with company standards.
- As an agile team member, lead and conduct code reviews, design reviews, etc.
- Utilize domain driven techniques and design patterns to build and contribute to technical design.
- Develop and maintain strong knowledge of implemented requirements and detailed application behaviors.
- Assists in the development and training of junior Software Engineers.
- Bachelor's in Computer Information Technology, Computer Science, Management Systems or related discipline.
- Master's Degree preferred
- 3+ years’ experience in all areas of application development including at least three years building commercial grade applications.
- Advanced knowledge and experience with n-tier, enterprise-scalable, distributed application environments.
- Experience with source code version control and the coordination/synchronization of multiple active branches.
- Experience incorporating third party components and frameworks.
- Familiarity and experience executing several software development methodologies and life cycles.
- Experience with Relational Databases and strong understanding of Document databases.
- Advanced level skills in an Object Oriented language (ex: Java, C#), REST API.
- Solid understanding of TCP/IP networking, basic understanding of common network topologies.
- Strong understanding of Object Oriented design (classes, constructors, interfaces, properties, methods and events).
- Solid application development skills across the full stack.
- Strong analytical skills and the ability to work with end users to transform requests into robust solutions.