Update content for advice pages (#299)
continuous-integration/drone/push Build is failing Details

Unblocks #173

https://csclub.uwaterloo.ca/~a3thakra/csc/adi-new-advice/resources/advice/co-op/

Reviewed-on: #299
Co-authored-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-committed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
This commit is contained in:
Aditya Thakral 2021-09-11 16:00:22 -04:00
parent 336fa5b073
commit e73df82bde
14 changed files with 204 additions and 161 deletions

View File

@ -0,0 +1,5 @@
.blockquote {
margin: 0;
padding-left: calc(10rem / 16);
border-left: calc(3rem / 16) solid var(--primary-accent-light);
}

13
components/Blockquote.tsx Normal file
View File

@ -0,0 +1,13 @@
import React, { ReactNode } from "react";
import styles from "./Blockquote.module.css";
export interface Props {
children: ReactNode;
}
export function Blockquote(props: Props) {
return (
<blockquote className={styles.blockquote}>{props.children}</blockquote>
);
}

View File

@ -0,0 +1,21 @@
## Academic Advice
#### How can I create study groups without risking academic infidelity?
Find a nice group of people that you study well with and meet every once in a while to work on things together, you can do that generally by asking around via messaging platforms/office hours. To avoid plagiarism, avoid discussing intricate details of the solution but rather bounce ideas off one another, and leave yourself 30 minutes after the meeting before you write up a solution.
#### How can I make sure that I understand the course content?
Try to complete your assignments without consulting your notes. It will be very challenging to do if you are not very confident in the content and is a good indicator that you need to understand the content better! Try to review it again and do the assignment without referring back to it.
#### What can I do when I feel unmotivated?
Try to manage your pace when it comes to work. Its really easy to burn out and lose motivation in the middle to end of the term, when you need it the most. Give yourself a breather and take breaks!
#### How can I enjoy the school term when it becomes stressful?
Assignments can be pretty endless, so make sure you celebrate your small wins. Modularize your tasks and reflect on all the work youve done over a period of time. Its often much more than you think.
#### Who can I go to when I have an issue regarding a course?
If you have issues regarding courses, there are MathSoc class representatives who can help voice your concerns to involved faculty members.

View File

@ -1,16 +0,0 @@
## Academic Advice
Find a nice group of people that you study well with and meet every once in a while to work on things together,
you can do that generally by asking around via messaging platforms/office hours. To avoid plagiarism, avoid discussing
intricate details of the solution but rather bounce ideas off one another, and leave yourself 30 minutes after the meeting
before you write up a solution
Try to complete your assignments without consulting your notes. It will be very challenging to do if you are not very confident
in the content and is a good indicator that you need to understand the content better! Try to review it again and do the
assignment without referring back to it.
Try to manage your pace when it comes to work. Its really easy to burn out and lose motivation in the middle to end of the term,
when you need it the most. Give yourself a breather and take breaks!
Assignments can be pretty endless, so make sure you celebrate your small wins. Modularize your tasks and reflect on all the
work youve done over a period of time. Its often much more than you think.

View File

@ -0,0 +1,95 @@
## Coop Advice
### Finding a co-op
#### How can I increase my chance of finding a good co-op?
Start looking for a co-op early. Although WaterlooWorks is quite reliable, there are many more opportunities outside of the job board. Being able to apply for jobs externally not only prepares you to look for jobs full time but it also provides a way to start your study term without having to worry about looking for a co-op.
<!-- TODO: ### Doing well on the interview -->
### First few weeks of co-op - Starting off strong so your team gives you more important projects to work on
#### What are some things I can do to better understand the context of my work?
If you have spent time diving into the codebase but you still are confused, schedule time with your mentor/coworkers to have a code base walk through. Write up questions to ask during the meeting and take notes of unclear parts of the code.
#### What are some easy steps to produce cleaner code?
Check over your code at least twice before submitting your code review. Reviewing the code a second time may help you catch minor issues and/or problematic code that your reviewers may or may not comment on. If you are unable to figure out a solution to an issue, then reach out to someone for help rather than implementing a hacky solution. You will be more aware of your coding quality, less prone to ignoring issues, and overall be a more responsible developer.
#### How can I improve the onboarding process?
Document any blockers you faced during onboarding, and how you overcame them because chances are others will face them too. These can be tips/advice you would give new hires. Feel free to share these findings with your team, because they want to make the onboarding process more efficient and up to date for future hires. Some examples of things to take note of are outdated/incorrect/missing documentation and the way the team does a specific task.
### Work life balance?
#### What can I do to feel less stressed from my co-op workday?
Create rituals for starting your day and ending your day. Studies have shown that not having a post work activity makes it harder to not think about work which leads to burn out and reduced productivity. Start your day by thinking about what you want to achieve and how you want to feel. End your day by doing an activity i.e exercising, listing todos for tomorrow, or even reflecting about the work day! This may help you have a more balanced lifestyle.
#### How can I stay on top of my tasks during a workday?
Set up a system to stay on top of your work. This can be as simple as setting up a to-do list ready for the day. The important thing is to be clear and intentional with your goals each day so you can optimize your focus on getting things done.
### Asking for help
#### How can I balance between solving problems on my own and asking for help?
To make the best use of your time, set a time limit on how long you spend on the problem (e.g. 1 hour before you ask for help). Asking for help on an issue youve been stuck on for some time can be beneficial. Its much better to take an hour of your mentor/boss time than to be stuck for days without any results. The solution may be team/organization specific and asking can save a lot of time. Be sure to try your best to solve the problem on your own first to maximize your ability to learn.
### Getting feedback
#### How do I ask for feedback during a work term?
Asking for feedback from your manager/mentor throughout the term can go a long way. You can ask about your performance in certain areas and ways you can improve. These feedbacks can help determine what you should continue and/or change. For example, you can ask about their expectations and how you can achieve a specific rating on the employer co-op rating to set up specific goals.
### Performance evaluation
#### How can I ensure that I am satisfying my manager's expectations during a work term?
Around the middle of the term, ask to go over your co-op evaluation form with your manager. In doing so, you will be able to modify your current goals to match/exceed your managers expectations. This is especially helpful for you to determine how you can achieve the co-op rating you want.
### Networking
#### How can I network effectively during a coop term?
Meeting and networking with people in and outside your team is an amazing way to learn and meet new people. Coffee chats are a great way to learn about interesting roles and tasks others around the company perform. Try to set up coffee chats with others at your company as you might meet an amazing connection or learn about a really neat topic. This may lead to an idea of what you want to do in your future co-ops. A format you can use is: “Hey, I'm the new intern of [manager] and I was wondering if I could put something on your calendar so I can get to know you and your work a little better.”
### Code related advice
#### How can I efficiently ensure that my code is functional?
Aim to make most/all of your code testable. This will ensure the code is functioning properly and will save time debugging in the future. This is a useful skill to have as a developer.
#### How do I handle push requests on GitHub?
Each push request (PR) should focus on a very specific change/feature. Modularizing the changes will make reviewing the PR easier and quicker.
### Compensation
#### How can I negotiate compensation for an offer when I have other competing offers?
Negotiating compensation for an offer when you already have competing offers can be very beneficial for you and its normal to do. For a general guide, you can use the format:
> Hello [Name of recruiter],
>
> I am very interested in working [company name]. I have been given an opportunity at [another company name] that is offering [compensation]. Would it be possible for [the company name] to match/increase the compensation?
>
> Thank you,
>
> [Name]
#### How can I negotiate compensation when I do not have other competing offers?
If you do not have competing offers you can still try to negotiate using the format:
> Hello [Name of recruiter],
>
> Given my experiences, would it be possible to increase the compensation to [compensation]?
>
> Thank you,
>
> [Name]
Either way, it does not hurt to try as the worst they can say is no.

View File

@ -1,98 +0,0 @@
## Co-op Advice
Although WaterlooWorks is quite reliable, there are many more opportunities outside of the job board.
Being able to apply for jobs externally not only prepares you to look for jobs full time but it also
provides a way to start your study term without having to worry about looking for a co-op.
Create rituals for starting your day and ending your day. Studies have shown that not having a post work activity
makes it harder to not think about work which leads to burn out and reduced productivity. Start your day by thinking
about what you want to achieve and how you want to feel. End your day by doing an activity i.e exercising, listing
todos for tomorrow, or even reflecting about the work day! This may help you have a more balanced lifestyle.
To make the best use of your time, set a time limit on how long you spend on the problem (e.g. 1 hour before
you ask for help). Asking for help on an issue youve been stuck on for some time can be beneficial. Its much
better to take an hour of your mentor/boss time than to be stuck for days without any results. The solution
may be team/organization specific and asking can save a lot of time. Be sure to try your best to solve the
problem on your own first to maximize your ability to learn.
If you have spent time diving into the codebase but you still are confused, schedule time with your mentor/coworkers
to have a code base walk through. Write up questions to ask during the meeting and take notes of unclear parts of the code.
Check over your code at least twice before submitting your code review. Reviewing the code a second time may
help you catch minor issues and/or problematic code that your reviewers may or may not comment on. If you are
unable to figure out a solution to an issue, then reach out to someone for help rather than implementing a
hacky solution. You will be more aware of your coding quality, less prone to ignoring issues, and overall
be a more responsible developer.
Asking for feedback from your manager/mentor throughout the term can go a long way. You can ask about your
performance in certain areas and ways you can improve. These feedbacks can help determine what you should continue
and/or change. For example, you can ask about their expectations and how you can achieve a specific rating on
the employer co-op rating to set up specific goals.
Around the middle of the term, ask to go over your co-op evaluation form with your manager. In doing so, you will
be able to modify your current goals to match/exceed your managers expectations. This is especially helpful for
you to determine how you can achieve the co-op rating you want.
Meeting and networking with people in and outside your team is an amazing way to learn and meet new people.
Coffee chats are a great way to learn about interesting roles and tasks others around the company perform.
Try to set up coffee chats with others at your company as you might meet an amazing connection or learn about
a really neat topic. This may lead to an idea of what you want to do in your future co-ops. A format you can
use is: “Hey, I'm the new intern of \<manager\> and I was wondering if I could put something on your calendar
so I can get to know you and your work a little better.”
Aim to make most/all of your code testable. This will ensure the code is functioning properly and will save
time debugging in the future. This is a useful skill to have as a developer.
Each push request (PR) should focus on a very specific change/feature. Modularizing the changes will make
reviewing the PR easier and quicker.
Set up a system to stay on top of your work. This can be as simple as setting up a to-do list ready for the day.
The important thing is to be clear and intentional with your goals each day so you can optimize your focus on getting things done.
Document any blockers you faced during onboarding, and how you overcame them because chances are others will face them too.
These can be tips/advice you would give new hires. Feel free to share these findings with your team, because they want to make
the onboarding process more efficient and up to date for future hires. Some examples of things to take note of are
outdated/incorrect/missing documentation and the way the team does a specific task.
Negotiating compensation for an offer when you already have competing offers can be very beneficial for you and its normal
to do. For a general guide, you can use the format:
-------------------------------------------------------------------------------------------------------------------------------
Hello [Name of recruiter],
I am very interested in working \[company name\]. I have been given an opportunity at \[another company name\] that is offering \[compensation\].
Would it be possible for [the company name] to match/increase the compensation.
Thank you,
[Name]
-------------------------------------------------------------------------------------------------------------------------------
If you do not have competing offers you can still try to negotiate using the format:
-------------------------------------------------------------------------------------------------------------------------------
Hello \[Name of recruiter\],
Given my experiences, would it be possible to increase the compensation to [compensation]?
Thank you,
[Name]
-------------------------------------------------------------------------------------------------------------------------------
Either way, it does not hurt to try as the worst they can say is no.

View File

@ -0,0 +1,55 @@
## Social Advice
#### What is an affordable way to watch movies with friends?
If youre looking to watch movies with friends then you can either buy cheaper (Tuesday prices) at the Student Life Center or Waterloo has a list of streaming sites where you can watch free movies.
#### How can I become more involved on campus?
Join different clubs or societies! Theyre a great way to make friends and manage your time better. Plus, it makes going through a school term much more fun.
#### How do I build my social skills and get out of my comfort zone?
Take up the opportunities for meeting people. You never know who you might meet. If you dont put yourself out there and take chances, its much harder to find a relationship, friendships, or even study buddies.
#### What can I do to prevent being affected by the competitive environment?
Be kind. Celebrate your friends successes when they get a co-op job and support them when theyre struggling too. Waterloo is so competitive and sometimes it can be hard to navigate through, so make sure youre giving and getting a good support network.
## Additional Resources
#### Where can I find the free movie database?
Along with your tuition fees, part of your library fees grant you access to a database of [free movies](https://media3-criterionpic-com.proxy.lib.uwaterloo.ca/htbin/wwform/006/wwk770?&kw=zkcode%7C000005%7C)
#### What are some links to SE discord servers?
SE servers:
- [discord.gg/ZtmRPc59](https://discord.gg/ZtmRPc59)
- [discord.gg/XyQtsfe5](https://discord.gg/XyQtsfe5)
#### What are some resources for interview prep?
- Group Leetcode server:
[discord.gg/kwCsCNb3](https://discord.gg/kwCsCNb3)
There are many online resources for interview preparation including https://evykassirer.github.io/playing-the-internship-game/ and https://github.com/viraptor/reverse-interview
- Internship/Interview advice
https://www.techintern.io/
#### Where can I access eBooks?
https://subjectguides.uwaterloo.ca/compsci/books
More specifically O'Reilly Higher education: https://learning-oreilly-com.proxy.lib.uwaterloo.ca/home
There are a lot of helpful books/videos that can teach you a variety of things from finance to leadership to a variety of cs topics! (With recommendations, case studies and playlist to help you get started)
#### What is the link to the GPUs?
We have GPUs: https://uwaterloo.ca/math-faculty-computing-facility/services/service-catalogue-teaching-linux/access-teaching-gpu-cluster
#### Where can I find all of the math faculty services?
https://uwaterloo.ca/math-faculty-computing-facility/services

View File

@ -1,42 +0,0 @@
## Social Advice
If youre looking to watch movies with friends then you can either buy cheaper (Tuesday prices)
at the Student Life Center or Waterloo has a list of streaming sites where you can watch free movies.
Join different clubs or societies! Theyre a great way to make friends and manage your time better.
Plus, it makes going through a school term much more fun.
Take up the opportunities for meeting people. You never know who you might meet. If you dont put
yourself out there and take chances, its much harder to find a relationship, friendships, or even study buddies.
Be kind. Celebrate your friends successes when they get a co-op job and support them when theyre struggling
too. Waterloo is so competitive and sometimes it can be hard to navigate through, so make sure youre giving
and getting a good support network.
Additional Resources
Along with your tuition fees, part of your library fees grant you access to a database of [free movies](https://media3-criterionpic-com.proxy.lib.uwaterloo.ca/htbin/wwform/006/wwk770?&kw=zkcode%7C000005%7C)
SE servers:
[discord.gg/ZtmRPc59](https://discord.gg/ZtmRPc59)
[discord.gg/XyQtsfe5](https://discord.gg/XyQtsfe5)
Group Leetcode server:
[discord.gg/kwCsCNb3](https://discord.gg/kwCsCNb3)
There are many online resources for interview preparation including https://evykassirer.github.io/playing-the-internship-game/ and https://github.com/viraptor/reverse-interview
If you have issues regarding courses, there are MathSoc class representatives who can help voice your concerns to involved faculty members.
Access to eBooks: https://subjectguides.uwaterloo.ca/compsci/books
More specifically O'Reilly Higher education: https://learning-oreilly-com.proxy.lib.uwaterloo.ca/home
There are a lot of helpful books/videos that can teach you a variety of things from finance to leadership to a variety of cs topics! (With recommendations, case studies and playlist to help you get started)
We have GPUs: https://uwaterloo.ca/math-faculty-computing-facility/services/service-catalogue-teaching-linux/access-teaching-gpu-cluster
List of math faculty services: https://uwaterloo.ca/math-faculty-computing-facility/services
Internship/Interview advice
https://www.techintern.io/

View File

@ -1,9 +1,9 @@
const withMDX = require("@next/mdx")({
extension: /\.mdx$/,
extension: /\.mdx?$/,
});
module.exports = withMDX({
pageExtensions: ["ts", "tsx", "mdx"],
pageExtensions: ["ts", "tsx"],
trailingSlash: true,
basePath: process.env.NEXT_PUBLIC_BASE_PATH,
eslint: { ignoreDuringBuilds: true },

View File

@ -3,6 +3,7 @@ import { NextComponentType, NextPageContext } from "next";
import { AppProps as DefaultAppProps } from "next/app";
import React, { ComponentType, ReactNode } from "react";
import { Blockquote } from "@/components/Blockquote";
import { Button } from "@/components/Button";
import { Code } from "@/components/Code";
import { DefaultLayout } from "@/components/DefaultLayout";
@ -39,6 +40,7 @@ export default function App({ Component, pageProps }: AppProps): JSX.Element {
inlineCode: Code,
img: Image,
table: Table,
blockquote: Blockquote,
}}
>
<div className={styles.appContainer}>

View File

@ -2,7 +2,7 @@ import React from "react";
import { Title } from "@/components/Title";
import Content from "../../../content/resources/advice/academic-advice.mdx";
import Content from "../../../content/resources/advice/academic-advice.md";
import { Advice } from "./co-op";

View File

@ -5,7 +5,7 @@ import React, { ReactNode } from "react";
import { Image } from "@/components/Image";
import { Title } from "@/components/Title";
import Content from "../../../content/resources/advice/co-op-advice.mdx";
import Content from "../../../content/resources/advice/co-op-advice.md";
import styles from "./co-op.module.css";

View File

@ -2,7 +2,7 @@ import React from "react";
import { Title } from "@/components/Title";
import Content from "../../../content/resources/advice/misc-advice.mdx";
import Content from "../../../content/resources/advice/misc-advice.md";
import { Advice } from "./co-op";

8
types.d.ts vendored
View File

@ -86,3 +86,11 @@ declare module "*.mdx" {
export default ReactComponent;
}
declare module "*.md" {
import { ComponentType } from "react";
const ReactComponent: ComponentType;
export default ReactComponent;
}