Full-Stack Software Engineer — Experienced (Actifai)

Washington, DC /
Actifai – Software Engineers /
Actifai (a Foundry portfolio company) is seeking experienced data scientists.
Please note that we have a separate hiring process for candidates directly from college, and will not be accepting undergraduate submissions to this posting.

The Company
Actifai is an artificial intelligence company. We help clients – primarily those in the cable and telecom industry – optimize their high value, high leverage decisions. Typically this includes things like customer acquisition, customer retention, and customer development (upsells/cross-sells).  

Actifai was created in the Summer of 2020 in partnership with a major cable operator.  

Actifai is part of Foundry.ai, a technology fund/studio that creates AI software companies in partnership with large global enterprises. Foundry’s operating companies focus relentlessly on ‘practical’ applications of AI that cut through the hype cycle and drive immediate, measurable, and recurring improvements to financial performance.  Foundry is backed by approximately $100MM in capital from leading private equity and venture capital partners. 

The Position
The Full-Stack Software Engineer will participate as a key team member in envisioning, designing, coding, testing and improving the products that are central to our mission as a company. They will work in continual collaboration with data scientists and partner company stakeholders.
The Full-Stack Software Engineer will wear many hats. Some key challenges will include: working with a modern tech stack built on AWS with Python, Node.js, Terraform, Docker and Typescript; building new front-end and back-end features, working with UX designers to create delightful and highly-performant products; instilling best practices into the development process, including automated testing, code organization and style, and application architecture within an agile environment; evaluating potential new technologies; writing code that builds new companies and products.

Successful entry-level candidates will likely have many of the following characteristics:

    • A full-stack generalist with 2+ years experience building applications
    • Proven ability in writing clean, scalable code with significant experience in one or more programming languages
    • Solid knowledge of programming fundamentals - algorithms, data structures, design patterns, and paradigms
    • Excited to move fast and know how to prioritize and make critical decisions
    • Comfortable with and curious about working outside of a traditional narrow engineering role
    • A self-starter: you have started something on your own before -- an open-source project, a new project within a company, a start-up, or something else
    • Can effectively communicate software engineering issues to business professionals, and business issues to software engineers

Senior candidates will often differentiate themselves with some of the following:

    • Proven capability in creating a successful software product; owning/implementing key decisions on features, architecture, scaling, and profitability. Particularly in AI or solving a novel problem.
    • Experience planning and executing work modules that span several months
    • Broad skillset that blurs the lines between software engineering and data science
    • Exceptional computational background (e.g, significant contribution to libraries/modules and/or has a relevant PhD)
    • Exceptional business background (e.g., managing client relationships and scoping projects while leading an engineering team, and/or MBA from a leading program)
A successful candidate will be comfortable in a fluid, entrepreneurial environment, but one that is focused on developing reusable software applications, not bespoke analytical solutions.
The programming languages and tools used most frequently at Actifai are: Python, SQL, Node.JS, R, Github, AWS, Docker and shell scripts. We do not expect candidates to be experts in all of these, although a strong proficiency in Python and the ability to learn new languages as needed are common.

Finally, we highlight that excellence has no single mold, particularly in a field as rapidly evolving as AI when looking for candidates that mix business intuition with coding skills. We welcome applications from candidates with diverse backgrounds.

Academic Qualifications
Very strong CS, math, physics or similar degree from a leading program. PhD and MBA applicants actively considered.

The Interview Process

Actifai interviews share some common features with other companies hiring Software Engineers and Data Scientists, and have some important differences. These differences are a reflection of the roles our employees play, which are focussed on the early stage development of companies where idea generation, product-market fit and partner interaction may be significant aspects of their jobs.

All our roles have technical interviews that look for core competencies in the day-to-day tools of Software Engineering, and the ability to discuss technical work, formalize generic problems into a quantitative system, problem solve, and act as part of a team. Many of our interviewees will recognise these as common topics for Data Scientist and Software Engineering roles, although they may find that we ask somewhat more open-ended questions, care more about collaboration, or draw on a mixed pool of skills.

We also ask case-study type interview questions, which are less usual for technical roles.  For those who have not heard of these interviews, case studies are open-ended business problems that do not have set answers.  They typically require the interviewee to think through the provided information and the context of the problem, decide what is most important, and then build a structure to answer the most important part of the problem (asking the interviewer for further information where appropriate). We ask case studies because Actifai is solving problems that haven't been solved before, and these problems require business-orientated problem-solving and the ability to prioritize in a world of uncertain information and constrained practical actions. 

Our staff will often describe this unique mindset as not only wanting to write code to solve a problem, but also being able to define the problem that we are solving.