Goal
Salesforce Software Engineers at Harrier build high-quality, maintainable, and scalable Salesforce solutions. They focus on
implementation excellence
: translating shaped specifications into robust code, ensuring performance, reliability, and security.
They operate in close collaboration with Product Engineers, who lead framing and shaping. Software Engineers on their end, ensure
technical delivery
is executed to the highest standards, contributing their expertise in Apex, Lightning Web Components, Flows, integrations, and DevOps practices.
Salesforce Software Engineers spend most of their time
building
— coding, testing, debugging, and refining features — while collaborating closely with Product Engineers and QA. Their success is measured by code quality, predictable delivery, and the ability to evolve solutions over time with minimal technical debt.
Tasks & Responsibilities
1/ Implementation & Coding
* Translate shaped pitches, specs, and acceptance criteria into working solutions.
* Build Apex classes, triggers, and services following best practices.
* Develop Lightning Web Components and front-end interactions.
* Configure Flows, permissions, and declarative features where appropriate.
* Integrate Salesforce with external systems using APIs and middleware.
* Prototype to validate feasibility and unblock technical assumptions.
2/ Quality & Reliability
* Write automated tests (unit, integration, end-to-end) to ensure reliability.
* Conduct peer code reviews and contribute to shared coding standards.
* Monitor and improve performance, scalability, and maintainability.
* Participate in release management: CI/CD pipelines, Git branching, and deployments.
* Surface technical risks, debt, and improvement opportunities to Product Engineers.
3/ Collaboration & Delivery
* Work with Product Engineers to clarify specs, edge cases, and trade-offs.
* Collaborate with QA to ensure thorough test coverage and UAT readiness.
* Communicate progress, blockers, and risks transparently.
* Contribute to documentation of features, code, and architectural patterns.
* Support production releases and troubleshoot issues as needed.
4/ Continuous Improvement
* Stay current with Salesforce platform capabilities and recommend best-fit tools.
* Contribute to engineering practices: CI/CD, DevOps, and coding guidelines.
* Advocate for maintainability, security, and scalability in all solutions.
* Share knowledge with peers through reviews, demos, and technical discussions.
Competencies & Skills
Professional Skills
* End-to-end software engineering: Experience across the full lifecycle — requirements, design, coding, testing, deployment, monitoring, and maintenance.
* Back-end development (Apex): Strong in Apex classes, triggers, batch jobs, and integrations. Skilled at writing efficient, reusable code with robust unit tests, following Salesforce best practices, governor limits, and Enterprise Apex frameworks (e.g., FFLIB).
* Front-end development (LWC, JavaScript, Flows): Proficient in building responsive, user-friendly interfaces with Lightning Web Components and JavaScript. Comfortable using Flows for declarative automation.
* Software design & patterns: Apply OOP, abstraction, and enterprise design patterns to write clean, modular, testable, and maintainable code.
* Salesforce ecosystem knowledge: Working knowledge of key Salesforce clouds (e.g., Sales Cloud, CPQ, Marketing Cloud) and integration approaches within multi-cloud environments.
* Release management & version control: Proficient with Git, branching strategies, and CI/CD pipelines to ensure traceable, reliable releases.
* Technical documentation & standards: Write clear technical documentation and contribute to team coding standards to support long-term maintainability.
Soft Skills
* Communication: Clearly explain technical concepts and listen actively to requirements.
* Adaptability & learning: Open to new tools, methods, and feedback; adjust quickly to changing priorities.
* Teamwork: Collaborate effectively with Product Engineers, QA, and client stakeholders; share knowledge generously.
* Critical thinking: Break down problems, evaluate options, and align solutions with business objectives.
* Ownership: Take accountability for quality, deadlines, and continuous improvement.
Education & Experience
* Bachelor's degree in Computer Science, Engineering, or related field (or equivalent practical experience).
* Proven experience as a Salesforce developer (Apex, LWC, Flows).
* Experience in consulting or fast-paced delivery environments a plus.
* Track record of delivering reliable, production-grade Salesforce features.
Career Path (Start / Grow / Expert)
* Start (Associate Software Engineer): Contributes to feature development under guidance; learns Salesforce coding best practices; writes unit tests; gains confidence in declarative vs. programmatic trade-offs.
* Grow (Software Engineer): Independently implements full features end-to-end; participates in design discussions; ensures code quality and test coverage; mentors junior peers.
* Expert (Senior/Staff Software Engineer): Sets technical standards and patterns; leads complex implementations (integrations, architecture-heavy features); systematically reduces technical debt; coaches peers; drives DevOps maturity.
Success Metrics
* Code quality: Low defect rate, high maintainability.
* Predictable delivery: Features ship within scope, on time.
* Reliability: High test coverage, stable releases, minimal production incidents.
* Collaboration: Effective teamwork with Product Engineers, QA, and stakeholders.
* Technical evolution: Solutions scale, remain secure, and adapt to platform changes.
Tooling & Practices
* Version control & CI/CD — Git, pipelines, automated deployments.
* Automated testing — unit, integration, regression tests.
* Salesforce best practices — Apex patterns, LWC modularity, Flow governance.
* Monitoring & debugging — log analysis, error handling, performance tuning.
* Documentation — code comments, readmes, technical diagrams.
Interfaces (RACI Highlights)
* Shaping — Product Engineer (A/R), Software Engineer (C), QA (C).
* Build — Software Engineer (R), Product Engineer (A/R; support coding), QA (C).
* Test/UAT — QA (R), Software Engineer (C), Product Engineer (A).
* Release — Software Engineer (R), Product Engineer (A/R), QA (C), TAE (C).