Tips and Tricks

Focus on ~5 of these per day to incorporate them into your success throughout the course.

First Off, Take Our Students' Advice!

This is just from one cohort. NOT a compilation

My Thoughts

Read through the following. Write down five things that you learned from reading this. Write down five things that you plan to change about yourself when taking this class.

  1. Abandon your concepts of how education works

    • High School/College is built to work very differently from a bootcamp

      • traditional education is built upon the idea that students don't want to be there.

        • consequently, we have grades
        • we become enslaved to other people's evaluation of ourselves and develop no internal motivation of our own
    • Teaching Coding is very different from teaching most subjects

      • This is why many famous programmers have dropped out of school
  2. Focus just on what you're working on today. If you expand to the big picture, it can be overwhelming

    • Knowledge really settles in during project time
  3. Homework

    • Start with easy questions. If you're struggling with something, skip the question and try the next one
    • As soon as class is over, review the HW quickly. Gather a list of questions for the TA and add yourself to the queue as soon as they get on
    • Check your homework by figuring out ways to test your answers to see if they are correct. Don't wait for feedback.

      • You should be able to answer the question "did I do it right?" on your own.
      • In the real world, you'll need to figure out how to test your code to see if it works. You won't have someone to read your code and tell you if you did it right.
      • There is no "best" solution. Ultimately, the only thing that matters is, "does it work?"
      • Code "quality" (how you write code) doesn't matter as a jr developer. Only your ability to solve problems matters
      • Ask specific questions regarding the feedback you want to receive. Otherwise we will just check for completeness
  4. Nothing is difficult, just unfamiliar
  5. Don't be afraid to ask questions or let us know when you're stuck

    • Don't attempt to "catch up" on your own

      • You'll just fall further behind
    • Follow along with what is being screen-shared

      • My notes are meant to be a reference for later

        • not a step by step guide
    • All this material is online. You could teach all of it to yourself, but it's incredibly difficult. You're basically paying a bunch of money to have us around to answer your questions. Might as well do it. Otherwise, why are you paying all this money?
    • Traditional schooling teaches us if we don't understand something, it's our fault. This is not the case. It's because the teacher didn't explain something well.

      • If you don't understand something, there are others who feel the same way
  6. Intensity, intensity, intensity

    • 1 out of 10 graduates take more than 6 months to find a job. Typically we find that the students who take longer than 6 months to find a job are the ones that didn't work very hard, NOT the ones with less experience or "intelligence"
    • Students will get together and code/cry over zoom
    • Students get so involved they forget to eat (definitely take care of your health and wellbeing first though. Get enough sleep, eat, and keep your mental health top priorities.
    • Again, definitely take care of your health and make yourself a priority.
  7. dog

    • we are the bottom picture

      • if you don't like this, switch to a part-time class (FEWD, JS, etc)
      • you're not going to get out of this class with total fluency. This is just the first 1000 words you need in order to survive in the "country"

        • imagine being dropped in a country with no knowledge of the language, how much would you have learned in 3 months?
  8. Don't focus on getting the certificate, focus on learning as much as possible

    • GA credentials mean nothing

      • no one will bring you in for an interview because you went to a bootcamp

        • GA is not Stanford or MIT. Nobody will be impressed with the GA name on your resume
        • Bootcamps have not been around long enough to gain any clout
        • they'll bring you in because they want a cheap Jr. Developer
      • The education you gain is what GA gives you

        • In reality, most devs who interview you will go into the interview believing you're unqualified due to lack of experience
        • Your ability to problem solve on the spot and talk thoughtfully about your code is going to be what changes their minds
  9. Figure out what kind of learner you are

    • Each person learns differently
    • What might have worked for you in one class might not work here
    • Think about how you learn and be aware of what works/doesn't work

      • Try to not code along or take notes while I code. Just listen and absorb. Then during the prompt, code and take notes.
      • If that doesn't work, try the opposite or some variation.
  10. Ways to avoid distraction

    • Change your voicemail to let people know you will not be able to respond immediately
    • Set auto reply to email to let people know you will not be able to respond immediately
    • Say goodbye to friends and family. Tell them you'll see them in six months. Like you're moving to another country.
    • Deactivate social media
    • Turn off your phone during class time and while doing homework
  11. Try to create a relationship with all other students. You don't know when you'll need a second set of eyes. Sometimes bugs are really stupid, and can be spotted by anyone. It's like writing an essay where your eyes know what you're trying to say and don't see mistakes
  12. Finding a job has a lot to do with timing, what the employer needs vs what the student wants to do, and personality matches. Because of this, it's never that the best students get jobs first. Rather, the group who get jobs first will contain a diverse set of students. This group of students who get jobs first are often a way into a company for others, so be friends with everyone. Someone you think would be unlikely to get a job could be one of the first ones to get one and could help you out.
  13. growth mindset vs fixed mindset

    • growth mindset

      • people who believe that ability can be learned are highly successful
    • fixed mindset

      • people believe that ability is something you're born with are not successful
    • focus on the learning process, not on the results of your current task

      • you'll succeed more and have more fun
    • different types of fixed mindsets. Monitor your reactions for these feelings:

      • You’re Wrong I Rule: person is unable to accept that they did something wrong
      • You’re Right I Suck: any criticism immediately sends person into feeling like they're worthless
      • Blame it On The Rain: any mistake a person makes is explained away by circumstance. The person believes this won't happen again, so there's no need to correct the issue
      • Optimist Without a Cause: criticism is not important, given everything else that went well
  14. Programming is like writing an essay in a language you don't know. Know what you want to say and then research how to say it

    • come up with the solution to a problem on your own and then research any syntax you might need in order to implement it. Do not research the answer to the problem itself
  15. Help out everyone. IAs are often chosen by those who help other students a lot during class
  16. Plagiarism (passing someone else's off as your own) will only result in you getting job that you're unqualified for and will get fired from

    • How do I know?

      • What is it?

        • copying another student's code
        • copying another student's code and altering it to look like yours
        • copying a solution to a homework question, lab, or project that you found online
        • copying a solution to a homework question, lab, or project that you found online and altering it to look like yours
      • What is it not?

        • finding syntax online that will help you build the solution that you came up with
        • asking another student to debug your code or help you work with your own solution. Note, this is not "what did you get for question 1?"
      • How to stay safe

        • Come up with your own idea about how to solve the problem and find syntax online to help you create it
        • Do not try to find the answer to how to solve the problem online or get it from another student
        • If you use a chunk of code that is more than a few lines long, even if you alter it, cite it with a comment in your code. Give either a link to the site or the student that gave it to you. If what you're citing is the vast majoritiy of your solution, it's probably plagiarized
    • Your employers will quickly discover that you don't know what you say you know
    • If you feel you can't complete the work, come to your instructors and we can figure out a way for you to turn in something meaningful. There is always a solution
    • You can usually receive a partial refund or continue in another course if withdrawing for family/external issues. Not for plagiarism. Come to us before doing anything extreme
    • The General Assembly name means nothing. Even if you succeed in making us believe you are responsible for plagiarized work, ultimately, when you graduate, you will have only a meaningless certificate and none of the knowledge to back it up
  17. Project weeks

    • community bonding time. Help each other out
    • a chance to simulate the real world and see where you need improvement

      • this is where you'll get a lot of practice with researching and debugging
    • hand-holding during this time leads to less independence in the real world
  18. Bringing up your mistakes during class often illuminates good points to talk about

    • it's very difficult as an instructor to come up with scenarios where a student will make a mistake, since everyone makes different kinds of mistakes
  19. Practice learning on your own

    • This will be your life when you start work

      • the chances that you'll be using the exact tech we teach you is slim even though we pick popular tech to teach
      • the concepts that we teach will be the same for your entire life
      • tech changes, concepts don't
    • We teach you to teach yourself and provide hints along the way
    • Most of development is coming across something you've never seen and figuring it out on your own
    • Don't worry about what is the most optimal thing to study. As long as you're focused, whatever you study will be great
  20. Projects and grades mean nothing

    • No interviewer will be impressed by your projects or your grades. That's because you're still just starting out as a developer
    • They will, however, be impressed if you can answer interview questions and talk thoughtfully about your code
    • The education and knowledge you gain from projects, homework, labs, etc is what will get you past an interview. Not the actual work itself
  21. Don't compare yourself with other students. This is not school, where everyone comes in with roughly equivalent experience

    • There is plenty of work available for graduates at all levels, as long as you fully understand the work you present to employers
  22. Don't let problems/questions of any kind (programming or personal) fester. Bring them up immediately to an IA or an IL
  23. We only "open the doors" you have to walk through the door. We guide you, but you'll have to do most of the work.

    • It's like bowling. We're the bumpers, but you have the throw the ball
  24. Learning how to debug your own code and read documentation/articles/forums takes practice. This is not really something that can be taught. Make sure you struggle and read a lot on the internet on your own time. Don't immediately ask for help
  25. Development is like creating a recipe, it's just a series of basic steps
  26. Learn what kind of mistakes you make
  27. Type things out, don't copy and paste. Copy and pasting takes your mind off of what you're doing.
  28. There is a disconnect between knowing something at a conceptual level and being able to use it. Make sure you can do both

    • Just because you can look at code and understand it, doesn't mean you can build something like it
    • It's like having the recipe for baking a really complex desert. Just because you have the steps, doesn't mean it won't burn
  29. We create increasing levels of independence: lecture (very hands on) -> lab -> homework -> project (very hands off)

    • This is to ease you into what it will be like in real life
  30. Your community of students is the best aspect of GA. They will help you with finding work and help you when you are stuck on a problem at work

    • Explaining something to someone else is the best way to fully understand something
    • Learners teaching learners is stressed in educational books

      • There will always be some kind of a disconnect between someone with more experience and someone with less experience.

        • This is especially pronounced here where months later you're a completely different person

          • ILs, IAs, and TAs are great, but nothing beats talking with someone in the same position as you talk to you
  31. Share your bugs and mistakes

    • Prepares everyone for finding mistakes in other people's code
  32. Class restrictions like attendance might seem silly, but we're trying to produce people who can show up on time for a meeting. Soft skills.

    • I know a great dev who is one of the smartest people I've known. He couldn't hold a job because he couldn't be punctual or follow a plan.
  33. Try to fail as much as possible now

    • It will prepare you for being calm while failing on job

      • Attitude is very important when working

        • Most companies will not tolerate someone who freaks out or gets nasty during times of stress
    • It will make you faster at finding your own faults
  34. What you really get out of this class: learning to learn, being methodical, reading tech docs, debugging, and how to stay calm under pressure
  35. If you're an experienced dev, and class is moving too slowly, talk to us
  36. Anyone can do this. We've had all walks of life and backgrounds succeed in this course