• Stars
    star
    324
  • Rank 129,265 (Top 3 %)
  • Language
  • Created almost 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated, high-quality list of resources to learn any pillar of tech you want

Tech Career Growth: Learning Resources and Roadmaps

Context

Slack search is bad, and we're also on the free-tier so you can only see the latest 10k messages. No, we're not going to move to Discord as we're in way too deep. The point of this document is to take all the awesome resource recommendations and roadmap posts shared in Slack and eternalize them here.

For public resources from Tech Career Growth specifically (i.e. stuff Alex and Rahul made), you can find them in this giant Medium post.

For all the recap content from the community's famous live sessions, you can find them here.

Better Sessions Recap ๐Ÿ“บ

Contents

๐ŸŒ Web

Android

๐Ÿ“‹ Product Management

๐Ÿ“ฑ iOS

๐Ÿ’ผ Interviewing

๐Ÿ“š Miscellaneous


๐ŸŒ Web

Resources

CSS:

JS:

Everything:

Posts

Tamal Chowdhury

Front End Engineer Roadmap:

HTML:

  • Learn semantic layouts header, footer, main, article, divs, classes, id's.
  • Know about web accessibility.

CSS:

  • Learn the CSS box model.
  • Learn flexbox, grid, or both. Make basic layouts.
  • Learn css variables. Learn BEM. scss if possible.
  • Learn media queries, mobile responsiveness.

JavaScript:

  • Learn the core programming concepts, loop, functions, control flow, error handling, classes etc.
  • Learn DOM manipulation document.querySelector(), document.appendChild() etc.
  • Learn event listeners, addEventListener().
  • Learn FORM capturing basics.

Browser APIs:

  • fetch (send a GET, POST request)
  • localStorage (store and retrieve items)

Frameworks:

Learn one popular framework,

  • Vue (easy)
  • React (Medium)
  • Angular (Hard)

* Difficulty assessed by FireShip youtube channel.

As you can tell, the frontend web development landscape is huge. I tried to cut down as much as I can and followed the requirements of the Front End Engineer position at Facebook. Learn each topic and try to build some stuff out of it and you will learn them better.

As someone who has spent a lot of years in web dev, even I don't know everything on this list. I still lack web accessibility, flexbox, and know only one framework React. It's only recently I learned BEM and sass styling.

So don't make this list intimidate you.

Android

Resources

Kotlin:

Videos:

Books:

Posts

Dom Polidoro

Alex and Rahul are big advocates for side projects, and I would +1 that as well. It sounds like you have a solid foundation so far with a bunch of individual pieces, so I would heavily recommend putting them all together to build something. There's actually a lot of stuff you can build with the knowledge you already have - the hard part is realizing what you can build lol

Side projects are great for two major reasons:

  • They will help your resume/job search immensely if you really want to become a mobile dev. Relevant domain projects is a quick way to get some attention during the interview process.
  • The classic "the whole is greater than the sum of its parts" saying. Take the example of getting a bunch of individual car parts - they are not nearly as useful individually as they are when you combine them to make a physical car. Similar-ish story here - you have a great foundation, but combining all of the skills into a single (or multiple) projects will make all the skills more valuable as a whole. Side projects will give you a clear direction or path to a final product and therefore give you a chance to use, and sharpen, the skills you have, while also gaining new skills you didn't even realize!

Your next hurdle is what to build. Greatest thing you can do is start small and possibly even copy something that exists. You likely aren't going to build the next flappy bird right now, so I'd push you to start on a journey with what you already know and see it all the way through.

I'd first start with something like a cookie clicker, a random-generated guessing game, a calculator, To-Do list or a classic "list -> detail" app. All of these have a quick and easy approach to them, but can quickly be augmented to make a more interesting app. Then you can move into more advanced topics like networking + asynchronous programming (i.e. Kotlin coroutines), games, connecting to Firebase, authentication, real-time updates, etc. But in all honesty I would start smaller and finish the project before moving on. You'd be surprised how much you can jazz up a simple cookie clicker game or calculator if you get a little creative with it. Animations are always a great way to add more flare!

Last thing I'll mention is that Rahul has a YouTube channel about Android dev and has plenty of resources there to help you, and as of January of this year, I started a channel as well. I think Alex has a channel too? Clearly there is muuucch more content out there than what exists in these channels or Slack community, but there is definitely enough content here for you to get started and make it pretty far! Good luck!

Oh! If you're starving for a project and don't want to copy something out there or build a basic whatever app because everyone does it, ask yourself what daily or weekly problems you ran/run into and make an app to solve for it! This is how I made my first ever application (back in college) that I still use to this day! It has like 3 active users, but I use it at least once a week and it has saved me a major headache at least once a month!

๐Ÿ“‹ Product Management

Resources

Books:

Courses:

Videos:

๐Ÿ“ฑ iOS

Posts

None yet

Resources

๐Ÿ’ผ Interviewing

Resume:

Company:

Interview:

Negotiation:

DSA

Resources

Posts

None yet

System Design

Resources

Posts

None yet

๐Ÿ“š Miscellaneous

Resources

Great Threads And Posts

Posts

Alex Chiou

[...] it seems like you have a decent company you're working for, but you're having trouble growing and also finding an outside place that's clearly better for your growth.

While it's nice when people are proactive, they often times aren't. It is very hard to be a proactive mentor; most of my managers even were very reactive, even at a supposedly top company like Facebook.

I don't think it's reasonable to have a bar set expecting proactive mentorship; you should just flip the script and push your manager and tech lead in particular for growth advice. Ask them what you could be doing better every 3-4 weeks, ask for bigger projects, ask them to make you develop new skills you don't already have. Try to set a goal for the half or year and check-in regularly to meet it. Someone who is very good at being reactive also has a lot of value; you just need to trigger the reactions. You can find our video on how to get feedback flowing here: https://www.youtube.com/watch?v=r6D9dirIqLs

Now let's say you're trying to push all the buttons and you're still not getting real feedback and opportunities to grow every several months - At that point, it's time to find a different team/company.

More Repositories

1

Software-Project-Ideas

Feasible, organic software project ideas that are suitable for all developers, including junior ones.
494
star
2

SQLPractice

Clean, simple Android app that gives you a SQLite sandbox and SELECT query questions to solve. Downloaded 310,000+ times on Google Play with a 4.7+ rating after 5,100+ reviews.
Java
109
star
3

Random-Name-Picker

Simple, beautiful Android app to help you choose from a list of names at random. Downloaded 560,000+ times on Google Play with a 4.5+ rating after 3,500+ reviews.
Java
43
star
4

Random-Number-Generator

A clean, simple random number generator for Android. Downloaded 180,000+ times and rated 2,000+ times on Google Play with 4.7+ average rating.
Java
35
star
5

ai-mentor-android

Clean, simple Android app to talk with ChatGPT. 100% free and ad-free.
Kotlin
33
star
6

tcg-android-archive-and-feedback

Code archive of the last local Tech Career Growth Android app
Kotlin
31
star
7

Food-Diary

Beautiful Android app to journal your culinary adventures
Java
16
star
8

tcg-ios-archive-and-feedback

Code archive of the last local Tech Career Growth iOS app
Swift
15
star
9

Around-Me

A beautiful, simple, straightforward Android app to help you find the nearby places and events you care about
Java
13
star
10

Instafood

The fastest and simplest way to find food near you on Android. 1000+ downloads on Google Play.
Java
7
star
11

Object-Recognizer

A small Android app that identifies objects in pictures using machine learning
Java
5
star
12

Bernie-Sanders-Soundboard

Bernie Sanders 2016
Java
5
star
13

Travel-Buddy

Sample Android app for Gaza Sky Geeks October 27 - October 31 bootcamp
Java
5
star
14

CatPix

Time to learn Kotlin so I can go to startups and do things.
Kotlin
4
star
15

Food-Button

Quick, insanely simple app to help you find food nearby immediately. Downloaded 5000+ times on Google Play.
Java
4
star
16

Bro

A simple version of the "Bro" app from HBO's Silicon Valley
Java
4
star
17

GO-Database

Android app that ties Pokemon to hotspots in a Yelp-style model and has goodies like egg information, a Pokedex, and a rankings table.
Java
3
star
18

Location-Manager

Simple Android app that helps you save your current location for later.
Java
2
star
19

Carcassonne-Tracker

This app helps you keep track of what tiles are left to play in Carcassonne.
Java
2
star
20

Bro-Android

This Android app texts derpy 1 syllable messages to people.
Java
2
star
21

Borderlands2Soundboard

A quick Android soundboard application featuring quotes from 4 different Borderlands 2 characters.
Java
1
star
22

SimpleLoginExample

Simple Android app that implements logging in with Facebook, Google, and traditional email/password
Java
1
star
23

Panic-Button

Java
1
star
24

PAD-Friend-Finder-Backend

Java RESTful API that powers the PAD Friend Finder app
Java
1
star
25

durdley-java-backend

Hacked together in around 4 hours.
Java
1
star
26

Taro-Documents

Official documents for the Tech Career Growth mobile apps
1
star
27

Contacts-Hacker

Friend's phone unattended? Download this app onto their phone to quickly mess with their contacts.
Java
1
star
28

PADFriendFinder-Android

An Android app that helps you find friends in GungHo's game Puzzle&Dragons.
Java
1
star
29

Imber-Documents

Houses relevant documents for the Openhouse app like Privacy Policy, Terms and Conditions, and more.
1
star
30

PayPal

PayPal webapp that: 1) Brings up a list of recent PayPal transactions || 2) Converts an amount of a certain currency into another || 3) Gives the conversion rate between 2 currencies
JavaScript
1
star
31

simple-flashcards-backend

Hacky Node.js REST API CRUD stuff
JavaScript
1
star