Software Engineer
As a software engineer, you will be working as a member of our Data Integration Engineering team to jointly design and implement product features. This is an ideal job if you are an engineer who wants to be part of an intensely skilled team, values total ownership of your work, and can't imagine a day without coding. If you are a skilled developer, with professional experience with full-stack technologies, and distributed systems we want to speak to you! We're looking for a creative, focused, technically curious individual who enjoys both designs as well as working hands-on with the code.
Key Responsibilities
Code full-stack features from the database up through (and including) the UI
Design and develop Spring-based microservices, as part of an agile/scrum team
Support and maintain existing features, debugging throughout the stack, and applying fixes in a timely manner
Apply best practices in continuous integration and delivery
Design and develop API's using RESTful principles
Design and develop UI components as part of a single page application
Write unit, integration, and full end-to-end tests for new features
Participate in the release of new features to production
Work with product managers and other engineers to implement and document complex and evolving requirements
Act as on-call high-availability support for triage/bug fixing periodically throughout the year
Required Qualifications & Experience Requirements
Bachelor’s degree or equivalent relevant work experience
4+ years of Java development experience
2+ years of development experience using the following: Enterprise JavaBeans, Spring Boot, Spring Web Services, Java Spring Framework
Experience developing RESTful web services Java restful web services and JSON
Experience in relational DB table design, implementation, and tuning (pl/SQL, ETL)
Nice to Have:
Experience with cloud technologies (AWS)
Experience working on a SAAS Product in a commercial environment
Experience in digital media, online advertising, or reporting/analytical applications
Experience with large scale SQL databases is a strong plus
Experience coding in a front-end JavaScript framework: jQuery, Ember.js, Angular, React
Worked with Postgres DB
Big data experience with Spark Scala and AWS EMR/EC2
Experience in database integration, especially ORM tools (Hibernate, JPA, etc)
Experience in build and deployment tools such as Maven or Gradle
Practical knowledge of OOP/JS design patterns
Understanding of "12-Factor App" concepts
Distributed System Development for large-scale applications
Experience with continuous integration and testing
Experience with agile methodologies and short release cycles
Demonstrate strong communication skills, strong attention to detail, good work ethic, and ability to work on multiple projects simultaneously
Strong knowledge of Continuous Integration & Continuous Deployment tools and processes