Software Engineer (Internship)
WHO WE ARE LOOKING FOR
An engineering student passionate about AI and eager to get hands-on experience in the tech industry.
Are you a student of software engineering, computer science, or a related field? Have you already built something with AI? Not just prompted ChatGPT for homework, but actually designed, debugged, or shipped an LLM-powered application? Do you understand that while AI can speed up the work, the thinking, architecture, and decisions behind every solution are still yours?
Then you might be exactly who we’re looking for.
Join our AI & Data Engineering team, learn from experienced mentors, and build skills that will shape your career. You’ll spend most of your time reasoning about AI systems rather than typing out boilerplate. You’ll be designing, testing, and evaluating LLM-powered features where “correct” depends on context rather than a fixed formula.
We’re a small team (bots excluded) of AI enthusiasts who love working on challenging projects involving Machine Learning, LLM Engineering, Data Engineering, and everything else data- or AI-related. We collaborate closely with DevOps, Backend, QA, and System Architects to build AI-powered solutions for industries ranging from hospitality and healthcare to smart devices. At Infinum, AI-native is more than a buzzword. We redefined our ways of working and rebuilt how teams are composed. Now we help our clients do the same.
Our tech stack depends on the project, but we mostly use Python and its community-powered libraries and frameworks. We’re excited about creating novel approaches to yet-unsolved problems, automating boring tasks, and using cloud technologies to scale everything up.
This is a paid, full-time internship based in our Podgorica office, with the possibility of a permanent position afterward.
01
Qualifications & experience
- a student of computer science, software engineering, natural sciences, or a related field, available to work full-time (40 hours/week)
- solid grasp of at least one programming language, ideally Python
- hands-on experience building LLM-powered applications
- deep understanding of AI tools, their capabilities, limitations, and responsible use
- adaptable and open to new experiences and ways of working
- collaborative mindset and the ability to communicate effectively in a cross-functional team
- strong written and spoken English, as you’ll work directly with international clients
02
Your responsibilities
- designing and evaluating LLM-based features, including building test cases for non-deterministic behavior
- reviewing, refining, and shipping AI-assisted code that’s clean, maintainable, and production-ready
- rolling out features and iterating based on feedback from QA engineers, users, and clients
- working in a cross-functional team (DevOps, Backend, QA, System Architects)
- participating in code reviews, pairing, and other forms of knowledge-sharing
- presenting solutions to a group of colleagues or clients
The hiring process, explained
01
First interview
You talk to the HR person leading you through the selection process. You get acquainted with Infinum, your potential future team and position, while we also get to know you.
02
Take-home assignment
Designed to show you the kind of tasks you will meet regularly and to give you a better insight into the position itself. It also gives us an insight into your skills and experience with relevant technologies.
03
Online testing
You solve a couple of psychological tests that usually include personality tests, logical sequences, and performance and concentration tests, which give us an insight into your character, capacities, and aptitudes.
04
Final interview
Usually, you talk to your future Team Lead, the Managing Director, and an HR person. You get a deeper insight into the position and our expectations, while we get the opportunity to ask you more specific questions.
05
Offer
All going well, in this stage we send you the offer, which includes all the information from salary details, vacation days and other perks and benefits of working at Infinum.
00
Next thing you know
Next thing you know, you’ll finally be getting to that thing you’ve been putting off while waiting for your Claude limit to reset.
Tools
we use
Productive
We use Productive for time tracking, budgeting, and project management. It helps us to have all the information in one place.
Slack
We use Slack for work and for fun. It’s our go-to tool for maintaining sanity both in office and remote.
Handbook
Through the years, we’ve built a vast repository of knowledge that serves as our guide and shows how we make our applications and how our offices work.
LangChain & LangGraph
We leverage these frameworks to streamline our LLM integrations and build complex reasoning workflows.
LLMs
We use various LLMs, including Claude Fable 5, Claude Opus 4.8, Claude Sonnet 4.6, GPT-5.5, Gemini 3.1 Pro, and Gemini 3.5 Flash, accessed through platforms such as the Anthropic API, the OpenAI API, Google Cloud (Gemini Enterprise Agent Platform, formerly Vertex AI), Azure AI Foundry, and AWS Bedrock, with Voyage AI for embeddings.
FastAPI
Our backend of choice for building high-performance APIs with Python.
Streamlit & FastHTML
We create interactive, responsive user interfaces for our AI applications.
PostgreSQL & PgVector
We rely on PostgreSQL databases with vector extensions for efficient semantic search capabilities.
What do we offer?
Feedback and feedforward
Honest communication fuels growth. In our 1-on-1 sessions, 360 reviews, and career progression meetings, we discuss what is great and what could be improved.
Educational budget
We allocate yearly resources for employee education, including books, software, courses, or other learning materials. Big brain energy!
Contributing to open source
Sharing is caring doesn’t only apply to chocolate.
Paid language courses
Paid language courses help our employees master the English language.
Traveling on business
Having clients all over the world means our employees sometimes have to travel to and work from beautiful locations.
Subsidized recreation
Stay in shape with a sponsored fitness membership of your choice.
Free power-ups
Snack on fruit, cookies, and nuts to keep your energy levels up.
Car and bike parking
Don’t let it get caught in the rain. We offer free parking for bicycles and subsidized car parking.
Flexible working hours
Tailor your working hours to fit your schedule.
Fun and games budget
Every team gets a monthly budget to hang out and do fun stuff.
Apply for this position
Infinum is committed to creating a diverse, equitable, and inclusive workplace. We are an equal-opportunity employer and welcome applications from people of all backgrounds, identities, abilities, and experiences. If you’re excited about this role but don’t meet every requirement, we still encourage you to apply.