Software Developer/ Engineer/ Architect

Java Full Stack Senior Software Engineer

The Salesforce Omni-Channel team is on the forefront of bringing real time communications to the Salesforce Service Cloud by providing our customers’ Agents a world class, unified interface for delivering customer service.  Join our team of talented engineers and architects as we pioneer real time customer service on and off CRM Core stack.  You will develop side-by-side with engineers on the real time platform in support of Omni-channel routing for many different service channels such as Case, Text, Voice and Chat.  You will be part of making the real time platform performant, scalable, and continuously available (zero down time).  We deliver over 3M requests for support a day so once in a million happens every day and provides us with the context for everything we do.  Come join this dynamic and cutting edge team!

As a member of this team, you will define and implement the technical infrastructure required to merge the ever-growing B2C scale communication channels with the highly programmable Salesforce enterprise platform. To achieve scale, you will be working on a complex distributed, multi-tier platform using technologies such as Kafka, OpenAPI/Swagger and other open source Java libraries.  At times, you will need to build things from scratch, but more often than not, it will be extending and enhancing existing art. You will be concerned with availability, latency, consistency, and resiliency.  Although most server-side code is in Java, you will also be writing javascript to achieve micro-second real-time push communications and build UI components that customers will love.

We are a hybrid engineering organization which means that there is no distinction between Developers and Quality Engineers; we’re all simply Engineers and responsibilities are shared amongst all team members regardless of the type of work.  We believe in collaboration, trust, transparency, service ownership, accountability, calculated risk taking, continuous improvement and giving back/volunteerism.  We celebrate our wins and learn from our failures, big and small. 

Being innovative while delivering fast can only be achieved if focus is kept on building the things that matter most.  We succeed as a team by operating in short release cycles, aggressively prioritizing, applying agile methodologies, incorporating continuous feedback and employing data driven decisions.

We seek individuals who are curious, have a passion for learning, enjoy problem solving and thrive on delivering with your team.  Above all, we expect our engineers to figure out what should be done and get it done within the spirit of Salesforce -- this requires thoughtfulness with a bias towards taking action and assuming responsibility.

Main responsibilities

  • Collaborate with Product Managers, Architects, and Engineering leaders to define, architect and implement various Omni features from the UI all the way to the database.
  • Drive quality by test case authoring, writing unit, functional, and integration tests automation, including negative and disruptive testing. We are a hybrid team, and quality assurance is not a separate responsibility.
  • Practice Service Ownership of our functionality to ensure 24*7 availability by actively participating in production support, release and on-call duties.
  • Excel as an engineer and be a productive member of the team where you conduct design and code reviews and provide leadership and mentorship.

Requirements

  • 4-7 years of software development in a production environment
  • Deep knowledge and experience with Java and Object Oriented principles.  Experience with javascript is desired but not required; all successful candidates will be expected to learn, however.
  • Experience with multi-threading programming
  • Experience with message-driven, synchronized and distributed systems
  • Experience with test frameworks such as  junit, testng, and mocking frameworks such as mockito or powermock.

Desired Skills (not required for hire, but expected for the role)

  • Experience with document and relational RDBMS design as well as knowledge of SQL and PL/SQL is desired but not essential.
  • Practical experience with Service Ownership
  • Proficient with Agile processes, continuous integration/delivery and test automation.
  • Previous experience with Kafka, OpenAPI and microservice design/architecture is a big plus.
  • Salesforce platform/ecosystem/implementation knowledge (developer or admin) is nice to have.
  • Familiarity with AWS/Azure/GCP/Heroku is a big plus.