Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
All the content of this Guide, including the various curriculums with course content, are created through an open-source community of developers from all over the world, and with mixed content from nonprofit coding schools around Europe, including Hack Your Future and Social Hackers Academy.
In case you want to use, share or duplicate any of the content in this guide, you are able to without costs, as long you adhere to the Creative Commons License that is assigned to all work in this guide, which is:
Attribution-NonCommercial-ShareAlike 4.0 International
In more detail, this license means that you:
Can copy/use any of the content here as long as you reference us as co-creator (MigraCode Barcelona/Open Cultural Center) and with a link to https://syllabus.migracode.org/
Can NOT use any of the content for any form of commercial use or profit in any other financial way from this content
If you have any doubts about this, please reach out to info@openculturalcenter.org.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
We have various forms of additional support on top of the educational support to offer:
Always feel free to contact our internal social worker - Vincent -, with whom you can talk to about any personal issues you may have or encounter during the duration of your MigraCode course. You can make an appointment through Slack. He can also get you in touch with our internal therapists. There may be a waiting list.
If you are still in the process of arranging your visa, work permit, NIE or other documentation, contact Vincent to get you in touch with our external lawyers. There may be a waiting list.
We have a specific program for our female students. You will be automatically added to the CodeWomen channel on Slack where we will share all the information you need. You can contact Henriette on Slack for more information.
If you struggle a lot with the materials, we can assign a specific ‘CodeBuddy’ to you - a volunteer that will help you on a regular and personal basis. If you need this, just send a message to Vincent or Henriette on Slack.
You can access free online language lessons in English, Spanish, Arabic, and Catalan at the Language Lab. The Language Lab also organises regular language exchange events, and you can find a Language Buddy too! To join, just send a message to Charlotte Lloyd via Slack.
We have two options if you cannot study well at home. Both options are free and can be used based on availability. All you need to do is sign-up accordingly beforehand and be there.
In this GitBook, you can find all the useful information for our MigraCode Barcelona students, including the coding course content of our different courses, but also other details of our program.
Jump to the information about your course including the content:
If you are familiar with MigraCode yet and you're interested in joining the program, please refer to the main MigraCode Barcelona website.
English is a global language and is a requirement for many tech jobs in Spain – even if the job is in Spanish. For this reason, students at MigraCode need a minimum level of English to get them through the course. Luckily, you can access free English lessons at the Language Lab and Oxford House!
Spanish or Catalan are also often a requirement in tech jobs in Barcelona. The Language Lab also offers lessons for local languages, so you can get the support you need!
Open Cultural Center, our host organization, offers free language lessons at the Language Lab. You can join Spanish, English, Arabic and Catalan classes taught by dedicated native-speaking volunteers, and be part of an amazingly diverse community. There are 2 levels for each language: beginner (A1 - A2) and intermediate (B1 - B2). The Language Lab also organises language exchange events, and runs Language Buddies, so you can practice in many different ways according to your preference!
Additionally, we have a collaboration with Oxford House, a language school in Barcelona that offers free English classes to MigraCode students via their English Eco course. These courses are run by teachers in training from their Cambridge CELTA course. They last 3 months and are a great way to practise different skills while listening to different accents, and meeting people from all over the world.
Have a look at the options below to see which one suits you best:
Migrating to another country can have a big impact on your life. While it may bring you good things (like MigraCode), it can also give you stress and make you feel negative or sad. At the same time, you may have experienced things in your home country that still have an impact on how you feel now. MigraCode and their partner can help you dealing with these feelings.
It is extremely important to always share any personal issues you have - talking helps! This can be with friends or fellow students, but maybe you need someone to talk to who is specialised in helping people that deal with challenges in their lives.
This is why MigraCode works closely with Iguality, an NGO that offers free mental health support to (among others) migrant and refugee communities through dedicated voluntary professional therapists, ready to talk to you when you need it. The service is - like everything connected to MigraCode - cost-free, and you can always request to start with the service. A psychologist can help you when:
You feel sad or negative
You feel a lot of stress
You have negative thoughts
You miss family/friends
You feel lonely or without sufficient support
You struggle with your identity
You face any other personal issues
If you want to make use of this service, you can fill in this form directly. If you have some doubts, feel free to first send a message to @Vincent van Grondelle on Slack, who can assess your needs and see where you need help with, to find the best match! You can also find more information about the program through this link.
It is possible to just have a few sessions of approximate 1 hour, or to receive support for a longer period of time. This depends on what you need help with and if you feel comfortable! Depending on availability, you can receive in Spanish, English, Catalan and Portuguese.
A MigraCode psychologist can:
listen to your story, how you feel and/or what you struggle with
talk with you and - if you want - try to address the root cause of any personal issues
give you advice on how to deal with negative or sad feelings
support you through hard times and offer tools to handle difficult situations
It also important to know that a MigraCode psychologist cannot:
become your close friend - rather see her or him as a personal guide
solve every issue/problem/challenge you face - it depends a lot on your situation and the specific things you struggle with
always be available for you - he or she will support you on a long- or short-term basis, but the support you receive will happen through the planned sessions (for emergencies you can contact Vincent van Grondelle)
receive gifts or financial compensations - the psychologists offer their support on a voluntary basis and are not expecting anything in return :)
The Language Lab, Open Cultural Center's language school, offers free Spanish, Arabic, English and Catalan classes to all MigraCode students.
What they offer:
Free of charge
Arabic, Spanish, English and Catalan classes
A1 to B2 (beginners and intermediate, no advanced)
Fully online
2 classes of 1H every week
Bi-monthly language exchange events
Language Buddies
You will be invited to the Language Lab Slack workspace, which is where all communication between students, teachers, and the Language Lab team takes place. Don't forget to upload a picture, make sure your name is spelt correctly, and join the first class where you will receive information about the course.
If you are in the Language Lab Slack, you can also check the #exchange channel.
If you would like to practice a language with a native speaker, improve your language skills through one-on-one conversations, or help someone else with the language they are learning, this is a great option.
You will be matched with someone else from the Language Lab's multicultural language community, and you can start immediately.
Fill in . The Language Lab team at Open Cultural Center will contact you.
Follow to hear about the events organised by the Language Lab. In general, there are 2 language exchanges every month, and these events are open to everyone.
For reminders and practical information about language exchanges, join the .
Through the Language Lab, you can also !
Whilst working together we’re dedicated to providing a harassment-free community for everyone, regardless of gender or anything to do with it (‘including but not limited to gender identity, history, and expression, non-binary gender, etc), sexual orientation, disability, physical appearance, body size, race, religion, and programming background. We do not tolerate harassment of community participants in any form, and sexual language and imagery is not appropriate for any community activity.
Our full safeguarding policies AND the methods to report any issues you may face or have observed, can be found in the handbook of the parent organisation of Open Cultural Center.
As you can see, there are various ways to report any issues. However, if you directly want to talk to someone from MigraCode, you can always reach out to Ali Ashraf or Hugo Martínez by Slack or email - ali@migracode.org , hugo@migracode.org.
If you prefer to talk to a female contact person, you can reach out to Ly-Ly by Slack or email - @Ly-Ly Janusz (Slack) or ly-ly@openculturalcenter.org.
The student will be on time for each class;
The student will do anything in her/his power to attend each class (schedules can be found here)
The student will leave the work spaces clean and tidy after use;
The student will do everything in her or his power to complete the ten months course;
The student will do the weekly sprint work and ask for help if needed;
The students will always communicate any difficulties that prevent her or him from following the course;
The student will be cautious with any materials that Open Cultural Center provides to her or him;
The student will always actively participates in classes;
The student will not use her or his phone during classes, except if there is a specific emergency or personal situation;
The student will use English as the main language of communication;
The student will reply within 2 days to messages from MigraCode staff or volunteers;
The student will have her or his camera on during online classes.
We believe that everyone can be a developer. Becoming a successful developer is all about practice, dedication, and willingness to learn. We believe that you can graduate from Migracode with new skills to help you start your career in IT, but it will take hard work and dedication. We know you can do it!
This means being a student is now your part-time job. You will need to attend classes and do homework for about 25-30 hours a week to achieve the learning goals of your Migracode course. This is about the same as a part-time job. Please think carefully about whether this is a realistic time commitment, and what your priorities are right now. Talk to one of the Migracode teams if you have any concerns.
You show dedication to becoming a developer by attending every class. We invite you to bring your homework to discuss it with your peers. If you do not come prepared, you risk being unable to follow the class. It is important to try to attend all the classes, and complete the homework, so that you can discuss it with the other learners during class. If something happens that means you cannot do your homework or come to class, please let us know. Completing the course successfully will be difficult if you miss classes, but we want to work with you to help you succeed!
MigraCode is not just an average school. Our passionate developers dedicate their free time to support your career. We would like you to see taking advantage of it and try together. You are encouraged to study hard, ask lots of questions, and always show up on time. Finally, respect is at the core of the MigraCode community. As a student, you show respect and willingness to learn from both your teachers and peers. We see our diversity as an asset and invite you to do the same. Migracode is a non-profit project, and your teachers are unpaid volunteers. We are really pleased that you want to join this learning community! Your teachers are passionate about your learning, and we want you to benefit as much as possible from their knowledge.
If for some reason you need to miss a class, please always inform Hugo, Ly Ly and Ali with a valid reason (if it is a personal reason, just say that, we do not need to know the details, except if you want to share it with us of course). Make sure to always arrange a one-two-one to replace the class you missed - this is obligated, and needed for you to stay up to date with the course.
Oxford House offers free English classes to MigraCode students via their Eco course. The course lasts 3 months.
Free of charge
English classes
A2 to B2 (no beginners, no advanced)
Fully online (2021)
2 classes of 1H30mins OR 1 class of 3H every week
Choose the time table that suits you best on this chart:
Here is all the information you need in order to register:
The "Oxford House level" that corresponds to your level test result
The timings that suit you best exactly as you see on the chart in Step 2 (not others)
The promotional code: MIGRACODE
As the start of your course, choose the closest ideal date for you
Wait for your confirmation letter, you will receive it by email.
Being a migrant in Europe/Spain/Catalunya/Barcelona can be challenging, especially considering it may put you in a complicated situation regarding your legal status. You may need to apply for asylum, or for other potential procedures to receive a work permit and/or a residency status.
In order to point you in the right direction, MigraCode has some volunteers who have basic to advanced legal knowledge, and they can give you useful information that you may not be able to find yourself on the internet or through public institutions. Some examples of what our volunteers can try to help you with:
Obtaining Arraigo Social
Support with the process of Pareja de Hecho
Support with asylum request procedures
Writing legal requests and/or appeals
Other support related to legal processes
Please note that offering legal support is very difficult since the migration systems in Europe are very complicated. Our volunteers will try to point you in the right direction, but keep in mind no-one knows all the answers.
If you need more help after receiving advice from our volunteers, you probably need to get in touch with a private lawyer (if you didn't one assigned by the Spanish state). This can be hard and expensive, so we have collected some good options for you based on the experience of other students with these lawyers:
The CodeWomen project of MigraCode supports and encourages women students during their MigraCode bootcamp or IT Support & Security course, to work towards their successful graduation and landing a job. The project was started to address the often difficult position of women in the mostly male tech world. By building a community of women developers with a migration background, MigraCode works towards better career perspectives for women students and more diversity in the tech sector. Building a network with women in the tech sector in Barcelona will also benefit women students in many ways.
Much of what women hear about working in tech is about the problems and difficulties they will face, working in all-male teams, and this can easily lead to insecurities and a feeling that “tech is not really for me”. The CodeWomen initiative wants to offer the women students a very flexible context for personal (tech) support and encouragement. In addition, it offers the students a safe environment to share experiences, plans, ambitions, questions and problems with each other, and enjoy each other’s company.
The CodeWomen project consists of two meetings per month, plus a dedicated Slack channel and a WhatsApp group for organising, sharing materials, asking questions, etc. The format of the meets is flexible and the women who participate set the agenda. They can come with questions or topics they would like to hear more about, present something themselves, or work on a coding project together. CodeWomen is an initiative under the umbrella of MigraCode and is not an obligation or part of the bootcamp or IT Support course curriculum.
There are two CW meetings every month. The first is a programme event on Sunday afternoon, with a speaker, panel discussion or workshop on various topics: tech/coding topics but also career and job search (LinkedIn, CVs). The volunteers are invited to join these meets as well. These events offer the women a space to relax and hang out together, to talk, and to share how they experience their journey and the plans and doubts they have.
The second meet is a coding session on Monday evening. This session offers an informal setting where students can practice their coding skills, working with coaches. They can work on their own project, on a specific coding problem, on their homework, get advice about their learning path and how to get into a tech career, etc. Volunteer women developers are available to help the students. With these practical coding sessions, the students can build on what they learn during their bootcamp.
By building a supporting community, we believe the CodeWomen project can make a real difference for women students and help them to succeed in their studies. The students can remain in the CodeWomen group after graduation, for support and encouragement in their career. We want to show the women that, in spite of the challenges they sometimes face with their studies or working environment, coding is great and a career in tech is possible for them:
“... it is creative, it challenges you to solve problems, and the feeling of victory you get when you solve something after hours or days of frustration … that feeling is the best!”
All women students of MigraCode, both from the Web Development and from the IT Support & Security course, are members of the CodeWomen Slack channel. This channel also includes the organising team and Vincent, and the volunteers who are active in CodeWomen sessions. The CW WhatsApp group only includes the students.
Women students and graduates from coding schools that collaborate with MigraCode can be invited to CW meetings as guests. The CodeWomen community is open to other tech women in Barcelona as well: self-learners as well as professional software developers.
CodeWomen aims to be an inclusive community for women, by women, and all women+ are welcome.
The CodeWomen organising team are Henriette Hettinga, Capucine Rosset, Kimberly Krieg (admin CW WhatsApp group), Marta Mateu, and Farhana Bipasha (admin CW WhatsApp group).
The CodeWomen meetings rotate: once a month we organise a programme event with a talk or workshop, a panel discussion, a video tutorial, etc. An important part of this event is networking and socialising. The second monthly CW meet is a coding session with volunteers who are women developers and can coach and support students.
The CodeWomen programme events are on Sundays from 12.00 to 15.30 hrs, and are hosted by CW partners such as coding academies CodeOp, AllWomen and Le Wagon. The CW coding sessions are on Mondays from 19.00 to 21.30 hrs, and are hosted by companies who support the CodeWomen initiative. For both meets the students have to register because places are limited.
If there are no objections, pictures are taken during the CodeWomen sessions, to be used for the MigraCode website and social media.
Any questions about the CodeWomen project, please contact @Henriette on Slack or henriette@migracode.org.
Take the and convert it to the "Oxford House levels" using this chart:
Register on .
Using the information that you have in the confirmation letter, fill in . You will NOT be considered as registered by MigraCode until you complete this step, and we will not be able to support you with your language learning.
To request help, simply . Depending on the waiting list, we will try to put you in touch with a volunteer through Slack, email or phone.
Laura Sainz Rodriguez -
Eliselmo Altoe Weber (Lito) -
Jordi Zorrilla -
Please find some previous experiences at MigraCode below, from students, volunteers and other involved people.
Thanks to Migracode I have made the professional change I have been looking for a long time ago, It is a great school and the people (Monitors, Managers and other staff) are really the soul of why that is. The people here care, they work hard, they work smart, they genuinely want the students to be successful even beyond the classes.
I was completely humbled to hear these guys talk about their experiences and their sheer determination to upskill and become valuable, contributing members of society and never have I felt so privileged and lazy! I’m genuinely not sure who learned more.
Working at Migracode means that you not only have the opportunity to teach them how to stand out in the jobs market, but also how to stand out as people. Nothing more rewarding for me than knowing their life stories and providing them valuable resources to train their soft skills in order to conquer their own confidence.
Many students of Migracode have escaped very difficult circumstances in their home country. They work tremendously hard to improve their knowledge and skills because they know their future depends on their studies. I am impressed with their dedication and hard work. Migracode is literally a life-changing experience for them.
When I stepped foot on Migracode, I did not imagine that the decision will shape my future. Today, I am proud to say, Migracode has played a leading role in my life and made my dream came true. Thank you for teaching me so much - both about the hard skills and soft skills. To me, our Migracode is a precious thing, a great gift to our community, a great opportunity for immigrant students who came to Spain with a great hope. It is a place of optimism, and transformation.
After 8 months of course, training about development of skills, employability sessions and differents meet ups. I am feeling glad for I could use all those knowledges learned in Migracode at Webhelp, but it doesn't finish at all, was just one step for a long journey about self and professional development, always having focus to provide the best experience for the costumer and a good environment between my co-workers. Thanks Migracode and Webhelp to work together to make it real.
The start of my collaboration with migracode and the idea of learning code and sharing my thoughts and ideas with my colleagues was exciting, however, after the lockdown it was hard and challenging during the covid. But with the help of the mentors and working with people from different places and backgrounds helped us to strengthen our communication and teamwork. In addition, it was fruitful in many aspects. Rather than learning code, it was a preparation for new challenges in our new normal.
Being a part of Migracode has been a life-changing experience in many ways. It's an amazing opportunity to start over and look for opportunities for a better future while it allows you to be a part of an incredible community, and as a migrant, I believe this is an incredible support. The amazing team is there to support you in absolutely anything you need, even if not related to the course itself. I totally thank them for that!
My 8 months long learning experience at Migracode tells that it helped me gain my confidence on being a web developer with the knowledge of the latest stacks and tools, which was made possible by the presence of talented and helpful volunteers. The soft skills trainings and the consulting services regarding for any kind of problem is also something that Migracode is and will be special for, just like the way MigraCode is committed to help the students even after the bootcamp.
With a fast changing world I decided to focus on the things that should help me in the future. That was one of the main reasons why I applied to the Migracode Programming school, when I came to Barcelona. Within the 8 months programming course, the the whole new tech-world opened for me. I realize that I am still at the very beginning of my journey in this area, but the future has become much more promising.
There is philosophy in everything MirgraCode is doing for the under-represented community of refugees, migrants, women in tech. This gives them unthinkable power to build bridges and alter the circumstances of those of us in need. They might be young but wise enough to know that with power comes responsibility and they don’t fall short on it. They listen and connect with people. They don’t perform for them. They are genuine community builders. All of it is lived experience that brings meaning to my words.
LinkedIn is an online platform that is primarily used for professional networking and career development, and allows job seekers to post their CVs and employers to post jobs. In other words, LinkedIn is THE place to be to connect to basically anyone that could help you, either directly or indirectly, to your first job.
Starting with LinkedIn is easy: just go over here and follow the steps to create your personal profile. There are some important things to keep in mind:
Use your full name, correctly written, and with proper capitalisation (like John Lewis Scott, and not jon lewy scot for instance)
Be honest from the start: a lack of experience or education is not so bad as people think it is (more information about this later on)
Add a good profile picture from the start, you can also ask someone to make it for you
Now that you have setup the base of your LinkedIn profile, you can start filling all the different sections that LinkedIn allows you to fill, such as your Education, Work Experience and more. From MigraCode, we recommend you to at least fill the following sections:
This is super important! Your current position, or the title that shows under your name, is the thing that many people will see when you popup in search results. Apart from a title, you can also add some of your main coding skills or from your previous experience. We recommend you something like:
Web Development student @ MigraCode Barcelona | HTML/CSS/JS/React/NodeJS/Databases
Junior Web Developer | Student @ MigraCode | Front-End focus
Senior Student @ MigraCode Barcelona | Available to work in Software Development
Marketing & Software Development | Agile/React/JavaScript | Student @ MigraCode
Tech Support Specialist | Skilled, social & and ready to work
This is the first thing people will see once they visit your profile, so make sure the English and/or Spanish is correct and that you have a good description of yourself here, shortly including:
Your current work situation (student, working, etc.)
What you are looking for (what kind of job etc.)
What makes you great (awesome skills in JavaScript for example)
Quick overview of previous experience (worked in Marketing before learning how to code for example)
An example from one of our MigraCode graduates, Joana Smerea:
The featured section is where you can highlight projects or other website where you or your teams have been mentioned, like interviews or accomplishments. We definitely recommend you to at least put the following links there:
Your GitHub Profile
Other relevant portfolio pages such as Codepen
The MigraCode website
Links to LinkedIn posts where you are mentioned
Articles you wrote
Obviously, previous and current work experiences are an important part as well of your LinkedIn profile. This is where you show where you have worked in the past, and what you have done there, including any responsibilities you had there. Some general tips:
Keep it short, write either a short paragraph per position or put 2-3 bullet points
Make sure to tag the company you worked for (if they are on LinkedIn), so their logo pops up as well
Feel free to add links here as well with either more information or any public accomplishments of what you did in this position
Make sure the dates are correct: time periods that don't match are a huge problem for recruiters
Avoid gaps in your CV: if you didn't have a job for a while, add volunteering or other experience that you kept yourself busy with (you can for instance put 'self-employed')
As the title says it already, in this section, you need to put any previous or current education you have. Like the work experience section, don't worry too much if you don't have a lot of education, or if you have not completed high school etc. You are learning Software Development, so let's start with putting that there! In other words, examples you can put here:
A MUST: 'Web Development student', at MigraCode Barcelona! Make sure to describe what you are learning, how many hours you spend with the course, the duration, that you are also learning soft skills such as project management, and that you will be a Junior Web Developer at graduation.
Other university education (if any): if you completed previous university degrees, make sure to add them. Also, if you only have unfinished degrees, feel free to add them, with a note that you stopped earlier (with the reason if you feel comfortable to share it).
If you don't have university education, don't worry: add your high school education here with some details of the courses you followed - volunteers can help you to still make this educational experience relevant to your current technical education at MigraCode!
Last but not least: if you don't have education apart from MigraCode, also don't worry. In this case, focus on MigraCode and ask your contacts at MigraCode to see if they can offer you more free courses!
Many people underestimate this section: why add specific skills if you have already described all your work experience and education? Well, it's simple: apart from the fact to let recruiters see an overview of your main hard and soft skills, this summary of skills is also used by recruiters in the LinkedIn Job Search platform to find you!
For example, a recruiter may search ONLY for profiles that have added JavaScript & React as skills to their profile - so even if you are the best JavaScript developer in the world, you won't show up in the search results! Below you can find some skills examples.
HTML
CSS
JavaScript
React
NodeJS
Spanish/English or any other language you speak
Git
Web Development
Software Engineering
Office
Excel
Teamwork
Communication
Leadership
Public speaking
People management
A must as well: add the languages that you speak, either just a little bit or fluently! LinkedIn will allow you to add your level, so if you just speak A2 Spanish, add it, and select 'Elementary proficiency'.
So what's this last important thing? In this section, you are able to let others confirm you are indeed the best person to hire! In other words, here you can ask people to recommend you by writing how happy they were with you in other job or educational experiences you have had in the past.
So, for example, you can ask your old manager to write a few lines about how good you were at managing orders, or how amazing you were with handling conflict. Don't be shy: reach out to those old bosses and ask them to write something! If they suddenly write something negative, you can always just hide the recommendation from your profile.
Check out the awesome recommendations our previous student Rahaf has received from MigraCode volunteers (and the great one she has written about her fellow MigraCode student):
If you followed all the above steps, there's still much to improve! There are more sections available (like Volunteering or Certificates) that we recommend you to fill if they apply to you, to make your profile as complete as possible. More information can be found over here.
After that, you can start building an online professional network!
Only applicable to Web Development students.
The Migracode CodeBuddies project aims to support and encourage students during their Migracode bootcamp, to work towards their successful graduation as Junior Web Developer. We link students who are in need of extra support with developers who have volunteered for the CodeBuddies project. The personal relationship between the student and the instructor is key, and Migracode is in favour of as much flexibility as possible in how this relationship takes shape.
How to request a CodeBuddy? Simple! Just fill this form. Once you have filled it, we will contact you as soon as we have found someone, which is usually between 1-2 weeks.
The student will be paired with an instructor, who will provide personal technical support, encouragement and guidance to the student during (part of) their studies. The instructor will be the first contact person for tech questions.
On average, the instructor will make two hours per week available for the student. The student can discuss with the instructor what amount of support is needed.
In case the instructor is not available, the student can find help through the #support-technical channel of the Migracode Slack.
The instructor and student can decide together when and where they meet: in person or remote, at Open Cultural Center, in the open space of Elevador (elevador-bcn.es) that is available to Migracode (to be coordinated with Henriette), or in a public space over a cup of coffee, for example. Covid regulations must be respected at all times.
If you as the CodeBuddy team feel much more support is needed than the Codebuddy can offer, you can discuss this with Henriette.
If a different kind of support is needed, we can contact the Mental Health Team of Migracode through Vincent. Depending on their availability, you could receive additional support through them.
We are very happy that volunteer instructors invest their time in supporting our students. From our students, we expect commitment and responsible behaviour: be on time, let the instructor know if you cannot be on time for a meeting, and be open and honest about your doubts and problems so that you can benefit the most from the CodeBuddy support.
This project is a new initiative and we welcome any feedback you can give us. It is important for Migracode to offer the best possible support, so please feel free to contact us about anything you feel would help to improve the project.
Henriette will organise an initial meeting to introduce the student and the instructor to each other, explain the project, and answer questions. For each buddy team, a private Slack channel will be created. You can contact your buddy through this channel. Vincent and Henriette will be added to the channel as well.
The Migracode team will support each CodeBuddy team in every way possible. Henriette is the Project Manager of CodeBuddies and your primary contact. You can contact her via Slack @Henriette, or email henriette@migracode.org. Vincent and Carlos can be contacted in case Henriette is not available.
You can do all the things perfectly online and have your profiles ready and active - nothing works as good as just meeting people in-person and just talking directly to recruiters and other company representatives. You can always add them on LinkedIn and GitHub later! It's easy to find events and to join them (for free) - below some tips how to find them and what to do there once you're there.
Meetup became an organizing tool for a variety of interests including hobbies, drinking, sports, and gaming. Meetups provide a means of gathering like-minded people interested in a variety of social activities or interest. Especially in Barcelona, there are many Meetup events related to technology, and even so specific such as JavaScript or React events.
A job fair, also referred commonly as a job expo or career fair or career expo, is an event in which employers, recruiters, and schools give information to potential employees. Job seekers attend these while trying to make a good impression to potential coworkers by speaking face-to-face with one another, filling out résumés, and asking questions in attempt to get a good feel on the work needed. It's THE best way to get in direct contact with recruiters and find that first job.
A hackathon (also known as a hack day, hackfest, datathon or codefest; a portmanteau of hacking marathon) is a design sprint-like event; often, in which computer programmers and others involved in software development, including graphic designers, interface designers, project managers, domain experts, and others collaborate intensively on software projects. It's an awesome way to build your portfolio and to meet other developers.
So, you are there, what now? Finally you are at a job fair or at a cool and fancy tech meetup, now you need to act! Below some best practices, depending what kind of event you have joined:
Dress to impress! That doesn't always mean you need to suit/dress up! It rather means wearing according to the type of event: if it's a job fair, yes, maybe wear a tie or a nice dress, but if it's a regular networking event, it's not so common in tech to dress up fancy - just regular clothes will do.
Talk to people! Almost all events are in the end networking events, meaning you need to connect to people and see if there are interesting people who can help you further in your career (or maybe you can help them). Of course, this isn't easy - don't worry if you haven't spoken to a lot of people at your first event: it takes practice!
Get information! Take business cards, take flyers, or in other words: take all the information you can find. At home, you can organise all the information and potentially follow any interesting leads or information you received.
Connect digitally! If you meet an interesting person or get to know a cool company, connect to them on LinkedIn or give the company a follow to stay up to date on any potential job opportunities. And as explained before: having more LinkedIn connections can never hurt.
To start: being visible online is a MUST, for recruiters to find you while at the same time being able to apply for jobs directly. If you're shy to promote yourself, you need to let it go, at least while you are searching for jobs and building a professional network online! We consider three types of profiles a must: LinkedIn, GitHub and a self-developed one (a webpage). Find more information below for each profile type.
MigraCode offers you many things (see the Student Services section), but obviously the main things are free education and supporting you with finding your first job in technology. While we will give you much help, there are also MANY things you can do on your own to find that first job, and you can start with this on DAY 1 of your MigraCode course.
To start: being visible online is a MUST, for recruiters to find you while at the same time being able to apply for jobs directly. If you're shy to promote yourself, you need to let it go, at least while you are searching for jobs and building a professional network online! We consider three types of profiles a must: LinkedIn, GitHub and a self-developed one (a webpage). Find more information below for each profile type.
Once you have created your online profiles and you have them fully setup as described in the previous sections, you can't just leave them there. You will need to be actively engaging with these networks, ideally on a daily or weekly basis. Don't worry: this is quite easy, as these networks are made exactly for that!
You can do all the things perfectly online and have your profiles ready and active - nothing works as good as just meeting people in-person and just talking directly to recruiters and other company representatives. You can always add them on LinkedIn and GitHub later!
GitHub is often seen as the LinkedIn for software developers. But it does more than just connecting the tech community; it also provides access control and several collaboration features such as bug tracking, feature requests, task management, continuous integration and wikis for every project. And just as important: (good) recruiters use it as well to see how well you can code and how active you are!
Choose a username that can be tracked to your name so recruiters can easily find you (so not codinglover1993, but rather VincentvanG1993)
Keep in mind that your profile will be public, so just like with LinkedIn, fill the data correctly with correct spelling and capitalisation
As GitHub is a tech platform, you need to use your tech skills to make your profile really complete. The best way to do so is to 'code' your own profile page, which you can do by adding a README file to your profile 'Repository'. How to do so?
Create a new repository with the same name as your GitHub username. For example, if your username is Gapur, the repository name must be Gapur.
Within the repository, create a README.md file. This new file will be displayed on your GitHub profile page!
Now it's time to be creative! You can use HTML markup to style the file, and just like with HTML, you can insert images and other content. In general, we recommend to create various sections, like LinkedIn does as well. For example, you can add the following sections with <h1> (or h2) elements:
Quick introduction (who you are, what you do, what you're good at in tech)
Examples of your experience (web development student at MigraCode, completed various Khanacademy courses, for example)
Projects portfolio (from small to big ones)
Goals (learning Java, learning NodeJS, etc.)
Skills (frameworks, coding languages, technologies, soft skills such as adaptability, creativity, self-criticism, etc.)
Your programing music!
How to reach out (LinkedIn profile, other networks)
Now that you have your GitHub page ready, and you may have added your first followers, it's time to become really active. It's SUPER important to have an active GitHub profile, as recruiters will definitely check if you are actively coding and upgrading your skills!
A great way to keep your GitHub profile active and to easily show-off your tech skills is by simply committing all the hard work you do for MigraCode and any other projects or courses. Make sure to commit each exercise, save each project you do and keep track of larger projects in your profile README.md. And keep them organized in the correct repositories, so it's easy for recruiters and others to separate your work.
There are many reasons why contributing to open-source projects is a great idea:
It builds your resume by demonstrating that you can collaborate with others on code.
It gives you practice with Git and GitHub, which is a valuable data science skill.
It helps you to build relationships in the open source community.
It feels good to give back to a project that you use!
We have two options if you cannot study well at home. Both options are free and can be used based on availability. All you need to do is sign-up accordingly beforehand and be there.
To sign up, just write Vincent + Diana on Slack to let us know when you want to come.
It is important to know that we have a huge volunteering-community ready to support you in becoming a software developer. Therefore, do not hesitate to request a one-two-one session if you feel lost with the materials, you are behind or you just need some extra explanations about the materials. You can also ask someone to help you with the job search (later on the course).
Homework support If you are stuck with homework, do not hesitate to ask your questions in the #support-coding channel (for the Web Development Course) or #support-it (for the IT Support & Security Course) on Slack. There are many volunteers to help you and please note: there are no weird or stupid questions!
CV/LinkedIn support/Job Preparation If you need help with creating or further developing your CV or LinkedIn or get help with preparing your job interview, please make use of the #support-employability channel on Slack to ask help from our volunteers to check your CV or LinkedIn or even make an appointment with them to improve it.
Starting with LinkedIn is easy: just go and follow the steps to create your personal profile. There are some important things to keep in mind:
A profile picture is a little less super important as with LinkedIn, as on GitHub, it's mainly about your coding skills and experience. You can also choose to make an avatar, through for example
And luckily, there are many guides out there that explain you in simple steps how to start contributing right away. We found on DataSchool, although on Akrabat also looks good.
You can study for free at the fancy and nice office of PORSCHE DIGITAL in the center of Barcelona, between Monday and Friday from 10:00 to 18:00. Exact location .
Every week, you need to sign-up before Thursday evening through to reserve your spot(s) for the next week. You will receive your QR code on Friday which you will need to bring when you come to the allocated day/time.
You can also come to study at our own center in El Born, over . We are open Tuesday to Friday, from 10:00 to 16:00. It may be a bit noisy from the street but we have a nice room where you can study with steady internet.
While LinkedIn and GitHub are great to present yourself and promote your skills and experience, the most impressive thing to send to a recruiter is your own developed webpage with your portfolio and other relevant information. Not only will it show great motivation, but by making a great webpage, your profile itself is already showing your skills!
IF you make your own profile page, make sure to have enough coding knowledge to make a really good one. If you just started coding, wait a little while. It's better to just have LinkedIn and GitHub than having a super basic HTML/CSS self-developed profile.
Once created, make sure to have other developers take a look at your page to receive proper feedback, so you can really finetune both the layout as well as the code itself.
Any self-developer profile needs to have the following key-information:
Who you are
What you do
Your location
The work you have to share
How to contact you
There are many guides online how to make your own profile, and also with various options where to host it. You can either buy a domain like www.vincentvangrondelle.es, or you can host your page on GitHub or Heroku (so you will get like vincentvang.heroku.com). Below you can find some guides to start coding your own profile!
This program counts with 5 courses that will prepare you for a career in the high-growth field of IT. The content is highly interactive and exclusively developed by Google employees with decades of experience in IT. Each course is divided into modules dedicated to concrete subjects. Through a mix of videos, assessments, and hands-on labs, you’ll be introduced to foundational IT skills required for an entry-level job.
The course itself is 100% online which means you will need a computer. It can be a basic computer - it doesn’t have to be an expensive/strong one. We encourage you to work from home on your own computer, but if you are not (always) able to do so, you can discuss the possibility to either lend a laptop (if we have availability) or to work from the Open Cultural Center (OCC) office (C/Rec, 27 08003 Barcelona).
The courses are delivered by Coursera, an online learning platform that will provide you with all the content of the program.
The channel-based messaging platform that we use as our main communication tool. Many tech companies also use Slack and it is a huge advantage to have Slack skills when you apply for jobs in tech.
This program is based on autonomous learning. Autonomous learning revolves around students being responsible for themselves. As a student, you will be able to manage your study hours and customize your way of learning to adapt it to your own needs. But do not worry, you will not be alone in this. The mentor and a group of specialized tech volunteers will be by your side to provide support, advice, and knowledge when asked.
However, it is very important to be proactive: ask for help when you are stuck, inform your mentor when you have issues, and do not hesitate to use Slack to get help with the course.
Migracode counts with a community of tech professional volunteers and students who will be willing to help you with any issue or any questions you have. You will be able to reach them at any time via Slack. Your mentor will explain Slack during the onboarding session,
The mentor - Simón -, will be the main contact person. He will help you to design your learning plan at the beginning, introduce you to the different platforms and guide you throughout the process. You will have a regular meeting with him - depending on your learning plan -, listen to your feedback and make sure everything is going as planned. The meetings will take place online or in-person at the office of OCC depending on your availability. You can contact him via email simon@migracode.org or via Slack.
Through this scholarship program, which is powered by INCO Academy, you will gain the in-demand skills that will prepare you to be job-ready and have access to employability services to launch your career in IT.
With this 5-course certificate scholarship program designed by Google and delivered on Coursera, you will have access to a variety of hands-on assessments which will help you to simulate real-world IT support scenarios that are critical for success in the workplace.
If you complete this course, you can apply for basic to advanced tech support roles, and we will offer you support with doing this.
By earning these IT Skills, you prepare yourself for roles that include — systems analyst, support specialist, database administrator, IT technician, computer specialist, and many more. More specifically, you will learn the following skills:
Learn skills required to succeed in an entry-level IT capacity
Learn to perform day-to-day IT support tasks including computer assembly, wireless networking, installing programs, and customer service
Learn how to provide end-to-end customer support, ranging from identifying problems to troubleshooting and debugging
Learn to use systems including Linux, Domain Name Systems, Command-Line Interface, and Binary Code\
MigraCode's IT Support & Security course is made possible by INCO Academy.
This is the next step of the application process, a technical assignment. It is a simulation of a technical support case as if you are working in the Google technical support department.
You have received a new technical case from a customer of Google Gmail. The customer is asking the following:
Reply to this customer like you are writing a real email back as if you already were working in Google Technical Support. Include the explanation of how to set a signature in Google Gmail, and if you can, include a link to a webpage with more information. Make sure to use a good email structure and be polite and clear to the customer. Make use of Google Search to find the required information.
Once you have written this email, you can send it in a reply to simon@migracode.org
We will let you know as soon as possible if you have passed this step and if you will be accepted to our course.
Thank you in advance and let us know if you have any questions.
Once you have created your online profiles and you have them fully setup as described in the previous sections, you can't just leave them there. You will need to be actively engaging with these networks, ideally on a daily or weekly basis. Don't worry: this is quite easy, as these networks are made exactly for that!
The easiest people to start connecting to on LinkedIn and GitHub are those you already know from MigraCode: your fellow students, the volunteers and the management of MigraCode! You can add them or give them a follow, and probably they will join your networks soon enough. If you don't know them that well, make sure to include a message when you add them on LinkedIn.
Give it a try, starting adding:
Yogesh Yadav, our Head of Education (GitHub over here)
Diana Dashkovska, our Education Assistant (GitHub over here)
Vincent van Grondelle, our Program Manager (GitHub over here)
Eduard Bargues, an awesome volunteer (GitHub over here)
Ricard More, an awesome volunteer (GitHub over here)
Anandamaya Arnó, a MigraCode graduate (GitHub over here)
Henriette Hettinga, CodeWomen Manager (GitHub over here)
Even if you're not a full stack web developer or advanced tech support agent yet, you can already start building a network of recruiters on LinkedIn that could potentially share interesting jobs with you, or contact you once they see you have completed MigraCode or other relevant courses! Just make sure to introduce yourself properly and provide some context when you send them an invite.
Give it a try, start adding:
Eduard Pinilla, Talent Acquisition Specialist at our partner Adaptive
Helena Torrents Aymerich, Tech Recruiter at our partner Adevinta
Silvia Bellmunt, Tech Recruiter at our partner Glovo
Daniel Mortos, Recruitment Operations Lead at our partner Preply
Megan Walker, Director of People at our partner Marfeel
Alvaro Rodriguez, Recruiter at our partner Holaluz
Don't limit yourself those recruiters out there: add your friends, old colleagues, sports buddies and basically everyone you know: job offers and possibilities can come from the most strange directions! Maybe you add an old friend on LinkedIn, who knows the HR Manager of a tech company, and you can be connected! So don't hesitate to go the 'My Network' page of LinkedIn and start sending those invites. For GitHub, you can search by username/full name via this page.
On any professional online network, it's important to stay active and share and interact with your network and potential new connections. You can do this by simply liking and commenting to posts of others or of posts of companies, but even better is sharing your own posts with content. Below you can find some examples of what you can share!
Whether you finally graduated from MigraCode, or maybe just finished the first HTML/CSS module, share it! Show your progress to your network, and keep potential future employees or interested recruiters up-to-date with the skills you are developing. Who knows, maybe after finally finishing the React module of MigraCode, a recruiter suddenly finds you more interesting!
Whether you visited a tech event and have some cool pictures, or you read a great article about the future of coding (for example), it's always good to share this as well. LinkedIn is no Instagram, but as long as it's career-related, feel free to share a cool picture related to your job search or to coding/tech!
Last but not least, don't be afraid to show off your hard work! Whether it's your first Codepen page made with HTML and CSS, or it's the draft of your Final Project, share it as an update on LinkedIn or put it as a public repository on GitHub. Explain people what you have done and how you have done it, and spark the interested of a recruiter or impress a CEO!
As mentioned before, the IT Support & Security Course is a flexible scholarship program that allows students to organize their study time according to their schedule and needs. To help students reach their goals and complete the 5 courses successfully in a concrete period of time, the mentor will help each student to develop a personalized learning plan.
The average time to complete the course is 3,5 months. However, depending on your previous skills, time availability, life situation, etc. this time can be shorter or longer. As mentioned above, the study plan will be elaborated together with you and according to your needs at the beginning of the program so, you will be required to commit to it.
116 hours in total
5 modules
30 parts in total
Please note that on Coursera, the 5 modules are called 'Courses', and the parts within the courses are called 'Modules'.
25 hours in total
Part 1: Introduction to IT 4 hours: 14 videos (Total 51 min), 6 readings, 3 quizzes
Part 2: Hardware 5 hours: 17 videos (Total 80 min), 7 readings, 4 quizzes
Part 3: Operating System 6 hours: 21 videos (Total 69 min), 6 readings, 5 quizzes
Part 4: Networking 3 hours: 15 videos (Total 44 min), 1 reading, 2 quizzes
Part 5: Software 4 hours: 10 videos (Total 25 min), 1 reading, 4 quizzes
Part 6: Troubleshooting 3 hours: 22 videos (Total 69 min), 2 readings, 4 quizzes
34 hours in total
Part 1: Introduction to Networking 6 hours: 15 videos (Total 47 min), 8 readings, 6 quizzes
Part 2: The Network Layer 5 hours: 18 videos (Total 68 min), 3 readings, 5 quizzes
Part 3: The Transport and Application Layers 5 hours: 11 videos (Total 45 min), 1 reading, 4 quizzes
Part 4: Networking Services 6 hours: 15 videos (Total 70 min), 2 readings, 7 quizzes
Part 5: Connecting to Internet 6 hours; 15 videos (Total 49 min), 5 readings, 6 quizzes
Part 6: Troubleshooting and the Future of Networking 6 hours: 18 videos (Total 59 min), 3 readings, 6 quizzes
35 hours in total
Part 1: Navigating System 7 hours: 32 videos (Total 94 min), 10 readings, 5 quizzes
Part 2: Users and Permissions 4 hours: 16 videos (Total 67 min), 4 readings, 3 quizzes
Part 3: Package and Software Management 7 hours: 16 videos (Total 58 min), 14 readings, 6 quizzes
Part 4: Filesystems 5 hours: 16 videos (Total 52 min), 9 readings, 3 quizzes
Part 5: Process Management
6 hours: 14 videos (Total 43 min), 8 readings, 5 quizzes
Part 6: Operating Systems in Practice
6 hours: 17 videos (Total 52 min), 6 readings, 4 quizzes
31 hours in total
Part 1: What is System Administration? 5 hours: 16 videos (Total 44 min), 6 readings, 5 quizzes
Part 2: Network and Infrastructure Services 7 hours: 23 videos (Total 74 min), 6 readings, 10 quizzes
Part 3: Software and Platform Services 7 hours: 16 videos (Total 45 min), 10 readings, 8 quizzes
Part 4: Directory Services 7 hours: 19 videos (Total 100 min), 11 readings, 6 quizzes
Part 5: Data Recovery & Backups
4 hours: 13 videos (Total 43 min), 3 readings, 4 quizzes
Part 6: Final Project
14 min: 3 videos (Total 4 min)
29 hours in total
Part 1: Understanding Security Threats 5 hours: 10 videos (Total 36 min), 7 readings, 4 quizzes
Part 2: Pelcgbybtl (Cryptology) 7 hours: 14 videos (Total 83 min), 9 readings, 7 quizzes
Part 3: AAA Security (Not Roadside Assistance) 3 hours: 14 videos (Total 55 min), 2 readings, 3 quizzes
Part 4: Securing Your Networks 5 hours: 11 videos (Total 70 min), 7 readings, 5 quizzes
Part 5: Defense in Depth 3 hours: 9 videos (Total 44 min), 3 readings, 3 quizzes
Part 6: Creating a Company Culture for Security 6 hours: 16 videos (Total 59 min), 9 readings, 6 quizzes
Applications for this scholarship will be open throughout 2023 and accepted students will be able to start the course right away. Make sure to read the details below before applying.
Apply through our website. In the form, you will be asked to fill in some personal data and to write a short motivation why you want to join this course.
This part is already extremely important! Motivation is the strongest aspect of our course, as you will need to work a lot to complete our program. After sending the form, we will reply to you as soon as possible to inform you if you can continue with step 2.
Step 2 is the most difficult step and you will need to take your time for it. It requires making a small home assignment.
The assignment consists of the following:
You will receive a simulated question from a customer about a technical issue.
Your task is to answer the customer in the best way possible!
After you wrote your answer to this customer, you send it to us by email.
You can find the assignment here.
Once we have received your work, we will let you know if you have passed the assignment and if so, we will invite you to an online interview.
After a few days, we will inform you about the result of the interview.
The final part of the application process is to come to our office in Barcelona to get to know us in person and to receive a comprehensive introduction to MigraCode Barcelona.
You will get help installing the required software on your laptop, we will explain to you the main tools that we use during the course and we explain other practical information about MigraCode.
Once this is done, you are ready to start with the course right away!
Learn in-demand skills like Python, Git, and IT automation to advance your career.
This 6-course certificate scholarship program designed by Google and delivered on Coursera, is designed to help individuals with a background in IT Support advance to technical paths like Systems Administrators. This stackable credential helps IT professionals build in-demand skills including Python, Git, and IT automation.
By earning these IT Skills, you prepare yourself for roles that include — IT Support II, Jr Systems Analyst, Jr Systems Administrator, Network Specialist, and many more. More specifically, you will learn the following skills:
Learn how to program with Python with no previous knowledge of coding required and you’ll use Python to automate common system administration tasks
Learn to use Git and GitHub, to troubleshoot and debug complex problems
Apply automation at scale by using configuration management and the Cloud
Practice your technical skills with hands-on projects including a capstone project where you’ll use your new knowledge to solve a real-world IT problem
MigraCode's IT Automation with Python course is made possible by INCO Academy.
This program counts with 6 courses that will improve your IT foundations to help you take your career to the next level. The content is highly interactive and exclusively developed by Google employees with decades of experience in IT. Each course is divided into modules dedicated to concrete subjects. Through a mix of videos, assessments, and hands-on labs, you’ll be introduced to foundational IT skills required for an entry-level job.
The course itself is 100% online which means you will need a computer. It can be a basic computer - it doesn’t have to be an expensive/strong one. We encourage you to work from home on your own computer, but if you are not (always) able to do so, you can discuss the possibility to either lend a laptop (if we have availability) or to work from the Open Cultural Center (OCC) office (C/Rec, 27 08003 Barcelona).
The courses are delivered by Coursera, an online learning platform that will provide you with all the content of the program.
The channel-based messaging platform that we use as our main communication tool. Many tech companies also use Slack and it is a huge advantage to have Slack skills when you apply for jobs in tech.
This program is based on autonomous learning. Autonomous learning revolves around students being responsible for themselves. As a student, you will be able to manage your study hours and customize your way of learning to adapt it to your own needs. But do not worry, you will not be alone in this. The mentor and a group of specialized tech volunteers will be by your side to provide support, advice, and knowledge when asked.
However, it is very important to be proactive: ask for help when you are stuck, inform your mentor when you have issues, and do not hesitate to use Slack to get help with the course.
Migracode counts with a community of tech professional volunteers and students who will be willing to help you with any issue or any questions you have. You will be able to reach them at any time via Slack. Your mentor will explain Slack during the onboarding session,
The mentor - Simón -, will be the main contact person. He will help you to design your learning plan at the beginning, introduce you to the different platforms and guide you throughout the process. You will have a regular meeting with him - depending on your learning plan -, listen to your feedback and make sure everything is going as planned. The meetings will take place online or in-person at the office of OCC depending on your availability. You can contact him via email simon@migracode.org or via Slack.
117 hours in total
6 modules
30 parts in total
Please note that on Coursera, the 6 modules are called 'Courses', and the parts within the courses are called 'Modules'.
27 hours in total
Part 1: Hello Python! 4 hours: 14 videos (Total 44 min), 9 readings, 4 quizzes
Part 2: Basic Python Syntax 5 hours: 14 videos (Total 45 min), 14 readings, 4 quizzes
Part 3: Loops 4 hours: 13 videos (Total 47 min), 9 readings, 4 quizzes
Part 4: Strings, Lists and Dictionaries 6 hours: 16 videos (Total 67 min), 17 readings, 4 quizzes
Part 5: Object Oriented Programming (Optional) 6 hours: 13 videos (Total 50 min), 12 readings, 1 quiz
Part 6: Final Project 2 hours: 9 videos (Total 27 min)
26 hours in total
Part 1: Getting Your Python On 3 hours: 15 videos (Total 76 min), 4 readings, 3 quizzes
Part 2: Managing Files with Python 5 hours: 13 videos (Total 52 min), 4 readings, 3 quizzes
Part 3: Regular Expressions 4 hours: 14 videos (Total 60 min), 2 readings, 4 quizzes
Part 4: Managing Data and Processes 3 hours: 12 videos (Total 48 min), 2 readings, 4 quizzes
Part 5: Testing in Python 6 hours; 14 videos (Total 50 min), 4 readings, 3 quizzes
Part 6: Bash Scripting 4 hours: 13 videos (Total 62 min), 3 readings, 4 quizzes
Part 7: Final Project 2 hours: 6 videos (Total 13 min)
16 hours in total
Part 1: Introduction to Version Control 5 hours: 16 videos (Total 74 min), 6 readings, 4 quizzes
Part 2: Using Git Locally 4 hours: 14 videos (Total 60 min), 3 readings, 4 quizzes
Part 3: Working with Remotes 4 hours: 13 videos (Total 61 min), 3 readings, 4 quizzes
Part 4: Collaboration 4 hours: 14 videos (Total 61 min), 3 readings, 4 quizzes
16 hours in total
Part 1: Troubleshooting Concepts 4 hours: 14 videos (Total 71 min), 3 readings, 4 quizzes
Part 2: Slowness 4 hours: 15 videos (Total 77 min), 3 readings, 4 quizzes
Part 3: Crashing Programs 4 hours: 14 videos (Total 78 min), 2 readings, 4 quizzes
Part 4: Managing Resources 4 hours: 16 videos (Total 74 min), 3 readings, 4 quizzes
15 hours in total
Part 1: Automating with Configuration Management 4 hours: 11 videos (Total 45 min), 4 readings, 4 quizzes
Part 2: Deploying Puppet 3 hours: 10 videos (Total 44 min), 3 readings, 4 quizzes
Part 3: Automation in the Cloud 4 hours: 13 videos (Total 66 min), 2 readings, 4 quizzes
Part 4: Managing Cloud Instances at Scale 4 hours: 14 videos (Total 67 min), 3 readings, 4 quizzes
17 hours in total
Part 1: Manipulating Images 3 hours: 8 readings
Part 2: Interacting with Web Services 3 hours: 10 readings
Part 3: Automatic Output Generation 3 hours: 8 readings
Part 4: Putting It All Together 3 hours: 1 video (Total 1 min), 3 readings, 1 quiz
Part 5: Career Resources 5 hours: 27 readings
Applications for this scholarship will be open throughout 2023 and accepted students will be able to start the course right away. Make sure to read the details below before applying.
Apply through our website. In the form, you will be asked to fill in some personal data and to write a short motivation why you want to join this course.
This part is already extremely important! Motivation is the strongest aspect of our course, as you will need to work a lot to complete our program. After sending the form, we will reply to you as soon as possible to inform you if you can continue with step 2.
Step 2 is the most difficult step and you will need to take your time for it. It requires making a small home assignment.
The assignment consists of the following:
You will have to follow a short online material about functions in Python
You will develop a simple function
After you wrote that function, you will send it to us by email
You can find the assignment here.
Once we have received your work, we will let you know if you have passed the assignment and if so, we will invite you to an online interview.
After a few days, we will inform you about the result of the interview.
The final part of the application process is to come to our office in Barcelona to get to know us in person and to receive a comprehensive introduction to MigraCode Barcelona.
You will get help installing the required software on your laptop, we will explain to you the main tools that we use during the course and we explain other practical information about MigraCode.
Once this is done, you are ready to start with the course right away!
As mentioned before, the IT Automation with Python Course is a flexible scholarship program that allows students to organize their study time according to their schedule and needs. To help students reach their goals and complete the 6 courses successfully in a concrete period of time, the mentor will help each student to develop a personalized learning plan.
The average time to complete the course is 3,5 months. However, depending on your previous skills, time availability, life situation, etc. this time can be shorter or longer. As mentioned above, the study plan will be elaborated together with you and according to your needs at the beginning of the program so, you will be required to commit to it.
This is the next step of the application process, a technical assignment. It is a simple function that would ask for a name, and print out a message.
You will be asked to develop a python function that will return a message. As example you have the function below:
You will be advised to follow the material included in W3Schools and DataCamp; proceed to create an account in Repl.it; write the function, which should either prompt the user for a name or take it as parameter, then print out a personalised "Hello" response, like "Hello Jose". Otherwise, the function will print out "Hello World"
Once you have written and downloaded the python function file, you can send it in a reply to simon@migracode.org.
We will let you know as soon as possible if you have passed this step and if you will be accepted to our course.
Thank you in advance and let us know if you have any questions.
This is the complete syllabus and course material for the web development course of MigraCode Barcelona. It is based on the syllabus from CodeYourFuture, HackYourFuture and other resources. This syllabus does not only include the coding course, but also all other information for students.
During the course you will learn a technology stack that helps you build anything from a simple website to a powerful database-driven web application or even a mobile app!
If you are familiar with MigraCode yet and you're interested in joining the program, please refer to the main MigraCode Barcelona website.
HTML/CSS
Core JavaScript
Backend development using NodeJS
Modern front-end development with React
Databases
We’ll complement the training with workshops on modern software methodologies and job interview practices, etc. A simplified overview of our curriculum can be found here, including other details of our course.
Technical skills:
Lean to understand and use the following coding languages on a medium to advanced level: HTML/CSS, JavaScript, React, NodeJS and Databases
Learn how to use Git and the Command Line, and also how to use the related GitHub platform
Learn how to use project management tools such as Trello, Slack and Cloud Services
Learn how to think in algorithms and how to search for solutions
Job-seeking skills:
Learn how to use LinkedIn and how to benefit most from this platform
Learn how to prepare and go through an interview process to get hired by a professional IT company
Learn how to create and design a professional CV/Resume
General soft skills:
Learn how to work in a team under supervision of a mentor
Learn how to communicate effectively through professional communication training
Learn how to work with people from different cultures and nationalities
Learn how to cope with work-related stress and how to plan ahead
Learn how to be proactive in asking things and approaching people
Where our curriculum can be found
To manage and save your homework
To build your professional network
To find your potential future job
To communicate with all from MigraCode
Request help or a one-two-one session
To find interesting (job-finding) events
To stay up-to-date with our events
View useful info about MigraCode
Learn to use a project management tool
To easily work with different coding languages
To manage coding projects and collaborate with others
(to join )
Slack is our main communication tool. Any help you need or any questions you have: communicate them via Slack! Many tech companies also use Slack and it’s a huge advantage to have Slack skills when you apply for jobs in tech.
Class channel (i.e. #jan2021-1-en) The one we use to share information for your group and that we use during the classes
#all-students Useful news messages specifically for MigraCode students
#general General news messages for everyone that is part of MigraCode (students, volunteers, staff)
#support-coding To ask for technical help with your homework
#support-employability To ask for help with improving your CV/LinkedIn/Etc.
#random Jokes, memes and nice articles or videos!
#recreation-activities Not used now due to Covid, but soon to be used to organise nice activities together
#job-offers-junior Not to be used in the beginning of MigraCode but after a few months we'll use it to find job opportunities
When you ask something here, always make sure that you:
Describe what you are trying to do/achieve, and in which exercise/project
Include details about what you have tried already
Write your question in a clear and understandable way (preferably in English, but in Spanish is also allowed)
Include the relevant parts of the code where you are getting the error/issue and always include any error codes you have received
Use code snippets (ctrl / cmd + shift + c) to share your code to make it readable for humans
Use (shift + enter) to pass to the next line
In case you receive errors or things that go wrong during exercises, so short questions that can probably be solved in a chat, you can write your question as follows:
Hello + I need help with [issue description] + screenshot/error message/etc. + what you have already tried to do + potential solutions you already found.
If you feel lost, if you missed things or if you need some extra support in understand the materials, you can write your question as follows:
Hello + I need help with [issue description] + proposal for time period you could have a call.
Please don’t hesitate to make use of asking questions here! You can also have a look at previous questions of other students to see what are good approaches to asking for help.
Use THREADS (Hilos) to reply to messages, and find replies to your active threads on the top right (a nice video with more details here)
Put a clear display name and a clear profile picture (info on how to edit your profile here)
Confirm messages by leaving an Emoji (how to do so check here)
I will save important messages by adding them to 'Pinned Items' (more info how to find them here)
Create a private/direct message with the round button on the top left of the screen (more info here)
Once you are accepted at MigraCode, we recommend you to have a look at the following courses to be fully prepared to start with MigraCode:
Recommended:
Additional:
(a complete overview)
(strongly recommended)
(learning how to code is repeating)
(dive deeper into CSS)
(just to have an idea)
(your potential future)
(only if you really have time)
At MigraCode, we believe in the power of learning by doing. Because of that, we don't give students tests - we rather let each student do small projects during the course and work on an extensive curriculum with many exercises to improve their knowledge and skills. And, most importantly: at the end of the course, students work together in groups on a larger final project.
Still, of course, we need to also keep track of student's progress and see if they are gaining all the knowledge required to become junior web developers. Therefore, we have developed a grading system that is based on three aspects:
Class participation and being on time
Homework progress for the front-end modules
Homework progress for the back-end modules
Final Project efforts and output
Each aspect is graded on a 1-10 scale based on what students upload on GitHub and how to progress during and in-between classes. Each student will receive a Google Sheet in which they can see their own progress, like the one below:
We constantly check your homework and give you feedback on it. However, during the 8-month course, there are 3 main checks where you MUST have finished all homework and required tasks. If you haven't it means you either need to quickly recover, or drop out and wait for the next course. Below the three main checks during the MigraCode course:
After you finish the HTML/CSS, JavaScript and React module, we will do the first full check on your progress. If you are not fully up-to-date, you get a chance to recover before the back-end modules starts. However, if you are not able to, you will not be able to continue the course and you will have the opportunity to join a next course.
After finishing all modules, we will do the second check on your progress. If you are not fully up-to-date, you'll also get a chance to recover the missing parts. However, if you can't, you will not be able to enter the final projects. You will then be offered to join the final projects of a next course.
Before graduation, we will check how you have performed in the final projects and if you have done all the tasks assigned to you on Trello. If you have not completed them, you will get a chance to recover. However, if you haven't performed sufficiently, you will need to re-do the final projects with another group in another course.
You are requested to check your homework on the Trello Board after every class. There you will find a column with your class group name and at top of that list you will find the latest homework with a due date as shown in the image below.
In the first week, you will get an introduction to the world of coding, including explanations how to use the terminal, what GitHub is and why you will use it and how to ‘push’ the website you made during the application process.
Below an overview of the week-by-week topics - click on the title to find more details.
The MigraCode Barcelona curriculum - a direct output of the European collaboration between various NGOs spread over the European Union - contains all the information and knowledge a MigraCode student needs to become a junior web developer.
Find the full curriculum of MigraCode Barcelona through the links below:
HTML and CSS are the building blocks of any website and in this module we teach you how to use them well. You will learn how to make responsive, modern websites and it will prepare you for the following modules.
Below an overview of the week-by-week topics - click on the title to find more details.
In this project, we’ll walk through the basic Git workflow that you will use in all your projects.
Create the Repository
Create a new repository by clicking the button shown in the screenshot below.
2. Give your repository the name “git_test” in the repository name input field, and create the repository by clicking the green “Create repository” button at the bottom of the page.
3. This will redirect you to your new repository on GitHub. To copy this repository onto your local machine, select the HTTPS option and copy the line next to it.
4. In the command line on your local machine, navigate to where you want to store this project, and then clone your repository on GitHub onto your computer with git clone
followed by the URL you copied in the last step. The full command should look similar to git clone https://github.com/USER-NAME/REPOSITORY-NAME.git
.
Note: In the image below SSH link is used instead of HTTPS which is not important for us at this point. You can continue with HTTPS link.
5. That’s it! You have successfully connected the repository you created on GitHub to your local machine. To test this, you can cd
into the new git_test folder that was downloaded and then enter git remote -v
in your command line. This will display the URL of the repository you created in GitHub, which is the remote for your local copy. You may have also noticed the word origin at the start of the git remote -v
output, which is the name of your remote connection. The name “origin” is both the default and the convention for the remote repository, but it could have just as easily been named “party-parrot” or “dancing-banana”. (Don’t worry about the details of origin for now; it will come up again near the end of this tutorial.)
Use the Git Workflow
Create a new file in the git_test
folder called “README.md” with the command touch README.md
.
Type git status
in your terminal. In the output, notice that your README.md file is shown in red, which means that this file is not staged.
Type git add README.md
. This command adds your README.md file to the staging area in Git. Now, type git status
again. In the output, notice that your file is now shown in green, which means that this file is now in the staging area.
Type git commit -m "Add README.md"
and then type git status
once more. The output should now say, “nothing to commit, working tree clean”, indicating that your changes have been committed. Don’t worry about the upstream is gone
message you may see, this is totally normal and only showing because your cloned repository currently has no branches. It will be resolved once you have followed the rest of the steps in this project.
Type git log
and look at the output. You should see an entry for your “Add README.md” commit. You will also see details on the author who made the commit and the date and time for when the commit was made.
Add Another File
Create a new file in the git_test
folder called hello_world.txt
. In the terminal, type git status
, and notice hello_world.txt
is not staged.
Open README.md in your text editor of choice and add the text “This is (YourUsername)’s first git project!” and then save the file.
Back in your terminal, type git status
, and notice that README.md is now shown as modified, and not staged or committed. This is because you made a change to it, and it is already a tracked file.
Add README.md to the staging area with git add README.md
.
Can you guess what git status
will output now? README.md will be displayed in green text, while hello_world.txt will still be in red. This means that only README.md has been added to the staging area.
Now, add hello_world.txt to the staging area with a slightly different command: git add .
, where the full stop means to add all files in the current directory that are not staged. Then, type git status
once more, and everything should now be in the staging area. (Note: You can use git add -A
to add ALL unstaged files to the staging area within the repository)
Finally, let’s commit all of the files that are in the staging area and add a descriptive commit message git commit -m "Add hello_world.txt and edit README.md"
. Then, type git status
once again, which will output “nothing to commit”.
Take one last look at your commit history by typing git log
. You should now see two entries.
Push Your Work to GitHub
Finally, let’s upload your work to the GitHub repository you created at the start of this tutorial.
Type git push origin main
.
Type git status
one final time. It should output “nothing to commit, working tree clean”.
When you reload the repository on GitHub, you should see the README.md and hello_world.txt files that you just pushed there from your local machine.
The main take away from the past lessons is how to use Git and GitHub for your projects. You now have this very powerful skill that will help you immensely when we get into the coding projects. You will be able to share your work with others for code reviews and to get help with your code if you’re stuck.
Follow the instructions on this link for more practice.
When we build for the web, we're making websites that can be viewed in a phone, a laptop, a tablet and more. To ensure we're presenting a website that's easy to use on any device, we use Responsive Web Design techniques to modify how content is displayed depending on the viewport.
Exercise: As a group, let's brainstorm as many devices as we can think of which might access the websites we build.
See how much variety there is in viewport sizes.
As you learned in your homework assignment, media queries help us change the display of our content depending on the size of the viewport. Let's review what you learned and break down a media query:
In this media query, we're assigning a red background color to the <body>
element whenever the viewport is larger than 900px
, and we're viewing on a screen.
@media
starts the media query
screen
tells it to apply these styles to screen displays. Other displays might be print
, for when a webpage is being printed.
(min-width: 900px)
tells it to apply these styles when the viewport is larger than 900px
Finally, we wrap all of our styles for this media query in brackets ({
and }
), just like a CSS rule.
Exercise: Working in pairs, reduce the size of the "Bikes for Refugees" text so that it fits on a small screen (
320px
). But make sure it increases in size on larger screens.Exercise: The two buttons in the jumbotron don't fit on the same line on small screens around
320px
wide. Can you adjust their size so that they fit on the same line?
Flexbox is a name for a set of CSS layout rules which are supported in newer browsers. They allow you to apply rules to elements to place them side-by-side and re-arrange them. You just specify how you want your elements arranged and the browser will scale this arrangement depending on the screen size and device used for viewing.
Most flexbox rules are applied to the container, to tell it how to arrange its children. However, there are some rules that can be applied to children as well.
You can see all the rules that can be applied to both the container and the children here: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
You can start with something like the below, by just adding a container, and the 3 text pieces within it. Try to use flexbox to position the text elements within the container to match the picture:
Once that's done you can move on to creating boxes for each individual text piece, and again, using flexbox to position the text piece in the middle of its box.
Let's take a break from flexbox for a minute. Do you remember the :first-child
psuedo class? There's a :last-child
psuedo class as well.
Exercise: See if you can use these psuedo classes to give the left box a grey background (
#ddd
) and the right box a grey border (1px solid #ddd
). Use this screenshot to guide you.
Make a website inspired by Airbnb.
Note - It must be mobile responsive and you can not use any third party library.
Exercise: Continue editing the "Bike for refugees" website by adding 3 boxes below Jumbotron, and using Flexbox, make sure they are arranged like in the sketch below: