Things I Want To Be Amazeballs At
Full-Stack Engineering
- React
- Node.js
- Python
- Maybe Java???
Figure out what kind of engineer I want to be
Stuck between:
- Full-Stack
- Back-end
- Systems
- Data
Get Really Good at Computer Science & Algorithms
- Algorithms because ...well, you know
- But also I want a full-fledged undergrad CS education
Branding/Networking
My goal here is two-fold:
- minimum amount of effort for maximum gain
- focus on local SF Bay Area
My interest does not lie in helping folks new to the industry. I don't know if that's tabboo to say, but I want my branding focus to be very focused on San Francisco, existing engineers, but still empathy-based. There's a lot of folks who will push me to spend my energy on teaching newer folks, they're distracting me.
Options (double star means I like it)
- Streaming
** Twitter
** Speaking
- Lesson creation (I like it if I prioritize against my distraction above)
- Blogging
- ??? Other ideas here ???
I think I want to stick to Twitter (I'm good at it), local meetups & west coast conferences, and the occasional lesson creation for Egghead. I don't want to become a teacher, just a good engineer.
Let's throw out some ideas of specific things I want to do or learn over the next year or so.
Note: Doing all of this is unrealistic. I know. I'm just throwing ideas.
- I want to build 52 web apps in 52 weeks based on the "How I Learn" post I wrote the other day.
- I want to learn 2 new languages or frameworks (mastering Node & familiarizing with Python?)
- I want to read ~6 programming books that are more about my career or higher level understandings of programming. Textbooks or real books.
- I want to work through the [OSSU] coursework for 20 hours a week for a year.
- I want to go to 3 meetups a month each month. 2 regular, 1 new.
- I want to attend 3 conferences in 2020 (West Coast only).
- I want to have a passing understanding of backend work, systems work, and data work so I can know which I like the best and want to push forward in my career in.
- I want to be an open source maintainer of 1 project.
- I want to write an email newsletter every month. (This is like zero effort.)
- I want INBOX ZERO.
- I want to work through Udemy and Egghead coursework for all the web dev stuff I need to be better at. I don't have specific numbers for this.
- I want to watch 2 talks a week, one on an existing topic and one new.
- I want to read 2 articles a week, one current and one mind-expanding
- I want to have 15 lessons published on Egghead.
What's my dream job?
Let's say that I'm given a magic wand to do anything in the world at any company in the world. If it's all going to work out, I would love to be a Software Engineer working on payments at scale. (I'm already there, actually!)
Let's look at some other companies that I love's job listings for some sort of Payments Engineer.
Netflix:
- Buzzwords buzzwords, then object-oriented programming + Java
- Distributed Systems
- Concurrency, resiliency, caching
- BS/MS in Computer Science
- NoSQL experience (I'm gonna substitute that to mean NoSQL and SQL experience thx)
- Knowledge of AWS and Azure and stuff
Stripe:
- Build APIs, services, and systems
- Ruby, Scala, and Go
Airbnb:
- Bachelor's in CS ugh stop
- Uses Java (but open to any language)
- High-scale, algorithms, APIs
What is between me and these roles?
What's between me and these dream jobs?
Let's start with the branding because that's pretty simple:
- Continue tweeting, occasionally writing, and become a local fixture in SF
- Streaming is not worth the effort, but keeping Egghead in the backburner is good
Now, for the learning. I believe this should be split into two areas:
Short Term
- Get really fucking good at React
- Get really fucking good at Node
That's it.
What's the best way to do this from the list?
- Andrew Mead's Node Course
- Andrew Mead's React Course
- Read 2 articles + watch 2 talks a week + keep up with new developments
- Build 1 10-hour app a week
What on the list doesn't fit this as easily? Should I do it?
I think that's it. DOES THIS HELP MY GOALS? I don't know! I need to look into this more.
Long Term
What's the best way to do this?
- I DON'T KNOW
- Build 1 10-hour app a week
- Learn 1-2 new programming languages over the next year (Py and Java, probably)
- Go through my self-made OSSU CS curriculum (101 in each topic, go further if I want)
- Read through some essential books, always have one on hand
In Sum
Here is everything I am prioritizing doing after my current todos are done.
- Finish Andrew Mead's Node and React courses.
- Build one 10-12 hour front-end, full-stack, or back-end app a week.
- Learn Python and Java, enough to be dangerous.
- Keep up with web development by watching 2 videos/mini-courses a week, and reading 2 articles a week.
- Pick up classic programmer books. There's no goal for reading them but keep them on hand and read through as they come up. (Will come up with list later.)
- After finishing the web dev courses, start going through my self-made CS curriculum.
- Continue tweeting, with occasional blogging and newsletter writing.
- Create 1 lesson a month for Egghead.
- Give 2 talks in the next year.
- Attend 3 conferences in the next year.
- Attend 3 meetups a month -- 2 in my world, 1 outside of my world.
- Become an expert at algorithms
That's it. I know that's a lot, but that's it.
My todos will come from this list and nothing but this list. These are my only priorities.