Mid-Level Software Engineer
Job Description
Position Overview
Are you passionate about improving processes, finding creative solutions to obstacles, and striving for greatness in everything you do? Do you enjoy being part of a collaborative team that celebrates success and learns from mistakes? If so, we invite you to join our development team. As a Mid-level Software Engineer, you’ll be responsible for developing and maintaining scalable, high-performance web applications, contributing to all phases of the software development lifecycle. This role requires proficiency in full-stack web development, the ability to work independently on tasks, solve complex technical challenges, and collaborate within an Agile development environment. You will also take ownership of specific projects or features, working with cross-functional teams to deliver business solutions.
- We are building an in-house banking-like application (except for medical such as FSA and HSA) with features including cards, accounts, transactions, administration, and a customer portal UI.
- The application was built entirely in-house over the last 5 years with a focus on greenfield development.
- This is a fully remote position with no plans to bring everybody back to the office.
- You will be working with a distributed team of 10+ developers across two US timezones.
- There are plenty of experienced peers to work with – the average team tenure is 4 years.
- Enjoy direct access to Product Owners and internal customers for requirement analysis and design discussions.
Key Responsibilities
- Application Development: Contribute to the development and maintenance of our in-house applications by writing C#, SQL, fixing bugs, and performing other necessary development tasks. (Intermediate)
- Leadership and Mentorship: Participate in a structured mentorship program by working closely with senior developers and team leads to build foundational skills and improve coding proficiency; mentor entry-level Software Engineers. (Intermediate)
- Problem Solving: Identify technical challenges and work through obstacles with minimal guidance, applying problem-solving skills to tasks of small to medium complexity. (Intermediate)
- Agile Participation: Engage in Agile development processes including sprint planning and retrospectives, contributing to iterative development and continuous learning. (Intermediate)
- Code Quality and Testing: Assist in writing and testing code to ensure it meets established quality standards as reviewed by senior team members. (Intermediate)
- Team Collaboration: Communicate technical challenges effectively and share ideas within the team to foster a collaborative environment. (Intermediate)
- Application Monitoring and Troubleshooting: Monitor and troubleshoot IT-supported applications and processes to ensure high availability and performance; resolve technical issues effectively. (Beginner)
- Requirements Gathering and Solution Design: Collaborate with higher level developers to understand designs, ask questions, and learn effective techniques for gathering requirements and designing solutions. (Beginner)
Required Qualifications
- Backend: Experience with C#, .NET 5+ (Core), .NET Framework 4.8, and ASP.NET Web APIs. (Intermediate)
- Frontend: Experience working with modern UI frameworks such as Vue, React, or Angular. (Intermediate)
- SQL: Experience writing Microsoft SQL Server DDL and DML. (Beginner)
- Source Control: Proficiency with Git for managing code, pull requests, branching, rebasing, and merging. (Intermediate)
- Frameworks: Preferred but not required – familiarity with Dapper, Hangfire, DbUp, or nUnit. (Intermediate)
- Infrastructure: Preferred but not required – experience with Bitbucket, Bitbucket Pipelines, Octopus Deploy, and SEQ. (Intermediate)
- Task Management: Preferred but not required – familiarity with JIRA or similar tools for tracking development tasks. (Intermediate)
- Leadership and Mentorship: Initiative to provide guidance and support to entry-level Software Engineers, incorporating feedback to enhance learning and development. (Intermediate)
- Problem Solving: Proven ability to apply problem-solving techniques to medium-to-large scale development tasks with minimal guidance. (Intermediate)
- Agile Methodology: Experience operating in an Agile environment, with active participation in sprints, backlog grooming, and iterative development processes. (Intermediate)
- Code Quality and Testing: Ability to write well-organized unit and integration tests that ensure robust coverage of core system components. (Intermediate)
- Team Collaboration: Strong interpersonal skills and the ability to effectively work in a team, including giving and receiving feedback. (Intermediate)
- Application Monitoring and Troubleshooting: Demonstrated ability to monitor, troubleshoot, and develop tools to ensure system stability and high performance. (Intermediate)
- Requirements Gathering and Solution Design: Proven ability to analyze project requirements and design effective, scalable software solutions in collaboration with senior engineers. (Intermediate)
- Education: Bachelor’s degree in Computer Science, Information Technology, or a related field, or equivalent combination of education and experience.
- Experience Required: 2-5 years of development experience with a focus on core technologies such as C#, SQL, and REST APIs. (Intermediate)
Benefits & Perks
- Compensation: $90,000.00 - $110,000.00 annually plus bonus potential (up to 10% of the annual salary under the Corporate Bonus Plan).
- Benefits: Vacation time, sick time, medical, dental, vision, 401k, flexible spending accounts, health savings accounts, long-term disability, short-term disability, supplementary life insurance, LegalShield, commuter reimbursement plan, education reimbursement, Wellable membership, Telescope Health (telehealth), Intellect (mental health) application, and employee engagement activities including voluntary events, raffles, and book club.