Senior Java Developer
Unific Job Description - Senior Java Software Engineer
As a Senior Java Software Engineer you love to solve difficult problems, you enjoy mentoring others and you want to work with other highly qualified and motivated team members. You will have control, influence and an opportunity to build Unific’s technology from the ground up. You will also have many chances to learn new things and use cutting edge technologies.
We are investing in DevOps and testing automation so that we can iterate the product quickly. This means that you will need to be excited and passionate about automated testing.
We also release to production regularly once per week, with the next goal of releasing 3 times per week.
Who we are:
We’re a SaaS company that helps online retailers grow by automatically attracting, converting and retaining customers.
We’re a scrappy start up that is rapidly growing. With backing from investors, we are excited to expand our team.
We are building a highly scalable and reliable event processing platform using Serverless architectures (AWS Lambda).
What does your day at the office look like?
Your day will consist of a 15 minute standup at the beginning of the day to catch up with everyone on the team. Then you will get to work on your current story card. If any questions come up, you can ask it on the JIRA story card, or if urgent enough, directly ask the project manager by chat and/or face to face. You might also ask the business analyst to clarify a user story. The designer or the architect might ask you to change the way something works.
Required Skills / Experience
Experience with Drools or other business rule management system (BRMS)
Experience using AWS (AWS certification preferred, but not required)
Experience using Dependency Injection with Spring 4.2+ or Google Guice
Proficient using SQL and designing Normalized Relational Database Schema
Can thrive within an Agile team. Open to mentoring others on the team and sharing knowledge/experience
Comfortable with pairing with developers and other team members
Ability to learn new technologies quickly
Experience using TDD and/or ATDD
Identify when a certain design pattern could help and follow it to create working software
Able to understand requirements and translate those to a domain then translate that domain to design working software (Domain Driven Design).
Good written and verbal communication skills
Capable of using Version Control Systems such as git
Familiarity with managed CI tools such as Circle CI, Travis CI or Codeship
Experience with Cassandra, Kafka, Drools, AWS Kinesis or AWS Lambda is a plus
Some experience with Apache Spark or Apache Storm/Heron is desired
Familiarity with Scala or other functional languages
Bachelors and 5 plus years of Software Engineering experience but will also consider Masters with 2 plus years experience
Your work speaks more loudly than education – we will consider all candidates regardless of education
Our Core Values
- We listen, we care, we serve
- We do what we say we'll do
- We believe in the lean approach
- We practice open, real communication
- We face challenges with optimism
- We check our egos at the door
- We innovate and constantly improve
- We do the right thing
- We believe in people and their dreams
- We succeed through the success of our customers
- We believe in being whole people