Experienced Software Development Engineer
AbeBooks, an Amazon company, connects millions of buyers with booksellers from around the world. We provide a marketplace for hundreds of millions of items that includes everything from exquisite manuscripts and long lost books from your childhood, to postcards from Mohandas Gandhi and signed first editions of “A Farewell to Arms”.
Our team is responsible for powering all of the search experience on AbeBoooks. We own distributed search systems used by millions of AbeBooks customers every day. We index millions of documents worldwide, and deploy them on highly scalable fleet of servers. We reflect millions of price and inventory changes in real time, and we return relevant results in milliseconds. We works to maximize the quality and effectiveness of the search experience for visitors to AbeBooks websites worldwide.
About the Role
You will work daily to create powerful, customer-focused search solutions, helping people find the things they want. You will be responsible for designs, developing, and deploying high performance, fault-tolerant distributed search systems used by millions of AbeBooks customers every day. Since traffic queries and the size of our listings are always growing, the need to continually innovate is essential. Our mission is to provide a high-availability, low-latency search service that makes it easy for customers to find the products they love. We are looking for engineers passionate about the full development cycle to join our Software Development team focused on distributed systems. The solutions you build have the potential to be used by millions of AbeBooks customers from over 200 countries.
As a seasoned engineer you will have an incredible opportunity to manage and simplify the search technologies that power AbeBooks' product search. We start the search experience by giving customers suggestions on how to formulate their queries as soon as they start typing because a great search engine should have customers feeling like the website knows exactly what they are looking for. The better we understand the meaning of a query, the better we can help customers find the products they want, so we focus on the words and the intent behind those words.
You’re a seasoned engineer with rich experience in designing, developing, and supporting multiple software intensive systems. You will be successful if you:
· Have a strong sense of ownership and customer focus
· Care about code quality and readability
· Are comfortable working with data structures as much as discussing software development processes with your peers
· Get inspired by collecting product and system metrics, and by proposing improvements
· Persevere when troubleshooting build, deployment or live issues
· Take code review feedback gracefully and provide your feedback with abundance
· Love to see your code deployed, and want to see it happening more often
AbeBooks offers competitive salaries, a beautiful waterfront office space, as well personal development days and fun events hosted throughout the year by our social committee.
What really makes us stand out is the world-class team of people that you get to work with every day. We trust our employees because we only hire the best. We want people who are prepared to challenge the status quo and always raise the bar. And we do all this while having fun and enjoying the tranquility of island life.
Apply today, and learn more about why you should join our award-winning workplace!
The ideal candidate will have:
· Bachelor’s degree in Computer Science, Mathematics, or related field
· A minimum of 3 years of experience with object-oriented design and programming experience in C/C++, Java, or Python, preferably on a UNIX or Linux Platform
Experience with the following would be beneficial:
· Experience supporting large AWS deployments using tools like AWS Code Deploy, Chef and Terraform.
· Programming experience with Scala is a plus, but not required.
· Docker, Jenkins, Maven, Git, Java: Experience and knowledge creating enterprise applications with automated builds, deployments, and operating domains.
· Java/Linux technology stack: Experience and knowledge of application servers, spring framework, the web tier and shell scripting.
· Automated Testing, Test-driven Development, debugging, troubleshooting, and optimizing code: advanced experience and knowledge
· Experience with any of the big data technology stack like Cascading, Spark, Scala, Solr/Lucene, Hadoop is a plus.
· Cross Functional Skill Development – willing to learn new skills and roles to meet the needs of their team.