About this internship
For most of its history, software engineering has been the work of translation. A person who understood a problem handed it to a person who could write code, and the second person turned that understanding into instructions a machine would follow. The instructions were the artifact. The understanding lived upstream and rarely survived the trip intact.
That arrangement is ending. Software can now generate working code from a clear description of what it should do and why. The scarce skill is no longer writing the instructions. It is stating the intent precisely enough that the rest can be handed to a machine. This is what spec-driven development means, and it changes who is good at this work.
Stating intent well is not a coding skill. It is the ability to understand a problem, and to understand your own understanding of it at one level above. To notice an assumption nobody made explicit. To find ambiguity in a sentence before it becomes a defect. To know what a request means and not only what it says. Philosophy, psychology, linguistics, law, and design train these habits as deliberately as computer science trains data structures.
So, this internship is open to students from any field. We are interested in how you think, rather than the specific field you come from.
What you would work on
Who we are looking for
We are not looking for a finished engineer. We are looking for a way of thinking.
Helpful, but not required
What we offer
A note on what this is really about
Software used to ask people to think like machines, step by step, in the order the machine required. That is the part that is ending. The work that matters now sits upstream of the code, in the clarity of what we are trying to build and why. If you are studying how people think, how language carries meaning, how arguments hold together, or how systems behave, you have been preparing for this without calling it that. We would like to hear from you.
---------------------
Relevant fields of study include, among many others