Skip to content

Latest commit

Β 

History

History
285 lines (188 loc) Β· 22.3 KB

post-cohort-resources.md

File metadata and controls

285 lines (188 loc) Β· 22.3 KB

Post-Cohort Resources πŸŽ“

We have spent the last three months working hard and becoming software engineers, and all your hard work has paid off: now its time for the really fun part! Using your new skills as a coder, you can now continue to grow as your interests and passions guide your studies and career path.

There are so many areas of specialization and knowledge to study in this field, you can let your interests guide you as embark on your post cohort studies.

πŸ’« Succeeding Post-Cohort

Success is when preparation meets opportunity

Succeeding is a very simple formula: success = preparation + opportunity. Preparation and opportunity are both things you very much have under your control. For us as software engineers, this means searching for the right career opportunity and preparing by studying to hone our skills and cultivate our knowledge.

Establishing good patterns for your post-cohort studies and job search is absolutely essential for your continued success after graduation.

Don't Worry, its a simple formula: s = p + o!

This document is meant to give a outline of how to succeed post-cohort with the preparation part of the equation and provide a ton of great resources for you to utilize.

If you have any resources you would like to share with everyone or find to be super helpful in the future, submit a pull request to this repo and they will get merged in!

πŸ™„ TL;DR

Here are some answers for common situations you might find yourself in post-SEI:

I Feel like I need to review the entire course/I would like to dive deeper into Fullstack Web Engineering concepts

Work through Fullstack Open

If you feel like you could use a solid review of the fundamentals OR you would like to build on the foundations you made in this course you should work your way through fullstack open. It is a full course of software engineering that is very well maintained by the University of Helsinki.

Fullstack open covers the basics of every topic we touched on, from a complete introduction to js, webservers, React and databases and more. It covers many topics from a new perspective, which will also be enormously beneficial.

On top of reviewing the core concepts we have studied, fullstack open moves on to teach extremely relevant skills and tools such as testing, toolchaining, advanced react hooks, typescript, graphQL and more.

I Want to deep dive in DSA
I Want to prepare for technical interviews

Read The Technical Interview Handbook and practice interviews with Pramp

  • The interview handbook is a study guide specifically written to help prep for FAANG interviews, but is quite appropriate for all technical interviews
  • Pramp connects you with other folks to practice technicals
I want to learn a new technology

Build things with it!

Its always a good idea learn one new thing at a time, to isolate the concepts and avoid watering down the learning process.

  • Start by reading the documentation, often times there will hello world examples and links to learning resources
  • Build several learning projects from tutorials to understand how the technology works
  • Once you have baseline familiarity with the new tech, branch out and make your own small learning project with the tech
  • Integrate the technology into a larger project to see how it works with what you already know.
I want to add something to my portfolio that is more meaningful/impactful than just a personal project I have created

Get involved in FOSS (free and open source software) development! more info below

Open source software is always looking for new contributors, and your contributions to projects can be put on your resume and portfolio.

How do you get started?

  • Find a project you would like to contribute to
  • Read their community and contributing guidelines
  • Communicate with the maintainers and let them know you would like to help
  • Setup the codebase, take your time to understand how it works, along with testing and the best practices of the codebase
  • Read issues on github to find a bug or feature you would like to work on
  • Often times you can communicate with maintainers in the issues' comments. You can ask them to point you in the right direction, or run your ideas on how to implement your changes by them

Getting started is usually the hardest part, but once you do it can be very worthwhile! Search for looking for help, welcoming to newcomers, and generally inclusive for the best initial experience.

πŸ“ˆ The Recipe for Success

  • treat your studies and employment search like a 9 - 5 job: punch in at 9 am and spend all day until 5 pm studying and job searching
    • keeping so called 'banking hours (9am - 5pm)' is recommended because this is when potential employers are most active and will be communicating with you.
    • divide your time between job searching, practicing white boarding, learning and developing projects for your portfolio
  • Maintain a community going post cohort -- stay active with your peers and maintain daily and weekly meetings to support each other and thrive together
    • Create and maintain a community space for your cohort to meet in (you can keep using slack and zoom or find alternatives)
    • Organize daily/weekly meetups
      • Hold regular group standups
      • Meetup for white boarding practice
      • Have open study halls for peer programming and debug
      • Pair up with a pal and study a new tech together
      • collaborate on a project
  • Get involved in other development communities or open source projects
    • Open Source is a great way to get collaborative coding experience, get things to put in your portfolio and meet new friends and colleagues!
    • Join GA Community slack channels
  • Stay active on your github -- make your github appealing to potential employers
    • Pin the projects you are most proud of on your github and keep active by submitting pull requests and making new repos -- employers look at this and will mention it!
  • Spend time focusing on knowledge areas you need to strengthen -- going over each unit and identifying the concepts you need more reps on is recommended.
  • Eat the Frog (swallow the frog) -- every part of the recipe is as important as the others, so if there is one part you are avoiding -- do it first. Everyday. Eat the Frog first thing.

πŸ™Œ Example Daily Study Plans

When planning out your daily studies post cohort, it is helpful to identify what your frog is and the area you would like to focus your studies. After a week or two of using the same daily study plan, you should spend some time reflecting and then update your focus and frog to write a new study plan.

General Tips:

  • Plan out daily sprints -- these can apply to non-coding activities too, such as 'I will have applied to two jobs by the end of my job search time today.'
  • Put your projects/most fun things towards the end of the day so you can look forward to working on them and also spend some free time in the evening continuing to work on them if you wish.
  • When taking breaks, take intentional breaks. That is, really allow yourself to step away from your studies to rejuvenate when you break.
    • Get away from screens and your workstation when taking a break
  • Some people really thrive with the pomodoro technique, especially when doing mentally taxing activities such as whiteboarding practice and code challenges.
  • Check your email first thing in the a.m. and set up email notifications so you can respond quickly to potential employers when they contact you.

Ex. 1

Frog: Networking and Job Apps

Focus: Review and Portfolio Polishing

9am - 12pm 12pm - 1pm 1pm - 2pm 2pm - 3:30pm 3:30pm - 5pm
Employment Search, Job Apps and Networking Lunch Whiteboard practice/code challenges JavaScript Core Concepts and Fundamentals Review Polishing and Debugging a portfolio project

Ex. 2

Frog: Algorithms and Code Challenges

Focus: Learning a New Tech

9am - 10am 10am - 11am 11am - 12pm 12pm - 1pm 1pm - 3pm 3pm - 5pm
Study One Algorithm/Data Structure Code Challenges/White board practice related to the Algorithm/Data Structure Start Job Search/Networking Lunch Job Search, Job Apps, Networking Study New Tech/Work on project with new Tech

πŸ““ Class Resources

It is recommended that you take some time and review the materials from the cohort, focusing on any knowledge areas you need build up.

Revisiting fundamental topics will prove to be hugely beneficial because with your current coding skills, you will be able to dive deeper and solidify your foundational knowledge even more. The more your know, the more you grow!

  • GitBook notes for all the topics we covered, and many more
  • The Seattle WDI-SEI Github Organization Has all the repos the Seattle curriculum draws from
  • your class recordings and calender
  • The Slack channels will remain open for you to use for a while, but they will disappear eventually (a few months)
  • The zoom recordings of class will exist for an indeterminate period of time, and can be downloaded if you with to save them.
  • Official GA materials such as your myGA dashboard and the outcomes global experience dashboard (which is an awesome wealth of information, btw) will continue to exist for as long as they do.

πŸ‘ Resource Recommendations

These are resources recommended by the GA staff, former students, or are loved by the dev community generally

πŸ“ Stack Overflow Developer Survey

  • The Stack Overflow Developer Survey is a hugely insightful dataset that "examines all aspects of the developer experience from career satisfaction and job search to education and opinions on open source software"
    • here are some old surveys (also insightful)

πŸ—Ί Learning Paths and Interview Prep

Explore career roadmaps for different specializations. Use these to find areas to study and things to focus on with projects.

  • The Tech Interview Handbook is the ultimate interview handbook, focused on preparing for a FAANG interview loop. It also has a schedule you can follow after graduation.

Preparing for a frontend position

Preparing for a backend position

Preparing for a technical interview

  • The neetcode roadmap of DSA studies is considered the current standard roadmap of technical interview studyplans
Congrats, you just got a technical interview! Stop Panicking and read these documents:

πŸ€– Algorithms, Data Structures and Code Challenges

Pick one type of algorithm or data structure at a time and spend some time understanding it and solving coding challenges related to it while you study.

For example, you could focus on linked lists and spend a week or two implementing and studying linked lists while solving linked list coding challenges for your white boarding studies. Afterwards move on to hash tables and hash table problems .ect.

Study Strategies

Algorithms and Data Structures

Coding Challenges

🌈 Projects, Open Source and Dev Communties

Project Ideas

Sometimes the hardest part of a project is coming up with the idea.

  • This repo contains tons of ideas for apps to work on to practice and hone your skills
  • Build your own x is a collection of DIY learning focused tutorial projects that tend to be pretty ambitious (such as build your own React)
  • Publish your own npm package -- you can totally can and should do that.
  • Write tutorial articles on Medium, Dev.to or Hacker Noon about the things you are studying.
    • Wondering about the differences? Check this blog out for a comparison
  • If you are ever feeling bored with the possibilities of a web app, checkout the Non-exhaustive list of web browser APIs to get some inspiration for what is possible
  • Go Through the Full stack open course: Learn React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.

Getting involved in open source

Open source projects are a great way to get experience, work in a collaborative enviroment, bulk up your portfolio and meet other nerds all at once.

  • good first issues is a great place ot find issues that would be be a, well, good first issue
  • good first issue Similar to above
  • First Timers only is great resource with lots of links for how to begin with open source collaboration
  • This open source ideas repo is a place where people pitch ideas and projects they want to see other make or need help on
  • Up for Grabs offers a curated list of repos that need help and are ideal for open source newbies
  • Awesome Open Source Projects -- bigger DB of open source projects that you can filter by project type (link above takes you to all web dev open source projects).A
  • Large open sourve projects such as mozilla typically are more robust at helping newcomers.

Discord servers

Discord is a social chat app with robust voice and video chat features. You can make private 'servers' to chat with just your friends or join public servers to talk with other like minded individuals. Nerds love discord and so the programming communities are lit. You can chat in real time with other engineers while sharing code snippets and asking questions. You can also search for keywords in channels to read past discussions about specific topics.

Check out this Awesome Discord Repo for tons information about software engineering communities on discord.

In particular, these communites deserve a spotlight for you to check out:

  • Reactiflux is a react server with 100K+ members
    • checkout the jobs channel in this server
    • There are specific channels for jest TDD in React and important packages like react-router-DOM
  • Python is a server devoted to all things pythonic
    • checkout the algos-and-data-structs channel here -- nerds solving algorithms and building data structures 24/7
  • TypeScript -- server devoted to JavaScript's younger and angrier sibling
  • Coding Den -- general coding chat with language specific channels. Has many channel topics ranging from machine learning to UX design

πŸ“š Free Books

Don't judge a book by its price, these are all excellent resources:

  • Eloquent Javascript is a popular and modern study of JS fundamentals
  • You Don't Know JS is a series of books that focus on foundational JS topics
  • Essential Javascript Design Patterns is an older but still relevant book that takes a deep dive into specific programming patterns in JS, many of which are still commonly used while others have been implemented as language features
  • API on Rails is a one-stop-shop for getting into rails backend
  • Learn x in y Minutes isn't exactly a book per se, its more like a collection of crashcourse type cheatsheets for coding topics. 'Take a whirlwind tour of your next favorite language. Community-driven!'

πŸ’° Money Costing Books

These cost monies, which is not ideal, but are worth it:

  • Grokking Algorithms offers an illustrated guide for breaking down different types of algorithms and data structures.
  • Cracking the Coding Interview is the classic book which offers a range of whiteboarding questions + solutions to help you practice.