Software Engineer in Test (SET) - Toronto, Canada Guidewire Software
THIS JOB HAS EXPIRED
This is not a Tester or QA position. Unless you have very strong software engineering background, this position is likely not for you.
Guidewire's Toronto Development Center is expanding and looking for an exceptional software engineer who loves making complex systems more testable, and making test writing fun, effortless and efficient.
If you like to spend most of your time doing hands-on design and development on complex business applications, with other talented engineers, using a test-drive
We're looking for skilled, critical thinking, creative, talented Software Engineers for our engineering team. Engineers who quickly understand code. People who quickly grok the structure and interconnections in a system. Engineers with intuition and analytical thinking that are borne from experience. Engineers who can visualize the big picture like a System Architect but aren't afraid to really dive into details to figure out what's going on. Engineers who can appreciate the business side of the equation and put the needs of the end-user first.
We want Software Engineers with navigational intelligence. People who know how to approach a solution, which questions to ask, and what to try next. Can you tell which classes need refactoring and which classes need another unit test? Do you know when to get creative, and when to keep the code simple? Can you debug a non-deterministic unit test break? Can you write a clean API? Do you know when to test assumptions? Do you know which code structure is more maintainable? Can you tell which code not to touch because it's doing its job well?
Our software is great, the snacks are ok, and the building is decent enough. What's special, though, is that we're a team passionately focused on customer success and our long term goals. Talk to people here and you'll immediately sense their enthusiasm. We write software the way we've always wanted to write it. We want smart, motivated people to help build the future for ourselves and our customers. We are proud of what we build and how we work together.
At the heart of Guidewire culture are three principles:
Collegiality. We work together as professional equals, with a minimum of hierarchy. We strive for good processes and realistic assumptions to keep workload sustainable. We trust people to manage their own time. We seek input without regard for title. We welcome and consider contrary opinions. We value work/life balance.
Integrity. We insist on truthful relationships with customers, prospective customers, partners, investors, and each other in everything that we do.
Rationality. We communicate through clear arguments. We decide carefully based on factual evidence. We like calm, systematic, thoughtful solutions. We constantly improve processes. We use the latest Agile and Lean coding techniques, including work pods, sprints, and scrums.
What does a Software Engineer in Test on the Guidewire team do?
Guidewire sells three enterprise web-based software products to insurance companies that offer Property and Casualty insurance: Policy Center, Claim Center, and Billing Center. Our Toronto teams builds tools, frameworks and APIs that are then used to morph vanilla versions of Policy Center into a full-featured policy administration system capable of running various insurance carriers' lines of business, such as General Liability, Commercial Auto, Commercial Property, etc... As we grow, we'll expand our reach to other areas of the products suite and software stack. Writing this kind of software for insurance companies worldwide turns out to be surprisingly complex and difficult to get exactly right. Understanding and rising to that challenge can be a lot of fun.
Guidewire's platform includes an MVC web presentation layer, a cluster-safe persistent data layer, advanced performance tools, an inter-application messaging architecture, and a lot more. Furthermore, the Toronto team develops tools for such things as parsing and transforming complex structured data, analyzing object graph differences, doing automatic code generation, reconfiguring product and data models, etc...
We strongly value test-driven development, baking Quality into our products from the very start. Our test framework runs over 100K tests regularly for every branch.
More specifically, the Software Engineer in Test role is a developer role whose primaryfocus is software testability. Unlike the traditional developer role, the SET is more concerned with increasing code quality and test coverage than adding new features. The role is responsible for leading the definition, development and execution of test automation, with the goal to maximize test coverage and requirement fidelity, while minimizing overall long-term manual efforts and minimizing effort required to develop tests. Furthermore, the role is accountable for enabling others to do the same, through mentorship, exemplary work and devotion to extremely high-quality and well-testable code.
The Software Engineer in Test is directly and indirectly involved with the following:
All Software Engineers at Guidewire have:
- Help develop software that is highly testable, such that all levels of test (unit, integration, end-to-end, acceptance) can be produced easily and efficiently;
- Review designs and look closely at code quality and risk;
- Help assess effort estimates & solution complexity, with a focus on testability, automation, and use-case completeness;
- Act as a key technical contributor to the definition of test plans and test cases required to validate the functional and non-functional requirements;
- Work collaboratively with other team members to improve the understanding and quality of the assigned software artifacts and the codebase that constitute them;
- Refactor code to make it more testable;
- Lead the development and improvement of testing frameworks and APIs, working with other team members as required;
- Setup, maintain, and improve the necessary test harnesses and continuous integration infrastructure, leveraging existing corporate infrastructure as much as possible;
- Build or adopt 3rd party tools for automating manual tests, as required;
- Mentor team members on how to produce highly testable software;
- Develop tests needed to specify requirements, tease out design and validate the implementation of the functional and non-functional requirements;
- Help align requirements to user expectations, driving clarification of story and design Wikis as necessary;
- Ensure all product artifacts are produced to the level of quality agreed upon (e.g. Docs, Functional Specs, Design Wikis, Story Wikis, Jiras, Automated Tests);
- Develop agreed upon artifacts with due care for reusability, algorithmic optimizations, and componentization;
- Develop agreed upon artifacts in adherence to professional, team and corporate standards and best practices.
Prior experience with most of the following is important:
- A desire to work collaboratively in a small, cross-functional team, putting quality products, communication and team spirit before all else.
- Interest in modern development techniques, such as TDD, scrum, pair programming, stories, kanban.
- Passion for code quality that inspires writing and maintaining loads of unit tests.
- Curiosity and motivation to pick up and try new technologies and programming techniques.
- A desire for hands-on designing and writing code.
- Gosu experience would be nice - most of the coding work is Gosu (you should read up on Gosu before applying)
- Java (must have, since Gosu & Java are intimately related)
- Web-based applications (must have)
- Agile development methodologies
- Test-driven development (TDD)
- Pair programming
- Web services technologies, such as SOAP, WSDL, REST, Axis, XFire, Glassfish
- J2EE technologies, such as EJB, servlets, JSP, JSF, JDBC, JMS, JMX
- ORM technologies, such as Hibernate, JPA, JDO, HQL, XQuery, XPath
A Bachelor degree in Computer Science or related discipline is required. A Masters or PhD degree is a plus.
Seem like a good fit?
If you're excited by the same things we are, we want to hear from you today! We're continuing to grow our Development teams and we are eager to learn more about you.
To see job listings and testimonials from employees about what it's like to work at Guidewire, go to http://www.guidewire.com/about_guidewire/careers
THIS JOB HAS EXPIRED
As the number one provider of enterprise software applications to the property and casualty insurance industry, we beat our competitors (Accenture, SAP, and others) 9 times out of 10. Guidewire is an award-winning company both within the insurance industry and in the software technology space. Given our success and increasing demand for our products domestically and internationally, we continue to experience double-digit revenue growth. Guidewire has offices throughout the world, including in London, Munich, Paris, Sydney, Tokyo, Toronto, Hong Kong, and the United States.
Profitable Investors: Battery Ventures
, Bay Partners
, U.S. Venture Partners All Jobs: at Guidewire Software
|Headquarters:||2211 Bridgepointe Parkway, Ste 200|
San Mateo, CA 94404
|Company Profile:||Guidewire Software is a profitable, privately held, and VC-backed enterprise software product development company that exclusively serves the 1.5 trillion dollar property and casualty insurance industry. Our products enable companies such as GEICO, Liberty Mutual, and Amica to efficiently run their high volume core operations, including underwriting, policy administration, claims, and billing.
Our success can be directly attributed to the bright and extremely talented employees who make it all happen. If you are looking for an opportunity where your talents will not only be recognized and leveraged but also challenged, at a company that is grabbing significant market share in a 1.5 trillion dollar industry, then Guidewire is the place for you. We have an extremely low-turnover organization and 100 percent customer referenceability.
Support Guidewire Software with Social Media services