Back-End Software Engineer

Senior
Remote

Questions?   Contact us!

Company

This startup 'digitizes' physical retail spaces to create more relevant consumer experiences and optimize sales for retailers. Their platform is purpose-built to answer the radical and permanent shift in consumer behavior by using real-time data and conditions to deliver localized, timely, and meaningful messages directly to customers on-site in physical retail locations. They have a unique approach to marketing automation in a retail environment takes advantage of digital best practices and tools: creating speed, convenience, and relevance. They merge all of the functionality of classic digital display networks (scheduling, tracking, device management, reporting) with the additional and unique capability of reacting to a broad variety of data, in real time. The company is a fast growing start-up, founded in 2014 and their underlying technology has been used at 1500+ restaurants. While the company is headquartered in San Diego, they operate a distributed, remote team, work asynchronously and trust one another to accomplish goals. Their founders have 20+ years of designing software for retail, we are backed by top investors, and advised by industry veterans.

Job Description

This position is back-end only and we have a varied technology set and problem space. One day you could be working on getting information into our data lake and our data warehouse, the next adding data to our data pipeline, or the next migrating to a Graph API. While this position is for back-end, we have both front-end and true-full stack positions as well. What You’ll Do: - Contribute to all aspects of the services and applications under the team’s ownership, which includes design, implementation, unit testing, refactoring, deployment, uptime, and performance of the services. - Improve internal team processes by keeping what's working, throwing away what's not. - Collaborate on the vision of the services and applications under the team's ownership. - Understand system authentication and authorization between multiple systems, servers, and environments. - Build technology the right way; for us, this means simple, well-tested services and tools that gradually grow over time, and that provide plenty of insight into production usage and performance. - Help other team members grow as engineers through code review, pairing, and mentoring. - Create unit and acceptance tests, in collaboration with the Quality Assurance team. ** Requirements ** What You’ll Need: - 3 - 5 years developing APIs (REST and / or Graph) or other back-end services using Node.js / JavaScript. - 1 - 2 years developing code that is deployed to AWS, in any capacity. - 1 - 2 years writing code in a true CI / CD process, using any available CI tool (Jenkins, Travis, Circle, etc.) - 1 - 2 years writing unit tests for Node, preferably using Jest. - Experience with the entire development lifecycle, from design through implementation and deploying through maintaining. - Proven ability to carry a feature from start to finish; including prototypes, design specifications, constructive coding, unit testing, and bug fixing. - Good diagnostic, analytical, design and communication skills. - Ability to craft simple and elegant solutions to complex problems. - Experience with Agile development processes (Scrum, Kanban). - Ability to work in a remote environment. * Bonus Skills: - Experience with Serverless Frameworks and AWS Lambda. - Experience with data lake solutions, such as S3 following an Apache Hive setup. - Experience with data warehousing solutions, such as Snowflake or Redshift. - Experience with NoSQL databases, such as AWS DynamoDB or MongoDB. - Experience with relational databases, such as SQL Server or Oracle. - Experience with caching solutions, such as Redis or Memcached. - Experience with event-based queueing architectures, such as AWS SQS, AWS SNS, or MSMQ. What You’ll Accomplish Within 7 Days > You’ll meet everyone you’ll work with; > Learn the tools we use; > Join all recurring meetings you’ll regularly attend; > Mirror existing team members and simulate work that you’ll take over; > Have committed code. Within 30 Days > Be fully self-sufficient on working with our engineering team; > Understand and proactively report on KPIs to how the business is doing. Within 90 Days > Suggest improvements to our processes and procedures; > Be a leader on our Engineering team.

Notes

Only candidates from United States, Canada, Argentina, Brazil, Chile, Colombia, Costa Rica, Ecuador, El Salvador, Mexico, Panama, Peru, Uruguay

Intermediate or advanced spoken English is required for ALL opportunities. If you can't speak English yet, please keep practicing and apply in the future.

Already have an account?

Sign In to load your details

Apply now

Please complete our online questionnaire

Upload your photo
First Name (Required)
Last Name (Required)
Email (Required)
Summary (Required)
LinkedIn Profile (Required)
GitHub Profile (Optional)
Stack Overflow Profile (Optional)
Portfolio (Optional)
English Resume (CV) (Required) Under 5MB please. English. PDF only.
Availability (Required)
Full-time Monthly Salary Expectations (in USD) (Required)
Country (Required)
Are you able to hold an interview in English? (Required)
On a scale of 1-10: what is your level of spoken English? (Required)
Required Skills (Experience in years) (Required)
Optional Skills (Experience in years) (Required)
How many years of your career have you worked remotely? (Required)
How many years have you worked professionally in software? (Required)
Why do you think you fit this position? (Required)