By, With, and Using for Method
LESSON
By, With, and Using for Method
By the end of this lesson, you will be able to...
Choose
by,with, orusingwhen you describe how a technical result happened.Separate a method, an instrument, an accompanying condition, and the agent in a passive sentence.
Repair an incident update so another engineer can tell what changed, what tool was involved, and how the team verified it.
Idea in one sentence: Choose the preposition from the relationship you want to foreground: the action that produced a result, the tool or condition present, or the explicit method used.
Core Insight
When an engineer writes We reduced latency by caching the response, by points to the action that produced the result. When the same engineer writes We rolled out the change with a feature flag, with points to a control present during the rollout. When they write We measured the effect using the tracing CLI, using names the method or tool chosen for the measurement.
The words are close because all three can answer a loose question such as “How?” They are not interchangeable when the reader needs to reconstruct the mechanism. A useful sentence tells the reader what caused the outcome, what accompanied it, and what procedure or tool made it possible.
The Small Situation
At 09:00, the payments API has a high p95 latency. A trace shows that repeated reads wait for the database even when the same account data was requested one minute earlier. The team proposes a cache, but the change must be safe:
- put repeated responses in Redis;
- release the change to one canary worker;
- keep a feature flag ready for rollback;
- compare traces before and after the change.
At the end of the incident, the status update needs to describe four different relations:
The team reduced p95 latency by serving repeated reads from Redis.
They rolled out the change with a feature flag.
They tested it using a canary deployment.
The new version was deployed by Argo CD.
Each sentence contains a different answer to “How did this happen?” The rest of the lesson makes those answers visible.
The Naive Idea: One Translation for “Por”
Spanish por often tempts us to use by everywhere:
We reduced latency by Redis.
We tested the release by a canary deployment.
The service was monitored by a dashboard.
These sentences are not equally natural. Redis is a resource or tool, a canary deployment is a method, and a dashboard is an instrument. English asks us to name the relation rather than reuse one translated word.
The opposite mistake is to use using for every relation:
The version was deployed using Argo CD.
This can be correct, but it foregrounds the deployment tool as a method. If the important question is “Who or what performed the deployment?”, passive by is more direct:
The version was deployed by Argo CD.
Start with the claim, then ask which part of the mechanism the reader needs to see.
The Three Main Jobs
by: the action or process that produces the result
Use by before a gerund when you explain the action that made an outcome possible:
We reduced database load by caching repeated reads.
The worker recovered the job by retrying after the timeout.
The team found the race condition by replaying the trace.
The phrase after by is not just a tool name. It is an action or process: caching, retrying, replaying. A compact test is to replace it with “through the action of”:
We reduced database load through the action of caching repeated reads.
The longer version sounds heavy, but it reveals the relationship.
By can also identify the agent in a passive sentence. The agent is the actor responsible for the completed action:
The deployment was approved by the release manager.
The image was signed by the build service.
The route was changed by the control plane.
This is a different job from by plus a gerund. In by caching, the phrase names a method that produced a result. In by Argo CD, the phrase names the actor in a passive construction.
with: a tool, control, or condition present in the situation
Use with before a noun when the noun accompanies an action or describes a relevant state:
We rolled out the change with a feature flag.
The request arrived with a trace ID.
The worker started with an empty cache.
We inspected the queue with the admin CLI.
The feature flag did not itself perform the rollout. It was present as a control. The trace ID travelled with the request. The empty cache describes the worker's starting condition. The CLI was an instrument used during inspection.
With can also describe a component that has a property:
We selected a worker with local SSD storage.
The response came with a stale cache header.
The alert includes a link with the deployment ID.
Here, with means “having” or “accompanied by.” It does not necessarily name the main procedure.
using: an explicit method or tool chosen for the task
Use using when you want to foreground the procedure or tool that the team deliberately selected:
We measured the effect using distributed traces.
The operator drained the node using the cluster CLI.
We compared the two releases using the same request replay.
Using is often followed by a noun, but it carries an implied action: the team used the traces, CLI, or replay as a method. It is especially useful when the method is concrete and the reader may ask how the team obtained evidence.
Compare the focus:
We inspected the queue with the admin CLI.
We inspected the queue using the admin CLI.
Both are grammatical. The first presents the CLI as an instrument present during the inspection. The second presents the CLI as the selected procedure. Choose the version that matches the evidence you want the reader to notice.
Where the Distinction Matters
Consider this compact incident note:
We fixed the timeout by a feature flag using Redis with caching.
The nouns are familiar, but the relations are unclear. Did the flag fix the timeout? Was Redis the method, the instrument, or the data store? What exactly was cached?
Separate the claims:
We reduced timeout frequency by caching account responses in Redis.
We rolled out the change with a feature flag.
We verified the result using distributed traces.
Now the reader can reconstruct the mechanism:
by cachingnames the action that changed the outcome;in Redisnames the storage location, reusing the location vocabulary from earlier lessons;with a feature flagnames a rollout control;using distributed tracesnames the verification method.
Do not force every detail into one sentence. Several short sentences can expose the mechanism more safely than one overloaded sentence.
A Worked Trace: From Slow Request to Verified Change
Start with the baseline. A request for account A-17 reaches the API, and the API asks PostgreSQL for the same row on every request.
request -> API -> PostgreSQL -> response
The first change adds a cache. The team wants to explain the resulting improvement:
The API reduced database reads by serving repeated responses from Redis.
By serving names the action that produced the reduction. From Redis would describe a source, but it would not explain the method as clearly.
The release is limited to one worker:
The team released the cache change with a feature flag on worker-7.
With a feature flag describes the safety control. On worker-7 keeps the execution location precise, as in lessons 001 and 005.
The team chooses a canary procedure:
They exposed the flag to 5% of requests using a canary deployment.
Using a canary deployment tells the reader how exposure was managed. It is not the result itself and it is not the actor.
Finally, the team checks evidence:
They compared p95 latency using distributed traces and access logs.
The new version was deployed by Argo CD.
The first sentence names the verification method. The second identifies the passive agent. A complete trace now has an input, transitions, an intermediate control, an observed output, and a named actor:
repeated request
-> served from Redis by a caching action
-> exposed with a feature flag
-> released using a canary deployment
-> measured using traces and logs
-> deployed by Argo CD
The language does not prove that latency improved. The traces and logs must still show the change. The prepositions make the claim inspectable by telling the reader what to look for.
Active Check: Name the Relation
Check: Complete the sentence with the relation that the writer wants to foreground:
We found the duplicate delivery ___ replaying the event log.
Think first, then reveal.
Answer: by. The sentence names the investigative action that led to the discovery: We found the duplicate delivery by replaying the event log.
Check: Which sentence presents the feature flag as a rollout control rather than as the cause of the improvement?
A. We rolled out the cache by a feature flag.
B. We rolled out the cache with a feature flag.
C. We rolled out the cache using that the flag was ready.
Think first, then reveal.
Answer: B. With a feature flag presents the flag as a control accompanying the rollout. The causal improvement can be described separately with by caching responses.
Common Confusions
by plus a noun versus by plus an action
The image was signed by the build service. # passive agent
The image was verified by checking its digest. # investigative method
The first phrase answers “Who signed it?” The second answers “How was it verified?”
with versus using
The operator inspected the node with the cluster CLI.
The operator inspected the node using the cluster CLI.
Both can work. With keeps the instrument in the background; using makes the selected method more prominent. If the method is the important evidence, using is often clearer.
by versus with for a result
We reduced retries by increasing the backoff.
We reduced retries with a new backoff setting.
The first foregrounds the action or change. The second foregrounds the configuration that accompanied the fix. Neither sentence guarantees that the change worked; metrics must confirm that.
using does not mean “because of”
We diagnosed the fault using the trace ID.
The trace ID was a method or instrument for diagnosis. If the trace ID itself caused a system behavior, explain that causal relation with a different construction.
Trade-offs and Limits
Choosing the relation improves precision, but it adds a small cost: the writer must decide which part of the mechanism deserves attention. A short sentence with by can explain the causal action quickly, while a sentence with with may preserve a useful control or condition. Using can make the evidence path explicit, but repeated using phrases can make a status update sound procedural and heavy.
The central trade-off is precision versus reading load. Adding with a feature flag and using distributed traces gives an investigator more evidence to follow, but it also makes the update longer. Include a phrase when it changes the reader's next decision; leave it out when the tool or condition is already obvious.
The distinction also has limits:
Withandusingcan overlap when a tool is both present and deliberately chosen.Bydoes not prove causation; it only presents an action as the proposed way the result happened.- A passive
byphrase may name an automated actor, but logs still need to confirm that actor actually performed the change. - These prepositions do not replace the earlier location and movement choices:
using Redis in the clusterstill needsin, andby sending the request to the gatewaystill needsto.
Use the smallest phrase that lets another engineer identify the action, instrument, method, condition, or actor they need to inspect.
Transfer Challenge: Repair a Deployment Note
An engineer writes:
We solved the queue delay with increasing the worker count by a dashboard using a feature flag.
The release was tested with replaying traffic and deployed using the platform.
Rewrite it into two or three sentences. Make these relations visible:
- the action that reduced the delay;
- the rollout control;
- the method used to verify the result;
- the agent in the passive deployment sentence.
Model answer:
We reduced the queue delay by increasing the worker count.
We rolled out the change with a feature flag and verified it using a traffic replay.
The release was deployed by the platform controller.
The answer is not the only possible wording. Check that by introduces an action, with introduces a control or accompanying condition, using introduces a verification method, and passive by identifies the agent.
Daily Practice Lines
Repeat these three lines during the day. Change one noun when the pattern feels stable:
We reduced latency by caching repeated responses.
We rolled out the change with a feature flag.
We verified the route using distributed traces.
For spaced review, connect the lines to the previous lessons:
The job runs on worker-7 in the payments cluster, and the request reaches it through the gateway over HTTPS.
Resources
- [ARTICLE] Cambridge Dictionary Grammar - Reference for
by,with,using, passive agents, and prepositional complements. - [ARTICLE] MDN HTTP Overview - Technical context for requests, responses, headers, and transport examples.
- [ARTICLE] Microsoft Writing Style Guide - Guidance for concise, reader-centered technical wording.
Key Takeaways
- Use
byplus an action to foreground the process that produced a result:by caching,by retrying,by replaying. - Use
withfor a tool, control, condition, or property that accompanies the action:with a feature flag,with a trace ID. - Use
usingto foreground an explicit method or tool chosen for a task:using distributed traces,using the cluster CLI. - Use passive
byfor the agent responsible for an action:deployed by Argo CD. - Precise grammar makes a technical claim inspectable; metrics, logs, traces, and deployment records still have to verify it.
← Back to Technical English: Prepositions for Systems and Data Flow