Point your AI agent at freehire and let it find you a job.

Get the CLI →

EthicalHat

NewBe an early applicant

Software Engineer (Full-Stack, AI & LLM Integration)

Posted
Discussion

Summary

Remote full-stack engineer at cybersecurity company EthicalHat: build and maintain web products end to end (Java/Groovy Grails backend, Vue.js frontend, MariaDB/Neo4j) and add AI features — LLM assistants, RAG, and an MCP server that lets AI clients use product data under role-based access controls.

This is a remote position.

We at ETHICALHAT Cyber Security are hiring a full-stack Software Engineer to build and grow our web products, and to add AI features to them: LLM-powered assistance, AI integrations, and an MCP server that lets AI assistants work with our product data safely.

Key responsibilities
Product engineering
• Design, build and maintain backend services and APIs.
• Build clean, responsive frontend screens.
• Design database schemas and write efficient queries.
• Build features such as dashboards, workflows, role-based access, file uploads and report exports (CSV, PDF, PPTX).
• Write data migration scripts when systems change.

Integrations and security
• Build and document REST APIs and third-party integrations.
• Set up authentication: SSO (OIDC, SAML), MFA, role-based access control.
• Follow secure development practice: code reviews, dependency and SAST scanning, fixing reported vulnerabilities.
• Package and deploy releases for cloud and on-premises setups (Windows and Linux).

AI and LLM features
• Build AI assistants inside the product that answer user questions in plain language, grounded in our own data.
• Use LLMs to summarize data, draft reports and suggest next steps for users.
• Extract and classify information from uploaded documents, with a human confirming result.
• Measure AI quality and cost, and improve them release by release.

MCP server
• Build and maintain an MCP (Model Context Protocol) server that exposes product data and actions as tools and resources.
• Let AI clients such as Claude, ChatGPT or IDE agents work with the product through that server.
• Enforce the same user roles and data boundaries in the MCP server as in the web app, with audit logs for every AI action.

Requirements

• 3+ years building production web applications, end to end.

• Backend: Java (OpenJDK) and Groovy with the Grails framework.

• Frontend: Vue.js, JavaScript, HTML and CSS.

• Databases: MariaDB (schema design, SQL, backup and restore with Mariabackup) and Neo4j (graph modelling, Cypher queries).

• Application server: Apache Tomcat, including TLS setup.

• Identity and access: Keycloak; SSO with OIDC and SAML using Okta, Microsoft Entra ID and Auth0; MFA and role-based access control.

• APIs: REST API design and documentation.

• Platforms: installing, upgrading and running applications on Windows Server and Linux (Ubuntu), including unattended upgrades.

• Secure coding practice: SAST scanning, dependency checks, SBOM maintenance, fixing penetration test findings.

• Clear written English for specs, API docs and user guides.

• Degree in Computer Science or similar or equivalent hands-on experience.

Area

What we expect

LLM APIs

Hands-on use of at least one major API (Anthropic Claude, OpenAI, Google Gemini or Azure OpenAI): streaming, tool/function calling, structured JSON output, token and cost control

Retrieval (RAG)

Chunking and embedding documents, vector search with pgvector, Qdrant or similar, citing sources in answers

Prompt design

Writing and versioning prompts, few-shot examples, system prompts that keep answers grounded

Evaluation

Test sets and automated checks for accuracy, hallucination and regressions before each release

AI safety

Guarding against prompt injection from user content, keeping customer data separate, redacting sensitive data, human approval for actions an AI suggests

Private models

Running open models (Llama, Mistral, Qwen) through Ollama or vLLM; switching providers behind one interface

MCP server

Building an MCP server with an official SDK (TypeScript, Python or Java): tools, resources and prompts; stdio and Streamable HTTP transports; OAuth-based auth; testing with MCP Inspector and real clients

Agents and frameworks

Connecting to external MCP servers or using agent frameworks (LangChain, LangGraph, Spring AI, LlamaIndex) where useful

Observability

Logging every AI call with inputs, outputs, latency and cost; alerts on failures



Skills

Apply

See also

Full-Stack jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.