{"id":972621,"url":"https://alion.io/job/ocean-infinity-senior-software-engineer-full-stack","title":"Senior Software Engineer (Full Stack)","company":{"id":58711,"name":"Ocean Infinity","domain":"oceaninfinity.com","url":"https://alion.io/company/ocean-infinity","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Workable","truth_index":{"grade":"A","score":100,"open_postings":4,"ghost_share":0,"stale_share":0,"repost_share":0,"time_to_fill_p50_days":17,"computed_at":"2026-11-03T05:54:40Z"}},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":null,"work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Porto, Portugal"],"countries":["PT"],"hiring_countries":[],"hiring_countries_total":0,"salary":{"min":70000,"max":null,"currency":"EUR","period":"year","gross":null,"usd_annual":78619},"salary_estimate":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"C#","optional":false},{"name":"Claude","optional":false},{"name":"Clean Architecture","optional":false},{"name":"Cursor","optional":false},{"name":"Entity Framework Core","optional":false},{"name":"Git","optional":false},{"name":"Next.js","optional":false},{"name":"OWASP","optional":false},{"name":"PostgreSQL","optional":false},{"name":"Prisma","optional":false},{"name":"React.js","optional":false},{"name":"Rest API","optional":false},{"name":"SQL","optional":false},{"name":"tRPC","optional":false},{"name":"TypeScript","optional":false},{"name":"Apache Kafka","optional":true},{"name":"AWS","optional":true},{"name":"Azure","optional":true},{"name":"CI/CD","optional":true},{"name":"Docker","optional":true},{"name":"GCP","optional":true},{"name":"JavaScript","optional":true},{"name":"Jest","optional":true},{"name":"Kubernetes","optional":true},{"name":"Node JS","optional":true},{"name":"Playwright","optional":true},{"name":"RabbitMQ","optional":true},{"name":"Radix UI","optional":true},{"name":"shadcn/ui","optional":true},{"name":"Tailwind CSS","optional":true},{"name":"Vitest","optional":true},{"name":"WebSockets","optional":true}],"status":"live","first_seen_at":"2026-09-15T00:00:00Z","employer_posted_date":"2026-09-15","last_verified_at":"2026-11-03T21:07:27Z","board_verified":true,"closed_at":null,"days_open":49,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":49},"description":"At Ocean Infinity, we're on a bold mission to subsea data using innovative technology.\nUsing cutting-edge robotics, autonomous technology and world-class software, we're transforming how complex operations are carried out at sea. Our uncrewed systems are making ocean exploration and operations safer, smarter and more sustainable, helping unlock the vast potential of our oceans while reducing environmental impact.\nThis isn't a vision for the future. It's happening right now.\nAs we continue to push the boundaries of innovation and redefine what's possible in the maritime industry, we're looking for exceptional talent to join our fast-growing team.\nOcean Infinity is seeking a talented Senior Software Engineer who is strong across the stack and grounded in solid backend engineering. You will design, build, and maintain the products behind our autonomous and remote marine operations, working from data model and API through to the interfaces our operators and customers rely on. The role reports to a Tech Lead and is a key contributor within the team, providing technical expertise and guidance to fellow engineers.\nOur products run on more than one stack. Depending on where you work, that is C#/.NET with a React frontend, or our TypeScript stack (Next.js, tRPC, Node, Postgres). We care more about the strength of your engineering than the specific framework.\nRequirements\nWhat you will do!\nDesign, build, and maintain fullstack web applications, from database and API design through to responsive, performant user interfaces;\nWrite production backend services grounded in sound design patterns, whether in C#/.NET or TypeScript/Node;\nBuild user interfaces in React (and Next.js on our TypeScript products);\nDesign and manage relational database schemas, queries, and migrations;\nIntegrate systems and real-time, event-driven data flows, including robotics-to-web pipelines;\nUse AI-assisted development tools (such as Cursor or Claude) as part of your everyday workflow;\nFollow development and quality best practices, and be critical when you believe they can be improved;\nTake responsibility for sound technical engineering decisions across the stack;\nDocument software and processes as needed;\nMentor junior engineers through guidance and constructive feedback.\nWhat we look for!\nDegree in Computer Science, Information Technology, or related;\nPreferably 5+ years as a software engineer, with production experience building both backend services and web frontends;\nStrong backend fundamentals: Clean Architecture, design patterns, and REST API design, with hands-on experience in C#/.NET or Node/TypeScript;\nProven experience building single-page web apps with React;\nSolid experience with relational databases (PostgreSQL and/or SQL Server) and an ORM (Entity Framework Core, Drizzle, Prisma, or similar), including schema and migration management;\nProficiency with TypeScript;\nProficiency with Git and collaborative versioning workflows;\nFamiliarity with basic web application security concepts (authentication, authorization, OWASP);\nFluency in English, spoken and written;\nAbility to take ownership and work autonomously with little supervision;\nExcellent time management and the ability to prioritise in a fast-paced environment;\nCritical thinking and initiative.\nNice to have!\nExperience across both a C#/.NET and a TypeScript/Node backend;\nExperience with event-driven or event-streaming systems (Kafka, RabbitMQ, or similar);\nExperience with real-time data and WebSockets/SignalR;\nExperience with containerisation and orchestration (Docker, Kubernetes);\nExperience with CI/CD pipelines and infrastructure-as-code;\nFamiliarity with a cloud platform (Azure, AWS, or GCP);\nExperience with testing frameworks (Jest, Playwright, Vitest, or xUnit/NUnit);\nExperience with tRPC, Tailwind CSS, Shadcn/UI, or Next.js App Router.\nBenefits\n*Salary: €70,000 per annum*","description_format":"text","description_chars":3877,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"English","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[],"hiring_excludes":[],"relocation_offered":false,"industries":["Geological Survey","Underwater & Marine Robotics"],"lifecycle":[{"event":"open","at":"2026-09-16T19:03:26Z"}],"visa":[],"liveness":{"score":19,"band":"cold","label":"Long shot","p_open":1,"p_active":0.546,"p_room":0.35,"age_days":49,"expected_fill_days":17,"reasons":["conf:3","velocity","win:tail"],"computed_at":"2026-11-03T05:54:40Z"},"pay":{"stated_usd_annual":78619,"is_top_pay":false},"html_url":"https://alion.io/job/ocean-infinity-senior-software-engineer-full-stack","json_url":"https://alion.io/job/ocean-infinity-senior-software-engineer-full-stack.json","meta":{"generated_at":"2026-11-03T22:49:34Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":1447,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-11-04T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":58711},"rest":"https://alion.io/mcp/rest/get_company?id=58711"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Focean-infinity-senior-software-engineer-full-stack"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Focean-infinity-senior-software-engineer-full-stack"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Focean-infinity-senior-software-engineer-full-stack"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/ocean-infinity-senior-software-engineer-full-stack\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Focean-infinity-senior-software-engineer-full-stack"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":972621}},{"tool":"search_jobs","arguments":{"company":"oceaninfinity.com","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":972621},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}