Hiring

How we hire.

No juniors. No LeetCode. A paid trial on a real client problem.

We've been hiring engineers the same way since 2015. The process isn't fast — it takes about 6-8 weeks — but it works. We've hired 50+ people. 15 have left voluntarily. Our attrition rate is 5%, in an industry where 20%+ is normal.

The reason is simple: we're careful upfront so nobody wastes time downstream. We'd rather pass on a good engineer who isn't the right fit than hire fast and regret it six months later.

Profile

Who we're looking for

We hire senior engineers. That means something specific here.

You've been writing production software for at least 3 years. Not tutorials, not side projects — software that real people use, that breaks when it breaks, that you were responsible for fixing. You've owned a system end-to-end: designed it, shipped it, maintained it, and made the call when something needed to be torn down and rebuilt.

You can explain why you made a technical decision to someone who isn't technical. You don't need someone standing behind you telling you what to build next. You're comfortable with ambiguity, because client work always has some.

You're fluent enough in English to write a clear Slack message, participate in an async standup, and flag a blocker without someone having to decode what you meant.

And you want to stay somewhere. Our engagements run for years, not months. If you're looking to hop between projects every quarter, this isn't the right place.

What we don't do

We don't hire juniors. Our clients pay for senior output, and we don't have a training program to bridge the gap.

We don't hire freelancers looking for a side gig. This is full-time, one client team, full commitment.

We don't hire for frameworks alone. Knowing Laravel or React from a bootcamp is different from running it in production for three years under load.

Process

The process

Here's how it works, start to finish.

  1. Application

    Send us your CV and a link to shipped production work — a live product, a GitHub repo with real commits, or a written description of a system you built. We don't need a cover letter, and we'll know if one was written by AI.

  2. Intro conversation

    This is a two-way conversation with HR department staff. We explain how EltexSoft works, what the current client pipeline looks like, and what team you'd likely join. You tell us what you're looking for and ask whatever you want to know. No trick questions. No pressure.

    We're evaluating communication, motivation, and whether the way you want to work matches how we actually work.

  3. Technical conversation

    This is with a tech lead, CTO, and sometimes our CEO. It's a conversation about systems, not a coding exam. We'll talk through a real architecture problem relevant to your stack. How would you design it? What would you trade off? What would you do differently the second time?

    No whiteboard. No timed algorithm puzzles. No gotcha questions. We care about how you think about production systems, not how fast you can reverse a linked list.

  4. Offer call (30 minutes with Dennis)

    If both sides are in, we make an offer. If not, you get honest feedback on why. Either way, you know within 2 business days of the final conversation.

Total timeline: about 6-8 weeks from application to offer, assuming no scheduling gaps.

Offer

What you get

Long-term work, not project hopping

The average engineer stays on the same client team for 3 years. You build real context, real relationships, and real influence over the product. Nobody pulls you off a codebase you've invested in to staff someone else's new sale.

Compensation above local market

We pay above-market for Lisbon and Kyiv. Reviewed every 12 months based on contribution and client value.

Fully remote since 2020

Async-first. 6-hour overlap window daily. You keep your own schedule within that. No screen tracking.

Direct access to leadership

Every engineer can talk to Dennis or Illia directly. Architecture questions go straight to Illia. There's no hierarchy between you and the people making technical decisions.

Real tools

MacBook Pro, AI services and IDE subscriptions, courses from Anthropic.

Full-time engagement

B2C or EOR contractor via Deel, structured by jurisdiction.

Open roles

Open roles

We're always interested in hearing from senior engineers with deep production experience in our core stacks: Laravel/PHP, React, Python, iOS, and Android.

If there's a specific open role, we'll list it here. If not, reach out anyway — we staff based on pipeline, and the right person at the right time is how every hire we've made started.

Apply now

FAQ

Questions we get asked

Do you hire juniors?
No. Minimum 3 years of professional production experience.
Can I work from outside Ukraine or Portugal?
Yes. We're fully remote. The requirement is reliable overlap with your client team's hours.
What happens when a client engagement ends?
You get reassigned to another team. We've never let someone go because a project wrapped up.
What's the AI tooling policy?
We use Claude Code and Cursor as engineering accelerators. AI output goes through the same code review as everything else. No pretending AI-generated code is hand-written. No using AI to skip thinking.
How are engineers assigned to projects?
By stack fit and availability. Dennis and Illia make the call. Once you're on a team, you stay there.

Apply

How to apply

Email [email protected] with:

We usually respond to every application within 3 business days. We store CVs for 12 months and delete them after. We don't share candidate data outside EltexSoft.

Think you'd fit?

Send a note. Tell us what you've shipped and what kind of work energizes you. 3-day response time.

Apply now

Meet the team →