Job Description
Why We Need You – The Mission |
Veryon is a global information services and software company that exists to make flying safer and more reliable. Our products help reduce operating costs, improve aircraft reliability, and support technical knowledge sharing and collaboration within the general, business, and commercial aviation, as well as military/defense and OEM industries.
Reporting to the Technical Lead Engineer, a Senior Software Engineer will solve business problems by analyzing needs, designing solutions, and ultimately writing code. You will be responsible for delivering enhancements, fixes, and features in collaboration with a team of Engineers and Quality Assurance Analysts. This specific candidate will play a crucial role in the migration of a legacy monolith system to a modern microservices oriented architecture. The senior engineer will establish technical excellence through writing concise and well documented code, as well as help Veryon continuously deliver value to the customer through frequent releases.
The profile of the ideal candidate includes:
- You live and breathe software design patterns and apply them judiciously.
- Industry best practices are ingrained in your day-to-day coding.
- You constantly stay at the forefront of software development trends.
- You naturally take the lead, research solutions, and champion new approaches.
- Your communication is proactive; you flag risks and bottlenecks early in the process.
- You are intrinsically self-driven, passionate about technology, and thrive on seeing projects through to completion.
What You’ll Accomplish – Your Performance Objectives |
In your first 30 days:
- Check out code repositories and configure your local development environment by following established guides and tutorials compiled by the engineers, making any updates as necessary.
- Develop a basic understanding of Veryon systems by reviewing materials (i.e. recorded product demos, JIRA, knowledgebase) while working with the engineers who know them best.
- Submit your first merge request to a repository and take part in the merge review process proven by the engineering team.
In your first 3 months
- Contributed to the codebase at least one fix or enhancement that has passed quality checks and been implemented into production.
- Demonstrate collaboration with the engineering team, being comfortable approaching and working with team members who are key to your development efforts (i.e. SMEs, other developers, testers, etc.)
- Work with manager to define goals for the remainder of the year and targets in terms of metrics and delivery dates that are measurable.
- Gain an understanding of the technology stack, patterns, and best practices used to develop Veryon systems.
In your first 12 months:
- Demonstrate achievement of goals defined in first 30 days
- Perform code review of peer’s code according to best practices established and iterated upon by the engineering team.
- Work with the product and engineering teams to understand how business requirements translate to technical solutions.
- Work with support and DevOps teams to ensure all delivered software/product is easily supported and has minimal issues in production.
- Take a mentorship role with new hires and junior developers.
- Work across teams to establish architecture and design best practices
- Apply use of design patterns and SOLID principles to develop and maintain code at the scale of large components and systems.
Ideal Candidate’s Technical Skills
- Modern Stack: .NET Core, ASP.NET Core, Entity Framework Core, MariaDB, Angular
- Legacy Stack: .NET Framework, ASP.NET MVC, Entity Framework, SQL Server
- Knowledge of unit testing practices and experience with unit testing frameworks, such as XUnit or NUnit
- Experience with AWS cloud services
Who We’re Looking For – The Personal Competencies That Matter |
Collaborative: You have empathy for your colleagues and customers. You demonstrate cross-functional collaboration within the engineering team and seek out opportunities to build relationships with others throughout the company. You understand we are all on the same team working towards the same goals. You are comfortable mentoring and training less experienced developers as part of an agile team.
Intellectually Curious: You have a strong level of curiosity and care about learning. You understand that learning is a continuous part of being a Software Engineer and are always looking for ways to sharpen and/or broaden your skillset.
Flexibility: You understand that priorities and requirements will evolve, and you may have to be flexible in your approach and in your expectations. You are open-minded and adapt well to changing environments as a company grows and scales. You aren’t afraid to step outside your comfort zone and take the initiative to help the team succeed.