As a Software Engineer you are part of our engineering team working on maintaining, modernizing, and extending our Affiliate Marketing platform.
As a Software Engineer, you are responsible for writing clean, secure and well-tested code. You follow best-practice guidelines and help to maintain, improve and operate assigned parts of our platform. You may coach and mentor more junior colleagues, participate in knowledge-sharing activities both within your team and the wider Engineering practice. You have a good understanding of the user needs and work with the product owner and other team members to translate these into technical solutions. You work through the entire lifecycle of a product, from understanding requirements, development to deployment, support and maintenance. You show an understanding for deadlines, find pragmatic solutions and are proactive in raising potential risks. You are comfortable with working with and modernizing technical platforms and have a strong understanding of the challenges modernization brings. You will help the team in solving the challenges that arise as our business grows and develops; working together to ensure the team continues to meet the needs of our business and its customers.
The Software Engineer role is a great opportunity to help enhance our offering to clients and to have involvement driving the department forward with wider business initiatives.
The engineer has the option to either work full time remote or from the Chicago office.
Key responsibilities within this role include:
- Implement features across multiple applications supporting product development
- Deliver clean code through the application of software engineering best practices
- Respond to incidents; investigate, verify, diagnose, & mitigate issues
- Modernize legacy code & contribute to the architectural vision
- Participate in the team’s modernization efforts including modernizing version control & deployment pipeline through standardization & automation
- Document architectural decisions and contribute to incident reports
- Share expertise and thought-leadership to promote a cross functional team environment
- Focus on self-development, broadening and deepening knowledge
- Be open to conducting or receiving code review, and participating in pair programming if applicable
- Frequently interacts with other engineers, product managers within the same team
- Might interact with stakeholders, both internally and externally as required
- Might seek input and supervision from other senior engineers but acts mostly independent, guided by project requirements
- With increasing experience and familiarity with the ShareASale platform, Software Engineers might mentor more junior engineers
- Works well within a team, and contributes effectively to the success of those that they interact with regularly through showing motivation, dedication & passion
- Can take ownership and work independently on complex components
- Eager to learn new technologies, new ways to work and open to new perspectives
- Good understanding of and interest in the business context and customer needs
- Able to understand complex code and systems with support from senior engineers and able to contribute back to it
- Able to communicate technical concepts, proactive in raising questions or concerns / issues
- Happy to provide and receive feedback and reflect actively on the way you and your team work
- Keen to understand how systems, people, teams, departments and customer interact and work
- Promotes pragmatic approaches, preventing unnecessary complexity and premature optimization
- Flexible enough to adopt to different ways of working (e.g. agile processes) and on different topics
Skills & Expertise
To be successful you will need to meet the below requirements.
- 5+ years in senior software engineering roles
- .NET domain knowledge expert, C# 4+, Visual Studio, T-SQL, SQL Server Management Studio (SSMS)
- Experience modernizing legacy applications through refactoring & DevOps adoption
- Familiarity with Agile & DevOps methodologies
- Comfortable using version control systems (SVN, Git, GitHub, GitLab)
- Bonus points if you have:
- Experience with ColdFusion, Java, Node JS, Plugin Development and/or WordPress
- Experience applying test automation, knowledge of Test Driven Development (TDD) & Behavior Driven Development (BDD)
- Knowledge of Continuous Integration / Continuous Delivery (CI/CD) tools & techniques