Cherwell Software (@Cherwell) is a global leader in enterprise service management, empowering organizations through the use of intuitive technology for better, faster, and more affordable innovation. Our solutions and our people build lasting relationships. We are a growing company with offices in the US, Europe, and Australia.
Who Will Love This Job
- Someone who views quality as a top priority: You take pride in creating powerful experiences that are simple and intuitive for users
- A problem solver: You thrive in an environment that tests ideas by building.
- A great teammate: You collaborate with other team members to solve problems and work together to achieve deadlines and departmental goals. You have a point of view but are low ego
- A learner: You’re naturally curious about the technologies you use and take the initiative to dive in to learn more when you’re unsure.
What You’ll Do
The Software Engineer supports new product development and product improvement projects as part of a multi-disciplinary team. This includes design, analysis, and all aspects of project engineering work.
The key responsibilities of this job include:
- You complete your development tasks on time and to the standards agreed to by your team. You resolve as well as highlight defects with the product. In most circumstances you can complete programming tasks without significant intervention from peers or superiors.
- You have an established understanding of how software gets developed from idea through to delivery and how you can influence the success of that development process.
- You have built up experience in a peculiar technology stack, but this is not your only toolset. You bring to bear your experience in discussions and help the team to decide on the best way forward for any given scenario.
- You understand and demonstrate the importance of automation testing by ensuring that all of your developments meet the definition of done. You write unit tests for new classes and these classes are consistent with the SOLID principals. You invest in the automation pyramid as appropriate and ensure your tests are included in the continuous integration pipeline.
- You conform to agile and scrum methodologies and have a good understanding of the ceremonies involved and your role during these various ceremonies. You effectively communicate to your peers and superiors when required to aid your software development and assist the team.
- You give valuable feedback in code reviews and understand the importance of non-functional requirements such as security & performance concerns.
If you have the following experience, we’d love to hear from you!
- 3 years minimum working on commercial enterprise software applications with Object Oriented Programming fundamentals in C# or Java
- 4 Year degree in related field or equivalent relevant experience
Even Better If You Have:
- Experience of building applications for the web
- Experience of building applications using relational databases
- Working knowledge of distributed versioning systems (most likely Git)
- Knowledge of the SOLID principals and examples of when these have been implemented
- A demonstratable understanding of performance bottlenecks and mitigations
- A demonstratable understanding of OWASP documented attack vectors and mitigations against common scenarios
- Contribution to an automation test suite, most likely leveraging a test framework
- Experience shipping products based on the Microsoft stack
- Hands-on experience using Microsoft technologies professionally: .NET, C#, SQL Server
- Commercial experience with an ISV (Independent Software Vendor) and understand the complexities of commercial software vs in-house development.
- Working knowledge of Cloud Services (AWS | Azure)
- Working experience of high load / high availability applications
- Good understanding of message queueing, caching technologies (I.e. Redis, CDNs, etc.) and message busses
- Experience with NPM, Typescript, CSS and other web technologies.