Skip to content

Latest commit

 

History

History
79 lines (70 loc) · 4.69 KB

advice.md

File metadata and controls

79 lines (70 loc) · 4.69 KB

A Guide to Thrive & Conquer During Capstones

This is a guide compiled by Adies for Adies for survival during capstones.

As the capstone project evolves, so too will this guide.

Advice to Future Cohorts

Preparation & Scoping

  1. Your minimum viable product should be literally the baseline.
    • Anything that isn't MVP is feature creep and should be cut.
  2. Everything's already been done before. Make it you.
  3. The more specific your user or target is defined, the easier it is to make design decisions.
    • Example: Twitter does TWO THINGS: you can tweet, and you can follow people.
    • Start simple.
  4. Requirements can vary/are ambitious.
  5. You don't have to pick something you're super excited about.
    • Don't worry whether other people think it's cool.
    • Even if other people are excited about your project and potentially working with you on that-- focus on what you want to learn and build.
  6. Don't reinvent the wheel. Use the wheel that's already out there! There are so many cool tools.
    • If there's a gem or a library for it, use that tool!
    • You only have so much time and mental energy. Use your cognitive resources conservatively. Don't try all new things.
  7. Research your assumptions!
  8. Give yourself time to learn something new, if that's the goal; manage scope based on that.
    • Troubleshooting new stacks/languages will be slower.
    • Do a structured tutorial to help internalize new things.
  9. It's ok to not learn a whole new stack. Deep dives are also valuable.
  10. Be cautious of having an external client.
    • It can take a long time to get decisions back from clients.
  11. For hardware: baseline (getting things together and turned on) will take longer than you'd expect.
  12. Know/explore the goal/outcomes of your project.
    • Outline your "dones" (have deliverables along the way) / implement in waves.
  13. Estimating is really, really hard!
    • How to estimate research and learning time?
    • Know where you want to focus your time (front-end? back-end?)

Execution

  1. If you can avoid it, don't deploy anything on the last day. Unless you really want to.
  2. Be aware that other people may be trying to work while you're on a break.
  3. Have a backup plan.
    • Have a backup branch with a working version of your project.
  4. Be wary of sudo commands.
  5. Take control of your project and trust your gut.
    • Own your project!
  6. Every hour matters. Try to stay focused even if you're also concerned about interviews, etc.
    • Front load your work. Get as much work done in the first couple of weeks as you can.

Mental Health & Self Care

  1. Celebrate each other's successes!
  2. Don't forget to:
    • eat!
    • sleep!
    • take breaks!
    • go outside!
    • stop staring at the same ten lines of code!
    • help someone else if you're stuck. It's surprisingly helpful.
  3. You only have so much time and mental energy. Use your cognitive resources conservatively. Don't try all new things.
  4. If you are struggling with something and are starting to feel dumb, try not to get sucked into that negative thinking. Other people are feeling that way, too. You are awesome. You have learned so much. Go talk to your classmates!
  5. Meditating and exercise were great breaks for us.
  6. When you're talking to someone about a problem, know whether you're venting or seeking help. Make sure the person you're talking to is on the same page.
  7. Know what time of day you work the best at. Take advantage of that.
  8. Make very few concrete plans during capstone; expect to be tired when you're not working.
  9. Rely on your classmates. Work/eat/dance together.

Support & Limited Instructor Bandwidth

  1. Have one or two people in the classroom who know your project really well.
    • When instructors and other points of contact are not available, these people will be a great asset to you.
  2. Find a few people working on similar technologies and consider daily or weekly stand ups / otherwise checking in with each other to make sure everything is going alright.
  3. Instructor support is extremely limited.
    • Expect to not have significant guidance.
    • Ask instructor for contacts, not for direct help.
      • Eg, who can help me with setting this up?
    • Don't do a project if you think you can only do it with a lot of instructor support.
    • Look for contacts / potential teachers outside Ada circles to fill knowledge gaps.
  4. Expectations are individualized, so when you get that list of requirements make sure you talk to your point of contact about what's really required.
  5. Go into your weekly check-in with an agenda. Know what you want to talk about, what you're currently stuck on, what you have accomplished last and are planning to work on next.
    • Think of it as a mini stand-up.