Commercial experience of software development in Java
Development of highly concurrent systems (multithreaded and/or distributed)
Experience of web / app containers such as Jetty, Tomcat, JBoss, Weblogic
Exposure to NoSQL technologies such as MongoDB, Redis, Riak, Couchbase, Hadoop
Persistence frameworks/APIs, such as JPA, Hibernate or Spring Data
HTML5 and JavaScript
Exposure to Test Driven Development or Behaviour Driven Development methodologies
Deployment automation technologies such as Chef, Puppet, Cobbler, Vagrant, Ansible, Docker
Exposure to iterative/agile development methodologies (SCRUM, XP, DSDM, RUP, Kanban etc.)
Scripting experience such as BASH, Python, Ruby
Exposure to automated integration testing through tools like Selenium, Fitnesse, Cucumber
Exposure to enterprise messaging technologies / ESBs (JMS, AMQP, RabbitMQ, Kafka, Tibco EMS, IBM WebSphere MQ)
Requirements :
You're an engineer at heart and enjoy the challenge of building complex software solutions
You want to work across a range of tech environments. Your priorities will be building new systems and improving stability, security and efficiency
You're keen to learn new technologies and languages
You're comfortable operating in an Agile environment with a good working knowledge in areas such as CI/CD, build pipelines, testing and architecture
You have a good understanding of computing fundamentals (e.g. logic, data structures, algorithms, low-level architecture, networks stack) along with strong software design skills, including OO, and knowledge of version control systems such as Git
You love nothing more than grabbing a pen and whiteboarding the next challenge