Senior Software Engineer
Hanzo is solving the single biggest challenge in above-board compliance and litigation today -- contextual investigation, capture, and preservation of dynamic web content. Through one sophisticated platform, we capture and replicate team messaging data, social media engagement, and interactive web content then preserve it in its native format for analysis and review. Launched in 2009, Hanzo serves teams at PayPal, Twitter, Koch, Facebook, LinkedIn, eBay, T. Rowe Price, Wells Fargo, Allianz, Ameriprise, and many other firms across the globe. You can meet our forward-thinking customer base here: https://www.hanzo.co/customer-success-stories
We are expanding the existing team and looking to add a Senior Software Engineer who will be responsible for architecting and implementing our in house distributed systems. This exciting opportunity has a periodic research component as we explore new structured and unstructured data analysis techniques.
If you have strong Python experience (or a solid backend working on large high performance solutions using Java or .NET stacks), and have worked with distributed systems we would be interested in talking to you. Ideally you would also have experience of text analytics or other forms of data mining, experience with AWS, have worked with large unstructured datasets and have strong opinions on visualisation. You also would have experience with agile and continuous deployment, have developed enterprise software and have worked with industry standard configuration deployment and workflow tools.
This senior software engineer role involves architecting, implementing and debugging our in house distributed systems. This covers our analytics, indexing and crawling systems as well as new investigations product range.
- Write clean, documented, debuggable code across Hanzo’s backend systems to add new functionality and systems and improve the existing architecture or write entirely new solutions from the ground up.
- Test your own code’s functionality.
- Perform code review and testing of software produced by other team members so that your team delivers reliable and secure software.
- Follow Hanzo’s development process in order to effectively communicate your progress.
- Design and specify new systems and functionality across Hanzo’s backend systems to meet the needs of user stories produced from other business areas.
- Perform research and evaluation of analysis methods and system design so as to optimally produce new data products and software systems.
- Survey pre-existing third party software when implementing new functionality to avoid excess effort when developing new systems.
- Fluent written and spoken English.
- Strong python experience and/or solid experience building high performance backend systems with a major stack (Java. ,.NET or similar)
- Proven ability to design complex distributed systems – either developing or extensive use. Awareness of design patterns.
- Experience of Postgres or other SQL.
- Experience with text analytics or other form of data mining.
- Exposure to data science, machine learning and some of the Big Data frameworks.
- Experience with AWS, EC2, S3 or equivalent with GCP or Azure.
- Exposure or good understanding of API, micro-services, serverless, stream processing.
- Experience with large unstructured datasets.
- Experience developing visualisations and front ends, react.js, d3.js, etc.
- Experience with agile and continuous deployment.
- Experience developing enterprise software.
- Experience with industry standard configuration, deployment, workflow tools.
Additional Responsibilities and Core Competencies
- Autonomous – Hanzo is a remote first company – making this work requires a certain amount of self drive from employees. The ability to take accountability for tasks and be self-motivated to achieve results.
- Ability to describe and defend your work and ideas – describe what you’re doing and why you’re doing it in a context that is understandable by others within Hanzo.
- Work context aware – Don’t over engineer it, don’t brush off deep architectural issues.
- Responsive – the ability to work at a quick pace collaboratively.
- Seek & offer help – autonomy is not about wasting time when you could ask for help.
We are looking for people who have curious minds, who genuinely want to make the best possible solution and therefore who are able to communicate and defend their ideas well and to equally recognise when other people’s solutions may be more effective. At the same time you must have the ability to work at a quick pace and handle reasonable interruptions as well as having the ability to come up with solutions that are appropriate and not over engineered.
In return we will provide you with an exciting opportunity to make a meaningful contribution in a small team. We are a fast growing technology company and as the company grows there will be opportunity for career development as well.
We want a sustainable pace of development and therefore keep a good work/life balance. We are a remote first company based in the UK and as such we’re seeking people with a strong sense of autonomy. We use collaborative tools like slack to keep an active office environment. We would like to focus on candidates based in Europe (UK or Ireland preferred). The ability to travel to regular co-location sessions in the UK will be important.