Taro Logo
Profile picture

Side Projects Q&A and Videos

About Side Projects

The beautiful thing about software is that it can be built anywhere. Build personal software projects to make yourself more lucrative to employers or even improve at your current job.

Transitioning into the compiler engineering field (or any other domain) if you are unemployed and don't have prior experience in the field

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

I am currently seeking to transition into a career as a compiler engineer, a field I find deeply fascinating. The interdisciplinary nature of compiler engineering, bridging areas such as computer architecture and graph theory, intrigues me greatly. Additionally, the sector offers promising financial rewards, especially with companies like Meta, Nvidia, and AMD that are at the forefront of hardware accelerators experiencing significant growth. I am convinced this growth trajectory will continue, making this career path an ideal blend of intellectual fulfillment, professional growth, and competitive compensation.

Due to recent layoffs, I find myself unemployed, and I am seizing this moment to pivot towards compiler engineering. However, I acknowledge that there is a steep learning curve to becoming an ideal candidate for such positions. The required skill set typically includes:

  • Proficiency in C++
  • Experience with GPUs
  • Knowledge of an Intermediate Representation Language (e.g., LLVM)
  • Understanding of computer architecture

Previously, I worked as a senior backend engineer, specializing in tool development using functional programming languages such as Scala and Ocaml. My experience spans across FAANG companies and two startups.

To bridge the gap in my skill set, I have been actively contributing to open-source projects similar to LLVM and honing my C++ skills through consistent practice on Leetcode. Despite securing a few interviews for compiler engineering positions, I have not been successful, primarily due to difficulties with compiler-specific questions.

I seek advice on the following:

  1. How can I enhance my chances of entering the compiler engineering field, especially without being part of a compiler project community or holding a position of authority within such a project?
  2. What strategies can I employ to prepare for and succeed in domain-specific interviews, considering my lack of prior experience in this area?

Any guidance or insights from those who have navigated a similar path would be immensely appreciated.

Show more
101 Views
2 Comments

What legal documents do I need to provide before joining FAANGMULA on an existing side hustle?

Mid-Level Software Engineer at Other profile pic
Mid-Level Software Engineer at Other

Today during office hours Rahul talked about this a tiny bit (sans the legal), but I'm curious as I've had many friends who worked at Google previously that discouraged me from applying to Google (like 10 years ago) if I still wanted to do a startup (this was long before Area 120 was a practiced thing). Recently, a friend (VC whose girlfriend works at Google) said many people still build venture/angel funds on the side while still working full time for Google. But of course, don't create your startup company using company property (a la Silicon Valley HBO lessons).

Questions

(1) What companies are flex about having things on the side - a side hustle (but you can't advertise it), examples being two different companies on both ends of the spectrum: Google, Apple etc.)? I've heard some FAANGMULA companies are more stringent than others (Apple being very much against this and super private and only sorta kind supporting open source, vs. others which are all for it and have accelerator/internal incubator programs at the company (Area 120), or even sponsoring ex-employees (a cohort of my class at Verizon Ventures one year was all MIT alumni, ex-Googlers that were sponsored by Google, paid their incorporation fees, I was one of the two weird VR founder people).

(2) I've also heard that from friends if you work at Google, you are not allowed to get paid for speaking gigs on your technical expertise or whatever your functional role is at that company (this differs from from Meta I've heard from other friends). Is this true?

(3) If you go into a FAANGMULA company, what info (legally) what information do you need to provide the the employer? What docs from the state/federal/govt or whatever) that says you have a a DBA, LLC, S/C-Corp etc. What do you need to disclose more specifically and what documentation and legal paperwork do you have to provide?

For example, I currently take consultations and speaking gig money and have revenue (royalties from my book I published years ago) and plan on having an existing app that generates money in the app store that is runs auto-pilot prior to coming into the company. Also note, that I'm aware that this product should not compete with the company's main product lines.**

(4) If you are going to start all this AFTER being hired into FAANGMULA, how do you inform your company employer formally (HR, direct report boss), and that your side hustle does and will not interfere with your primary role at the FAANGMULA company hour wise and that you will still meet all of your core duties/goals/tasks/deadlines for the company and this is sort of 'hack on the weekends thing?'

Show more
61 Views
3 Comments

Projects vs. Open Source - which is better for my career?

Machine Learning Engineer at Taro Community profile pic
Machine Learning Engineer at Taro Community

TL;DR Contribute to Open Source ML or do side projects for ML. Which do you suggest is the better option?

I just started a new job, but due to circumstances (visa, tough market), I had to take the first job I could take and I ended up in a devops/production support role where I cant really write much code or write any production code (literally dont have access to dev code). I dont plan to stay here long (>6 months).

I read the infamous "" post and wanted to do side projects so that I am not rusty

Context on me: 80% of my background is in Applied ML/Data Science and 20% is software engineering. I am interested in pursuing as an ML Engineer/Data Scientist

Open Source

Pros

  • Tons of open source ML stuff supported by big tech companies
    • Meta has a ton of OS projects
  • Huggingface is open source
    • Lot of companies use ML models from huggingface (for e.g. BERT for NLP). Would contributing to this on huggingface be seen as impressive?
  • Exposure to working on large codebases, good software engineering practice as well

Cons

  • Minimal Impact
  • Hard to showcase my achievements, especially on LinkedIn

Projects

Pros

  • Ability to make and measure impact
  • easy to showcase
  • learn a lot

Cons

  • For ML, projects with impact is hard to do. Most ML applications is based on improving current products using existing data
  • Experience from building ML projects might not translate to what I would do on the job as a lot of it involves working with Engineering around data
  • It takes time and a lot of effort to have a ton of downloads
  • Can end up taking a lot of non-ML work work (web design/frontend) which is not relevant to MLE

Final question: If I were to do open source, what is the best way to showcase on LinkedIn?

  • Do you suggest adding the company you did OS for under the experience section and saying "Open Source Contributor"? My concern with this is that it may sound scammy/shady
Show more
94 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
316 Views
2 Comments

What would a roadmap to make a transition from Junior to Mid-level look like?

Associate Member of Technical Staff at Taro Community profile pic
Associate Member of Technical Staff at Taro Community

Hi Taro Community!

I am in a very similar position as mentioned by someone here: and from the responses it is evident that switching teams/companies will be an unavoidable step soon. I am currently at an entry-level position (will be completing 6 months at current company soon) and wish to look for roles at the next level of hierarchy (for instance my current role is equivalent to SDE 1, I wish to look for roles similar to SDE 2 or equivalent next). Few points:

  • I am planning to complete 1 year at my current company, so by the time I switch I shall have ~1 yr of experience as an entry-level software engineer (apart from other experiences as internships/side projects/etc.)
  • Firstly, is it realistic to prepare for mid-level at the current position? Do companies hire entry-level SWE's with at most 1 yr of experience for mid-level?
  • If yes, is it advisable to apply now (or 6 months down the line)? I do not wish to work as an SDE-1 (entry-level) in another company by leaving my current one as it will only lead to further delays in promotions (I believe it takes at least a few months to set a good impression in a new team that you are capable for a promotion)
  • How can I best utilize the next 6 months before I aggressively start applying to companies? I understood the point related to side projects - is it advisable to build side projects in the tech stack my team is using, or should I expand my scope to include new technologies I am interested (but not actively working on right now)?

Any insights/suggestions/interview tips will be really appreciated. I have very less workload right now and really want to make the best use of time to switch further.

Thank you!

Show more
276 Views
3 Comments