Senior Software Engineer / Java + Clojure

Senior Developer

Ref: 373Monday 1 January 2024

Sorry, this advert is now closed. Click here to view our live vacancies.

Do you want to be at the forefront of intelligence-driven cybersecurity? We are innovators of disruptive cybersecurity solutions.

Our CleanINTERNET managed service operationalizes billions of threat indicators in real-time to prevent over 90% of known threats against enterprise networks. Our customers love us for reducing their cybersecurity risks and enabling their security operations to be more proactive, focused and efficient.

Operations is a group that performs the service management of CleanINTERNET with red/blue/purple teams who engage with our customers to deliver threat hunting, analysis, reporting and intelligence management. We focus on proactive deployment of intelligence to eliminate threats, reduce workloads and minimize risk.

Intelligence Services is a group within the company that analyzes cyber threat intelligence to envision and create new technologies that power our managed service offerings. We focus on bold ideas around how to leverage data in cyber defense and pursue strategic initiatives that aim to paradigm-shift the cybersecurity landscape.

This position has a unique role of bridging both Operations and Intelligence Services to create and deliver software applications and service value reporting directly to our customers.


What you would do:

  • Be a member of a high performing product development team.
  • Be a back-end engineer to develop kubernetes services for streaming data pipelines and application micro services.
  • Develop distributed software systems that enable analytics across many different cyber threat intelligence and data sources.
  • Build cloud-delivered cybersecurity products that leverage intelligence and data in innovative ways.
  • Take ownership of tasks and see them through from design to production.
  • Coordinate test case design with knowledgeable software test engineers, and understand that automation isn’t just about improving test coverage but about testing the system the way external users would actually use it.

What you should love:

  • Overcoming challenging technology and data problems.
  • Working in a creative startup environment with a broad scope of ownership and high degree of autonomy.
  • Advocating for best engineering practices for a sustainable and frictionless workflow.
  • Continuous delivery of features through CI/CD pipeline to production.
  • Delivering documented, maintainable, secure and testable code.
  • Contributing to innovation projects from research, ideation and incubation to scale and production.
  • Understanding and practicing the ideas from the DevOps paradigm:
  • Principles of Flow
  • Principles of Feedback
  • Principles of Continual Learning and Experimentation
  • Practicing trunk-based development by continuously integrating changes and commits with other team members.
  • Developing cloud-native software deployed on multi-cloud platforms.
  • Rapidly learning and applying leading edge technologies to new products.

What you should have experience in:

  • Proven track record as a trusted member of a high performing team.
  • Experience with Object Oriented and Functional programming languages. Knowledge about the strengths of different programming language paradigms.
  • Data driven analytical systems, and/or machine learning and big data.
  • Proven experience in developing applications on one or more of the major cloud service platforms: Google Cloud Platform, Amazon Web Services, or Microsoft Azure.
  • Familiarity with container orchestration platforms like Kubernetes and how applications are managed and deployed.
  • Practices Agile and DevOps methods such as pull-based systems (Kanban), Continuous Integration, and Continuous Delivery.
  • Familiarity with GitOps and how it can help with Continuous Delivery (like ArgoCD, FluxCD).
  • Event-Driven or Message based systems like AMQP or Kafka. Preferably Kafka.
  • Knows Dave Farley, Jez Humble, or Gene Kim personally (or at least knows their work!)
  • Understands how to develop successfully functioning MicroServices from event-driven architectures (like Event Sourcing and CQRS).
  • Product startup, small teams experience in Agile environments.
  • Comfortable working with different databases such as relational, NoSQL and search engines.
  • Uses tools like Ansible, Vagrant, or Docker for development and testing of applications that could run in a customer data center or in the cloud.

What you should have on your resume:

  • BS/MS degree in Computer Science or closely related field.
  • 5+ years of Java and 1-2 years of functional programming (preferably Clojure)
  • Strong CS skills such as data structures, algorithms, and problem solving.
  • Knowledge of Java language, libraries, and the JVM.
  • Strong knowledge of functional programming and willing to learn Clojure.
  • Build and CI tools such as git, Gradle, Leiningen, Clojure deps, CircleCI or Jenkins.
  • Solid familiarity with Linux based operating systems such as CentOS or RHEL.
  • Solid understanding of container based applications (e.g. - how to build and run applications in a containerized environment like on docker).
  • Testing tools such as JUnit, Spock or Clojure.test.
  • Scripting skills in Bash, Ruby, or Python.


Some technologies and processes we use:

  • Clojure, Java, Go, Python
  • Databricks, PySPark
  • Kafka, Kafka Streams, gRPC
  • Relational DB, Document Stores, Wide-Column Stores, Graph DB, Search Engines
  • GCP, AWS
  • Kubernetes, Cloud Native
  • CI/CD, CircleCI, GitOps, FluxCD



The position is based in Galway as hybrid with 2 to 3 days required in the office.