Tips and Tricks
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.
- 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 ideas that
-
students don't want to be there
-
the goal is to get a degree (and good grades)
- with as little effort as possible
- curiosity and learning for the sake of learning/being passionate about a topic is put aside for preparing for tests
-
consequently, we have grades
-
we become conditioned to overvalue other people's evaluation of ourselves and develop no internal motivation of our own
-
Pass/Fail - we'll be checking if you're putting the time and work in. We'll be looking for growth in your skills
-
Therefore struggling with a hw is ok, you won't 'lose points'
-
We'll work with you if you're struggling and coach you to get the most out of this course
-
It often won't feel this way, but the struggling is how you are learning - you'll only realize it when you look back to where you were when you started
-
Teaching Coding is very different from teaching most subjects
-
This is why many famous programmers have dropped out of school
-
Coding is a skill, much like wood carving, playing a musical instrument or getting good at playing a sport
-
practice practice practice
-
memorization is not important
- the more you do something you'll learn the key words to talk about something in a meaningful way
- if you do something a lot you'll automatically memorize it
- if you do something once in a while, as long as you understand the concept you'll be able to look it up and recreate it quickly
- we build the web, without the web, we don't have jobs: therefore memorize important things like friends and family's birthdays and leave the coding details for google
-
Television and Movies misrepresent what a good coder looks like: Speed! Fast typing! Lots of windows!
Your reality will be much more like this:
- Focus just on what you're working on today. If you expand to the big picture, it can be overwhelming
- if you don't get it the first day, don't worry, you'll get to do it again tomorrow, and the day after that...
- Some of the greatest ah-ha moments come when you're away from your screen. Take care of yourself, go for walks and get plenty of rest
- Produce more than you consume when it comes to learning code
- Reading and trying to understand concepts will only take you so far
- The building of the things is when you truly level up and understand
- Knowledge really settles in during project
- Homework
- Read the entire hw first
- take notes and make a plan
-
Start with easy questions (not everyone finds the same questions easy - that's ok). If you're struggling with something, skip the question and try the next one
-
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 and continuing to build on your skill set
-
speed, efficiency, clean code, elegant solutions all come with practice: Be patient with yourself
-
First do it
-
Then do it right
-
Then do it better
- Addy Osmani
-
Ask specific questions regarding the feedback you want to receive. Otherwise we will just check for completeness
-
-
- Most things in this class are not difficult, just unfamiliar
- Take notes in your code. Explain it in your own words
- 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
- 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 as they come up. Might as well do it.
- Traditional schooling teaches us if we don't understand something, it's our fault and makes us question if we are smart and typically rewards the hares
- Coding rewards those who practice and keep trying, the tortoises are the winners
- If you don't understand something, there are others who feel the same way so ask. Again, if you already knew everything you wouldn't have to take this course with us. You're here to learn and we're here to support your learning
- Intensity, intensity, intensity
-
1 out of 10 graduates take more than 6 months to find a job. Typically I've found 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"
-
You are trying to make a career 180 in 3 months! That is a massive undertaking. It requires a very high level of commitment.
-
You can do this course in 24 weeks or even longer, but most of you are here because you want to do this change quickly
-
This means a very high level of commitment and hard work for a short period of time
-
Work hard, but never at the cost of taking care of yourself
-
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"
- 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
- Your ability to problem solve on the spot and talk thoughtfully about your code is going to be what changes their minds
- 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
- Unit 1 is the hardest for several reasons
- You're learning a lot of new things
- You're learning a lot of fundamentals so it feels like you're learning a lot(true!), but still can't do much yet
- You're learning to cope with your feelings. Getting stuck for minutes or hours on a problem will be new for a lot of you
- making money now through part-time work increases the amount of time you'll be unemployed at the end of the course because you'll have learned less and will struggle with interviews. It seems counter intuitive, but making money now is more expensive in the long term.
- Ask for support from your friends and family - whatever they can offer - even if it just is understanding you're super busy. If they can cook/clean/run errands or support you in another way that's great!
- Deactivate social media
- Turn off your phone during class time and while doing homework
- 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
- Try to make a relationship with all other students
- Most of you will never apply for the same job because you are all over the country/world and you have different interests. You aren't in competition with each other. You can collaborate and support each other.
- The cohorts who have the most study groups and students who support each other have better projects and are happier overall than cohorts who adopt an attitude of having to do it all on their own
- if you're struggling don't go inwards, reach out to fellow classmates, even just knowing someone feels similar to you can lift a burden
- 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.
- 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
- 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
- Help out everyone. IAs are often chosen by those who help other students a lot during class
- 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 majority 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
- 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
- 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
- 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
- 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
- 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
- Beware advice from friends. We know best.
- Don't let problems/questions of any kind (programming or personal) fester. Bring them up immediately to an IA or an IL
- 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
- 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
- Development is like creating a recipe, it's just a series of basic steps
- Learn what kind of mistakes you make
- Type things out, don't copy and paste. Copy and pasting takes your mind off of what you're doing.
- 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
- 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
- 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 three 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
- Share your bugs and mistakes
- Prepares everyone for finding mistakes in other people's code
- 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 knew a great dev who worked at Spotify, but got fired because he couldn't be punctual
- 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
- What you really get out of this class: learning to learn, methodicalness, reading tech docs, debugging, how to stay calm under pressure
- If you're an experienced dev, and class is moving too slowly, talk to us
- Anyone can do this. We've had the hearing impaired, the visually impaired, and disabled veterans succeed in this course