Skip to content

Latest commit

 

History

History
233 lines (150 loc) · 19 KB

orientation.md

File metadata and controls

233 lines (150 loc) · 19 KB

Guidelines for Success

"Self-education is, I firmly believe, the only kind of education there is."

Isaac Asimov

Mission

Our boot camp's mission is to cultivate well-trained professionals who can immediately add value to any team and are equipped with the skills to tackle real-world challenges. Graduates will earn professional certificates, which significantly reduce the risk for companies that might otherwise hire under-prepared individuals. We are here to mentor and guide anyone who needs it.

However, our focus is not on:

  • Providing an entertaining experience where participants pretend to be Rust developers.
  • Offering just an introductory overview of the subject matter.
  • Creating content where ample high-quality resources already exist online.
  • Delivering lectures.
  • Providing unnecessary hand-holding or 'babysitting.'

These are non-goals of the boot camp.

Prerequisites

Before you begin the certification program, you should have a solid understanding of Rust and Git/GitHub. We strongly recommend completing the Rust Book. It's also beneficial if you have completed Rustlings and Exercism, and have some hands-on practice. If you're transitioning from another programming language, you'll also find this certification program particularly useful.

Perspective

Choosing to participate in our boot camp means embarking on an intensive, fast-paced journey of learning, focusing on the critical areas of information technology. The boot camp's accelerated pace is designed to be the most effective method for rapidly acquiring new skills. Usually, boot camps outperform traditional university courses, pet projects, and even on-the-job training, especially when starting without a strong foundation in these crucial skills. A pet project simply does not challenge you in the same way a boot camp does, pushing you outside of your comfort zone. Boot camps also hold an advantage over commercial projects: you have much more freedom and time to build up missing skills, and our curriculum encourages you to master one skill at a time, never pushing you too far beyond your current abilities.

Participants in the boot camp will join closely-knit small groups. Meetings within these groups will take place four times a week, excluding weekends. These meetings provide an opportunity for dynamic discussion, mutual learning, and the answering of any questions you might have. Additionally, participants can expect to answer insightful questions posed by their mentors, fostering a proactive learning environment. You can also make new friends and acquaintances who can help you with your career -- after all, networking is a pillar of success.

Our learning process is meticulously designed to enhance skills daily, leveraging the most exceptional learning materials available. We do not produce content unless there is no adequate resource available online. Our philosophy rests on utilizing state-of-the-art tools and premium learning materials, rather than creating substandard content ourselves. We furnish an interactive platform for tracking progress, ensuring a well-defined path towards skill enhancement and achievement.

Participants will also be challenged with designing, developing, and presenting a capstone project. This project provides a fantastic opportunity to apply the skills learned throughout the boot camp in a practical, impactful way.

Finally, a comprehensive assessment will be conducted at the end of the certification program. Upon successful completion, participants will earn a certificate. This certificate is more than just a document; it's a testament to your ability to utilize best practices and write idiomatic code, which employers highly value. Imagine the doors that could open with this certificate in hand!

Join us in this boot camp and fast-track your IT career to new heights. The journey might be intense, but the reward is immeasurable.

"To wish to be well is part of becoming well."

Seneca

Why Rust?

Also, Rust is not the worst choice nowadays:

Your group

Each participant has been assigned to a specific group, with each group having 2 mentors. If you're in the morning cohort, your meetings will typically be scheduled for 10:00. For those in the evening cohort, meetings are most likely at 18:30. Mentors might shift slightly time of meetings.

Routines

Expect to join calls with your fellow learners and mentors four days a week. During these group sessions, we strongly encourage you to voice your questions and engage actively in discussions. Be prepared to answer queries posed by your mentor. We also recommend turning on your video camera to foster a more personable and engaging experience for both participants and mentors. Please join meetings 5 minutes before they start to show respect to peers and mentors.

Topology of curriculum

In most contexts, the terms chapter and step can be used interchangeably.

The boot camp is divided into four parts:

  1. General part: chapters 0, 1, 2, 3
  2. Specialization part: chapters 4, 5
  3. Capstone project: chapter 6
  4. Certification test

At present, we offer only one specialization: "web back-end". The second and third parts can be worked on simultaneously with the first part. And, you should work on the third part in parallel with the second part to meet the deadline.

Soft and Hard Deadlines

In this boot camp, we implement two types of deadlines: soft deadlines and hard deadlines.

  1. Soft Deadlines: These are flexible deadlines designed to help keep you on track. Every soft deadline is set for Thursday at midnight. We tolerate up to two instances of not meeting a soft deadline. However, if you fail to meet a soft deadline for a third time, this will lead to expulsion.
  2. Hard Deadlines: These are strict deadlines that must be adhered to. Each hard deadline is set for Sunday at midnight. Failing to meet a hard deadline will result in immediate expulsion.

Each chapter of our program has its own deadline. Please note that some chapters may take more than one week to complete. We use a week as our standard unit of measurement.

We encourage you to meet all deadlines to maximize your learning experience and successfully complete the boot camp.

Deadlines are set for the opening and any changes in your PR. If you managed to complete the task before the deadline, but received the approve from the mentors after the deadline, the task is still considered completed.

💡 Advice: Tasks 4.4 and 6 are non-trivial and will easily take a week of work. Make sure you reserve more than a few days for these tasks.

Calendar

The calendar is your ally. Utilize it and allocate at least 20 hours per week to immerse yourself in the program and adhere to the deadlines. Make it a habit to check the calendar at least once a week. All meetings and deadlines are marked there. Please note that all deadlines are set for Thursdays. Missing these hard deadlines can significantly hinder your progression in the program, so be sure to respect them.

Please arrive at each meeting prepared and ready for discussion. Your homework and tasks should be completed before the meeting, not after. Mentors expect you to come prepared, and their role is to help deepen your understanding of the concepts.

As soon as you complete one chapter, start the next without delay. This will help you stay on track. Treat the boot camp as a job or a competition, not just as entertainment. To succeed, it's essential to study regularly and avoid taking more than one day off at a time. A loss of a couple of days can set you back significantly, and recovery may be stressful. So, take care of yourself and manage your time wisely.

Honor code

We ask you to complete the assignments independently and not to share your own work. Since you will receive certificates at the end of the course, we will carefully check your work for Plagiarism. A person who uses the work of another person and another person both will be expelled if such an incident occurs.

Capstone project

You will be tasked with creating a portfolio project using Rust within a one-week timeframe. The project should highlight your proficiency in Rust, showcase your coding style, and demonstrate your problem-solving skills. The objective is to build a functional project that can be presented to potential employers or shared within the programming community.

Select a project idea that can be effectively implemented within a one-week timeframe. Consider the project's complexity and feasibility. You are expected to present your project to your peers and mentors, which enables you to receive comprehensive feedback, enhancing your growth and learning experience.

Certificate

If you complete all tasks on time, successfully present your capstone project, and achieve a high score on the certification test, you will earn a professional certificate. We're dedicated to ensuring our certificate is recognized both in Ukraine and internationally.

Certification Test

Our certification process is meticulously designed to maintain the highest levels of integrity and credibility. We implement stringent measures to deter cheating and ensure a fair testing environment for all participants.

During the certification test, participants will be supervised by a proctor. We require participants to use two cameras and share their desktop throughout the test to prevent any unauthorized communication. In addition, we will monitor all active processes on the participant's computer at the beginning and during the test to curb any fraudulent activities.

It's important to note that passing the certification test is challenging due to its intricate and tricky questions. Each participant has two attempts to pass the test. One attempt is shortened and one is basic. A shortened attempt is an opportunity to complete 10 questions in 10 minutes. If all the questions are correct, you can get a certificate based on the score of the shortened attempt. Participants who complete the first or second part of the program ahead of others, or those whose capstone project receives the most likes from mentors during presentation, will be awarded an extra attempt. We recommend utilizing available online quizzes as part of your preparation for the certification test. This method will help you thoroughly understand the topics related to any questions you might stumble upon.

Any attempt to cheat during the certification test will lead to immediate expulsion from the boot camp.

💡 Advice: It is beneficial to go through as many online quizzes as possible before taking the certification test. Mastery of rustlings and exorcism drills, as well as reviewing others' code, is recommended, as the certification test evaluates not only your understanding of concepts but also your ability to read and comprehend code swiftly.

Get help from mentors and peers

You are welcome to ask questions in our chat without asking to share a solution.

Please be respectful and polite to peers and mentors.

💡 Advice: mutual support is our value. Don't underestimate the importance of soft skills.

Deadlines

Soft Deadline: Thursday 00:00

  • By this time, you should have submitted your latest version of the PR
  • If you do not do this, you get a foul
  • Mentors check your PR over the next day or two, and by Sunday you receive an aprove
  • 3 fouls received means expulsion from the bootcamp

💡 If you still have corrections to make after Thursday, you can make them before the hard deadline - but this is also a foul (so try to have the final version of your PR by Thursday)

Hard deadline: Sunday 00:00

  • If by this time you still haven't submitted your PR or made the last edits, you are out of the bootcamp

Expulsion

There are a few potential reasons for expulsion from the group, which include but are not limited to:

💡 Advice: If circumstances require you to leave the group prematurely, please do so with respect and professionalism. We encourage you to provide a brief, public explanation or acknowledgment prior to your departure. Please remember, we're all human and understand that unforeseen circumstances can arise. Rest assured, there will be no hard feelings if you must leave the boot camp early.

Exclusion algorithm

  • Write to the person responsible for the expulsion of students - Stepan
  • Say goodbye to everyone in a telegram chat. (You can also write your feedback and tell the reason of your living if you want).
  • Log out of the chat within 24 hours.

💡 Those expelled may participate in the next bootcamp. On general terms and conditions

Getting Started

Wait for the invite to your new repository from our bot. For each exercise, you'll need to create separate pull requests. Then, when the reviewer checks and approves your pull request, one of your mentors will merge it into the master/main branch. After that, the exercise will be considered done.

  1. Our bot will create a private fork of the main Rustcamp repository in our organization and invite you.

  2. Also, your mentors will already be in the repository.

This course is continually evolving, and it's important to stay updated with the latest changes.

Submitting Solutions

For each chapter or step of the rustcamp, you should create and submit a separate PR (pull request). Make sure to give your PR a relevant title. After you've completed your pull request, please remove any markers like "NOT READY", "DRAFT", or "WIP" from the title and specify our bot as a reviewer and tag all of your mentors in the comments section.

Please, don't do PR merge yourself. Before merging the pull request into the main branch, you need to receive approval from at least one mentor. If more than one mentor has reviewed your Pull Request and requested changes, you must receive approval from all involved mentors. If all the conditions are executed, mentors will be able to merge your PR.

Each step of the rustcamp is a Cargo workspace member, meaning you can run and test it from the project root using commands like cargo run -p step_1_8. We highly recommend using tools like rustfmt and Clippy while writing your Rust code.

Never hesitate to reach out to your mentor or lead with questions. However, be aware that you may not always receive a direct answer. Instead, they may guide you towards a path for your own exploration and discovery. Remember, in this learning journey, it's usually the mentor or lead who asks the questions, expecting thorough and precise responses from you.

Useful links

  • 🧭 Orientation - Maximize your boot camp experience with these tips.
  • Getting Started - Kick off your learning journey here.
  • 🎓 Exercism - Dive into coding exercises with the guidance of mentors.
  • 📚 Learning Materials - A curated collection of top-notch Rust learning materials.
  • 🔧 Ecosystem - A curated collection of frequently used crates, representing essential parts of the Rust ecosystem.
  • 🌐 Zero To Production - A back-end focused book to broaden your knowledge.
  • FAQ - Answers to frequently asked questions at your fingertips.
  • 🔄 Progress Board - Participant progress board

Too hard?

If you're feeling that the certification might be too challenging at this point, that's perfectly fine. Feel free to explore these links for other learning options and resources.

  • 👣 Step-by-Step Introduction - A gradual introduction to Rust programming.
  • 🐣 Rustlings - Small exercises designed to familiarize you with reading and writing Rust code.
  • 📘 Rust Book - An indispensable guide to Rust. While it's a must-have starting point, we strongly encourage revisiting it throughout your learning journey.