Profile picture

Learning Quickly Q&A and Videos

About Learning Quickly

Anonymous User at Taro Community profile pic
Anonymous User at Taro CommunityPosted April 12, 2023

Help deciding on a "main" programming language to build awesome projects and for my general career (AWS & Terraform is my main work)

Hello, I asked about this before, but it’s a bigger dilemma now as I’m actively interviewing and many top roles seek a software engineering background. Scenario: This past year at an AWS Cloud Consulting Partner, I built cloud and Terraform skills but had little software engineering experience. I dabbled in a few languages but haven’t committed to one. I want a versatile, productive, “startupy” language for an ambitious one-man project (possibly a PWA) that fuels learning, supports entrepreneurial goals, and offers a great dev experience. What I Enjoy: I love game dev with Godot, but GDscript has no job market. So, I’m considering a scalable full-stack CRUD project like a PWA game site (think ) that I can build solo. I want to master one language and framework — no constant framework-hopping like with JavaScript. Here are my main options: 1. Ruby on Rails – Productive, “batteries included,” and fun (so I hear). While some call it “dead,” remote roles (like GitLab) still exist. I worry about it being a risky specialization. 2. Blazor + .NET Core – Full-stack with one language (C#) and “batteries included” features. Blazor is new, but .NET Core skills stay relevant. I dislike JavaScript’s endless framework churn, so Blazor’s stability is appealing. 3. Golang – I like its “one way to do things” philosophy, compiled binaries, and cloud reputation. But it’s focused on microservices, not full-stack projects. I’m unsure if I’d stay motivated building APIs instead of an end-to-end product. Python feels similar — powerful but maybe not a “do it all” full-stack option. The Goal: I need speed, productivity, and specialization in a language worth mastering. I want to build a PWA project that teaches me core software skills fast and makes me marketable for software engineering roles. What would you recommend?

470 Views
2 Comments
Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro CommunityPosted July 3, 2024

How does “learning” and “more scope” in startups translate to career success?

Preface: I might sound a bit critical at some points, but I’m asking this question with the intention of learning, not to demean others as this question has been on my mind for a while. A big reason why people join startups is that at startups you learn faster than you would at big tech. What’s not clear to me though is how this actually translates to having a successful career (especially when transitioning to big tech). Specifically, how does “learning more” in startups/getting more scope in startups translate to “materialistic” rewards such as TC, getting into big tech, getting senior swe faster etc.? I've seen Seed’s presentation about . He’s clearly achieved amazing things at Klaviyo, but at least from his LinkedIn profile, he joined Meta as an L5 (senior swe) with 4 yoe - couldn’t you achieve this result simply by working at Big Tech for just as long? If that’s the case, then what’s the point of joining a startup? I’ve watched Taro’s masterclass on choosing a good company (and many other startup-related videos on Taro), and for the pros for startups - specifically getting more scope - seems very superficial. Similarly, the cons for big tech (the inverse of startup pros- harder to find scope) seems also superficial.

416 Views
14 Comments

Learn About Learning Quickly

The ability to learn quickly separates high-performing software engineers apart from the rest of the software engineers. This is an important skill because of how fast technology evolves. Think about all of the new frameworks that are constantly being introduced or new concepts that you have to pick up on. Not only that, you have to learn about business needs, but you have to be adaptable enough to learn when business needs shift.
It’s important to maintain a clear mind for creative thinking and good decision making. There can be a lot of facts, but you can always look them up at any time. Try to understand concepts at a higher level. This can be especially effective to prevent you from getting overloaded with work.
Rapid learners excel at problem solving. By learning quickly, it’s easier to debug complex code because you can understand how different components in a system architecture can interact with each other. Engineers who prioritize ongoing learning cultivate a growth mindset.
A growth mindset is a belief that one’s abilities and intelligence can be developed through dedication and hard work. This is in contrast to a fixed mindset which is the belief that one cannot change the abilities and intelligence that they are born with. A growth mindset encourages individuals to view challenges as opportunities, and it fosters resilience and a willingness to take on new challenges. Embracing a growth mindset involves being open to learning new information and leaning into problems that feel uncomfortable. Individuals with a growth mindset are more willing to accept feedback from other people.
There are various strategies you can use to learn more quickly in a software engineering role. It’s important to focus on hands-on coding and learning by actually doing the work. This means that you dedicate focus blocks where you can code or learn more about something. Leverage the knowledge of your peers by setting up 1:1 meetings with them to learn more about the codebase. If you can find a subject matter expert, they can help you fully understand the context behind a certain implementation.
Be careful about going down learning rabbit holes. it’s important to ensure that actual learning and retention is happening. Make sure to take notes and constantly review your notes or the knowledge will get stale. Taking notes can help you to ramp up quickly at a new company. Make sure to immerse yourself in the codebase and start to run the code and intentionally break things to get a better understanding of how things work.
The ability to learn quickly is a transformative skill in the software engineering world. Rapid learners not only stay ahead of technological trends, but they also contribute significantly to the success of their teams and companies.
Show more