Tips for Success
Organize Your Life
Get good at email
You will get TONS of email on CMS, and you'll need a system for managing it all. Spend some time setting up filters/rules, so that you always see the important things, and can periodically clear out the more routine things. Most people will expect an answer to a work email within 24 hours. [TH, LL]
Learn the keyboard shortcuts for your email app/system of choice. You will be dealing with hundreds of emails, so it's best if this is efficient! [LL]
Email systems like Gmail and Spark have a snooze option (snooze until tomorrow/next week/next month/the day of the meeting), so you can clear an email out of your inbox (and therefore attention, and therefore stress) until you actually need to deal with it. [LL]
Be communicative. Confirm meeting times, don't leave threads open ended and assume there's an agreement. [LL]
Lots of information in this LinkedIn Learning course [LL]
Use a to do list
Your brain is a terrible place to store information! You'll forget things, and you'll stress yourself out trying to remember them. A to do list app (or literal paper) meanwhile, is very good at this task. There are lots of options for this. Some of us use Todoist, which is pretty nice and free. Check out this video on "Getting Things Done" if you want tips on how to get started successfully using a to do list. (I actually really recommend this if you aren't in the practice of using a to do list!) [TH, LL]
Know when you're doing what
Use a calendar app. If you're attending Indico events, you can export them into your calendar, and even subscribe to an event category so it automatically populates your calendar. [TH, LL]
On an indico category you can click "Export to scheduling tool" and subscribe to the second link in your calendar app. This will auto-update your calendar with meetings you care about, even for meeting agendas that need a login. [LL]
If you find yourself missing meetings even with them in your calendar, add automatic alerts right before the meeting starts. If you need uninterrupted time to work on a project, schedule it in your calendar. [TH, LL]
If you use the mac's built-in calendar, go to Preferences > Advanced > Turn on time zone support, and never worry about missing a meeting because of timezones (or DST!) [LL]
Pay attention in meetings
Figure out what makes you a good listener. For me it's taking notes as I go along, and closing chat clients. Close distracting windows, try to not browse or work during a meeting. If you're in person, try closing the laptop and taking notes on paper. Find out what works for you! [TH, LL]
Make sure you're always learning
Never pretend to know things you don't, and ask questions when you don't understand something. If you're in a large meeting where you don't feel comfortable speaking up with a question, send someone a message to ask privately, or write it down for your next chat with your supervisors. If you're doing a task that doesn't involve learning anything new, talk to your supervisor about changing that. [TH, LL]
Learn how to ask questions of the appropriate audience. Ask profs, postdocs, fellow students. Find the right email/slack/mattermost forums to ask certain questions. [LL]
Sitting in the shared office is a great way to quickly learn things from your peers, and to bounce day-to-day ideas off of others. [LL]
Automate, automate, automate
A great way not to waste time on things you don't learn from is to automate the things you already know how to do. Write scripts that can scale so you don't have to re-write the same code blocks over and over. Make use of cron jobs if you have to complete an automated task periodically. Use computing to improve your life and reduce your your stress and free up some of your attention. [TH, LL]
Get good at giving talks
HEP has huge collaborations, so a huge part of our work is communicating with our colleagues. Giving good presentations is an enormous part of that.
Check out this list of suggestions for a scientific presentation. Pay attention to what other people do successfully in talks and emulate that.
Some people don't like practice talks, but they're necessary! Schedule practice talks, send your slides to your supervisors before hand, get feedback before you give the actual talk.
Generally err on the side of more background material.
Think twice before having more than two plots on a slide. Or even one.
We will be working on many more resources on this topic. [TH, LL]
Take useful notes
Use evernote, apple notes, simplenote, bear, a personal twiki, whatever you want. But keep an organized, central, searchable repository of notes. Store code snippets there, small results, plots, whatever. Think of this as your lab notebook. Think of this as your outboard brain/memory. [LL]
CMS Tips
Know who to ask
Figure out what's a good question for a postdoc, a professor, a fellow student. Know about the Slacks and Mattermosts where you can ask people in a broader audience. Get a Skype account and use it. I'm sorry, but we collectively decided to use Skype 10 years ago when nothing else was around. Make use of the analysis help and distributed computing help mailing lists on CMS.
Take advantage of the community
Check out the upcoming events and tutorials at the LPC. Check out the CERN Summer School Lectures.
Attend CMS General
You'll get an overview of what's going on in the experiment each week, and you can learn about the context of your work.
Computing Tips
Back up your work
Make sure that if your laptop falls into the river tomorrow, you don't lose your work. Use dropbox, CERNBox to store your work. All code can be thrown into a github or gitlab repository. Write your thoughts in a cloud-synced notes system (see above). Write your papers in Overleaf, or in a remote git repo. [LL]
Learn how to use python for any computing task you find yourself repeating
The DRY (don't repeat yourself) principle applies for writing functions/classes, but also in every aspect of your life. Automation means more time for you to think about other things. [LL]
Get comfortable with git [LL]
This is one of the most important things you must do in today's HEP landscape. You should be comfortable with what a branch is and the relationship between repositories. After taking a course (see Linked-In Learning tip below) to understand it, make sure to practice it! It's important to solidify it in muscle memory.
Once you feel comfortable with it, hearing Linus (the creator of Linux and git) talk about it is very enlightening: https://www.youtube.com/watch?v=4XpnKHJAok8
Get yourself a good, reliable microphone setup (extra important if you're not on a mac -- mac's have a lot of good audio trickery happening under the hood!) [LL]
Test it with a friend. It's a bad look to be the person in the meeting with bad/distorted/unreliable sound.
If you're on a mac, definitely download homebrew. It is your friend. Link
Look into using miniconda. Link [LL]
It's a little opaque at first, but it's the easiest way to get ROOT and a version of python to play nice. It's one of the easiest way to separate your software environment from your computer and data handling.
Once you're comfortable with that, it might be useful to check out micromamba which is a waaaay faster implementation.
Text editors! Pick one and get good at it. You're not allowed to use nano, gedit, or anything like that. [LL]
emacs, vim, Sublime Text, VS Code are all incredibly powerful. [LL uses sublime and emacs, sometimes VS Code. TH uses vim.]
You should definitely know how to use emacs or vim since we do a lot of work on remote machines.
You should know the very basic operations of both in case you're stuck with one and not the other.
Take the time to learn how to do bulk operations, rectangular operations, etc. These will make you much more efficient!
Through UTK, we all get LinkedIn Learning access which is an amazing resource for courses to learn how to do anything! Including computing. Link [LL]
Everything from photography to project management to machine learning to arduinos to git
Highly recommended for learning computing foundations: linux, bash, git, python
Advanced: Get as comfortable with regular expressions (regex) as possible (none of us are fully comfortable with it).
The website https://regex101.com is one of the only ways to feel like it might one day be possible to use regex.
Personal workstations (your laptop / office computer):
Windows < Windows with the Linux Subsystem (WSL2) installed << Linux << Mac [LL]