Senior Software Engineer

Job Description

About Acquia

Acquia empowers the world’s most ambitious brands to create digital customer experiences that matter. With open source Drupal at its core, the Acquia Digital Experience Platform (DXP) enables marketers, developers, and IT operations teams at thousands of global organizations to rapidly compose and deploy digital products and services that engage customers, enhance conversions, and help businesses stand out.

Headquartered in the U.S., Acquia is positioned as a market leader by the analyst community and is listed as one of the world’s  top software companies by The Software Report. We are Acquia. We are a global company with employees located in more than 30 countries, and we’re building for the future. We want you to be a part of it!

About the team you will be on…

The Acquia Enterprise Integrations team builds, maintains, and improves internal system integrations and tools. We seek savvy software engineers to help in this mission.

You’ll be working on enterprise systems integrations (primarily developing API’s in the Go Programming Language) as we connect all of the data and systems that make Acquia run.

You will build enterprise-level systems where data flows through APIs and data aggregation is handled through webhooks, intelligent pushing, and smart queueing. Working with teammates around the world, you'll be helping each other with coding best practices, peer code reviews, and professional development opportunities.

The Enterprise Integrations team takes ownership of their tasks. Work is collaborative and iterative, with solutions discussed constantly and feedback given without ego.

As a Senior Software Engineer, you will…

  • Create technical requirements, develop, test, document and implement APIs that integrate internal Acquia business systems
  • Extend continuous integration and standardized logging on all code
  • Review team members code
  • Help set the future direction for our team
  • Be a mentor and a knowledge resource for other team members

What you’ll need to be successful…

  • Minimum 5 years experience as a software engineer
  • Multiple years experience using the Go Programming Language
    • Familiarity with Go standards, tooling, frameworks, and libraries
    • Experience with Go's syntax, concurrency model, and standard library
    • Understanding of data structures (arrays, linked lists, trees), algorithms (sorting, searching), and software design patterns (factory, observer)
    • Familiarity with Object Oriented Programming (OOP) principles (encapsulation, inheritance, polymorphism) and their application in Go
    • Knowledge of writing HTTP servers and clients using the net/http package
    • Understanding of encrypting data at rest and in transit using Go's crypto package
  • Understanding of Amazon Web Services (AWS)
    • Creating, configuring, and managing virtual private clouds (VPCs), subnets, security groups, etc.
    • IAM principles and best practices
    • Integrating Cognito with API microservices
    • API Gateway integrated with serverless backend
  • Working knowledge of Terraform
    • Understanding of IaC principles
    • Remote backends and state locking
    • Providers for management of infrastructure resources (e.g., AWS, Azure, Google Cloud)
    • Using Terraform modules for reusable infrastructure configurations
    • Integrating Terraform with CI/CD pipelines
  • Knowledge of Open API Specification
    • Creating API specification files
    • Using API frameworks and/or code generators to implement an API specification
  • Creating design documents (ADRs/RFDs)
  • Experience with Docker containerization, including creating and working with containers for development and testing
  • Knowledge of CI/CD tools like Jenkins, GitLab CI/CD, or CircleCI for automated testing, building, and deployment processes
  • Familiarity with unit testing, integration testing, and debugging techniques
  • Performance analysis and optimization

You’ll enjoy this role if you have…

  • A desire to be a team player and work as a member of the Enterprise Integrations team
  • A willingness to jump in and own an opportunity, and see it through to completion
  • A proactive, methodical and innovative working practice
  • Creative problem-solving skills
  • The ability to guide technical discussions with both software engineers and non-technical audiences
  • The ability to multitask and prioritize

Extra credit if you…

  • Are experienced coding in object oriented PHP, Drupal and/or Mulesoft
  • Have developed software using Agile-based methodologies
  • Have broad experience in sales, finance, customer support or IT

Conclusion 

All qualified applicants will receive consideration for employment without regard to race, color, religion, religious creed, sex, national origin, ancestry, age, physical or mental disability, medical condition, genetic information, military and veteran status, marital status, pregnancy, gender, gender expression, gender identity, sexual orientation, or any other characteristic protected by local law, regulation, or ordinance.