Profile picture

Learning Quickly Q&A and Videos

About Learning Quickly

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

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

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.

Show more
Posted 9 months ago
416 Views
14 Comments

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

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

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?

Show more
Posted 2 years ago
362 Views
2 Comments

Confused about choosing tech stack for learning and for my personal project

Systems Engineer at Taro Community profile pic
Systems Engineer at Taro Community

I've been in the IT industry for 3 years, working on various projects. For the past 1.5 years, I've been heavily involved in Python projects, mainly as a back-end developer using Django. My tasks typically revolved around building or updating APIs as per specific requirements.

Most of these projects were already underway when I joined, so I mostly inherited tasks based on existing project needs. As a result, I wasn't part of the initial database design or project structuring.

Now, I'm starting on my personal project using Django. However, I lack experience in structuring and designing a project from scratch, especially in organizing apps and defining models.

I took a look at other frameworks like Spring Boot and noticed they don't offer the same level of "batteries included" features as Django.

I'm currently dealing with two main challenges:

  1. Impact of Learning Django First: I'm concerned that focusing solely on Django might limit my overall understanding of back-end development. Django's comprehensive built-in features might not be present in other frameworks, and that worries me.
  2. Project Design and Structure: I'm puzzled about the best practices for structuring and designing a Django project, especially regarding app organization and model structuring.

I'm seeking advice on overcoming these issues and figuring out how to structure my project effectively. I'm also contemplating whether sticking with Django could potentially narrow my overall grasp of back-end development because of its extensive in-built functionalities.

Also, I applied to some companies and most of them are asking for experience in Java back-end development.

Show more
Posted a year ago
360 Views
2 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