Skip to content

Latest commit

 

History

History
151 lines (81 loc) · 15.6 KB

advice.md

File metadata and controls

151 lines (81 loc) · 15.6 KB

Advice From Those Who Came Before You

Table of Contents

  1. Asking Questions
  2. Blogging Tips
  3. Focused Topics of Study
  4. General Advice
  5. Job Search
  6. Pair Programming
  7. Personal Website or Portfolio
  8. Practice
  9. Self-Care
  10. Self-Doubt
  11. Taking Notes

Asking Questions

  • "Be humble about the things that you don't know. Sometimes it's okay if you don't know something, but you have to first try to help yourself." - Ryan Boris

  • "If you can't do something within a certain time frame, reach out for help. But you should always try to fix it before you reach out. Look around in dev tools and reach out to the web. You'll learn in time how to see patterns in certain things. The more problems you solve, the better you'll get at solving them in future." - Ryan Boris

  • “At any level of coding, there are no dumb questions no matter how dumb the question might actually seem. If you don't know the answer and you've searched for the answer yourself, please ask those who are more experienced. Ask your fellow buddies or PMs to fill in the blanks as soon as possible. It's better to leave no stones unturned than to find out later in your study that you should have figured it out beforehand.” - Henry Kim

  • "Sometimes just forming out the question to ask reveals the solution" - Andrew McLaughlin

  • “People learning right next to you are a great resource, but also just as likely not to know the answer as you. The docs are a fast, reliable way to get the right answer.” - William Pelton

Blogging Tips

  • “It would be great if you could blog every week about your experiences... I just read a PM’s blog, and I wish I had done that.” - Grant Reighard

  • “Medium is the go-to blogging service for tech stuff in my opinion. There’s also creating a WordPress blog on your own domain if you buy that (plus hosting).” - Grant Reighard

Focused Topics of Study

  • “I'd really recommend making sure you choose a favorite stack and really take ownership over it. So if you start finding you really like React with Python/Django, then start building full stack functioning apps over and over again. Learn how to build a full back-end and front-end and choose one way to do it. Then, you should learn it to the point of full ownership over that stack. GoLang is great for backend! Vue is great for front-end! What you'll get from this advice is a great birds eye view of how your apps have to work regardless of language. You'll also get used to making API calls to a database, so you'll find yourself very well equipped to switch to any other tech stack you're asked to.” - Austin Howes

  • “Pay attention to data structures. It’s always surprising when and how those come up, and you’ll be grateful to know them!" - Austin Howes

  • “If you're comfortable with HTML and CSS, try and get as solid of a foundation as you can get in Javascript. Some of the more advanced JavaScript topics gave a good number of students from my cohort a tough time. Plus, React is built on those topics, so getting a solid JavaScript understanding can pave the way through the front-end section. Personally, I went through all but the last few algorithm sections for JavaScript on FreeCodeCamp. There is a YouTube channel called Traversy Media, and he has a tutorial on working with the DOM.” - Bernard Johnson

General Advice

  • "There's an infinite amount of information out there, and the tech industry evolves so quickly that you could easily be learning something that will soon be deprecated. There's a reason we work in teams; if everyone was an expert in everything we wouldn't need a back-end or a front-end person." - Ryan Boris

  • “You get out what you put in. If you put in the work and you put in the effort, you’re going to get hired and you’re absolutely going to love the position you are in.” - Blake Fletcher

  • "No one is going to run after you and ask you to do the work that is necessary to become a great engineer. You have to bring the drive and dedication to actually do it." - Nando Theessen

Job Search

  • "Make your Twitter account now. I refused to use Twitter until about 6 months in, when I realized the value it carries because the majority of the staff are active on there. Twitter = job opportunities and interviews. Want proof? Look at my posts from December 2018. @ashcraft_jj on Twitter." - JJ Ashcraft

  • "Start your portfolio page from something like the second week after you learn HTML and CSS and then continue to update and add new features as you learn new things.” - Christopher Atoki

  • "Find a few companies that you really want to work for and build side projects that use similar technologies to what they use. For instance, if you want to work at Stripe, try making an app that incorporates their API to accept payments. Having direct experience with a company's technologies beyond the generic full stack JavaScript frameworks shows genuine interest and can put you above other candidates who don't have experience working with those technologies." - Anthony Calderaro

  • “Take notice of the top 5-10 companies that would make you over the moon to start at as a new developer and focus more energy on those. That’s you first tier, so you should be spending 4-or-more hours preparing for those applications. You should be asking yourself, "What can I send in on top of a normal application to make me stand out?" See if you can network with people inside the company that can cheer-lead your path into it. The next step is to take a look at the other 60% of companies (the second tier) you’re interested in. Personalizing these is still important and can be as easy as watching and reading content on their mission or values then summarizing that in your applications. The final third tier of companies should be something you don’t spend a lot of time on - one click apply to these ones.” - Blake Fletcher

  • “Always network. People always want to hire from within. Anyone can learn to code, so if they like you as a culture fit and you are confident and passionate about being there, then you're 90% of the way to the finish line. “ - Austin Howes

  • “Start networking and building side projects yesterday. This will fast-track finding a job.” - Justin Kaseman

  • "Just practice your coding by creating small projects yourself and/or recompiling your old codes to be more efficient/shorter. Do a daily run of whiteboard questions (if you're in that stage already).... And frankly, Reddit is your friend for resources/practice routines." - Henry Kim

  • "Write awesome cover letters. I've got stories about interviews that I wouldn't have gotten without strong cover letters (and I did a lot of interviews)!" - Randall Whitlock

  • "Choose interesting side projects. Anything using IBM Watson or another AI-related API to analyze sets of data and evaluate information is a great talking piece in an interview." - Randall Whitlock

Pair Programming

  • "Don't ask people to pair program. Ask them what they are struggling with, and start solving little problems together... This keeps pair sessions from turning into purely hang outs." - JJ Ashcraft

  • "When you work in team for projects, there's a way to offer constructive criticism and also a way to take it. Criticism, offered well, does not make you any less of a developer. You can't sweat the small stuff. There will be people who try to take control of the group, but you have to be mindful of your biases; if you don't like someone, you will be predisposed not to listen to them. You need to be tactful about the way you approach them, listen to their opinion, and then try to suggest alternatives of different ways to try the thing that they are trying to do." - Ryan Boris

  • “Make sure you do pair programming. It could do you wonders, especially when you enter the computer science portion of the program. The PMs try to get students in their groups paired up together, but most of the time people have to seek that out [pair programming] on their own.” - Rachel DiCesare

  • "Some people like to try to pair program through screen sharing, and that makes it hard to see things or try out new solutions. Instead, make sure you are constantly pushing your code up to GitHub or use a live coding extension like Live Share in VS Code." - Eva Li

  • “Do a lot of practice, and perhaps find a few people to work on pair programming with. I got a crew of 5 that I kept in touch with afterwards. There's nothing like it.” - Jason Nuhn

Personal Website or Portfolio

  • "Don't get caught up in having a beautiful portfolio at first. Just make one, and then make little improvements each week when you learn something new." - JJ Ashcraft

  • “Pick either .com or .io [for your domain name]. I probably wouldn’t use .net. I would even use .code before .net.” - Christopher Atoki

  • “Always go for the .com domain name for the most authority. You could alternately buy several and redirect one to the other.” - Grant Reighard

  • “The best advice I’ve gotten and now always give when it comes to portfolio sites came from Brady, [my] CS instructor. He said, ‘Design your website and choose your projects to show off the skills required for the job you will eventually have.’ For instance, if you’re front-end focused, design from your navbar to your footer should be on point; if you’re back-end, scalability and security should be solid.” - Blake Fletcher

  • "An alternative to using a .com if you can't get your name can be a domain hack. I personally use andrewmclaughl.in and also have email forwarding set up for it. There's significantly more TLDs then you think." - Andrew McLaughlin

  • "Test your portfolio on everything. Different browsers and mobile. You never know when you'll want to show it to someone on your phone." - Andrew McLaughlin

  • “Buy a good domain name and host it if you can afford it. I got grantreighard.com.” - Grant Reighard

Practice

  • “Practice, practice. Each and every day, keep coding for at least an hour even if you have the day off. You don’t want to get rusty, but do not burn yourself out. It is so important to take breaks.” - Rachel DiCesare

  • "If you don't have one, get a "rubber duck." This could be anything (a literal rubber duck, some toy that you have, something that you can talk to, etc.), and just talk to it. It seems odd at first, but it activates a different part of your brain when you vocalize what you're working on and the issues you're facing. You will find that you come to solutions faster this way. It's also great practice for future interviews as people expect you to be able to talk through what you're doing. Even if you don't come to a perfect solution, being able to discuss your reasoning and what you're doing is very important." - Brian Durbin

  • “Don't copy and paste. I know they push this more now, but seriously type every line of code out and then rewrite it. That helps it stick in your memory.” - Justin Kaseman

  • "Constantly writing something and struggling to figure things out is the best way to go. For example, you might struggle on a problem for 8+ hours (I certainly did) when you are starting to grind whiteboard questions, but as you get better at recognizing the patterns, the time it takes to think and write will become smaller by steps. Improvements are never linear. It was always big or small incremental improvement after days or even weeks for me." - Henry Kim

  • "Use your side projects to both explore something new and keep up old skills. Maybe this project you use that new UI library and practice your React, maybe the next you give Vue a shot and practice your Node." - Andrew McLaughlin

  • "A lot of people seem to have trouble thinking of side projects. Look in the show-it-off room for inspiration. I personally write down my ideas for them on sticky notes, but Trello is another good place. Don't just keep your side projects solo, working with others is a great way to practice working on a team before labs. Don't stop either, you'll have a much easier time remembering React if you did one or two React projects over the CS portion of Lambda." - Andrew McLaughlin

  • "The more code you write the more times you'll go 'Oh this is just like that time I had to do x on y project'." -Andrew McLaughlin

  • "My biggest suggestion would be that, even if you are sick of sitting and just finished MVP [for an assignment], go for the stretch. You will be better off knowledge-wise!" - Patrick Thompson

Productivity

  • "Get a schedule, and stick to it. But also be willing to adapt and be flexible with that schedule. Use Trello or Notion to plan out your week." - Ryan Boris

  • "Learn your tools. Pick an editor and stick with it. Learn the shortcuts, find helpful extensions, and anything else that you can to make your time using it easier. You can add your own auto fill snippets to save you time. I personally have git commit bound to the pause break key which has caused me to commit more frequently." - Andrew McLaughlin

Self-Care

  • "Be sure to take many breaks, eat healthy meals, and get yourself out of the house as much as possible. Don’t stay up so late coding, and always get a good nights rest. I always try to do 10-15 minute breaks. I usually eat and drink something and take a step outside to go for a walk." - Rachel DiCesare

  • “Prioritize the obvious things like food, sleep, etc., but also know that you’re in for a slog. If you want outsized results, you will have to work really freakin’ hard.” - Blake Fletcher

  • “Keeping a life balance to avoid burnout is important. Eat healthy, drink water, exercise, meditate, and take breaks.” - Justin Kaseman

  • “Keep the fire alive no matter how weakly or strongly it burns.” - Henry Kim

  • "Try to get outside at least once a day [while learning]. Go for a walk, listen to a podcast and think of something besides coding. I normally do this during lunch hour. Make this a habit and you will feel significantly better in the afternoon." - Andrew McLaughlin

  • “Take more breaks. Use a pomodoro app. Sleep as much as you need. Go exercise. Eat right. Shower.” - William Pelton

  • "Have enough money on the side to last not only the entire program but also a few months after. You want your full focus to be on the program, not partly worried about money or working on the side." - Nando Theessen

Self-Doubt

  • "Developers probably use only 20% of a language's features every day. Don't psych yourself - if you're using 20% of the language, you're probably on par with most other developers out there working, and you can look up the other 80%." - Ryan Boris

  • "Do you know more now than you did on Day 0? Great! It's been a successful venture. Don't let a hard topic get you discouraged. You know more than you did yesterday, so keep going." - Christina Kopecky

  • "I self-doubt myself every second of my coding life, so it's important to look back and reflect on what I have accomplished, how far I've come, and making sure I'm comparing my present self to my past self. That usually gives me a confidence boost." - Eva Li

Taking Notes

  • "Stop reading this. Skip your Starbucks coffee this morning, drive down the street, and buy a mini whiteboard instead. I got mine for $1. You should be practicing handwriting the main coding principles (like when you learn to write more advanced functions, async/await, promises, writing basic react components), and rewriting your weekly code challenges by hand." - JJ Ashcraft

  • “Definitely take notes. Remember that there is almost never one way of doing things, so a good task to try is to always try to find other ways to do things that you learn." - Christopher Atoki