As a C# software architect, you can expect to be a member of one of our central assembly line teams such as code cleanup, maintenance team, and auto unit test team.
Our maintenance team is responsible for bug fixing across our 100+ product portfolio. The maintenance team has an element of product specialization but they are also process specialists. We want to ensure that our engineers have all the right information and toolsets available to be able to quickly reproduce a client’s environment, reproduce a bug, fix it, test it, document the fix and send for review. We have weekly product release cycles so we want to ensure that bugs get fixed as quickly as possible for our clients and that we are constantly improving the quality of our products.
Our organization is constantly acquiring new companies and their products. As a result, our code cleanup team is responsible for increasing the code quality of products we acquire by; capturing anti-patterns and solving them, implementing microservices, and ensuring our products follow SOLID principles. Software Architects will have daily and weekly targets to work against. The architect’s role is to increase the code quality and work according to the company standards and quality guidelines. We measure the quality of work through our First Time Acceptance rate, meaning that our Product Chief Architects accept the work delivered by the software architects immediately and without having to ask for a rework.
The auto unit test team generates unit tests using automation. The team builds, extends, and introduces new tools to improve automated test generation. One of the roles of an architect within the bulk unit test team is to find patterns that can be applied to any C# project.
In all cases, you will have aggressive daily and weekly targets to work against and you can expect to receive daily and weekly feedback about your performance. The regular feedback is used to help you improve immediately and to help you resolve blockers which may be slowing down your performance.
- Bachelor’s Degree in Computer Science, Electrical Engineering, or Computer Engineering
- 5+ years experience as a software engineer in C#.net
- 1+ years experience working in an environment where CI/ CD tools are used
- Have a minimum of 2 years experience leading or mentoring junior developers
- 2+ years experience in writing unit tests
- Experience using Jira and Git
- 2+ years in an environment where you used architecture principles and frameworks
- At least 1 year of working experience using cloud services such as AWS
- Proficiency in the following skills and technologies is mandatory:
- General database knowledge in a technology such as SQL Server/Oracle/MySQL/MongoDB/Cassandra
- SOA, EDA, and Design patterns
- Some experience in Linux, Django, REST and shell scripting
- MVC and knowledge of another server-side programming language (Ruby, PHP) is desired but not mandatory
- Demonstrate success as a problem solver
- Be a results-oriented individual
- Comfortable "working virtually" with teammates and customers around the world
- Good proficiency in the English language