Responsibilities/Deliverables that the resource will be responsible for:
We are seeking experienced Java engineers who want to work on an agile development team. Our application stack includes (among other things) Java, Spring, Cassandra and RabbitMq. We also develop UI with ReactJS.
What are the MUST have skills that you are looking for in a candidate?
Nice to Have
- At least eight years of relevant systems software engineering experience and a BS/MS in computer science or engineering (or equivalent professional experience).
- Experience building high-performance, highly-available and scalable distributed systems.
- Experience building complex software systems that have been successfully delivered to customers.
- Experience with service development, REST, HTTP, Java, Spring, NoSQL, XML, JSON.
- Knowledge of and working experience with open source software (e.g. Spring, Apache, Tomcat, etc.).
- Experience working with Linux.
- The ability to prioritize effectively, communicate clearly, and consistently deliver results.
- Keen attention to detail and high level of commitment.
What are the technologies and the depth of the technologies that a candidate must have in order to be successful in this role?
What are the soft skills that you feel candidate's must-have in order to be successful in this role?
- Experience with TDD, Agile, Paired Programming.
- Aggressive Refactoring.
- Any level of experience with NoSQL data stores (MongoDB, Cassandra, etc.) is a plus.
- Experience with ReactJS.
- Experience with RabbitMq, IBM MQ.
- Knowledge of modern Deployment and Configuration Management tools such as Chef, Docker.
- Ability and aptitude to dig into and solve challenging problems and proactively avoid problems.
- Scripting, automation and troubleshooting of processes and systems; scripting in the shell and at least one of the following: Groovy, Ruby, Perl or Python.
- Networks, security, firewalls, load balancers, DNS and other infrastructure components.
- You will be part of cross-functional team, will contribute to all aspects of software development and delivery.
- Enthusiastic and excited about technology.
- Flexible, dependable and know how to have fun while getting a lot done.
- Open and honest and willing to share and accept feedback and ideas.
- Positive and optimistic. Setbacks and constraints motivate you to work harder.
- Aren't afraid to roll up your sleeves and get your hands dirty with the rest of the team.
- Strive to constantly improve yourself and your team.