Thanks for your interest in joining the Theorem team. We solve engineering problems for some of the biggest brands in the world, and build the foundations for some of tomorrow's most exciting startups. We'd love to learn more about you.

Theorem is an equal opportunity employer. Theorem is committed to employment diversity with respect to all aspects of employment. All decisions regarding recruitment, hiring, promotion, compensation, employee development decisions such as training, and all other terms and conditions of employment, will be made without regard to race, religious beliefs, colour, gender, sexual orientation, marital status, physical and mental disability, age, ancestry or place of origin.

Experienced Backend Engineer - Go

Do you enjoy collaborating in a consultative environment and guiding people using best practices to achieve great results? Do you want to influence and contribute to the growth of a high performing, quality focused team? If so, Theorem wants to know more about you!

Theorem is a software consultancy that believes in simplicity in software design. We deliver solutions for startups and enterprises - You can see our portfolio to learn more about the results we’ve delivered for our clients.

This is a remote role. We are a remote first company with offices in Los Angeles and New York. We have team members all around the world.

Please note this role may require occasional travel to client sites within the USA. Candidates located within UTC - 3 to UTC - 8 will be given priority for team time zone alignment.

At Theorem you can make a significant impact while enjoying a flexible work schedule.

Work with product designers and clients to clarify requirements, prototype functionality and build features and products

Participate in code and design reviews, teaching and learning from other engineers

Plan, estimate and prioritize work in a collaborative and distributed team

Requirements:

5+ years of relevant professional experience

1+ years working with Go and 3+ with at least one other programming language

Previous experience collaborating on highly distributed teams

Possess a passion for software development

Possess a drive to get things done

Experience working within an Agile/Scrum environment

Open-minded and demonstrates a passion for continuously learning

Possess a strong and reliable Internet connection

Align a portion of your day with the business hours of Pacific Time Zone - UTC - 8

Skills that would be nice to have:

Previous consulting experience

Experience building service-oriented architectures

Experience building non-REST APIs such as GraphQL

Experience with JavaScript (ES6) and modern web development tools such as Webpack, React, and GraphQL

About Theorem

Theorem is a team of experts steeped in the theory and practice of mathematics and computer science. This is the core of our iterative, hypothesis-driven process. We are craftspeople who build amazing products for some of the largest global household names. We believe in cultivating a high degree of leadership and technical excellence in all of our team members. Together we build applications that solve our customers' business-critical problems.

While we have offices in LA and New York, we work remotely with team members around the world

100% REMOTE - Work from your remote location if you are not called to travel to client site

TEAM RETREATS - We get together at an inspiring location to meet, work and play

Theorem expects team members to be honest, kind, trustworthy, and operate with integrity. Discrimination and all unlawful harassment (including sexual harassment) in employment is not tolerated. We encourage success based on our individual merits and abilities, and all decisions regarding recruitment, hiring, promotion, compensation, skills development decisions such as training, and all other terms and conditions of our relationship, will be made without regard to race, nationality, national origin, citizenship status, employment engagement status, ethnicity, ethnic origin, color, creed, religion, belief, age, marital status, pregnancy, gender, gender identity, sexual preference, lifestyle, social class, military status, disability, physical features, or any other protected status. We oppose all forms of unlawful or unfair discrimination.

Theorem is an equal opportunity employer.

No statements by Theorem are intended to create an offer of employment unless made in writing signed by an officer of the company and no offer shall become effective unless countersigned by the prospective employee.

What’s your proudest achievement? It can be a personal project or something you’ve worked on professionally. Just a short paragraph is fine, but we would love to know why you’re proud of it.

Tell us about a technical book or article you read recently, why you liked it, and why we should read it.

Write some code, that will flatten an array of arbitrarily nested arrays of integers into a flat array of integers. e.g. [[1,2,[3]],4] -> [1,2,3,4].

Your solution should be a link to a gist on gist.github.com with your implementation.

When writing this code, you can use any language you're comfortable with. The code must be well tested and documented. Please include unit tests and any documentation you feel is necessary. In general, treat the quality of the code as if it was ready to ship to production.

Try to avoid using language defined methods like Ruby's Array#flatten.