Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General onboarding doc #16

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions general.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

# Welcome to Smashing Boxes!
We’re hoping this doc helps you feel more at ease in your new home here!

The first few days and weeks at SB consist of orienting yourself with the standards of procedure, information and interactions and acquainting yourself with the various tools we use.
One of the challenges is learning how, why and when to use these tools.
This is a brief overview to help that process along.

## COMMUNICATION

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed with Ludwig on this being engineering specific. I think we can delete this section

### Slack
This is the catchall for interactions with anyone and everyone within SB.
It can be casual, strictly professional or anywhere in between.
There are different Slack Channels for different purposes.
From coffee brew notifications and funny random things to general important info and questions about every project or any development, project management topic, task, issue, etc.
We have one-on-one to company wide conference calls using Slack.
If you want to talk to anyone at SB and you’re not sure whether or not they’re busy, or wanting to be undisturbed or where they are - send them a Slack message.
This is the default tool for communication at SB.
Importantly, Slack is also where the Code Reviews channel is, which is the pipeline for posting your code via GitHub, reviewing one another’s GitHub code, pull requests, merges, etc.
### Email
I doubt you need any explanation here.
Email - as compared to Slack - is generally used as a more formal correspondence medium within SB and externally.
### Google Hangouts
Hangouts and Slack calls are our most used tools for video conferencing.
### Personal conversation
SB is a casual work environment and anyone that really doesn’t want to be disturbed will be wearing headphones, working from home, in a conference room, etc.
If someone’s nearby and obviously available and you want to talk, then go for it.

## DEVELOPMENT
### GitHub

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could probably mention Git as part of this and link off to helpful guides like https://git-scm.com/book/en/v2 and https://ohshitgit.com/ and https://devhints.io/git-tricks

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is another good page for Github: https://guides.github.com/

SB uses GitHub. If you are not familiar with GitHub, get familiar with it ASAP.
This is the essential tool for our code repositories.
### Jira
This is the tool for organizing and mitigating tasks for any given project.
It’s essentially a modern day wall of post-it notes of to-dos for a project.
### Google Docs
This is where non-code project files live, e.g. test plans, spreadsheets, expense reports, discovery notes, design images, etc.
### WORKFLOW

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### WORKFLOW
### Workflow

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another protip that has helped me a ton is at the end of the day, leaving a # TODO: in the code reminding you of where you left off

At the start of every work day, a suggestion as a first task is to open and view Google Calendar, Slack and your SB email.
Maintaining a connection to these throughout the day is wise.
### Development Environment
As far as your development environment, (language and framework versions, browsers, etc.) in addition to reading the other docs in this repo, this is worth conversations with other SB devs.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to link out to those other docs when we have them. Particularly, the ones around asdf and such.

There is much variation and the projects being worked on will largely dictate what you’ll be using.
Personal preference comes into play too, so if you know what text editor you prefer for instance, there’s not one standard for most aspects of an environment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth mentioning that a majority of us use VSCode, some use vim and atom.

### Onboarding to projects
Any new project you are resourced to involves a period of self orientation, troubleshooting and conversations with different project roles.
As a dev, aligning any given project with your computer’s environment always involves some customization and often involves a healthy amount of troubleshooting regarding versions, compatibility, etc.
This can be frustrating to people, but it’s a learning opportunity and an unavoidable part of the process.
For QA, onboarding is more about familiarizing yourself on a broad spectrum with what the project is/should be.
This usually means digging around the Jira board, reading documentation from Google Docs and talking to devs or other QAs who’ve worked on the project if not new.

## Other

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto here about deleting this section.

### Google Calendar
Scheduling. You can create events, invite guests to these events, schedule conference rooms, add documents and Google Hangouts links to a scheduled meeting, etc.
This is the tool for scheduling and organizing any and all meetings/events and details about these meetings/events.
### 1Password
This is where the passwords are stored.
This is essential for many reasons but particularly for QA and devs because most if not all apps being worked on have testing accounts with their own usernames and passwords that allow you to access the apps for QA and dev purposes.
But, it’s where all your various passwords for any kind of account can be accessed.
### Other
The other three tools I’ll mention are PayChex Flex, Namely and Employee Navigator.
Employee Navigator and Namely bleed into one category of tool because they do similar things and one is maybe or maybe not being phased out.
These are where general employee information is kept.
Time off requests, work from home status, tax information, healthcare information, addresses and phone numbers of employees, etc. are all here (in one or both of these).
Paychex Flex is for payroll details.
You have handbooks and docs that can give you the details you might want about these.

## CONCLUSION
The primary challenge at first may be balancing when and how often to ask for help.
It seems valuable to work on one’s own and solve problems by learning how to solve them.
But getting stuck for too long becomes unproductive and inefficient.
Using judgment by considering the project and the problem at hand, how urgent it is and what people around you are up to all factor in.
Because every scenario is different, there’s no one right way or wrong way to approach asking for help (or not asking for help).
Fortunately, SB has a supportive staff, culture and mindset so if you need support just ask!

Enjoy your new home here with us!