This is not a limited-time internship program. It is a program designed to be your very first step in becoming a full-time professional at sophilabs, and we are excited to have you on board.
What do I need in order to apply?
We are looking for team players who share our company culture and values, are eager to learn, and are receptive to how we work at sophilabs.
No Experience Required
You don't need to be proficient in any specific area in order to be an apprentice at sophilabs. We're looking to meet people with the right attitude and skills.
Experience in or knowledge of Scrum, Python, Django, React, Angular, Elixir, Phoenix and/or Docker is ideal, but we are more interested in candidates who demonstrate a positive attitude, a desire to improve, excellent communication skills, and a passion for creating beautiful software.
We understand that every new hire has a unique skill set, so we will give you learning objectives designed to get you up to speed in the areas that you need to improve.
You'll be able to learn and work on real projects at the same time.
English is required, but an advanced level is not mandatory for apprentices
English is a must-have to work at sophilabs because all communication (internally and with customers) is in English. In addition, all technical training materials and self-learning courses for apprentices are in English.
But don't panic! As part of the Apprenticeship Program, you will complete an assessment to evaluate your level of English. If your level is below upper-intermediate, the program will help you improve. The Apprenticeship Program includes the time and courses necessary for you to learn to communicate with confidence.
However, keep in mind that your reading and writing skills should be advanced enough to allow you to understand technical materials and training courses without major difficulty.
Our Ideal Candidate
We’re looking for team players who take ownership of their project and are always looking out for their teammates. You’ll need to have a keen eye for the finest details, be able to create and apply solutions to scalability issues and design software that meets both the product strategy and non-functional requirements. You must enjoy researching, innovating and challenging yourself to deliver only the best quality software.
Get Prepared for More
You'll have the opportunity for a long-term career at sophilabs. Completing the Apprenticeship Program is only the first step to see how far you can go.
Are you ready to become a professional? Apply here
How does the program work?
During the Apprenticeship Program, you will have a personal Coach who will be dedicated to your success at Sophilabs. They will ensure that you are developing the necessary technical skills and competencies and accomplishing daily organizational operations that are essential to the role of a full-time developer. They will also help you understand and practice the values that define our company culture.
After your first 3 months, you will be eligible to pass your probationary period, and you'll have the chance to prove yourself by demonstrating your growth throughout the Apprenticeship Program. You'll then have the opportunity to continue working at Sophilabs as a Trainee Developer with a solid base of skills and competencies.
You will be supported by a special group of team members
A Coach is responsible for guiding Trainees in sophilabs' best practices, facilitating their path from Trainees to Junior Developers. They work with Trainees daily to ensure that they can become developers at sophilabs. A Coach catalyzes organizational growth by conducting training, answering questions and providing developers with feedback and means of improvement.
Talent Development Advisor (TDA)
Every team member at sophilabs has a Talent Development Advisor (TDA) who helps them achieve personal and team goals. They act as coaches, helping discover areas of improvement and finding challenging assignments to motivate team members. Their most important goal is helping team members find their purpose at sophilabs.
Project Reference (PR)
A Project Reference helps Trainees with the technical details related to project tasks, guiding Trainees on how to solve problems in a way that follows development and project guidelines.
Project Manager (PM)
They are responsible for ensuring that the project team delivers only the highest quality software and that the customer is highly satisfied throughout the process.
When your Apprenticeship Program begins, you will be assigned to a real project, and your Project Manager will give you some tasks. This is where your Coach comes in. Once you have your first tasks, you will work together with your Coach to create a learning plan. You'll be given the time and tools to obtain the knowledge and skills you need to start working and successfully complete your tasks.
The Big Picture
The program is structured in two stages of training of three months each.
1st Stage Objectives - Months 1 to 3
At the end of the first three months of the program, you should have successfully completed the training and tasks and demonstrated that you share sophilabs' values. You will have completed your probationary period and should be ready to continue working at sophilabs and begin the second stage of the program.
2nd Stage Objectives - Months 4 to 6
During the following three months, you will continue working on project tasks. You must progress to an intermediate level of technical learning and continue developing your competencies. At the end of this stage, you'll have the chance to be promoted from a Trainee Developer to a Junior Developer.
During the program you will have 2 types of training, Required Training and Ongoing Training. Both are necessary but have different learning timelines.
This is the training that will help you solve your immediate project tasks. For example, if you have to work on front end tasks, your required training will be to learn React. If you have to work on the back end, you'll learn Python and Django.
Ongoing training covers the soft skills and competencies you need to be a developer at sophilabs, but that are not necessarily related to your immediate project tasks. For example, ongoing training may include topics like communication skills, attention to detail, effective collaboration and focusing on customer success. You will be learning these skills and improving them throughout the program.
Plan & Timeline
The objectives of the weeks defined in the timeline are a representative guide, but they can vary depending on your personal learning progress and the training you need to complete in order to work on your project tasks.
We based this program on an Agile learning and work methodology that allows you to study and work effectively, adapting your training according to your needs and the skills required to perform your project tasks.
Step by Step
Week 1: Welcome, Meeting and Setup
Day 1 - Office Tour & Onboarding
On your first day, our Office Manager will take you on a tour of the building and introduce you to the team. Don’t worry too much if you can’t remember everybody’s name or what they do. Everyone in the office has been a newcomer at some point! Most people will be understanding if you ask them to remind you of their name. In any case, your teammates know that in order to support you in doing your best work and help you feel comfortable, they should be readily available to help you settle in and teach you the ropes.
You will also sign papers regarding your work agreement with sophilabs. Let the Office Manager or your Coach know if you have any special requests.
Day 2 - Organizational Culture & Project Onboarding
On your second day at the office, you will have one-on-one meetings with your TDA and your Coach.
You will be assigned to a real project. Your Project Manager will guide you through the project onboarding. They will explain everything related to the project and set up your first project tasks according your level of knowledge and what we expect you to learn.
During your meeting with your Coach, you will discuss and set up your learning plan, define your goals and go over all the details about how the program works.
Day 3 - Set Up a Learning Plan
Once you complete the project onboarding and the PM assigns your first tasks, you'll meet with your Coach to adjust your learning plan according to what you were assigned (FE, BE, testing, data, etc). Your training will focus on the framework, language and level required to do your tasks. Your learning plan will also include the soft skills and competencies every developer needs.
Days 4-5 - Install the Necessary Tools
You'll install all software (languages, repositories, etc) necessary to learning and working on your tasks.
You should make sure you understand what your goals are and when your deadline is.
Week 2: Start Learning & Work Cycle
This is the first iteration of the Learning & Work Cycle, which it means you'll be assigned your first project tasks.
The Project Reference (PR) will be your technical resource for the project. The PR will give you more details on how to work on your project tasks in a way that follows the project guidelines.
During this week, you will have time to self-study according to the learning plan designed for you and your project. You can ask the Coach for as much help as you need to accomplish your learning goals and achieve your project tasks.
After the learning week, you will have acquired the necessary knowledge to start working and solve your project tasks.
Besides the technical training, you will work on your soft skills and competencies, including:
- Agile and SCRUM practices
- Attention to detail
- Focusing on customer success
- English (if needed)
Week 4: 30-Day Review
During your 4th week, you will have your 30-Day Review. You will have a one-on-one meeting with your direct manager, who will also write a review of your performance on Small Improvements, the tool our teams use for giving and receiving feedback. The review will focus on what you're doing well, what you can do better, and a few clear actions points to help you improve.
The 4th and 5th weeks form a new Learning & Work Cycle. The dynamic will be similar to the previous two weeks, and you'll focus on learning. If the new tasks are similar to the previous ones or there is no change in the technology you're using, you can take the opportunity to go deeper and achieve an intermediate level. Otherwise, if your new tasks require new knowledge, your Coach (CO) will design the right learning plan for you, as was done during the previous two weeks.
Throughout these two weeks, you'll also continue your Ongoing Training in various competencies, such as:
- Task Estimation (with Agile)
- Video Call Training
- Development and Continual Learning
- Organization and Planning
Week 6: Real Project Planning
Besides continuing to learn and work, you should be able to participate actively in all Scrum ceremonies related to the project, including sprint planning meetings, daily scrums/stand-ups, and sprint reviews. You must estimate tasks based on the knowledge you acquired during your training and your experience working on previous tasks. The PM and PR can provide you with additional support while you're participating in ceremonies or completing tasks.
You will also have the support of your Coach, who will ensure that you possess the right knowledge and skills for your tasks. If you need any additional knowledge or skills, the Coach will assign you the appropriate training.
Week 8: 60-Day Review
You will have your 60-Day Review. Like the 30-Day Review, you will have a one-on-one meeting with your manager and be evaluated in writing on Small Improvements. You'll receive positive feedback on what you're doing well and constructive feedback on what you can do better.
At this point, you can move on to the next level of knowledge. You'll take intermediate-level training courses, reinforce your current knowledge, or learn a new technology. You should improve your skills and competencies so you can take on more complex project tasks.
Week 10: First Steps
At this point, you should be able to work actively alongside the project team and perform your assigned project tasks. You should have the necessary competencies and skills to discuss technical tasks with your teammates, collaborate with your team, accomplish your sprint tasks, and complete all the daily tasks the project involves.
You should also be performing all the organizational and administrative tasks that are part of being a sophilabs developer, such as registering your hours correctly, punctually, and independently; staying on top of your email and calendar events; and giving quality feedback on Small Improvements.
Week 12: Checkpoint & 90-Day Review
This is the final week of the Apprenticeship Program. By this time, you should have demonstrated that you are a good fit for sophilabs by adopting and practicing our values, acquiring the necessary technical knowledge and abilities to work on projects, collaborating with teammates, participating actively in Scrum ceremonies, estimating and completing tasks and demonstrating that you align with the way we work.
You will have your 90-Day Review and receive feedback on all the important areas mentioned above. You can also give us feedback on the program to help us continue to improve the Apprenticeship Program.
If you're a good fit for sophilabs, we'll be very excited for you to keep working and growing with us as a Trainee Developer.
Months 4-6: Trainee to Junior Developer
If you demonstrate that you share our values, have the required knowledge, and maintain a positive attitude, you will be one step closer to becoming a professional software developer at sophilabs.
During these 3 months, you will continue working with the Coach on your skills and competencies in order to progress from Trainee to Junior Developer.
Learning & Work Cycle
During the program, we will adhere to an iterative Learning & Work Cycle, which is designed for you to learn the technologies you need to complete your project tasks.
With each iteration of the cycle, you can increase the level of difficulty of the technologies you are learning or introduce new technologies to the learning plan, allowing you to perform more complex tasks for the project.
Every cycle consists of the following steps:
- Get Tasks - Your PM will assign you new project tasks. You'll review the task details with the Project Reference to identify the technologies you will need to know in order to work on them.
- Check - You and the Coach will determine your level in the required technologies and design a personalized learning plan.
- Learn - You will begin your self-study courses and training as laid out in the learning plan that was designed for you.
- Test - After you finish the assigned training, you will have a technical review to ensure you have acquired the level of knowledge that will allow you to complete your tasks.
- Work - You will work on your project tasks. You will have the support of the Coach and the Project Reference (PR), who can guide you in completing your tasks correctly.
- Review - The PR and/or PM will review your tasks to make sure you completed them correctly and identify whether you need to re-work any aspects of your tasks before you can mark them as done.
Sample Learning Topics
Below are some examples of what you may learn during the Apprenticeship Program, depending on your technical background and the project tasks assigned to you.
Technical skills could include one or more of the following:
- Agile and SCRUM practices
- Backend programming in Python and Django
- Containerization using Docker
- Database programming using PostgreSQL, RDS, Redis, Cassandra, Solr
- Versioning software with Git
Soft skills may include the following topics or activities:
- Unit Testing basics
- Communication skills
- Practicing a customer call
- English Assessment (for non-native English speakers)
- Our continuous improvement feedback cycles
- Prioritize: Mandatory Requirements vs Optional Requirements. Consider doing mandatory requirements first and then focusing on the optional ones if you have time.
- Organize: Keep your work organized using a Trello Board. This will prevent you from getting stuck and help you focus on the most important things.
- Negotiate: Any developer should be able to negotiate requirements if the scope is too big. Feel free to negotiate the deadlines and requirements. Adjusting deadlines and negotiating scope are common practices in software projects with a fixed timeline.
- Ask: If you get stuck, ask for help. At Sophilabs we have several ways to find help when needed:
- Use the /guru Slack command to find experts in a certain area. Try it in any channel, including your space to draft Slack messages.
- Slack channels #devs, #devs-python, or #devs-react are also great places to look for help.
- Ask around! We are a friendly bunch and someone will surely know or at least be able to point you in the right direction.
Tips for Self-learning
Self-learning does take significant discipline and can be difficult at first, but like any endeavor, it becomes easier with time. Self-study, when done correctly, is an effective learning tool. It can be helpful when used to prepare for a test or learn an entirely new subject matter on your own. Here are some tips for practicing successful self-studying:
- Prepare and maintain your study environment: When learning remotely, it's important to have an adequate study space. If you want, you can relax on a sofa in the office while reading. You may find it more effective to learn outside of your assigned space.
- Find what works for you: There are many ways to learn, and it's important to adjust studying techniques to determine what works best for your brain. The sites we include are good starting points. We encourage you to go further and try different sites if you find them more useful.
- Review material the same day you learn it. After taking notes on an online course or reading the next chapter in your textbook, make sure you review all the new material by typing up your notes and/or practicing your new skill using a Breakable Toy Project.