TREN
Careers

The software written here speaks only as far as it can carry its own claim.

Three roles are open, and all three are below. What stood in front of them stays on the page: what a sentence has to survive here before it earns the right to be said — and the day that taught us. The order is a choice. Before you read the postings it is worth knowing the standard the work in them is held to.

The figures below were counted from this site’s own check and control lists. None of them is a customer result and none of them is a performance claim.

How correctness is established

A check is not a check until it has been seen to fail.

The four below are written to be read in order: the first is something that happened, the other three are what changed because of it.

All six passed it; the page had no head block.

After the pages were split into many parts, one template lost the line that pulled in its head. What was left had no doctype, no document element and no head block — and all six of that day’s checks passed it. None of them was misbehaving: each read the property it owned and found it clean. All six were blind to the same thing, and adding a seventh check of the same kind would not have found it.

Every check is broken on purpose — and the right one has to fail.

Every check has a control that breaks, on purpose, the thing the check was written for. The control is not satisfied by the build stopping: it looks for the failure of the check that was supposed to fail. A build stopping for any reason at all is a bar low enough to clear by accident. If a break trips some other check instead of the intended one, the intended one is still untested, and the control says so. Where a break legitimately reaches two checks, the second is declared — and declaring it adds an assertion rather than removing one: the second has to fail as well.

The controls run in a throwaway copy of the tree.

Each control runs in a single-use copy of the repository; the working tree is never touched. The obvious implementation — break it, run it, put it back — loses the race with an interruption, and can leave a deliberately corrupted file behind for someone to commit. The second gain matters more: the control runs the build as an actual program and reads its output, rather than calling the check directly. A control that calls the check proves the check works; it does not prove the build is wired to it.

The counter does not state its number. It counts.

The check count used to be a constant kept by hand. A check was added, the constant was not touched, and the build printed fourteen underneath fifteen passing lines it had just printed itself. The only thing that was wrong was the summary — and the summary is the only part most readers look at. That was the scoreboard committing, in its own table, the defect one of the checks exists to stop a page away: a count kept as a memory beside the thing it counts, staying still while the thing moves. The number now comes off the run’s results list, and asked before the run has happened the counter refuses to answer rather than handing back a plausible zero.

Today’s table: twenty-six checks, eighty-eight controls. Eighty-six of the controls break one of the checks on purpose, and every one of the twenty-six has at least one. The spread is uneven on purpose — one control for the first check, twelve for the one that keeps internal names off the reader’s side. The count follows where the risk is.

The rules the product and this site are bound by →

What this discipline is aimed at

Not fastidiousness — a data problem the sector has measured.

The question an engineer should ask is whether this discipline is aimed at anything, or whether it is fastidiousness with a budget. The two boxes below deliberately stand apart. The one on the left is a published industry finding, the one on the right is our own work; the left is not our result.

SECTOR FINDING

14.1 hours per week per person were reported in non-optimal activity, 5.5 of them spent looking for project data and resolving conflicts. In the same study, an average of 52% of all rework globally was attributed to poor data and communication.

PlanGrid & FMI · Construction Disconnected, 2018. This is self-reported survey data (599 respondents), and PlanGrid, which commissioned the study, is a construction software company — so the figure was gathered by a party measuring the problem its software claims to solve. It is placed here as the industry’s own statement together with that caveat, not as a measurement of ours.

WHAT VALEUR DOES

Valeur makes no claim to move that ratio; we have not measured it, and we do not credit ourselves with what we have not measured. What we do is this: where a number came from is not a note attached beside it, it is part of the number. On the forecasting side every driver carries one of three provenance labels and the headline is computed from the first two only; a flagged assumption is not deleted, it stays visible under a heading of its own. Most of the code to be written here is about keeping that sentence true on every new screen as well.

The two boxes stand apart so that the seam between them is visible. The figure on the left is the industry’s own statement and carries its caveat in its own text; the sentence on the right is our work. Having to build that distinction into the page is, in fact, this page’s subject.

Domain knowledge

The domain sits inside the code, named.

There is a surface to read, not a domain to guess at. All three are published on this site with a page each; the sentences here only show what they look like.

The notice calendar

Twenty-three clauses in a single dictionary; each one carries the triggering event, the party the notice goes to, the day count and the consequence of being late. The contracts manager page →

The cumulative impact table

Sixteen factors, three severity steps per factor, forty-eight coefficients; where more than one factor is marked, the overlap adjustment that follows comes back as a line of its own in the output. The claims director page →

Certificate arithmetic

The operations from gross to payable run in a fixed order, and every deduction is written down together with the base it applies to. The quantity surveyor page →

You do not need to be a construction lawyer to write this. You do need to write knowing that the line changing a clause’s day count changes somebody’s money. That is the part that is interesting.

Open roles

Three openings. Each one is for a particular place where the product can be wrong.

What the three have in common: none of them is a decision to grow a team; each is a particular place where the product can be wrong. Every posting starts with that place, goes on to what is done about it, and ends with three questions put to you. The experience thresholds are not negotiable and each posting says why. The questions are not decoration either: the one long field the application form insists on is your answer to the questions of the posting you pick.

AI / Machine Learning Engineer

Istanbul or remote · full-time

The most fragile place in the product is where structure is pulled out of free text. A contract clause, a piece of correspondence, a site record — none of it arrives labelled for you, and every field taken out of it becomes the input to a determination. A notice date extracted wrongly produces a wrong result in a system where every control described above is working correctly, because those controls protect the arithmetic and not the input.

So a model output here is not an answer, it is a proposal with its grounds attached. Every extracted field has to be able to point back at the place in the text it came from; where the system is not sure it returns empty rather than printing a plausible value, and that preference is already coded into the product in three separate places. Most of the work you would write is that: wiring what a language model produces into a structure that knows when not to trust it. The same distinction holds on the scenario side — a number cannot reach the screen without carrying the assumption it came from.

Required

At least 5 years in AI or machine learning. This threshold does not bend: most of the decisions here are about when a model is wrong, and that judgement is not acquired by reading — it is acquired by working with models that were.

Also looked for

Having pulled fields out of unstructured legal or technical text; having tested an extraction path against an independent control rather than against a number it computes itself; a written opinion on when refusing a model’s answer and falling back to a rule is the right call. None of these is a requirement.

Three questions you answer when you apply

  1. Extracting a field from unstructured text, when do you stop trusting the model — and what measurement do you base that on?
  2. You have an accuracy figure, and every error underneath it comes from the same kind of clause. Do you fix the figure or the path? Why?
  3. Describe a job where a rule-based solution was more correct than a model-based one. What made the rule win there?

Contract Engineer

Consultant or full-time · location flexible

Every determination in this product rests, in the end, on a reading of a contract. Each clause in the notice dictionary carries its triggering event, the party the notice goes to, the day count and the consequence of being late — and all of that is something someone read and decided somewhere. This is where the software is at its most dangerous: a wrong reading never shows up as an error for as long as the code is working. It shows up as a confident output.

The person this posting is for owns that reading. The work is auditing the product’s contract logic against FIDIC line by line: which clause is conditional on what, at what threshold an entitlement arises, and whether the output the product produces would stand up in a dispute. This is not a review role — what you object to changes, and the record of why it changed stays. The people writing the software have to learn your language; you do not have to write code.

Required

At least 15 years in contract engineering or claims engineering. The threshold is not about seniority, it is about exposure: someone who has watched their reading of a clause be refused by the other side explains that reading differently.

Also looked for

Having worked with at least one standard form family besides FIDIC; having sat on both the preparing and the assessing side of a claim; having seen the consequence of a missed notice window in its outcome rather than on paper. None of these is a requirement.

Three questions you answer when you apply

  1. The employer does not treat an instruction that slows the works as a variation. You are on the contractor’s side and the notice window is still open. What is the first sentence you write?
  2. The software reads a clause differently from you, and the output comes out in the contractor’s favour. What do you do — and which document do you rest that decision on?
  3. In a claim, which piece of evidence is most often missing, and what is usually the reason it is missing?

Civil Engineer

Consultant or full-time · location flexible

A piece of software goes wrong about site work by assuming a sequence that does not happen on site. A progress figure and physical realisation are not the same thing; a quantity depends on the moment and the method it was measured by; an item counting as complete is a threshold the site accepts, not the contract. The product assumes all of those distinctions somewhere, and whether the assumptions are right can only be measured by somebody who has done the work.

The work is holding the product’s site side against reality: auditing the inputs to the certificate arithmetic, the measurement conventions, the sequence of works and what a progress figure actually means — and naming any convenient fiction where there is one. A screen looking plausible is not enough; what it proposes has to be something a site manager could sign. It sits deliberately apart from the contract-side audit, because the two are blind to different things.

Required

At least 15 years in civil engineering, with that time spent on the site side. The threshold is not a seniority marker: somebody who learned why a sequence of works breaks by reading about it from an office cannot recognise the thing that breaks it inside a model.

Also looked for

Having prepared or assessed interim certificates; having stood on both sides of a measurement dispute; having seen at first hand what a progress report can conceal. None of these is a requirement.

Three questions you answer when you apply

  1. When site reality and the software’s model disagree, which one wins? Describe a case where the winner was wrong.
  2. What is the commonest way a progress report looks right and is wrong, and how do you catch it?
  3. In a measurement dispute, which document do you go to — and what do you do when it does not exist?

Applications reach info@valeurtechnology.com as a single email and are read by the founder.

Application

Apply to one of the three.

The long answer field is required, and that is deliberate: a CV says where you have worked, the questions say how you decide. Without the second, the first does not tell these three postings apart.

Which posting
How you will be answered
CV and answers

PDF or DOCX, 8 MB at most. Any other format is refused rather than quietly truncated.

The three questions at the end of the posting. Short is fine; evasive is not.

Optional.

The file is not stored on this server: it travels as an attachment on the email and leaves memory when the request ends.

Questions

Asked

What kind of engineer is comfortable here?

One who finds the question of where a number came from interesting rather than tiresome. That reflex is coded into the product in three separate places: inputs carry a provenance label, an indicator with a zero denominator returns empty instead of a number, and if the query reading the review state faults, the gate stays on the closed side. All three are faces of one preference: where you are not sure, saying nothing beats printing a plausible-looking value.

I do not know construction law. Is that a problem?

The domain sits inside the code, named: a twenty-three-clause notice dictionary, a sixteen-factor cumulative impact table, forty-six countries mapped onto four legal traditions. There is a surface to read, not one to guess at. It takes weeks to learn, not years.

How do you know a page really went live?

After publication the address is read back to back, six seconds apart, and all five reads have to agree with each other and with the file the build wrote; the one difference delivery is known to introduce is identified by name rather than waved through, and a single disagreement beyond it resets the count to zero. The reason was measured: during one deployment the page returned the new content twice, then a stale copy, then the new content five times. A one-shot check landing on the third read would have declared the old page verified.

Do the published files stay identical to the source?

The build can also run writing nothing: it re-renders the pages, compares them with the published versions and reports every difference as drift. An output corrected by hand, or a page whose source was never updated, shows itself on the next run.

If you want to work somewhere run on that discipline.

If none of the three postings describes you, and you read the rules above and found somewhere to object, write directly instead of using the form. The one thing worth including: your objection and why. A few sentences will do.