Software Engineer II
MINDBODY | Information Technology
Designs, develops, troubleshoots and debugs software applications for our core product. This includes developing software components including Frameworks, APIs, Websites, Utilities, Databases and Internet-related tools. Determines hardware compatibility and/or influences hardware design, when applicable.
The Software Engineer II works in the MINDBODY software development life cycle, including specification, design, implementation and testing of new features and bug fixing. The Software Engineer II is responsible for their own code and bugs.
- Serves as a self-directed, key contributor to code development on features and bugs to produce successful team sprints.
- Makes implementation design decisions around new feature components.
- Produces contingency plans for critical projects.
- Analyzes technical requirements with the team to gauge level of effort.
- Breaks down complex projects and delegates work to junior engineers.
- Carefully analyzes design specifications before coding to understand effort levels required.
- Creates technical documentation for new features that can be easily understood by peers.
- Writes and executes tests, including creating comprehensive unit tests.
- Performs peer code reviews to ensure quality of the codebase.
- Keeps abreast of new technologies.
- Ensures designs and projects created comply with design library guidelines, internal best practices and coding conventions, when applicable.
- All other duties as assigned.
- Bachelor’s Degree in Computer Science or equivalent.
- 2+ years of industry experience in programming web applications, services and/or large-scale enterprise products.
- Strong C#, .NET/.NET Core and Object-Oriented Programming skills.
- Experience in ASP.NET, Web API, WCF, MVC and T-SQL.
- Good understanding of database design principles and patterns.
- Knowledge in Micro-Services, Cloud infrastructure and REST API design.
- Experience using git and Visual Studio.
- Familiar with advanced software design patterns.
- Familiar with Agile methodology.
- Skillful at reviewing new feature impact on an application and recognizing potential risks.
- Detailed oriented, professional and possesses a positive work attitude.
- Communicate professionally, both verbally and in writing.
- Effective time management skills.