How to enroll in a course and… complete it

Over the past three years, I have completed 3 extensive multi-month courses and several shorter ones. I spent more than 300,000 ₽ on them and did not achieve my goals. It seems I have made enough mistakes to draw conclusions and do everything right in my last course. Also, I wanted to write a note about it.

Here’s a list of the courses (I want to point out that they are all excellent; the final results correspond to the efforts I put in.):

  • 2017 — an annual offline course "Digital Product Design" at the Higher School of Economics Design School. Goal — to become a designer. Result — I skipped the last quarter entirely and did not complete my thesis. Zero interviews, zero offers.
  • 2018 — I studied for 7 months at the Bureau of Gorbunov Leadership School. Goal — to become a manager in a design team. Result — I could not find a team for the project (because I didn’t even try), and as a result, I was dismissed for poor academic performance. One interview, zero offers.
  • 2019 — the "Data Analyst" course at Yandex.Practicum. Goal — to find a job as an analyst and "enter IT." Intermediate result three weeks before the end of the course — two personal projects on the topic, additional materials read and categorized. I made three attempts at my resume, sent out a dozen responses to job vacancies, received 5 replies, and went through two interviews. Still zero offers.

I gathered the methods and principles that I figured out during my studies. I categorized them: for all time, before learning, during learning, and after (job search).

Meta-skills — those that are useful in any case.

Time management and schedule — when to study. "Time slots" — fixed periods for studying; for example, two hours in the morning before work. I developed a daily routine and have what I call "strong hours" — times when my mind is clear, and I can tackle difficult tasks.

Understanding the purpose of learning. If it's just for oneself — then at best it's a hobby, and at worst — a form of procrastination. However, if the goal is to change professions, it’s better to define it in advance.

I often impulsively signed up for 5 courses on Coursera and then completed none of them. The next time I visited the site was six months later, but only to sign up for 10 courses again.

Oleg Yuriev — my colleague from the Practicum course — adds: "You also need to have the strength to decline a course that has become uninteresting to you; I spent dozens of hours on this, solely because of my perfectionism, thinking that once I started, I had to finish." Don't let irretrievable losses drown you.

Start on Monday. It sounds clichéd, but postponing a task for the weekly sprint until Friday is a bad idea. Even starting on Monday, I often found myself finishing work just before the deadline. (See the Büro principle: "not at the last minute»)

Search in Google. Questions like "how to change the color on a graph" or "which argument corresponds to this in the function". By the way, knowledge of English will come in handy here — there are more answers and a higher chance of quickly finding what you need.

Touch typing. You'll spend a lot of time writing something: if you can do it even 10% faster, you might manage to sneak in an extra episode. 😉 A practice tool for working 10-15 minutes a day.

Keyboard shortcuts for working with text. Very often, I have to navigate through a sheet of text or code with the cursor. Keyboard shortcuts help select whole words or lines and move between words. Article on Lifehacker.

Take notes. The pyramid principle of material absorption: read → write → discuss → teach someone else. Without notes, it turned out like this: at the beginning of the material, "this is how a function is called, these are the parameters, here's the syntax," then a ton of information. When it came to practice, I would open the code editor… and go back to reread the theory.

Pre-preparation (6 months to a year before starting)

English language — a crucial skill. All cutting-edge knowledge is in English. Non-cutting-edge knowledge is also in English, even if some has been translated. And all documentation for programs is also in English. Not to mention the great lectures and podcasts.

Course Learning how to Learn by Barbara Oakley on Coursera or her book "A Mind for Numbers". Or at least the notes. It helps understand the basics of how the brain works during learning. Plus, it provides good practical advice based on this data.

Financial cushion. Savings equivalent to six months' salary (more is better) will be incredibly useful when you need to gain first experience in a new profession at junior positions for 50,000 per month. (A series of notes about the pillow in Tinkoff—Journal or the issue on financial literacy of the Podlodka podcast)

Recommendations for the course 'Data Analyst' from Yandex.Practicum

This is my last course, and so far the most successful in terms of my activity, so my impressions are very fresh.

Before starting the training

Preliminary completion of basic courses will greatly help in focusing on tasks rather than tools during studies.

If the goal of learning is to change jobs, the cheat code would be to reduce the workload at the main job to devote more time to study. Not just for study itself but also for exploring additional materials, watching lectures, working on personal projects in the field, attending meetups and interviews.

«… I would switch to part-time at my current job to free up time for learning and a pet project» — from the advice of Ivan Zamessin on how to acquire a new profession

During the learning process

Read documentation for libraries. Every time I sat down to write code, I needed to refer to the documentation. Therefore, the main pages ended up in my bookmarks: Pandas (dataframes, series), datetime.

Do not copy code from theory. Write all functions manually as much as possible. This will help memorize them and understand the language syntax. It will come in handy later.

You can't read all documents — you can't learn a language from a dictionary. To discover useful programming techniques, it helps to look at other people's code. It's even better to try to replicate it and observe the intermediate results for each line — this way you can understand what is actually happening and better memorize it.

Read additional literature, which is provided at the end of each lesson. This helps to understand the essence more deeply and will definitely be useful in future topics (and in interviews!). It helps significantly to repeat the code from articles manually (if available), even if it seems all straightforward.

Work on your own projects. This helps solidify theoretical knowledge and understand the material in real conditions — when there isn't a clear task and theory example to copy; you have to think through each step yourself. It also demonstrates seriousness of intent and contributes to your future portfolio.

When I took my first Python course, I came up with a project and scraped Ilya Birman's blog: it helped me get used to the syntax of the language and understand how the BeautifulSoup library works and what can be done with data frames in pandas. When we later covered visualization in Practicum, I was able to create a report with visualization.

Subscribe to specialized blogs, companies, channels on Telegram and YouTube, podcasts. You can view not only the latest materials but also sift through the archive in search of familiar words or simply by the most popular ones.

Choose a mode and stick to it.

Take breaks throughout the day — the Pomodoro technique helps here. Don’t grind over one task for three days — better take a walk, get some fresh air, and the solution will come by itself. If it doesn’t — ask colleagues or a mentor.

Take breaks during the week. The brain needs time to absorb the material, and breaks help — completely disconnect for a day or two from the binge consumption of new information. For example, on weekends. Learning is a marathon; it's important to pace yourself so you don’t burn out halfway through.

Sleep! Healthy and sufficient sleep is the foundation of a well-functioning brain.

Jim Collins analyzed the successes of outstanding individuals and derived a simple principle — the "twenty-mile march":

The twenty-mile march implies achieving specific benchmarks within a certain timeframe — with great perseverance and consistency over a long period. Adhering to these principles is not easy for two reasons: it's hard to maintain voluntary commitments during tough times, and even harder to keep your pace when all circumstances favor accelerated progress..

Interactions with teachers, curators, and fellow students

When a question arises about the material covered, don't hesitate to reach out to curators, mentors, or the dean's office. A teacher is just as much a tool for knowledge transfer as the pages of theory or a code simulator.

It's usually difficult to remember what was hard during the course when preparing for consultations, so I recommend writing down questions as soon as they arise. Overall, it’s also useful to attend consultations.

Send results for review faster — this way you can conduct more iterations to improve them.

«Aim to implement some micro-goals in each project. For example, abandon loops, then use list comprehension, and then method chaining to feel your progress. If you want to do more than required for the project, do it in a separate notebook, which you can link to in the main work or send to your mentor to get their thoughts on it.» — adds fellow student Oleg Yuryev

Work from simple to complex. To write a complex function or multi-step data processing, it's better to start with something simple and gradually complicate it.

The most important thing is the people around you: classmates, curators, mentors, and Practicum employees. If you all find yourselves in one place, there's a good chance you share a similar path and common values. They also value education and strive for development. In six months, they will be your colleagues in a new specialty. It's hard for everyone to communicate (especially at first), but overcoming this barrier is worth it.

Job Search

If the goal of learning is to change jobs, then it’s worth starting early. The process usually takes several months. To find a job by the end of the course, you need to start in the middle. If you already have some relevant experience, you can start at the beginning.

Look at open vacancies to understand what the market needs: what kind of people they are looking for, what skills are required, and what tech stack they use. And how much they are willing to pay!

Respond to ads, do tests, and attend interviews — with each subsequent one, your perspective will shift slightly. This also helps to understand what material is lacking in your training. For example, many vacancies ask for SQL and test assignments check knowledge of it, whereas in Practicum, it was not covered as much compared to Python.

Reach out to people for advice (or just to say thank you). Lecturers at conferences, authors of blogs and podcasts, and just cool people you follow.

Attend thematic offline events to ask your questions in person. Remember that lectures from events can also be viewed on YouTube, but you go to the events for communication and networking.

I welcome any feedback and especially advice on how I can grow as a beginner analyst in my new profession.

Thank you to Oleg Yuryev and Daria Grishko for their support, advice, and life experience..

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster