What does the Astea software engineer internship look like?
The internship program is made up of two parts, each with its specific focus and goals:
Group lectures with practical exercises
Тhe first half of the program includes daily group lectures, with the goal of acquainting interns with key topics in the field of web development. These lectures are led by mentors and have a strong practical component with individual tasks accompanying each lecture. Many of the tasks are designed to build on top of one another so that interns can develop their own individual application within the first half of the program.
The mentors are of course available for additional questions outside of the lectures as well.
Some of the main topics covered during the first half of the program include:
- Introduction to JavaScript and TypeScript
- Databases and ORM
- Client-server architecture with React and Node.js
- Introduction to Docker and docker-compose
- Introduction to main agile software development processes
Team project
During the second half of the program, interns from all positions are grouped into one or more teams. Each team is tasked with developing a working application from scratch based on initial requirements.
The team’s project challenges include:
- Interns not only apply what was learned during the first half of the program, but also learn how to tackle tasks that include new challenges.
- In addition to the purely technical side of things, the group project teaches teamwork and synchronicity between team members, both in terms of programming tasks, and in terms of cooperation with the other key parts of the team.
- Another key goal of the team projects is to follow a process that simulates as closely as possible working on a project with a real customer.
Each project is developed primarily by its team of interns; however, each team has at its disposal mentors to guide it and help it not only with technical questions – but to also follow the work process and synchronize with the rest of the team members.
What are the requirements for the Software Engineering internship candidates?
- Willingness to learn new things and develop as a software engineer.
- A strong knowledge of key programming concepts such as object oriented programming, algorithms and data structures .
- We do not require knowledge of a specific technology. However, we do expect that interns have practical experience with at least one programming language or framework, so they can quickly get up to speed with the technologies that are used in the program.
- Own projects, individual or group ones, are a plus, no matter the technology.
- As Bulgarian is the primary language of the internship, non-native speakers need to have a level of B2 or higher proficiency in Bulgarian
We strongly recommend that candidates have at least one year of academic experience in the field (Note: the current internship format is not compatible with high school education process).