In early June, we launched Espeo Junior Academy, a paid internship program for academics and young professionals interested in developing their careers at Espeo Software. As a result, six talented, committed, and eager to learn junior developers joined our ranks.
The interest in Junior Academy exceeded even our wildest dreams. Not only was the number of applications surprising, the candidates’ experiences and knowledge were exceptional as well. The process of choosing the final trainees was really difficult. We wanted to focus on individual development of each of the Academy’s participants and provide them with a dedicated Mentor and his or her support. In the end, after interviews and assessment centers, we selected candidates with highest potential, interesting experiences, and well-developed soft skills.Adrian Warkocz, Senior React Developer and Mentor in Junior Academy
The main goal of Espeo Junior Academy is to prepare the junior developers for taking part in commercial projects by strengthening their software, teamwork and soft skills. In order to achieve that, we develop not only their technical competences. The essence of Espeo Junior Academy is to provide the attendees with opportunities to gain first-hand experience in an actual project, understand how software development processes look like, and how our consultancy process and client services work.
How do we develop the skills of the participants of Junior Academy?
We wanted to create an effective work setting for the junior developers taking part in the Academy. Therefore, we engaged them in an ongoing project. Their task is to develop a fully functional application during the software development process. What skills do they strengthen and develop along the way? Firstly, junior developers work in a real software team managed by an experienced Project Manager. The participants learn about agile project management practices and observe how project management works in practice. They also learn how to communicate effectively with the client and within the team. Furthermore, they are involved in UX design processes and have an influence on the final product. Thanks to this, they gain a lot of insight into UX processes and the creation of user-adapted applications.
As a company, we place a lot of emphasis on building relationships with our clients. Consequently, communication with our clients is one of the most important competencies of our software developers. The same goes to the participants of the Junior Academy – the experience of working with a real client is the most valuable lesson for them. Through project work, developers learn how to communicate with clients and understand their business needs as well as how to find the most effective solutions for their problems and challenges. For this reason, understanding the workings of the consultancy is vital in every client’s project. Moreover, developers deal with many challenges during their daily work and projects. So on one hand, we give the Academy’s attendees the opportunity for a fast-paced development. On the other hand, however, we support them along the way. Each of the Junior Academy’s participants have dedicated mentorship support from our experts. Additionally, their development is monitored by the Learning & Development Coordinator. L&D Coordinator takes care of mentoring processes and is responsible for growth of developers’ skills.
Why is this learning approach so effective?
Junior Academy focuses on developing skills by practice. However, the learning process is based on Kolbs’ Learning Cycle. Kolb believes that effective learning is a cyclic process that involves experiencing, reflecting, thinking, and acting. The model shows two ways to gain experience – concrete experiences and abstract conceptualization steps as well as two modes to transform experience into knowledge – reflective observation and active experimentation. Each of these phases is a foundation for the next stage.
How do we implement these stages in the Junior Academy?
Let’s start with concrete experiences. Our recruitment process focused on finding people with experience and solid knowledge backgrounds. During the Academy, developers go through the project using their experiences and knowledge to solve tasks and problems.
In the next stage, reflective observation, they notice what kind of challenges they deal with in the project. Developers can identify if their experiences and knowledge are enough, and compare what they know and what they need to know.
Reflective observation leads to abstract conceptualization. Earlier, junior developers noticed some problems in software development and found out what they needed to do to solve it. Now, they have to find the best solution. Firstly, we encourage them to find answers themselves and in the software team. Once they have done this, they can discuss proposed fixes with their Mentor, and choose the best way to implement in the active experimentation stage.
The last stage in the circle, active experimentation, focuses on testing. Developers implement their ideas and put their knowledge into practice. As such, this stage offers an opportunity to test their new ideas and lessons collected from the earlier stages. By actively experimenting with different concepts, they can learn how to associate what they have experienced with new ideas and innovations.
Let’s have a look at an example
The client would like to log in to the platform by Google Account. It is one of the first tasks for a Junior Academy’s developer. Let’s assume that the developer, Anna, knows something about it — she has worked on a similar task during a student project, watched a video about it on YouTube, and read some articles. During Concrete Experiences, she tries to solve the task herself using experiences. Unfortunately, she runs into problems. She leads to Reflective observation and tries to find out what is going on by checking the code and discussing it with colleagues from the team. During Abstract conceptualization, she tries to find concrete solutions. Anna reads more articles, goes through Google documentations and watches YouTube videos. Finally, she decides to consult her Mentor in order to discuss the problem and solutions. After the meeting, during the Active experimentation, she applies new ideas. It works! She shares new experiences with the team and shows how to deal with similar issues.
We strongly believe that three months of intensive practice and development in Junior Academy can prepare young developers to provide quality services in commercial projects. Our learning approach lets us strengthen the competences of the Academy’s participants from Junior to Regular in a short time and make their career paths as software developers really interesting and satisfying.
We offer a great learning environment and opportunities for development. Through the Junior Academy, we provide a fast as well as sustainable development process. Each of the Academy’s members gets a lot of support during the mentoring process and has the opportunity to learn from more experienced experts. Moreover, they gain experience in client services that prepares them for commercial work.Aleksandra Czajczyńska, Regular React Developer and Mentor in Junior Academy