Career tips for tech starters
It has never been harder to land your first job in tech than it is right now. Fewer junior openings, more applicants per role, hiring managers who can pick from a global pool — if you don't put in real effort, you don't get a chance. The ten moves below are what hiring managers, HR leads, and senior engineers actually tell us they look for.
1. Own the whole problem — agents close the gap specialist roles used to fill
The HR lead and CTO at Kodelab put it bluntly to us: they're not hiring frontend engineers, or backend engineers, or QA engineers as separate roles anymore. What they're hiring for is someone who can take an ambiguous problem, find the right solution, build it across the full stack, test it, and ship it — at warp speed and at high quality. The job spec used to require three people. Now it requires one person with a fleet of agents.
This changes how you pitch yourself. The weak version names a role and a toolbelt: "I'm a frontend developer who uses Antigravity, Gemini, Cloud Run." Hiring managers tune that out — they don't care which tools you used, and the role label tells them nothing about whether you'd actually own the problem if they handed it to you.
The strong version names the capability:
What this pitch signals — and what the Kodelab HR lead said they specifically look for in interviews:
- Problem ownership. You don't wait for someone to break the work down. You break it down. You also push back when the brief points at the wrong problem.
- Full-stack range. Not by ten years of experience in every layer, but by willingness to do every layer with the agent doing the typing. The role labels (frontend / backend / DevOps) are dissolving for everything below senior architect.
- Speed at quality. What used to take a team of three now takes one person who knows how to operate the agents well. That delta is the value proposition — not the tools themselves.
- Judgement. You'll figure out the right problem to solve, not just execute the first one you're given. This is the part agents can't do for you, and it's exactly the part hiring managers are scanning for.
The litmus test the Kodelab CTO uses in interviews is two questions: "Did this person understand the actual problem?" and "Did they own the solution to the end?" If both are yes, the role-label conversation never even comes up. If either is no, the tool list won't save you.
2. Do the homework on every company you apply to
Before you write a single application, do the research. The same NotebookLM you used in step 2 of this workshop is now your job-prep tool. For every company you target, build a small notebook and feed it everything you can find about how they actually operate:
- Their website and product pages — About, case studies, pricing, the customer-logo wall.
- Recent press, blog posts, and engineering write-ups — what are they shipping, what's the public narrative, who writes for them?
- Customer reviews — this is the gold seam. Search G2, Trustpilot, Reddit, App Store, Capterra, niche industry forums. Companies put their best face on their own site; customers tell you where the product actually hurts. That hurt is the problem the team is hiring to fix.
- Competitor docs and industry reports — what shape is the market in, where's the pressure, who's eating their lunch?
Then ask the notebook the questions a recruiter expects you to already know:
- Who are this company's customers, and what problems do they solve for them?
- What's the biggest threat or opportunity in their market this year?
- Where is their product weakest right now, based on what customers actually complain about?
- What kind of role — or what kind of person — would help them close that gap?
The application that says "I noticed you ship X to customers like Y, and based on their reviews on Z, the bottleneck looks like W — here's how I'd help fix it" beats every "I'm passionate about your mission" cover letter you'll ever write. You're not applying for a job description. You're offering to be the solution to a specific problem this company has.
If you skip this step and send a generic CV with a generic cover letter, you're competing on pure volume against people who didn't skip it. You will lose that competition every time. Effort is the moat.
3. Solve one real problem in public for six months — beats a portfolio of polished demos
The strongest CV signal for a junior right now isn't twelve finished tutorials. It's one real problem you've been chewing on for months, in the open, with a visible thinking trail. Pick a problem — yours, your community's, a workflow you keep doing manually — and stay with it through the awkward middle phase where the obvious answer doesn't work.
Why this works: hiring managers can spot in 30 seconds the difference between "this person follows instructions" (tutorial output) and "this person stays on a problem" (long arc with messy commits, refactors, course corrections). The first describes 80% of your applicant pool. The second describes the people who get hired.
The site you built today is your starting point. Don't freeze it. Find the real problem it could solve for someone — a missing tool in your community, a thing your friends keep asking you to help with, a workflow that nobody's automated yet — and pivot the site into that. Each commit is one more piece of evidence that you stayed on the problem.
4. Pick a problem domain, not a tech stack
"Fullstack JavaScript developer" is a tech stack — there are 800,000 of those on LinkedIn. The way to stand out is to own a problem domain that companies actively pay to solve.
Some problem domains where juniors break in (the technologies vary; the problem is the asset):
- Making products usable by people with disabilities — keyboard-first interaction, screen readers, WCAG. Most teams know they need it; most teams don't actually do it.
- Making slow apps fast for paying customers — Core Web Vitals, bundle size, render budgets. The numbers go straight onto your CV as quantified impact.
- The boring half of B2B SaaS — billing flows, audit logs, role-based access, admin dashboards. Less glamorous than consumer apps; the actual revenue lives there.
- Edge cases and error states — empty states, offline behaviour, recovery flows, retry logic. The 80% of the product nobody else wants to build, but every customer notices.
- Local-language and regional UX — bilingual sites, RTL layouts, regional payment flows. Hard for outsourcing firms outside your region to replicate.
Pick one. Make your next three projects about that problem, regardless of which framework you reach for. Two months from now you'll be the person who shows up first when a hiring manager goes looking for it.
5. Talk to humans about problems, not companies about jobs
Sending CVs to job boards has the lowest yield of any channel. The next-cheapest thing — talking publicly about real problems you're working through — has surprisingly high yield because it compounds.
What works:
- Write short notes weekly about a problem you're chewing on. Not "here's what I learned about React hooks this week." Try "here's the problem I'm stuck on, what I've tried, what I think the bottleneck is, and what I'm going to try next." LinkedIn, blog, public Notion — pick one and stick with it. The point is to be visible thinking, not visible learning.
- Reply substantively to other people's problems. Pick five engineers in your problem domain whose writing you actually read. When they post about something they're stuck on, leave a comment that engages with the actual problem — your read, an angle they might have missed. After three months, you're a name they recognise. After six, you're someone they'd refer to a hiring manager.
- Show up to one community in person. Local meetups, GDG events, hackathons. In-person is where introductions to specific problems happen — and the introduction that bypasses the CV pile is almost always "we have a problem and someone said you'd be good at it."
Hiring is still a network business. Build the network around shared problems, not shared technologies.
6. Be radically honest about who owned what
The defensive posture ("oh, I only used AI a tiny bit") reads worse to interviewers in 2026 than the proud posture ("here's my AI-USAGE.md — these are the problems I owned, this is how I divided the work, this is what I decided").
Hiring managers are now comparing two kinds of candidates: ones who hide AI usage (and look out of touch) and ones who own it explicitly (and look modern). The honest disclosure becomes a positive signal — it shows you've thought about division of labour, you have judgement about what to delegate, and you can name exactly which decisions were yours and why.
Keep the AI-USAGE.md file from step 5 of this workshop. Make it a record of problem ownership: which problem each chunk of work was solving, what the agent did, what you decided and why. Update it as you ship more. It's a hiring asset, not a confession.
7. Lower the bar to your first role — the first owned problem is the unlock
Every step after the first job gets easier. Don't optimise for the perfect first role — optimise to get inside, on any path that lets you own a real problem end-to-end. The "I shipped this thing for a real customer" line on your CV is the unlock; everything after the first one is incremental.
Tactics that work for first-time hires:
- Internships — even short, even unpaid (where legal). Three months of "in production" experience changes everything about your CV.
- Contract-to-perm — many companies will hire a junior on a 3-month contract before committing. Lower their risk, lower their interview burden, raise your odds.
- Part-time while you study or freelance — companies who can't justify a full hire might still want 20 hours a week of capable junior.
- Open-source paid work — programs like Outreachy, GSoC, or company-sponsored OSS bounties give you a real-money paid project on your CV.
- Friends-of-friends contracting — the small site, the marketing landing page, the analytics dashboard. Real projects with real deadlines, named clients you can put on your CV.
Once you've owned one paid problem end-to-end, the second job is dramatically easier than the first — and the conversation shifts from "do you have experience" to "what kind of problems do you want to own next." Don't refuse a stepping stone because it's not your dream role.
8. Read other people's code — to learn how they diagnose problems
Most juniors over-rotate on writing code (their own) and under-rotate on reading code (other people's). This is backwards. Senior engineers read more than they write. The fastest way to close the gap to senior is to start that habit now — and to read for the problem-solving, not the syntax.
What to do this week:
- Pick one open-source project in your problem domain. Something where the maintainers are active.
- Subscribe to its pull-request feed (GitHub has an RSS / "watch" toggle for this).
- Spend 15 minutes a day reading PRs. Don't read the code first — read the description and the comment thread. What problem does this PR claim to solve? What did the reviewers push back on? What did the author have to defend? That's where the engineering happens.
Two months of this and you'll have absorbed more about how senior engineers think about problems than a year of tutorials. Three months and you'll start spotting things in the PR diffs that the maintainers haven't flagged yet — that's when you start commenting, and that's when you start being known.
9. Document the problem you owned, not just the decision
"I built X" is what your code shows. Anyone can see it. The thing only you can document is which problem you were solving and why your decision matched it — that's the part that translates into interview answers later.
Practical habit: every time you make a non-trivial choice, write a one-paragraph note that names three things — what was the problem, what were your options, what specific constraint pushed you to one of them. "The problem was X. I considered Supabase, Firebase, and Postgres-on-Cloud-Run. I picked Supabase because [reason tied to the problem]. I rejected Firebase because [trade-off it would have introduced]." Stash these in a DECISIONS.md in the repo, or a private journal.
Two things happen:
- Six months later, when you're interviewing, you have a ready-made talk track for every project. "Walk me through the architecture" stops being scary because every choice is already framed in terms of the problem it was solving.
- You start noticing the choices you can't justify — usually because you didn't have a clear problem in mind when you made them. That's the most valuable feedback there is, while you still have time to deepen your reasoning.
10. Apply at 60% match — and address the problem behind the job description
Job descriptions are not requirement lists; they're wishlists. Hiring managers know they won't get every box ticked, especially for a junior role. Most candidates apply only when they feel they hit 100% — which means most candidates never apply.
Rule of thumb: apply if the core 3 requirements are there (the role, the seniority, the location/timezone). Don't filter yourself out on the nice-to-haves. The nice-to-haves are bargaining chips for the offer conversation later, not gates at the front door.
Then go further: read the job description between the lines for the actual problem the team has. A long bullet list under "Responsibilities" usually points at one or two real pain points the team is hiring to fix — slow onboarding, brittle infra, no design polish, no test culture, growing customer base outpacing the engineering team. Address that in your cover letter, not the bullet checklist. "Reading the description, it sounds like you're feeling X. Here's how I'd help." beats a hundred "I'm passionate about your mission" letters.
And: apply early. Most roles fill in the first two weeks because the hiring manager's energy is highest then. The "I'll polish my CV first" instinct costs more applications than it saves.
Where to start, this week
Don't try to do all ten. Pick two. Make them recurring habits — calendar them weekly until they stick. The career compounds in the gap between "things I read about once" and "things I actually do every week."
Two we'd recommend for everyone leaving this workshop:
- Tip 3 — keep solving a real problem in public. Pivot the site you just built into something that actually solves a problem for someone. One small commit a week, visible to anyone who clicks your repo.
- Tip 5 — write one short note weekly about a problem you're chewing on. LinkedIn, blog, anywhere. Visible thinking beats visible learning, and cadence beats polish.
Six months of those two and you will be in a different position on the market — not because the world changed, but because you did.