Senior/Mid Full-stack Java Engineer
If you care about software quality but find testing and QA boring and tedious, you may be interested in helping us develop a new way.
Do you love building new stuff, learning and working with emerging technologies? Working with a team of skilled engineers with the same passion as yours and a desire to build unique and groundbreaking products?
If so, we would like to hear from you.
We are SpotQA's Product Team. We are building the next generation of testing automation software, something akin to the first self-driving car technology for the testing world.
Our objective? To develop new technology that uses machine-learning and domain expertise with the aim of performing testing fully autonomously.
To help with our mission, we are looking for a passionate Senior Software Engineer / Full-stack developer, to join our core engineering team.
Since we're building emerging technology, we're looking for solid engineering skills and experience. But more importantly, we are looking for can-do attitudes, a passion to learn/grow independently and willingness to delve into problems.
Ideally, we're looking for a wide variety of skills and experience, but don't be put off if you don't consider yourself an expert in every single one of these areas. If you see yourself here and share our passions, we'd still love to hear from you!
We have our eyes on a few skills, namely expertise/strong experience in the following:
- Strong Java engineering skills
- Linux based environments and bash scripting
- Container technology (e.g., Docker, Kubernetes)
- VCS (e.g., Git, Mercurial) and CI (e.g., Jenkins, TravisCI, CircleCI)
- Deep understanding of algorithms and data structure:
- Time / complexity trade-offs of data structures, and ability to implement Trees, Graphs, and D&C algorithms
- Garbage collection technology, performance tuning techniques, memory leaks, etc.
- Software design patterns and passion for writing clean code
- Good communication skills and ability to liaise with other teams
- Building REST interfaces, use of Web-sockets
- Build systems (e.g., Maven, Gradle, Bazel)
- Relational & NoSQL DBs (e.g., PostgresSQL, MySQL, MongoDB), and in-memory stores (e.g., Redis, Hazelcast)
- Testing frameworks (e.g., JUnit, Jest)
Nice to have
- Relevant degree in computer science / software engineering
- ES6 and Node.js
- Vue.js or React.js, as well as Flux-based architectures (e.g., VueX or Redux)
- Building web crawlers, and utilising browser automation interfaces, e.g., Selenium, Chrome Remote Debugging
- Testing expertise and experience of using advanced testing techniques such as Mocking, Stubbing, etc.
- Ability to describe the browser's high level architecture as well the page rendering process within
- Java frameworks such as Spring, Dropwizard, etc. and/or JAX-RS API
- Competitive Salary and stock options.
- A possibility of working remotely is available.
- Personal development by working with a fast growing multinational startup aiming to shape the future of Digital QA.