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.

Software Solutions Architect - Remote

Theorem is a team of experts who set sound principles and best practices into action. Our team solves complex problems and builds amazing things for some of the largest global household names. We work with team members around the world and have offices in LA and New York. This is a remote first role.

This role will require some travel to client sites as necessary. You must be authorized to work in the United States.

As Software Solutions Architect, you are a polyglot engineer with a hunger for learning new languages and tools. You see yourself as a maker and you are interested in all steps of the process, from understanding the challenge, to designing, developing and deploying.

As a consulting Software Solutions Architect, you are always happy to be learning, choosing the right tool for the job but also becoming the foremost domain expert about our client’s business. You should always be able to answer the question: What have I learned this week?

Responsibilities and Duties

In this role, you will participate in the full life cycle of application development for our clients with duties including but not limited to:

Assist the sales team with uncovering and understanding technical requirements and producing estimates and risk assessments for new projects.

Become the domain expert for our clients’ business and gain a deep knowledge of their infrastructure and internal systems.

Research technologies and assess their fit for the challenge at hand.

Educate and train clients and stakeholders about the benefits of our approach to software and solutions development.

Assist the engineering team on product delivery by writing code and reviewing pull requests.

Collaborate with the team to create a successful project hand-off plan

Qualifications and Skills

10+ years of experience in software engineering.

Over 5+ years of experience directly consulting with clients.

Eager to learn new languages and technologies.

Proficient and experienced with at least 3 programming languages; JavaScript, Ruby, Elixir, Go, C# and Python are all a plus.

Strong experience designing and delivering features on both server and client sides of the development stack.

Experience with AWS, GCP, or Azure is nice to have.

Experience working with Chef, Ansible and other provisioning technologies is a plus.

BS of Computer Science or similar academic background is a plus.

Excellent skills in spoken and written English language.

Possess a strong and reliable internet connection.

Benefits at Theorem

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

Remote First - Work from your remote location when 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, 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 a 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.