Software Engineer Lead
Sorry, but it’s closed
At SproutLoud our people and culture are central to our success. You’ll find an environment that is 100% jerk free, where people share the values of putting clients first, being accountable, caring about your team and the quality of your work, inspiring others, and growing in your level of expertise and professional development. Perhaps that's why for two years running (in both 2018 and 2019), we are ranked among the Top Work Places by the Sun Sentinel.
SproutLoud is a Software plus Services platform that services the local marketing needs of large organizations. Called Through-Channel Marketing Automation (TCMA), we help our clients manage their brands and distribute their marketing resources locally - through sales channels, franchisees, chain-retail locations, dealer networks, value-added reseller (VAR) programs, and field employees/offices - with a comprehensive distributed marketing solution. SproutLoud solutions manage brand compliance, increase speed to market, automate manual tasks, and provide robust reporting and business intelligence.
Identified by Forrester Research in 2018 as the Third Stage for sales and marketing leaders, SproutLoud is on the forefront of the TCMA industry. We need a great team to help us execute - so come join us!
As a Lead Software Engineer, you will take part in the development of software for SproutLoud’s Through Channel Marketing Automation SaaS Platform. In this role, you will be the leading engineer in a cross functional team developing and running highly complex cloud-native applications and services, while meeting the business requirements and improving overall user experience.
The Lead Software Engineer is a self-starter with a well rounded set of technical, management and planning skills. You are a hands-on leader of a cross-functional team and you are responsible for guiding, supporting and coaching this group of highly skilled individuals. You use your wide technical and business acumen spanning multiple layers of SproutLoud’s software architecture and business services to solve complex challenges our customers have. You partner with engineering and other development teams to design software solutions that follow the enterprise architecture vision, coding standards, and adhere to SproutLoud’s performance, scalability, security and data privacy guidelines,
You are expected to contribute more than just code. You’ll be involved in defining how things work, what they do, and why we do that instead of something else. We also expect you to share your knowledge and expertise with everyone else. Your ability to creatively collaborate and execute team goals will affect scalability and directly contribute to the company's product and the features our team builds. You will collaborate with product, engineering and other development teams in SproutLoud to build cloud-native applications and services using modern web technologies in a dynamic and agile environment.
You will be part of a fun, diverse team that seeks challenges, loves learning and values teamwork. You will have opportunities for learning, mentorship, career growth, and work on high-business impact areas.
Constantly seek to deliver value to SproutLoud’s customers
- Actively partner with Product, Ops, Design and Tech stakeholders to create and maintain a unified product roadmap that aligns with business goals
- Work with peers to develop product roadmaps at the team level, including but not limited to sequencing, prioritization and risk management
- Partner with stakeholders and technical leads to execute product roadmaps by crafting delivery strategies, identifying dependencies and involving customers in early, incremental delivery of consumable solutions
- Facilitate epic/feature level backlog refinement and prioritization by applying facilitation and dependency management techniques to maximize flow of delivery
- Understand and keep up to date with SproutLoud’s architecture and the underlying technologies supporting it
Lead cross-functional team following company values
- Ensure impediments are visible and tracked through to resolution, escalating when necessary
- Demonstrate critical thinking and the ability to bring order to unstructured problems.
- Implement a continuous improvement program throughout the delivery of project features to production
- Guide the agile team development efforts to ensure that issues are closed, tests are written, and feature work is on-track.
- Review your work and that of others for quality, accuracy and relevance.
- Able to read situations and modify behavior to build quality relationships.
- Uphold the SproutLou's code of ethics and values.
Coach, challenge and empower your teammates
- Use feedback and reflection to develop self awareness, personal strengths and address development areas.
- Delegate to others to provide stretch opportunities, coaching them to deliver results.
- Review individual performance, mentor, and coach teammates.
- Set individual goals and conduct regular check-ins with teammates (one on one).
- Seek and embrace opportunities which give exposure to different situations, environments and perspectives.
- Use straightforward communication, in a structured way, when influencing and connecting with others.
- Contribute to the full development life cycle of features and products in our SaaS Platform aiming to meet or exceed customer SLAs.
- Participate in the design, development and implementation of large-scale distributed systems using cloud-native principles and technologies.
- Participate in the design, development and implementation of applications and services able
- to process large volumes of data, focusing on security, scalability, latency, and resiliency.
- Design, develop, test, deploy and maintain user centric, fast and reactive interfaces using modern web technologies.
- Design, develop, test, deploy and maintain fast, secure, scalable and highly available backend services in the public cloud (GCP) leveraging modern cloud-native technologies, microservices and DevSecOps best practices.
- Write scalable, performant, readable and tested code following standards and best coding practices.
- Develop test strategies, use automation frameworks, write unit/functional tests to drive up code coverage and automation metrics.
- Participate in code reviews and provide meaningful feedback that helps other developers to build better solutions.
- Present your own designs to other development teams, engineering or stakeholders and review designs of others.
- Contribute relevant, clean, concise and quality documentation to SproutLoud's knowledge base to support/increase information sharing within the organization.
- Learn about SproutLoud’s business, master our development process, culture and code base, then improve it.
- Establish strong working relationships at all organizational levels and across functional teams.
- Collaborate with the interna/external stakeholder and product team to gather functional and non-functional requirements and identify the business requirements.
- Work closely with product owners and a wide variety of stakeholders to analyze and break down large requirements into small, simple, workable deliverables.
- Ability to work in a fast paced environment and deliver incremental value iteratively and continuously.
- Take responsibility and ownership of product timelines and deliverables.
- Mentor others in development technologies, tools, and processes.
- Bachelor's Degree in computer science, computer science engineering, related field, or equivalent experience
- 8+ years of active engineering experience in a complex environment and/or comparable experience such as successful engineering and deployment of enterprise-grade technology assets in an agile product environment
- 8+ years of hands on experience with Object Oriented Programing and OO Design patterns
- 8+ years of hands on experience with web development frameworks
- 8+ years of hands on experience with RDBMS
- 6+ years of hands on experience with modern front-end frameworks
- Expertise in Data structures and Algorithms.
- Expertise in web principles, standards and fundamental technologies.
- Proficiency in various layers, including application, presentation, network, and data layers.
- Proficiency designing, building and deploying scalable, highly available full-stack solutions.
- Proficiency on RDBMS and NoSQL databases
- Proficiency consuming web services (REST, SOAP) and integrating with third-party systems.
- Proficiency designing, developing, testing and publishing RESTful services using OpenAPI.
- Proficiency in public cloud providers (AWS, Azure, GCP, etc). Emphasis on Google Cloud Platform.
- Proficiency in Test Driven Development (TDD) or experience with automated testing including unit and functional testing.
- Proficiency in Continuous Integration, Continuous Delivery and DevSecOps best practices.
- Competency on OWASP security principles, understanding accessibility, and security compliance.
- Competency on Unix and command line tools.
- Competency on UML or C4 models.
- Competency on System Design, Domain Driven Design and Microservices architecture.
- Competency on containers (Docker) or Kubernetes.
- Competency on user authentication, authorization, including OAuth 2, OpenID Connect, SAML 2, Single Sign-On (SSO), and IAM
- Competency on the twelve-factor methodology for building SaaS apps.
- Experience with the entire Software Development Life Cycle (SDLC), Agile Development, SCRUM, or Extreme Programming methodologies
- A passion for solving problems and providing workable solutions while demonstrating the flexibility to learn rapidly and continuously new technologies that meet business needs.
- Strong communication skills (English) as well as experience in mentoring and educating your peers.
Preferred Knowledge/Skills :
- Expertise in one or more Object Oriented Programming languages such as Java, PHP, C++, C#, Python, Ruby, etc. Emphasis on Java, PHP and Python.
- Expertise in one or more web development frameworks such as Zend, Laravel, Lumen, Symfony, Spring, Flask, etc. Emphasis on Zend, Laravel and Spring.
- Expertise in one or more front-end frameworks such as AngularJS, React, Vue.js. Emphasis on Vue.js.
- Expertise in one or more Template Engine/Processors such as Smarty, Blade, Twig, Mustache, Handlebards, etc. Emphasis on Smarty and Twig.
- Expertise in one or more testing frameworks such as PHPUnit, JUnit, Codeception, Jest, Cypress, Mocha, Chai. Emphasis on PHPUnit, JUnit, Codeception or Jest.
- Proficiency in SQL/PLSQL, schema design, and one or more RDBMS such as PostgreSQL, MySQL, Oracle, SQL Server, etc. Emphasis on PostgreSQL.
- Proficiency in one or more Version Control Systems such as Git, SVN, CVS, Team Foundation. Emphasis on Git.
- Proficiency in one or more modern CSS Frameworks such as Bootstrap, Foundation, Bulma, Materialize CSS. Emphasis on Bootstrap.
- Proficiency in one or more modern CSS precompilers such as Less or Sass.
- Proficiency in full-stack observability principles (tracing, metrics, logging) and one or more observability tools such as Apache Skywalking, Prometheus, Grafana, Graylog, and StackDriver.
- Proficiency in one or more testing, debugging and optimization tools such as JMeter, Postman, Developer Tools, YSlow, HTTPWatch, etc.
- Competency in distributed or NoSQL databases such as CockroachDB, MongoDB, Cassandra, Couchbase, DynamoDB, Redis, etc.
- Competency developing Event-Driven apps using message brokers such as Apache Kafka, Pulsar. Emphasis on Apache Kafka.
It’s a plus if you have any of the following skills:
- Experience developing, publishing and running microservices .
- Experience with Service Mesh such as Istio or LinkerD. Emphasis on Istio.
- Experience with API management tools such as KrakenD, APIGee, Kong, etc. Emphasis on KrakenD.
Benefits and Perks
At SproutLoud, we continue to cultivate an environment that aspires to be one of the best places to work - period. SproutLoud pays the full cost of some benefit programs with our team members. Benefits include health-care coverage (Poliza de Seguro Sura), transportation/parking benefit, maternity and paternity benefits, professional development, generous paid time off (PTO) policy, employee and client referral programs, and wellness initiatives. We also have fun along the way - a partially paid gym membership, community involvement events, creative recognition programs, breakfast Fridays, BBQ/picnic summers, annual kick off events, monthly happy hours/team building activities, casual dress code, etc. And because we believe in keeping the innovative spirit alive over the long haul, we provide a paid four-week sabbatical leave after every sixth year of service for team members to recharge, renew and reboot.
Having a career at SproutLoud means you are on a team that helps each other win. You will be in an environment that is 100% jerk-free, and share values with others who are accountable, care, inspire, elevate and grow. Come grow with SproutLoud!