**About CodeYam:**
We are building a robust software simulator to accelerate software
development.
Simulation is a powerful tool for technology R&D, and has been leveraged to
great effect to help builders, from the Wright brothers leveraging a wind
simulator and becoming the first to flight to the Waymo team simulating road
conditions to test their self-driving cars.
However, “software simulation” has never before existed in a robust manner
without custom development. AI now makes it possible to simulate any software
effectively just by analyzing code changes. We believe that this unlocks
radical improvements in software development.
Our mission with CodeYam is to improve how software developers, technical
leaders, and their teams understand, test, and demo code changes. We believe
that this will dramatically improve how software is built and how software
teams work together.
You can see a demo of how CodeYam can help with pull requests
[here](https://blog.codeyam.com/p/video-demo-of-the-codeyam-software). This is
just one early example of how a software simulator can impact the overall
process of developing software.
We’re a small, fully remote Americas-based team backed by some incredible
investors and excited to bring software simulation to software organizations,
from startups to the Fortune 500 companies.
**About the role:**
We are looking for a founding engineer who can be a thought partner to our CTO
as we work towards building the first robust software simulator. Our goal is
to make software simulation as fast and effective as possible, and an
incredible user experience. To achieve this requires both deep creativity and
technical know-how.
As a founding engineer, you will tackle complex challenges that require clear
thinking and effective communication. You feel comfortable speaking up and
expressing ideas. You can have strong opinions on how to solve a problem, but
are not stubborn when presented with new information. You are excited to be
part of an empathetic team, and that empathy extends both to the team and our
collaboration and the customer experience in deep ways.
You’ll be writing code most of the day for the near term, but you likely also
have management experience to support a growing team over time. If you're not
comfortable getting into the weeds of the code and wrestling with a complex
system then this isn't the right position. There's more wiggle room on the
management side of the equation (there is room to remain an IC going forward),
but skill hiring and managing people is a plus.
**What we are working on:**
With CodeYam, we are leveraging static code analysis and AI to simulate
software. This means that we isolate every function in an application and
analyze it to understand what data will cause the function to behave
differently. We then use the generated data to run the actual code in a
sandboxed environment and capture the result as both interactive and static
assets.
So on a daily basis you’ll be helping us:
* Think about how to better use static code analysis to support the simulations and writing code to execute those ideas.
* Think about how to better use AI to support the simulations and writing code to execute those ideas.
* Think about how to optimize and parallelize the simulations’ analyses so we can deliver high quality simulations faster.
* Think about the user experience of leveraging these simulations in the software development process, looking for ways to benefit everyone from the developer to the PM to the designer to the CEO.
* Think about the best architecture to expand the simulator into more languages and frameworks.
**Technology stack:**
Right now we’re focused on simulations for typescript applications and so we
are both writing the simulator in typescript and using the typescript AST a
lot. Strong familiarity with typescript is a plus, strong familiarity with the
typescript AST is an added plus.
In the future we’ll be pushing into other languages, so comfort with a range
of languages is also a plus.
Other than the code, we use a postgres database and leverage a number of AWS
services to orchestrate the simulation analyses. Comfort with these
technologies is a plus but is not a necessity.
**What you can expect from us:**
We're a fully remote team and try our best to accommodate different schedules.
We're all very empathetic, so team camaraderie is strong and everyone is very
respectful of each other. We do our best to maintain a reasonable work
schedule, but we are a startup and need to move quickly. We try to keep
mandatory meetings to a minimum (right now, our one daily meeting is stand up)
and trust people to make decisions on their own as much as possible. Strong
and clear communication, both sync and async, is critical.
As a startup and a small team we won't be able to provide a lot of guidance
around the work. We discuss priorities and are always here to help you
understand how something works or why something exists, but won't be able to
provide a lot of support in how to approach building things. You'll need to be
comfortable with doing research, sharing insights, making architectural
decisions, building a well-organized and well-tested application, etc. in
order to effectively contribute (note: as a startup not all of the code is
well-organized or well-tested yet, but we are working to improve it).