WizeNoze · Oct 7th 2020
Are you looking to work on challenging projects, with a diverse and motivated team, while building technology that can change the world? Do you want to join an award winning startup in their scale-up phase? Do you want to give students all over the world access to a prosperous future? Do you want to work with large distributed systems, machine learning, web crawling, and other interesting technology?
We’re looking for a Senior Java Backend Engineer / Architect with 8+ years experience in Java, Spring, REST APIs, Elasticsearch, and other web tech based in Amsterdam or remote within the +-2 GMT timezones. You need to be curious and passionate with a drive to continually improve yourself, your craft, your code, and your colleagues. You need to hold yourself and your peers to the highest standards to deliver the best quality products possible! You must not be complacent, and must keeping working to improve your craft and skills. You must be able to step outside your role to work on requirements, deal with customers, and think holistically about our systems, processes, and people; always with a view to improving efficiency and long-term maintainability and quality.
designing, building, and maintaining highly-scalable APIs and distributed systems in Groovy/Java with Spring, Hazelcast, MySQL/PostgreSQL, AWS, etc.
collaborating on the code and systems architecture with the CTO
improving our web crawler and integrations with client content;
enhancing our search engine based on Elasticsearch;
mentoring and coaching other developers on code quality and architecture;
Your abilities and skills:
Fluent in English
8+ years experience designing, building, delivering, and maintaining production software and distributed systems
A solid computer science background with deep understanding of algorithms, computing theory, etc. Degree preferred, but self-study also a big plus
Proven ability to ace the entire product life cycle: from requirements, through design and development, to testing and production deployment
Show how you’ve built open source or commercial products from the ground up on your own or as a team lead/architect. It’s not enough to have just been part of a team, we need to see that you had a pivotal role to play in many projects
Be able to communicate effectively with team members, but also be able to solve difficult problems on your own with perseverance and tenacity
Prove that you’re continually working to improve your skills and knowledge, by raising the standards for your own designs and code constantly, and by reading and learning from books, courses, and peers
Prove that you can write high quality code with deep thought given to performance, concurrency, maintenance and other issues. No “but it worked on my machine” allowed, or code that you wouldn’t be happy to work on again in a year’s time
Writing web backends in Java with Spring, RDBMS, Elasticsearch, etc. on an AWS stack
REST API development. HTTP, JSON, etc.
Used to development workflows with git and github
Comfortable communicating and collaborating on designs remotely using diagrams, video conferencing, instant messaging, prototypes, etc.
Linux administration and shell scripting
Friendly and helpful to tech and non-tech team members.
Must be able to think of edge cases and errors to be able to write good unit and integration tests, and to test by hand to make sure new code is production-ready.
Java. Deep JVM experience in profiling, performance optimisation, etc. required
Any other languages: Groovy, Bash, Python, etc.
JPA, Hibernate, Flyway
Devops techniques like continuous integration and delivery, zero-downtime deployments, clustering, queues, failover, redundancy, automated and validated backups, etc.
Remote work and collaboration experience
Amazon Web Services:
IAM, security groups, bastion hosts
Instrumenting code for Prometheus
Application performance monitoring implementation
Curious. Able to learn and apply new concepts and tools rapidly
Pragmatic. Choose the practical path to delivering a product without getting lost in fancy new technologies or techniques
Attention to detail. Every line of code should be crafted well and understood thoroughly. No copy/paste coding allowed
Perseverance. Able to solve difficult problems without giving up and expecting someone else to take over
Take pride in your work. You should be proud to put high quality software in front of users. Software you’ve tested thoroughly yourself
Take responsibility for your work throughout its life cycle from requirements to delivery and maintenance
High degree of personal responsibility over designated duties. Step outside your role if needed to get the job done well
Consistent and organised
Timely and eloquent communicator
Focused on helping the team win, before personal gain
Open to receiving objective criticism and improving upon it
Like to work in a startup environment