76 lines
4.9 KiB
Markdown
76 lines
4.9 KiB
Markdown
---
|
||
title: 1. Beginner's Guide
|
||
sidebar: Handbook
|
||
showTitle: true
|
||
hideAnchor: true
|
||
---
|
||
|
||
## Introduction
|
||
|
||
The *Beginners Guide* started as a project to help me and others get up to speed on PostHog's tech stack.
|
||
I also wanted to include bits of advice to make the process encouraging to make working on PostHog even better.
|
||
I needed this approach personally since I've been hardcore programming in other languages and tech stacks
|
||
for years so most of PostHog's tech stack was newish to me.
|
||
|
||
## Consider your learning style
|
||
|
||
Some people like to jump in and go. Some people like to read the docs. I'm the latter. Another way of saying it
|
||
that I'm a holistic learner. My plan was to spend part of the time accomplishing work given to me and part
|
||
of the time on intentional education. The point is to know your own learning style so that you can be effective.
|
||
To that end, if you're a get started now type, you'll appreciate the
|
||
[getting started section](getting-started).
|
||
|
||
It's also important to note that whatever you learn needs to be reviewed several times. It doesn't
|
||
matter what learning style you have because review is essential to learning from a neuroscience
|
||
perspective. If you create small exercises for yourself such as the projects I've created in this repo
|
||
you'll do even better. The good news is that this process doesn't take up an extraordinary amount of time.
|
||
|
||
## A word about mindset
|
||
|
||
> You get more than you give.
|
||
|
||
My mindset is one of wanting to get the most out of life. For me, in part, that
|
||
means being excellent and taking full ownership of my career. Learning new
|
||
material can be overwhelming not to mention difficult. But remember this:
|
||
*it's worth it*! Investing in yourself makes for a better, more capable
|
||
version of you. Therefore, trust the difficult process of learning and elevate
|
||
your skills. The future you will thank you for your hard work.
|
||
|
||
If you get discouraged come back to this section.
|
||
|
||
## What has helped me personally
|
||
|
||
First thing to remember: starting a new job is like beginning a book in the middle of a
|
||
series where the characters are well-formed, and the story is far along. It's fair to say,
|
||
you have no idea what is going on. You can read words and understand but not understand
|
||
why they are being said. There our goal is to *develop a solid mental model for the codebase*.
|
||
|
||
> “You don’t care about the answer until you have the question.” - Unknown
|
||
|
||
- On my first day, I was given an assignment to work on. It began the process of showing me what I needed to learn. Struggling to complete the assignment helped me to *have the question* from the quote above.
|
||
- Reading the [project structure doc](/docs/project-structure)
|
||
- Browsing the [issues in GitHub](https://github.com/PostHog/posthog/issues) by playing with the various labels. This helped me get a better feel for PostHog's communication style and open-mindedness.
|
||
- Pairing with Tim & Eric. They used devtools to examine network traffic, console.log, and I was able to ask specific questions. It was basic stuff and reminded me to use the basic tools I've been using for years. I guess the anxiety of a new job confused my brain a little.
|
||
- Reading the kea docs. This is *clutch* to understand the frontend. It's a rather nice library but you won't make progress without understanding Kea.
|
||
- Creating a simple app with create-react-app with typescript support `yarn create react-app learn-kea-typescript --template typescript`
|
||
|
||
> "Take care of yourself. There's no need to burnout in the first month." - Eltje
|
||
|
||
- Eltje encouraged me to take care of myself, so I did.
|
||
|
||
> "So, what?!" - [Dare: The New Way to End Anxiety and Stop Panic Attacks](https://www.amazon.com/Dare-Anxiety-Stop-Panic-Attacks/dp/0956596258/) where "D" stands for defuse the anxiety by considering the worst and saying so what.
|
||
|
||
- Often I felt anxious about my daily contributions. Using the quote above really helps deal with this kind of anxiety. So what if I fail to deliver these assignments timely?! I'm an expert and in time I'll be a great asset to PostHog.
|
||
- Additionally, it's important to remember to trust the process. Being new (bad) at something isn't a great feeling initially until you realize that it's a part of the process. Soon you'll be good. It's better to reframe and remember that you only get to have new eyes once. Plus, it's fun to learn new things.
|
||
|
||
> "When you are working, close your email and slack. No one is watching to see if you are online. In fact, it's the opposite." - Tim, CTO
|
||
|
||
- Tim told me this on the first or second day, and it was liberating. It allowed me to think of my role as a true `async` open-source contributor. Do what needs to be done so that you can be the most effective.
|
||
|
||
> Read the docs
|
||
|
||
- For my learning style, this has been a **must**. I'm keeping a list of resources for learning I've used.
|
||
- I also spent time creating projects as you see in this repo which helped me consolidate the knowledge I was gaining.
|
||
|
||
**[Next: Getting to know PostHog](getting-to-know-posthog)**
|