With over 120 million members, Goodreads is the world's largest site for readers and book recommendations. Our mission is to help people find and share books they love. Goodreads members can discover new books by seeing what their friends and members of the community are reading or by using the Goodreads Book Recommendation Engine. Our platform also helps more than 220,000 authors to connect with readers. Goodreads is a subsidiary of Amazon, Inc.
The Discovery/Community team at Goodreads is responsible for helping our users navigate this massive treasure trove of information. We strive to find for our users the next book they will fall in love with, help them explore books on our site and give each of our users an experience that is truly unique to them. We work on many of the core experiences at Goodreads, including recommendations, reviews, groups, and more!
As a Software Development Engineer, you will develop customer-facing experiences in a fast paced environment. You will provide hands-on coding & development, and should be comfortable working in an environment where code is pushed into production multiple times in a day.
You are the ideal candidate if you are equally comfortable writing code and defining technical architecture. You must have a deep understanding of scalable, distributed systems, service-oriented architectures, full-stack web development, and application design, as well as flexibility and a passion for learning new skills. You will be expected to work in a heterogeneous environment of different languages and technologies and bring flexibility, speed, and quality to our team. The successful candidate will thrive in a culture of experimentation and innovation, but also have a proven track record of delivering results to solve challenging problems.
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• 2+ years of non-internship professional software development experience
Design, develop, implement, test, and document embedded or distributed software applications, tools, systems and services. Translate functional requirements into robust, efficient, supportable solutions that work well within the overall system architecture. Participate in the full development cycle, end-to-end, from design, implementation, and testing to documentation, delivery and maintenance. Produce comprehensive, usable software documentation. Evaluate and make decisions around the use of new or existing software products and tools. Mentor junior development engineers.
• At least 3 + years of industry experience.
• At least 3 + years expertise in coding & software engineering in Java, C++, or Ruby.
• At least 2 + years in working on large scale data sets using SQL & NoSQL technologies
• A BS in Computer Science or a related degree
• Experience with NoSQL AWS data stores like DynamoDB, CloudSearch or their open source equivalents like Cassandra, HBase, Solr or ElasticSearch
• Experience with MySQL, Redis, Memcache and related web-backend technologies.
• Experience with data pipelines (Kafka, AWS Kinesis, AWS Data Pipeline)
• Experience building web applications, widgets, or interactive experiences.