diff --git a/talks/2023-ihpcss-git/notes.org b/talks/2023-ihpcss-git/notes.org new file mode 100644 index 0000000..4618d2a --- /dev/null +++ b/talks/2023-ihpcss-git/notes.org @@ -0,0 +1,4 @@ +* What didn't work +- needed SSH keys or PAT +- remote add and remote remove to change URL +- ssh-keygen -R github.com diff --git a/talks/2024-ihpcss-git/git-intro.html b/talks/2024-ihpcss-git/git-intro.html new file mode 100644 index 0000000..4bb1319 --- /dev/null +++ b/talks/2024-ihpcss-git/git-intro.html @@ -0,0 +1,370 @@ + + + + +Introduction to Git + + + + + + + + + + + + + +
+
+

Introduction to Git

+

Elsa Gonsiorowski

July 12, 2023

Created: 2023-07-11 Tue 10:33

+
+
+
+ +
+
+

1. Introduction

+
+
+
+
+

Course Goals

+
    +
  • What is version control and why is it important
  • +
  • Configuring git, using git config
  • +
  • git init and the .git directory
  • +
  • Tracking a change with git add, git commit
  • +
  • Viewing repository status with git status
  • +
  • Adding a remote with git remote
  • +
  • Pushing changes to the remote git push
  • + +
+
+
+

Poll

+
    +
  • How many folks have used git at all before?
  • +
  • How many folks have a GitHub account?
  • + +
+
+
+

Git Caveats

+
    +
  • Git is powerful
  • +
  • Git has a terrible user design
  • +
  • Git is hard to fully learn by yourself
  • +
  • Git (like any other tool) takes time and practice to get good
  • + +
+
+
+

Setup

+
    +
  • This is a 2 hour interactive session, there is so much more to learn!
  • +
  • Please type along!
  • +
  • You will need: +
      +
    • A terminal with git installed
    • +
    • A text editor
    • +
    • A GitHub account
    • + +
  • +
  • Suggested setup: 2 "desktops" or "spaces", one with your editor and one with your terminal
  • + +
+
+
+
+
+

2. What is Version Control

+

+SC: Automated Version Control +

+
+
+

VC Through Naming

+ +
+

phd101212s.png +

+
+
+
+

VC in Parallel

+ +
+

versions-merge.drawio.svg +

+
+
+
+

Key Features

+
    +
  • Version control is unlimited undo (but not at a granular level)
  • +
  • Version Control allows many people to work in parallel
  • + +
+
+
+

Other VC Systems

+ +
+

snapshots.png +

+
+ +

+from Pro Git by Scott Chacon and Ben Straub +

+
+
+

How Git Works

+ +
+

deltas.png +

+
+ +

+from Pro Git by Scott Chacon and Ben Straub +

+
+
+

Key Git Feature

+
    +
  • The deltas are important
  • +
  • Represent a distinct set of changes
  • +
  • Accompanied by a commit message
  • + +
+
+
+
+
+

3. Configuring Git

+

+SC: Setting Up Git +

+
+
+

Configuring from the Command Line

+
+ +
git config --global user.name "Ada Lovelace"
+git config --global user.email "ada@lovelace.io"
+git config --global core.editor "emacs -nw"
+git config --global init.defaultBranch main
+
+
+
+
+

Help with Config

+
+ +
git config --list
+git config --help
+cat ~/.gitconfig
+
+
+
+
+

Current Config ~/.gitconfig

+
+[core]
+    editor = emacs -nw
+[init]
+    defaultBranch = main
+[user]
+    name = Ada Lovelace
+    email = ada@lovelace.io
+
+
+
+
+
+

4. Networking Activity

+
+
+
+
+

Working Example

+
    +
  • We are going to create a "database" or repository of people you've met at the summer school
  • +
  • We will track changes using git and keep it all on GitHub
  • +
  • The following slides are simple instructions that you need to work through, follow along with me!
  • + +
+
+
+

Activity: Make Friends

+
    +
  • Create a new file to track your friends, including first name and institution +
      +
    • I am Elsa from Lawrence Livermore National Lab
    • + +
  • +
  • Start tracking this file with Git
  • +
  • Put this on GitHub
  • +
  • Talk to your neighbor and add them to your file +
      +
    • don't forget to commit your changes
    • + +
  • +
  • Talk to a different neighbor and add their information
  • +
  • Add hobbies to your entries
  • + +
+
+
+

Activity: Friends Challenge

+
    +
  • Open just your text editor on your laptop
  • +
  • Swap laptops with a neighbor
  • +
  • Make a change (addition and/or deletion) to the file in front of you
  • +
  • Swap back
  • +
  • What changed??
  • + +
+
+
+

Watch me!

+
    +
  • Figure out what has changed
  • +
  • Commit changes in separate hunks
  • + +
+
+
+
+
+

5. Continue Your Journey

+
+
+
+
+

This is just the beginning

+
    +
  • More things to learn: +
      +
    • branching
    • +
    • collaboration through "pull" or "merge" requests
    • +
    • platforms: GitHub and GitLab
    • + +
  • + +
+
+
+

Git Hosting Services

+
    +
  • GitHub, GitLab, BitBucket, and many more
  • +
  • Additional concepts: permissions, "pull request" or "merge request"
  • +
  • Additional tools: issue tracking, wiki, web/documentation hosting, CI/CD
  • + +
+
+
+

Get Social

+
    +
  • Sign up for GitHub +
      +
    • Follow your friends, star your favorite projects
    • +
    • If you follow me this week I will follow you back
    • + +
  • +
  • Use GitHub to showcase projects (may need to get permission)
  • +
  • Use GitHub to collaborate and network
  • + +
+
+
+

Activity: GitHub Secret

+
    +
  • Create a new repo called username
  • +
  • Add a README.md file
  • +
  • Visit your GitHub Profile (github.com/username)
  • + +
+
+
+

Git Lessons

+ +
+
+

Advanced Git Resources

+ +
+
+
+
+

6. Credits

+

+Content inspired by Software Carpentry's Version Control with Git course. +

+ +

+Created with Emacs, Org Mode, and RevealJS. +

+ +View the source. +
+
+
+
+ + + + + diff --git a/talks/2024-ihpcss-git/git-intro.org b/talks/2024-ihpcss-git/git-intro.org new file mode 100644 index 0000000..f628224 --- /dev/null +++ b/talks/2024-ihpcss-git/git-intro.org @@ -0,0 +1,253 @@ +#+title: Introduction to Git +#+author: Elsa Gonsiorowski +#+date: July 12, 2023 + +#+options: H:2 toc:1 num:1 +#+REVEAL_ROOT: https://cdn.jsdelivr.net/npm/reveal.js +#+REVEAL_INIT_OPTIONS: height:1000, slideNumber:'c/t' +#+REVEAL_THEME: solarized + +* COMMENT notes for next year + +- Have students network before trying to push to github. +- Diagram what a git commit looks like and the graphic that we use to describe commit history +- branch name is a label + +** Github setup issues +1. Make an account +2. Set up SSH keys +3. Walk through creating a repo +4. push to remote with git@ url +5. Remote add / remove commands — explain + + +* Introduction +** Course Goals +- What is version control and why is it important +- Configuring git, using =git config= +- =git init= and the =.git= directory +- Tracking a change with =git add=, =git commit= +- Viewing repository status with =git status= +- Adding a remote with =git remote= +- Pushing changes to the remote =git push= +** Poll +#+attr_reveal: :frag (appear) +- How many folks have used git /at all/ before? +- How many folks have a GitHub account? +** Git Caveats +- Git is powerful +- Git has a terrible user design +- Git is hard to fully learn by yourself +- Git (like any other tool) takes time and practice to get good +** COMMENT ideas for interactions +I'd like to propose this: I'm going to review a few git concepts and commands. +Then, I will give you some tasks. You will figure out how to do them. + +1. speak to 1 neighbor +2. speak to another neighbor +3. add a line for hobbies +4. push to github +5. Swap computers with someone, have them make edits to your file. close the window +6. find someone who has the same editor as you. and chat about git integration +** Setup +- This is a 2 hour interactive session, there is so much more to learn! +- Please type along! +- You will need: + - A terminal with git installed + - A text editor + - A GitHub account +- Suggested setup: 2 "desktops" or "spaces", one with your editor and one with your terminal +* What is Version Control +[[https://swcarpentry.github.io/git-novice/01-basics.html][SC: Automated Version Control]] +** VC Through Naming +[[file:images/phd101212s.png]] +** COMMENT VC in Parallel +:PROPERTIES: +:attr_html: :dislpay inline +:END: + +#+attr_html: :width 50% :text-align left +[[file:images/versions.svg]] + +#+attr_html: :width 50% :text-align right +[[file:images/merge.svg]] +** VC in Parallel +# +attr_html: :height 500px +[[file:images/versions-merge.drawio.svg]] +** Key Features +- Version control is unlimited undo (but not at a granular level) +- Version Control allows many people to work in parallel +** Other VC Systems +[[file:images/snapshots.png]] + +/from [[https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F][_Pro Git_ by Scott Chacon and Ben Straub]]/ +** How Git Works +[[file:images/deltas.png]] + +/from [[https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F][_Pro Git_ by Scott Chacon and Ben Straub]]/ +** Key Git Feature +- The /deltas/ are important +- Represent a distinct set of changes +- Accompanied by a /commit message/ +* Configuring Git +[[https://swcarpentry.github.io/git-novice/02-setup.html][SC: Setting Up Git]] +** Configuring from the Command Line +#+begin_src shell + git config --global user.name "Ada Lovelace" + git config --global user.email "ada@lovelace.io" + git config --global core.editor "emacs -nw" + git config --global init.defaultBranch main +#+end_src +** Help with Config +#+begin_src shell + git config --list + git config --help + cat ~/.gitconfig +#+end_src +** Current Config =~/.gitconfig= +#+begin_src +[core] + editor = emacs -nw +[init] + defaultBranch = main +[user] + name = Ada Lovelace + email = ada@lovelace.io +#+end_src +* Networking Activity +** Working Example +- We are going to create a "database" or /repository/ of people you've met at the summer school +- We will track changes using git and keep it all on GitHub +- The following slides are simple instructions that you need to work through, follow along with me! +** *Activity: Make Friends* +#+attr_reveal: :frag (appear) +- Create a new file to track your friends, including first name and institution + - I am Elsa from Lawrence Livermore National Lab +- Start tracking this file with Git +- Put this on GitHub +- Talk to your neighbor and add them to your file + - don't forget to commit your changes +- Talk to a different neighbor and add their information +- Add hobbies to your entries +** *Activity: Friends Challenge* +- Open /just/ your text editor on your laptop +- Swap laptops with a neighbor +- Make a change (addition and/or deletion) to the file in front of you +- Swap back +- What changed?? +*** COMMENT Speaker notes +- Make an addition with a new person +- Fix (or insert) a typo +- Change (or add) someone's hobby +** Watch me! +- Figure out what has changed +- Commit changes in separate hunks +** *Activity: Extra Time* +- Find someone's repo on GitHub +- Make a change to their friends file +* COMMENT Git Repositories +[[https://swcarpentry.github.io/git-novice/03-create.html][SC: Creating a Repository]] and [[https://swcarpentry.github.io/git-novice/04-changes.html][SC: Tracking Changes]] +** Assumptions +- You are familiar with working on the command line +- You know the commands: + | *=ls=* | list files, with the flags =-al= | + | *=cd=* | change directory | + | *=mkdir=* | make directory | + | *=echo=* | repeat text | + | *=>=* | output redirection | +** Create a Repository +#+begin_src shell :exports both :eval no + cd ~/Projects + ls -al + mkdir Friends + cd Friends + git init + ls -al +#+end_src + +#+RESULTS: +#+begin_example + Initialized empty Git repository in /Users/gonsie/Desktop/Friends/.git/ + + total 0 + drwxr-xr-x 3 gonsiorowski1 59746 96 Jul 11 10:43 . + drwx------@ 16 gonsiorowski1 59746 512 Jul 11 10:43 .. + drwxr-xr-x 9 gonsiorowski1 59746 288 Jul 11 10:43 .git +#+end_example +** Query Git +#+begin_src shell :exports both :eval no +git status +#+end_src + +#+RESULTS: +#+begin_example +On branch main + +No commits yet + +nothing to commit (create/copy files and use "git add" to track) +#+end_example + +** Add a File +#+begin_src shell :exports both :eval no + echo "Weronika" > friends.txt + ls -al + git status +#+end_src + +#+RESULTS: +#+begin_example + total 0 + drwxr-xr-x 3 gonsiorowski1 59746 96 Jul 11 10:43 . + drwx------@ 16 gonsiorowski1 59746 512 Jul 11 10:43 .. + drwxr-xr-x 9 gonsiorowski1 59746 288 Jul 11 10:43 .git + -rw-r--r-- 1 gonsiorowski1 59746 50 Jul 11 11:08 friends.txt + +On branch main + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + mars.txt + +nothing added to commit but untracked files present (use "git add" to track) +#+end_example +** Commit Your Changes +* Continue Your Journey +** This is just the beginning +- More things to learn: + - branching + - collaboration through "pull" or "merge" requests + - platforms: GitHub and GitLab +** Git Hosting Services +- GitHub, GitLab, BitBucket, and many more +- Additional concepts: permissions, "pull request" or "merge request" +- Additional tools: issue tracking, wiki, web/documentation hosting, CI/CD +** Get Social +- Sign up for GitHub + - Follow your friends, star your favorite projects + - If you follow me this week I will follow you back +- Use GitHub to showcase projects (may need to get permission) +- Use GitHub to collaborate and network +** *Activity: GitHub Secret* +- Create a new repo called /username/ +- Add a =README.md= file +- Visit your GitHub Profile (=github.com/username=) +** Git Lessons +- [[https://swcarpentry.github.io/git-novice/][Software Carpentry: Git Novice]] +- [[https://training.github.com][Git Cheetsheet]] +- [[https://docs.gitlab.com/ee/tutorials/#use-git][GitLab: Use Git Tutorials]] +- [[https://www.atlassian.com/git][Atlassian (BitBucket): Learn Git]] +** Advanced Git Resources +- [[https://skills.github.com][GitHub Skills]] +- [[https://learngitbranching.js.org][Learn Git Branching Interactively]] +- [[https://sethrobertson.github.io/GitFixUm/fixup.html][Choose your own adventure: undoing, fixing, or removing commits in git]] +* Credits +Content inspired by [[https://swcarpentry.github.io/git-novice/index.html][Software Carpentry's Version Control with Git]] course. + +Created with [[https://www.gnu.org/software/emacs/][Emacs]], [[https://orgmode.org][Org Mode]], and [[https://revealjs.com][RevealJS]]. + +#+begin_export html +View the source. +#+end_export diff --git a/talks/2024-ihpcss-git/images/deltas.png b/talks/2024-ihpcss-git/images/deltas.png new file mode 100644 index 0000000..47904ed Binary files /dev/null and b/talks/2024-ihpcss-git/images/deltas.png differ diff --git a/talks/2024-ihpcss-git/images/merge.svg b/talks/2024-ihpcss-git/images/merge.svg new file mode 100644 index 0000000..bc1378c --- /dev/null +++ b/talks/2024-ihpcss-git/images/merge.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/talks/2024-ihpcss-git/images/phd101212s.png b/talks/2024-ihpcss-git/images/phd101212s.png new file mode 100644 index 0000000..c47c428 Binary files /dev/null and b/talks/2024-ihpcss-git/images/phd101212s.png differ diff --git a/talks/2024-ihpcss-git/images/snapshots.png b/talks/2024-ihpcss-git/images/snapshots.png new file mode 100644 index 0000000..1036a42 Binary files /dev/null and b/talks/2024-ihpcss-git/images/snapshots.png differ diff --git a/talks/2024-ihpcss-git/images/versions-merge.drawio.svg b/talks/2024-ihpcss-git/images/versions-merge.drawio.svg new file mode 100644 index 0000000..cdb99d7 --- /dev/null +++ b/talks/2024-ihpcss-git/images/versions-merge.drawio.svg @@ -0,0 +1,4 @@ + + + + diff --git a/talks/2024-ihpcss-git/images/versions.svg b/talks/2024-ihpcss-git/images/versions.svg new file mode 100644 index 0000000..96e8cab --- /dev/null +++ b/talks/2024-ihpcss-git/images/versions.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/talks/2024-ihpcss-git/notes.org b/talks/2024-ihpcss-git/notes.org new file mode 100644 index 0000000..4618d2a --- /dev/null +++ b/talks/2024-ihpcss-git/notes.org @@ -0,0 +1,4 @@ +* What didn't work +- needed SSH keys or PAT +- remote add and remote remove to change URL +- ssh-keygen -R github.com diff --git a/talks/2024-ihpcss/4-career-paths.png b/talks/2024-ihpcss/4-career-paths.png new file mode 100644 index 0000000..a69a1c6 Binary files /dev/null and b/talks/2024-ihpcss/4-career-paths.png differ diff --git a/talks/2024-ihpcss/career-paths.html b/talks/2024-ihpcss/career-paths.html new file mode 100644 index 0000000..103230d --- /dev/null +++ b/talks/2024-ihpcss/career-paths.html @@ -0,0 +1,422 @@ + + + + +IHPCSS Mentoring: Career Paths + + + + + + + + + + + +
+ + + +
+
+

IHPCSS Mentoring: Career Paths

+

Elsa Gonsiorowski

July 10, 2023

Created: 2023-07-09 Sun 22:46

+
+ +
+
+

1. Session Overview

+
+
+
+
+

1.1. Schedule

+ + + +++ ++ + + + + + + + + + + + + + + + + +
20 minCareer Paths Talk
3x7 minReturning Mentor Career Talks
Remaining TimeBreak into mentoring groups and go to lunch
+ +
+
+

1.2. Disclaimer

+
    +
  • This is a quick talk, with links to some other resources.
  • +
  • You don't need to know exactly what you want to do, but it's good to have an idea of the possibilities.
  • +
  • Talk to the staff here about their career experiences and see which options appeal to you. +
      +
    • This makes a good topic for your one-on-one discussions
    • + +
  • + +
+
+
+

1.3. General Career Paths

+ +
+

4-career-paths.png +

+
+
+
+
+
+

2. Academia

+
+
+
+
+

2.1. Academia

+
    +
  • Teaching at a college or university
  • +
  • Each institution has a difference emphasis on 3 areas: +
      +
    • Teaching Responsibilities
    • +
    • Research (winning grants and writing publications)
    • +
    • Community Service (departmental roles, conference & journal organization)
    • + +
  • +
  • Some initial funding comes from the school, but then you must find more money
  • + +
+
+
+

2.2. Academic Career Path (US)

+

+titles may be different in different countries +

+
    +
  1. Post Doc (optional)
  2. +
  3. Assistant Professor, tenure track
  4. +
  5. Tenure
  6. +
  7. Full Professor
  8. + +
+
+
+

2.3. Academia Pros

+
    +
  • You get to work with students through teaching and research
  • +
  • You get to build your own lab
  • +
  • Once you have tenure… +
      +
    • You are "unfireable and almost rich"
    • +
    • Can explore any research topic you want (if you can get funding)
    • +
    • Long term career path and stability
    • + +
  • + +
+
+
+

2.4. Academia Cons

+
    +
  • You have to work with students, teaching whatever classes need to be taught
  • +
  • Getting tenure is difficult
  • +
  • You have to move to wherever the school is
  • + +
+
+
+

2.5. How to Get Started

+
    +
  • Try teaching / being a teaching assistant
  • +
  • Try mentoring undergraduates, new graduate students
  • +
  • Talk to professors in your department
  • +
  • Talk to Scott Callaghan, Orly Alter, Erwin Laure, Brian Jewett
  • + +
+
+
+
+
+

3. Industry

+
+
+
+
+

3.1. Industry

+
    +
  • Beholden to customers, must create products to sell
  • +
  • Can work on government contracts / grants
  • + +
+
+
+

3.2. Industry Career Path

+
    +
  • Varies by scientific field & company
  • +
  • Larger companies typically have well-defined career paths with a specific progression of job titles
  • +
  • May look something like: +
      +
    1. Individual contributor
    2. +
    3. Project lead
    4. +
    5. Technical Expert
    6. + +
  • + +
+
+
+

3.3. Industry Pros

+
    +
  • Pay is usually higher than academia
  • +
  • Company perks: free food, stock options, bonuses, sabbaticals
  • +
  • May have the freedom to work remotely or more options of where in world/country to work
  • +
  • You work with/for the customer
  • +
  • Higher turnover, you can have a more varied career and change roles every few years
  • + +
+
+
+

3.4. Industry Cons

+
    +
  • You have to make a product / make a profit for the company
  • +
  • Less freedom to do "pure" research
  • +
  • You work with/for the customer
  • +
  • Company culture may not have the best work/life balance
  • + +
+
+
+

3.5. How to Get Started

+
    +
  • Look for summer internship programs
  • +
  • Go to career fairs / recruiting sessions +
      +
    • at your university
    • +
    • at conferences
    • + +
  • +
  • Talk to ??????
  • + +
+
+
+
+
+

4. Supercomputer Center

+
+
+
+
+

4.1. Supercomputer Center

+
    +
  • Could be associated with a University or Government Research lab
  • +
  • Funding could depend on current political climate or vary depending on your current project
  • +
  • Best of both academia and industry worlds: +
      +
    • No required teaching responsibilities +
        +
      • option to work with summer interns
      • +
      • possibility to do HPC training sessions
      • + +
    • +
    • Understand basic research activities, such as publication and conference attendance
    • + +
  • + +
+
+
+

4.2. Supercomputer Center Career Path

+

+many paths available, depending on role +

+
    +
  1. Individual contributor; Consultant/user support; Trainer
  2. +
  3. Team Lead or Project Lead
  4. +
  5. Management or Technical Expert
  6. + +
+
+
+

4.3. Supercomputer Center Pros

+
    +
  • Opportunity to do a specific role, such as user support or application development
  • +
  • Opportunity to do "pure" research/get grants
  • +
  • Some labs may have a "mission"
  • +
  • No required teaching responsibilities
  • +
  • Culture typically has good work/life balance
  • + +
+
+
+

4.4. Supercomputer Center Cons

+
    +
  • Government bureaucracy
  • +
  • Federal funding, not as many perks as industry
  • +
  • Not as well paid
  • +
  • Employees are typically there for a long time, some can become "Retired In Place"
  • +
  • Career path may be limited, depending on size/needs of the center
  • + +
+
+
+

4.5. How to Get Started

+
    +
  • Look for lab people in your research area, ask about an internship
  • +
  • Look for summer internship programs
  • +
  • Research if there are citizenship preferences for different labs
  • +
  • Talk to Elsa Gonsiorowski, Ilya Zhukov, Ann Backhaus
  • + +
+
+
+
+
+

5. Research Software Engineer (RSE)

+
+
+
+
+

5.1. RSE

+
    +
  • Could be a associated with a (Research) University or Research Lab
  • +
  • Bring software engineering skills to research projects
  • + +
+
+

+those who regularly use expertise in programming to advance research. This includes researchers who spend a significant amount of time programming, full-time software engineers writing code to solve research problems, and those somewhere in-between. We aspire to apply the skills and practices of software development to research to create more robust, manageable, and sustainable research software. +

+
+
+
+

5.2. RSE Career Path

+
    +
  • Can be a domain scientist who picks up computer science / software engineering expertise
  • +
  • Can be trained computer scientist who, over the course a career, supports research software in different domains
  • +
  • Gaining more recognition as its own career path
  • + +
+
+
+

5.3. RSE Pros

+
    +
  • Diversity of projects, improves the quality of scientific research
  • +
  • May have the potential to do "pure" research / get grants
  • + +
+
+
+

5.4. RSE Cons

+
    +
  • Funding for RSE's has traditionally been somewhat volatile, but "RSE" as a career path has been getting more recognition in recent years.
  • +
  • May have to fight for full recognition for contributions
  • +
  • Career path may be ill-defined
  • + +
+
+
+

5.5. How to Get Started

+
    +
  • Join an RSE society. They have job postings and host conferences. +
  • +
  • Continue to improve software engineering skills, many online courses
  • +
  • Talk to Andrew Kirby, Weronika Filinger
  • + +
+
+
+
+
+

6. Resources

+
+
+
+
+

6.1. Resources

+ +
+
+
+
+

7. Credits

+

+Created with Emacs, Org Mode, and RevealJS +

+ +

+(using the Robot Lung theme). +

+ +View the source. + +
+
+
+
+

8. Returning Mentor Lightning Talks

+

+After which, we will breakout into mentoring groups and head to lunch. +

+
+
+
+
+ + + + + diff --git a/talks/2024-ihpcss/career-paths.org b/talks/2024-ihpcss/career-paths.org new file mode 100644 index 0000000..8155e81 --- /dev/null +++ b/talks/2024-ihpcss/career-paths.org @@ -0,0 +1,186 @@ +#+title: IHPCSS Mentoring: Career Paths +#+author: Elsa Gonsiorowski +#+date: July 8, 2024 + +#+options: H:2 toc:nil +#+REVEAL_ROOT: https://cdn.jsdelivr.net/npm/reveal.js +# +REVEAL_INIT_OPTIONS: width:2000,height:1000 ## this makes font look smaller +#+REVEAL_THEME: custom +#+REVEAL_THEME_CUSTOM: /css/robot-lung.css +# +REVEAL_THEME_CUSTOM: /Users/gonsie/Projects/WEBSITE/gonsie.github.com/talks/2023-ihpcss/robot-lung.css +#+HTML_HEAD_EXTRA:
+#+HTML_HEAD_EXTRA: + +* Session Overview +** Schedule + +|----------------+---------------------------------------------| +| 20 min | Career Paths Talk | +| 3x7 min | Returning Mentor Career Talks | +| Remaining Time | Break into mentoring groups and go to lunch | +|----------------+---------------------------------------------| + +** COMMENT Breakouts +<> + +- Resume Review +- Presentation Skills +- Networking & Elevator Pitch +- Interview tips + +** Disclaimer +- This is a /quick/ talk, with links to some other resources. +- You don't need to know exactly what you want to do, but it's good to have an idea of the possibilities. +- Talk to the staff here about their career experiences and see which options appeal to you. + - This makes a good topic for your one-on-one discussions +** General Career Paths +#+attr_html: :width 800 +[[file:4-career-paths.png]] +* Academia +** Academia +- Teaching at a college or university +- Each institution has a difference emphasis on 3 areas: + - Teaching Responsibilities + - Research (winning grants and writing publications) + - Community Service (departmental roles, conference & journal organization) +- Some initial funding comes from the school, but then you must find more money +** Academic Career Path (US) +/titles may be different in different countries/ +1. Post Doc (optional) +2. Assistant Professor, tenure track +3. Tenure +4. Full Professor +** Academia Pros +- You get to work with students through teaching and research +- You get to build your own lab +- Once you have tenure... + - You are "unfireable and almost rich" + - Can explore any research topic you want (/if you can get funding/) + - Long term career path and stability +** Academia Cons +- You /have/ to work with students, teaching whatever classes need to be taught +- Getting tenure is difficult +- You have to move to wherever the school is +** How to Get Started +- Try teaching / being a teaching assistant +- Try mentoring undergraduates, new graduate students +- Talk to professors in your department +- /Talk to Scott Callaghan, Orly Alter, Erwin Laure, Brian Jewett/ +* Industry +** Industry +- Beholden to customers, must create products to sell +- Can work on government contracts / grants +** Industry Career Path +- Varies by scientific field & company +- Larger companies typically have well-defined career paths with a specific progression of job titles +- May look something like: + 1. Individual contributor + 2. Project lead + 3. Technical Expert +** Industry Pros +- Pay is usually higher than academia +- Company perks: free food, stock options, bonuses, sabbaticals +- May have the freedom to work remotely or more options of where in world/country to work +- You work with/for the customer +- Higher turnover, you can have a more varied career and change roles every few years +** Industry Cons +- You have to make a product / make a profit for the company +- Less freedom to do "pure" research +- You work with/for the customer +- Company culture may not have the best work/life balance +** How to Get Started +- Look for summer internship programs +- Go to career fairs / recruiting sessions + - at your university + - at conferences +- /Talk to ??????/ +* Supercomputer Center +** Supercomputer Center +- Could be associated with a University or Government Research lab +- Funding could depend on current political climate or vary depending on your current project +- Best of both academia and industry worlds: + - No required teaching responsibilities + - option to work with summer interns + - possibility to do HPC training sessions + - Understand basic research activities, such as publication and conference attendance +** Supercomputer Center Career Path +/many paths available, depending on role/ +1. Individual contributor; Consultant/user support; Trainer +2. Team Lead or Project Lead +3. Management _or_ Technical Expert +** Supercomputer Center Pros +- Opportunity to do a specific role, such as user support or application development +- Opportunity to do "pure" research/get grants +- Some labs may have a "mission" +- No required teaching responsibilities +- Culture typically has good work/life balance +** Supercomputer Center Cons +- Government bureaucracy +- Federal funding, not as many perks as industry +- Not as well paid +- Employees are typically there for a long time, some can become "Retired In Place" +- Career path may be limited, depending on size/needs of the center +** How to Get Started +- Look for lab people in your research area, ask about an internship +- Look for summer internship programs +- Research if there are citizenship preferences for different labs +- /Talk to Elsa Gonsiorowski, Ilya Zhukov, Ann Backhaus/ +* Research Software Engineer (RSE) +** RSE +- Could be a associated with a (Research) University or Research Lab +- Bring software engineering skills to research projects +#+begin_quote +those who regularly use expertise in programming to advance research. This includes researchers who spend a significant amount of time programming, full-time software engineers writing code to solve research problems, and those somewhere in-between. We aspire to apply the skills and practices of software development to research to create more robust, manageable, and sustainable research software. +#+end_quote +** RSE Career Path +- Can be a domain scientist who picks up computer science / software engineering expertise +- Can be trained computer scientist who, over the course a career, supports research software in different domains +- Gaining more recognition as its own career path +** RSE Pros +- Diversity of projects, improves the quality of scientific research +- May have the potential to do "pure" research / get grants +** RSE Cons +- Funding for RSE's has traditionally been somewhat volatile, but "RSE" as a career path has been getting more recognition in recent years. +- May have to fight for full recognition for contributions +- Career path may be ill-defined +** How to Get Started +- Join an RSE society. They have job postings and host conferences. + - [[https://society-rse.org][Society RSE]] (Mostly UK-based) + - [[https://us-rse.org][US RSE]] +- Continue to improve software engineering skills, many online courses +- /Talk to Andrew Kirby, Weronika Filinger/ +* Resources +** Resources +- [[https://bookshop.org/books/a-phd-is-not-enough-a-guide-to-survival-in-science/9780465022229][_A PhD is Not Enough!_]] by Peter J. Feibelman +- [[https://bookshop.org/books/tomorrow-s-professor-preparing-for-careers-in-science-and-engineering/9780780311367][_Tomorrow's Professor_]] by Richard M. Reis +- [[https://www.apa.org/pubs/books/4316430][_The Psychologist's Guide to an Academic Career_]], by Harriet L. Rheingold +- [[http://www.gonsie.com/blorg/career-next-steps.html][Career Next Steps]], Elsa Gonisorowski +- [[http://sciencecareers.sciencemag.org/career_magazine/previous_issues/articles/2013_11_21/caredit.a1300256][The Postdoc: A Special Kind of Hell]], Adam Ruben +- [[https://matt.might.net/articles/phd-school-in-pictures/][Illustrated Guide to a PhD]], Matt Might +- [[https://www.richardbutterworth.co.uk/blog/13-i-did-a-phd][I did a PhD and did NOT go mad]], Richard Butterworth +* COMMENT Peer-to-Peer Resume Review +** Peer-to-Peer Resume Review +- See the "[[file:resume-review.pdf][Reviewing a Resume or CV]]" handout +- We will do 2 peer-to-peer sessions, 15 minutes each + - 5 minutes - Exchange resumes and review individually + - 5 minutes - Discuss one person's resume + - 5 minutes - Discuss other person's resume +- We will announce when to switch + +* COMMENT Breakouts +- Resume Review :: Elsa Gonsiorowski +- Presentation Skills :: Ilya Zhukov +- Networking & Elevator Pitch :: Weronika Filinger +- Interview Tips :: Scott Callaghan + +* Credits +Created with [[https://www.gnu.org/software/emacs/][Emacs]], [[https://orgmode.org][Org Mode]], and [[https://revealjs.com][RevealJS]] + +(using the [[https://revealjs-themes.dzello.com/#/][Robot Lung]] theme). + +#+begin_export html +View the source. +#+end_export + +* Returning Mentor Lightning Talks +/After which, we will breakout into mentoring groups and head to lunch./ diff --git a/talks/2024-ihpcss/robot-lung.css b/talks/2024-ihpcss/robot-lung.css new file mode 100644 index 0000000..5d94683 --- /dev/null +++ b/talks/2024-ihpcss/robot-lung.css @@ -0,0 +1,340 @@ +/** + + [ robot-lung ] + + A hot pink theme for Reveal.js with Roboto fonts and a colorful border. + By Josh Dzielak, https://dzello.com/, License MIT + + The bold border is optional and requires some HTML. To use it: + + 1. Add 4 divs to your HTML page: +
+
+
+
+ + 2. Set { margin: 0.2 } in the Reveal.js initializer to make sure + your presentation content doesn't collide with the frame. + + Like the theme but don't like the colors? Don't fret. Just change + $borderColor and/or $linkColor below to something else and rebuild. + + Or if you don't want to rebuild the theme just override the .line background + property with some CSS: + + .line { + background: ; + } + +*/ +@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,700); +@import url(https://fonts.googleapis.com/css?family=Roboto:700); +section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 { + color: #141414; } + +.reveal .controls { + right: 50px; + bottom: 50px; } + +.line { + content: ''; + position: fixed; + background: #FF4081; + z-index: 105; } + .line.top { + left: 0; + top: 0; + width: 100%; + height: 30px; } + @media (max-width: 840px) { + .line.top { + height: 15px; } } + .line.bottom { + left: 0; + top: auto; + bottom: 0; + width: 100%; + height: 30px; } + @media (max-width: 840px) { + .line.bottom { + height: 15px; } } + .line.left { + left: 0; + top: 0; + width: 30px; + height: 200%; } + @media (max-width: 840px) { + .line.left { + width: 15px; } } + .line.right { + left: auto; + right: 0; + top: 0; + width: 30px; + height: 200%; } + @media (max-width: 840px) { + .line.right { + width: 15px; } } + +.reveal.has-dark-background .line { + display: none; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #fff; + background-color: #fff; } + +.reveal { + font-family: "Roboto Slab", serif; + font-size: 32px; + font-weight: normal; + color: #363636; } + +::selection { + color: #fff; + background: #ffc0d5; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #ffc0d5; + text-shadow: none; } + +.reveal .slides > section, +.reveal .slides > section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #141414; + font-family: "Roboto", sans-serif; + font-weight: 700; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 2.6em; } + +.reveal h2 { + font-size: 2.2em; } + +.reveal h3 { + font-size: 1.7em; } + +.reveal h4 { + font-size: 1.4em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; } + +.reveal sub { + vertical-align: sub; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #FF4081; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #ff8db3; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #f30053; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #363636; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #FF4081; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #FF4081; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #FF4081; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +.reveal .progress { + z-index: 1000; + color: #FF80A1; }