colorstackorg / oyster

Monorepo that houses ColorStack's core product software.
MIT License
105 stars 67 forks source link

Previous Internship/Program Reference Application📝 #120

Closed JustinhSE closed 2 months ago

JustinhSE commented 3 months ago

Description

🕵️ Students often when in the job search have inquiries about a particular interview process for a company they are applying for. While we do have company specific channels, #career-question & #career-interview-prep in our Slack, sometimes those inquires may go unanswered or are repeated.

⭐ Solution: If we had an application/file for students to document their experiences easily, it could give ColorStack members a more efficient way of finding answers and reduce inefficiencies in finding answers within Slack channels.

The hope is for everyone who may have had a previous internship/program to fill it in, but if they do not, Slack channels are still open for networking/finding answers.

The idea of how it could be formatted would be the following:

[Company Name]

Your Name Position Duration (Intern/FT) # of interview Rounds Interview Questions Rating out of 10 & Why? Other Notes
John Doe SWE intern Intern 2 Two Sum Kth Smallest Element in a BST 6 because they did not provide housing stipends Reviewing this the night before helped me for the first part which was a behavioral

Other idea: We could do something similar to the icebreakers on the member profile, to make filling in this info easier in having drop down menus and other features.

This is a draft of the idea; more things can be added/subtracted from the idea as we go along, but I would love to work on this and am open to any suggestions/critics!

Joyeleke commented 3 months ago

Interested in working on this! Long project most definitely but I think it would be fufilling.

JustinhSE commented 3 months ago

@Joyeleke Wouldn't mind working together on this 👀

Joyeleke commented 3 months ago

@ramiAbdou Just started digging into this. Happy to hear your feedback on my mini ERD.

Overview

An important feature request by ColorStack members is being able to share and view interview experiences for various companies - following the trend of features like compensation data and company features. This is an initial MVP for interview experiences.

Scope

For the MVP, we should give members a way to do the following in the Member Profile:

  1. Upload an interview experience.
  2. View interview experiences.

Data Requirements

Here is the core data that we want to collect for an interview experience in this MVP:

Additional data points:

Technical Plan

Here's a short overview of what needs to happen technically to support this.

On the backend, in the core package:

  1. Implement a database migration that creates a interview_experiences SQL table.
  2. Implement a uploadInterviewExperience function, which accepts some interview experience data and saves it to the interview_experiences table.
  3. Implement a listInterviewExperience function, which accepts some query parameters to support pagination and returns a list of experiences.

On the frontend, in the member-profile application:

  1. Add a new Interview Experiences tab in the Member Profile (or consolidate it with Companies tab somehow).
  2. Implement a form with all fields necessary to upload a interview experience.
  3. Implement the Experiences page which shows all interview experiences on the screen.
  4. Implement a IndividualExperience Page which displays interview experience in greater detail due to numerous datapoints.

Future Iterations

Open Questions

  1. Do we want the user uploading interview experience to be anonymous?

Notes

Really tried to follow you previous template. A relatively large feature but excited to work on it!

Joyeleke commented 3 months ago

@Joyeleke Wouldn't mind working together on this 👀

Of course @JustinhSE! Just added a mini ERD so let me know what I missed.

JustinhSE commented 3 months ago

Of course @JustinhSE! Just added a mini ERD so let me know what I missed. @Joyeleke love the ERD breakdown & MVP explanation, definitely helps better pan out the tasks!

To answer your question, since this is an open source community, I would rather it not be anonymous. Making the info "aware" of the poster can cause people to feel a sense of ownership over their work. This would minimize any threat of spreading misinformation/bogus postings about certain programs. I was also thinking we could have a button they could opt into, similar to the member profile to dm them on Linkedin or Slack for any follow up questions.

To add to your future iterations section, since the functionality of Add search functionality by creating a tag table is very similar to something @ramiAbdou implemented in the member profile, what if we created an integration between the 2? It would technically eliminate the need for this, but if you wanted this feature directly in this application I wouldn't mind that either.

This would be later down the road, but this would be the concept of integrating the 2 so the interview processes could be found in the application and through the tag filter on the member profile (would improve the wordage & UI part) image

JustinhSE commented 3 months ago

DM'd you also on slack and added some of the frontend details in the canvas