Senior Node.js Software Engineer

CactusSoft · Friendly, MD, US

Remoteposted yesterday

Apply directly on CactusSoft’s careers site — no account needed. You’re early — this listing comes straight from the source, before the big boards.

About the role

Have you found a technology partner capable of delivering your AI roadmap?

The key checks to confirm that your technology partner has the AI expertise it claims to have before you trust it with your roadmap.

Today, almost every software provider claims to have AI engineers. The title is easy to adopt: a chatbot demo can be built in a weekend and familiarity with the latest models proves very little. Before entrusting your company’s roadmap, data or architecture to an external team, the question you need to ask is not, “Do they know the newest model?” but, “Can they safely operate an AI-dependent system within our product and engineering environment?”

Here is a practical way to find out before signing a contract.

Evaluate the whole company’s AI capability, not just one specialist’s expertise

Ask for a few concrete examples of applied AI projects that show the business problem, the architecture selected, how quality was measured and what was ultimately deployed in production. Then determine whether that expertise is distributed across the organization or concentrated in one person’s knowledge: who reviews model and architecture decisions, how engineers keep their skills up to date and what happens if the assigned expert leaves the project.

At this point, a structured internal program matters more than a job title. Cactus develops and certifies its engineers through the CactAI Excellence Program, an internal program that provides a defined path for developing and assessing AI skills, rather than relying on the informal and unstructured learning that often takes place within companies.

Interview the engineers who will actually work on your project

Speak with the proposed technical lead or at least one of the engineers who will join the project, not only the sales team. The aim is to assess their real judgement across four areas: data, model and architecture trade-offs, evaluation and production and MLOps.

Security is not an afterthought

Get clear answers on whether client data is shared with third-party models, whether those providers can retain it or use it to train their models and how data residency, encryption, credentials and keys, access controls, retention periods, and ownership of code, prompts and derived assets are managed.

For LLM and agent-based systems, the team should understand risks such as prompt injection, sensitive-information disclosure, unsafe output handling, supply-chain vulnerabilities, excessive permissions and uncontrolled model costs. These are some of the main areas OWASP currently highlights in relation to generative AI.

Cactus’s AI principles, set out in the Cactus AI Manifesto, also cover human involvement, privacy, security, accountability, client intellectual property,and transparency.

The definitive test

Once you have worked through the points above, the decision comes down to four questions:

Can they define the right problem?

Can they provide measurable evidence?

Can they build reliable production software around the AI component?

Can they protect your data, users, and architecture?

A credible partner answers these questions with transparency and confidence.

Not sure whether your AI roadmap has a talent, architecture, or delivery gap? Talk to Cactus about the main bottleneck and the engineering capabilities your project actually needs.

Get Started With Cactus
Share this page

If there is a project needing help or even a skill set you are missing, contact us.
Contact Diana
Similar Articles
.elementor-18870 .elementor-element.elementor-element-2e3ff05{-display: flex;-flex-direction: column;-container-widget-width: calc( ( 1 - var( -container-widget-flex-grow ) ) * 100% );-container-widget-height: initial;-container-widget-flex-grow: 0;-container-widget-align-self: initial;-flex-wrap-mobile: wrap;-align-items: stretch;-gap: 16px 16px;-row-gap: 16px;-column-gap: 16px;-flex-wrap: wrap;-overflow: hidden;-padding-top: 0px;-padding-bottom: 0px;-padding-left: 0px;-padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d34fb46{-display: flex;-align-items: stretch;-container-widget-width: calc( ( 1 - var( -container-widget-flex-grow ) ) * 100% );-gap: 8px 8px;-row-gap: 8px;-column-gap: 8px;-padding-top: 0px;-padding-bottom: 0px;-padding-left: 0px;-padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d34fb46.e-con{-align-self: stretch;-flex-grow: 1;-flex-shrink: 0;}.elementor-widget-theme-post-featured-image .widget-image-caption{color: var( -e-global-color-text );font-family: var( -e-global-typography-text-font-family ), Regular;font-weight: var( -e-global-typography-text-font-weight );}.elementor-18870 .elementor-element.elementor-element-bfd01a6{text-align: start;}.elementor-18870 .elementor-element.elementor-element-bfd01a6 img{width: 100%;border-radius: 16px 16px 16px 16px;}.elementor-18870 .elementor-element.elementor-element-bfd01a6:hover img{opacity: 0.8;}.elementor-widget-post-info .elementor-icon-list-item: not(: last-child): after{border-color: var( -e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color: var( -e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill: var( -e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color: var( -e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family: var( -e-global-typography-text-font-family ), Regular;font-weight: var( -e-global-typography-text-font-weight );}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon{width: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon i{font-size: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon svg{-e-icon-list-icon-size: 0px;}body: not(.rtl) .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text{padding-left: 0px;}body.rtl .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text{padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text, .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text a{color: var( -e-global-color-64ed094 );}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-item{font-family: "Sora", Regular;font-size: 12px;font-weight: 400;line-height: 1.33em;letter-spacing: -0.3px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family: var( -e-global-typography-primary-font-family ), Regular;font-weight: var( -e-global-typography-primary-font-weight );color: var( -e-global-color-primary );}.elementor-18870 .elementor-element.elementor-element-a50ccae .elementor-heading-title{font-family: "Sora", Regular;font-size: 24px;font-weight: 400;line-height: 1.33em;letter-spacing: -0.8px;}@media(max-width: 767px){.elementor-18870 .elementor-element.elementor-element-bfd01a6 img{border-radius: 8px 8px 8px 8px;}.elementor-18870 .elementor-element.elementor-element-a50ccae .elementor-heading-title{font-size: 16px;line-height: 22px;}}.elementor-18870 .elementor-element.elementor-element-2e3ff05{-display: flex;-flex-direction: column;-container-widget-width: calc( ( 1 - var( -container-widget-flex-grow ) ) * 100% );-container-widget-height: initial;-container-widget-flex-grow: 0;-container-widget-align-self: initial;-flex-wrap-mobile: wrap;-align-items: stretch;-gap: 16px 16px;-row-gap: 16px;-column-gap: 16px;-flex-wrap: wrap;-overflow: hidden;-padding-top: 0px;-padding-bottom: 0px;-padding-left: 0px;-padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d34fb46{-display: flex;-align-items: stretch;-container-widget-width: calc( ( 1 - var( -container-widget-flex-grow ) ) * 100% );-gap: 8px 8px;-row-gap: 8px;-column-gap: 8px;-padding-top: 0px;-padding-bottom: 0px;-padding-left: 0px;-padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d34fb46.e-con{-align-self: stretch;-flex-grow: 1;-flex-shrink: 0;}.elementor-widget-theme-post-featured-image .widget-image-caption{color: var( -e-global-color-text );font-family: var( -e-global-typography-text-font-family ), Regular;font-weight: var( -e-global-typography-text-font-weight );}.elementor-18870 .elementor-element.elementor-element-bfd01a6{text-align: start;}.elementor-18870 .elementor-element.elementor-element-bfd01a6 img{width: 100%;border-radius: 16px 16px 16px 16px;}.elementor-18870 .elementor-element.elementor-element-bfd01a6:hover img{opacity: 0.8;}.elementor-widget-post-info .elementor-icon-list-item: not(: last-child): after{border-color: var( -e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color: var( -e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill: var( -e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color: var( -e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family: var( -e-global-typography-text-font-family ), Regular;font-weight: var( -e-global-typography-text-font-weight );}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon{width: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon i{font-size: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-icon svg{-e-icon-list-icon-size: 0px;}body: not(.rtl) .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text{padding-left: 0px;}body.rtl .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text{padding-right: 0px;}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text, .elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-text a{color: var( -e-global-color-64ed094 );}.elementor-18870 .elementor-element.elementor-element-d7ba524 .elementor-icon-list-item{font-family: "Sora", Regular;font-size: 12px;font-weight: 400;line-height: 1.33em;letter-spacing: -0.3px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family: var( -e-global-typography-primary-font-family ), Regular;font-weight: var( -e-global-typography-primary-font-weight );color: var( -e-global-color-primary );}.elementor-18870 .elementor-element.elementor-element-a50ccae .elementor-heading-title{font-family: "Sora", Regular;font-size: 24px;font-weight: 400;line-height: 1.33em;letter-spacing: -0.8px;}@media(max-width: 767px){.elementor-18870 .elementor-element.elementor-element-bfd01a6 img{border-radius: 8px 8px 8px 8px;}.elementor-18870 .elementor-element.elementor-element-a50ccae .elementor-heading-title{font-size: 16px;line-height: 22px;}}
July 27, 2026
Have you found a technology partner capable of delivering your AI roadmap?
June 10, 2026
Dynapps
February 12, 2026
OpenClaw and the emergence of initiative
February 9, 2026
Zero Touch Invoicing
January 16, 2026
Advancing Sustainable Pest Control through Applied Innovation
December 29, 2025
Acceleration, SaaS and competition: Why enabling teams in AI matters
Contact us today to explore how Cactus
can support your digital journey
No Time to Lose

Description sourced from the public Indeed listing — this role isn't indexed from the company's career page yet.

Never be applicant #200 again

Every job here is indexed straight from company career pages — often hours after it opens, before it reaches the big boards. Create a free account and get your best matches in a twice-daily digest.

  • Your best matches, twice a day
  • No duplicates, no ghost jobs, no recruiter spam
  • Every job free to browse — pay only when you apply
Get my matched jobs

Free account — no card required

93 115 live jobs · 17 641 companies tracked · 156 added today

Senior Node.js Software Engineer — CactusSoft · Real Job Offers