CodeChem

CodeChem CodeChem is a software development company, founded in 2015 and located in Skopje.

Our story
We started out as 7 people with only one thing in mind, to become proficient in building mobile apps and websites. We weren’t traditionally hiring, but we opened our doors to amazing like-minded people who strived for excellence.



By 2021 the company grew to +45 people hiring some of the best talents and worked successfully to put this talent into an environment that nourishes profes

sionalism, a high degree of technology exploration, and applying the most sound SDLC practices in the industry. We have evolved a lot along the way, but one thing has stayed the same, the strive for excellence.



In a world of technologies, platforms, and frameworks expansion our main goal is to find the right balance between exploitation and exploration of our knowledge. The main reason CodeChem was founded was exactly this, to try and apply a working model where every individual will consider their job as:

- Lifelong learning;

- An art of creating the most elegant solutions to the problems they are faced with;

- Help their peers to achieve these ideals.



The way we work

We work transparently, we have regular knowledge sharing sessions, code reviews, and daily stand-ups means all the team members are well aligned and no one needs to reinvent the wheel when it comes to implementing a similar feature to already existing ones. We can count on shared knowledge and expertise from the rest of our team working on other projects.

“That’s not my part of the stack.”Yeah… this probably isn’t that role. 😄We’re hiring a Senior Full Stack Engineer who’s ...
04/09/2026

“That’s not my part of the stack.”
Yeah… this probably isn’t that role. 😄

We’re hiring a Senior Full Stack Engineer who’s comfortable going from frontend to backend, cloud infrastructure and CI/CD, and owning what they build in production.
AI tools and Agentic Systems are part of the picture too.

📍 Skopje | Full-time

Curious? Find out more about the position through the link in our bio.

Install the runtime. Match the dependency versions. Configure the env vars and paths. Now do it again on the next four s...
03/09/2026

Install the runtime. Match the dependency versions. Configure the env vars and paths. Now do it again on the next four servers. 😅

David Dukoski led today’s intern session on Docker 🐳

That checklist, repeated under five servers on a single slide, was his case for containers. Then came the same picture with Docker, where one image everyone pulls and one docker run per machine replace the whole list.

The session went hands-on at the end, with a small backend built from a Node server and a PostgreSQL database 🧱

One image. One command. Identical behavior on every server, every time.

Thanks, David! 👏💙

This internship is for candidates who are already based in Germany. 🇩🇪 If you’re curious about how things work, enjoy bu...
01/09/2026

This internship is for candidates who are already based in Germany. 🇩🇪

If you’re curious about how things work, enjoy building things, and want to become a better engineer, you’ll probably get along with us. ✨

We’re looking for a Software Engineering Intern to join our team in Cologne, where you’ll learn from experienced engineers and start building your career in software engineering.

What to expect:
✔ Paid 3-month internship
✔ Mentorship and plenty of room to ask questions
✔ Opportunity for full-time employment after successful completion

Who can apply?
• Candidates already living in Germany
• EU/EEA citizens or candidates with a valid German work permit or visa
• English is required; German is a strong plus

📍 Cologne, Germany | Hybrid
🗓️ Apply by September 20

Find out more about the role and apply through the link in our bio. 🔗

Ask an AI agent whether it followed your rules and it will tell you yes. 🤖Stefan Milev spent today’s session with our in...
27/08/2026

Ask an AI agent whether it followed your rules and it will tell you yes. 🤖

Stefan Milev spent today’s session with our interns on how to check that answer instead of trusting it.
His trick: put a visible style rule into the requirements, a color for example, then look for it in the pull request. What survives the build tells you how much of the brief the agent actually kept.

The interns worked through planning agents versus building agents, when to split work into subagents, and why letting the agent ask questions upfront costs less than correcting it later. For long tasks, the agent writes a short text file of what it has done and what it plans next, so nothing quietly drifts.

👏 Kudos to Stefan for a workshop that was easy to follow and hard to zone out of.

Testing pyramid > ice cream cone. 🔺✅ 🍦❌This week’s intern session with Veronika Gjoreva Nushkova covered software testin...
20/08/2026

Testing pyramid > ice cream cone. 🔺✅ 🍦❌

This week’s intern session with Veronika Gjoreva Nushkova covered software testing, and she made it genuinely fun to follow.

She built the whole talk around one example: a demo e-commerce site’s “sort by price” feature, tracked through every layer of the testing pyramid. Starts with a quick unit test, ends with a full end-to-end run in a real browser 🌐

Interns saw the tradeoff up close: go up a layer and you gain confidence, but you lose speed ⚡

Then she got into what actually makes a test good instead of one that just happens to pass, plus where AI-generated tests quietly go wrong if nobody double-checks them 🤖👀

Her closing line said it best: write tests like a pyramid, not an ice cream cone 🔺🍦

Thanks, Veronika! 👏 🙏

Yesterday’s Debugging presentation was so good that apparently one session wasn’t enough. So… Part 2. :))Today, Kaltrin ...
19/08/2026

Yesterday’s Debugging presentation was so good that apparently one session wasn’t enough. So… Part 2. :))

Today, Kaltrin Ismaili and Dushko Klincharov went deeper into what happens once you actually find the bug. 🐛🔍 Kaltrin took us past console.log() and into logpoints, conditional breakpoints, Network waterfalls, CORS, storage, cookies and service workers. Basically, how to stop staring at the screen wondering “frontend or backend?” and actually get an answer.

Dushko came back with an important reality check: making the error disappear doesn’t mean you fixed the bug. Reproduce it again, revert the fix and watch it return, test the boundaries, check neighbouring code, and make sure you can explain exactly why your fix works.

The presentation ended with something worth remembering: fixing the bug is only part of the job. Good debugging should also leave behind better validation, better logs and fewer traps for whoever touches the code next.

That’s a lot of debugging for two days, but we promise there’s no Part 3... for now. 😄

Kaltrin Ismaili and Dushko Klincharov teamed up for this week’s intern session on Debugging 🐛🔍Dushko opened with the met...
18/08/2026

Kaltrin Ismaili and Dushko Klincharov teamed up for this week’s intern session on Debugging 🐛🔍

Dushko opened with the method: the four rounds every bug goes through, reproduce, isolate, validate, improve. No guessing, no heroics, just a repeatable way to narrow down where a bug actually lives.

Then Kaltrin took over with the tools for the two places you’ll actually be looking: Postman and logs on the backend, DevTools in the browser. From reading status codes properly to catching a bug mid-flight with a breakpoint instead of a wall of console.logs.

The line that stuck: you were trained to write code, but you’ll be paid to read it. 💡

Great tag-team session, Kaltrin and Dushko! 🙌

Bojana Arizankovska led this week’s intern session at Base42: Code Solution Organisation 👩‍💻She opened with the “broken ...
13/08/2026

Bojana Arizankovska led this week’s intern session at Base42: Code Solution Organisation 👩‍💻

She opened with the “broken windows” theory: one unaddressed mess signals that mess is tolerated, and decay speeds up from there. Afterward, she broke down what actually holds a codebase together, maintainability, scalability, and orthogonality.

Then came the daily habits that keep entropy in check: DRY code, deliberate reusability, testing woven into development instead of saved for the end, and treating every design decision as reversible. Real before-and-after code examples made it all click. 💡

Structure isn’t just a nice-to-have, it’s how you talk to the next developer who touches your code (including future you). 🔧

Thanks, Bojana! 👏💙

What if getting better at coding with AI isn’t about letting AI write more code?Today at Base42, Dimitrij Krstev present...
07/08/2026

What if getting better at coding with AI isn’t about letting AI write more code?

Today at Base42, Dimitrij Krstev presented to our interns on AI as a Code Assistant, focusing on what working with AI actually looks like for developers.

AI can help you understand an unfamiliar codebase, hunt down stubborn bugs, get a project off the ground, or handle repetitive refactoring. But it can also make mistakes, take shortcuts, and confidently give you something that still needs fixing.

Dimitrij also covered something that doesn’t get talked about enough: tokens, context and cost. Better prompts aren’t just about better answers. They can mean less unnecessary exploration, less context usage, and less money spent.

AI can write the code. Knowing what to ask, what to trust, and what to change is still on you.

Thanks Dimitrij, for this great presentation and for sharing what you’ve learned along the way! 😊 👏 💛

31/07/2026

Address

Rimska 25
Skopje
1000

Alerts

Be the first to know and let us send you an email when CodeChem posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Business

Send a message to CodeChem:

Shortcuts

Share