Profile picture

Side Projects Q&A and Videos

About Side Projects

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
Posted a year ago
139 Views
2 Comments

What are the things I should look out for when designing a file storage system?

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

I am working on a side project. I may use GCP or AWS for it.

tldr of the system : Create a web ui to process input files and generate a tabular output giving the link to the dashboard .

I have a bunch of files generated , about 2GB in size in total , Account ID is the high level directory and inside each account there 50 log files each having specific content .

I want to create a UI using Angular framework . Using the UI I will upload the files to GCS /AWS S3 . Then the backend should trigger complex backend scripts, written will be written in Python or Java and then output file is generated. Using the output file a dashboard with few images embedded is generated.

In the end the UI should have a table which should indicate status of processing to COMPLETE and in another column show point to url of the dashboard.

I want to deal with least amount of security work as I want to avoid studying Oauth 2.0 authentication .

Few additional questions , non-system design questions =>

  1. What are the things I should learn in Angular to cover most bases in this project, I am a backend engineer and going over youtube videos . I want to stick with Angular as I have few work projects going to come in coming months so it will help me to learn it .
  2. I am unfamiliar with typescript . How much effort will it need to learn in order to code for this project. I am most familiar with Python only.
Show more
Posted 2 years ago
107 Views
2 Comments

Learning new Tools for Interviews?

Data Engineer at Financial Company profile pic
Data Engineer at Financial Company

I'm a Data Engineer. Within the data engineering realm, there are a lot of tools, just like in the software engineering realm. The modern data stack is pretty popular these days. It includes things like Spark for ETL at scale, Docker for virtualized environments, Airflow for orchestration, dbt (data build tool) for transformations in SQL, Fivetran for automated data connectors, Snowflake for data warehousing, and more.

I'm far from knowing all of these tools well, primarily because I use very few of them in my day job. The main reason I want to change jobs is because of this.

I'm worried I'm caught in a catch-22 situation where I don't know the tools so I can't get jobs that have them, which I guess is similar to the new-grad cold start problem.

My question is, how should I think about learning new tools for job interviews? My current instinct is to learn via failure. That is, I have almost all of the above tools on my resume. If someone asks me about them and I'm not able to give a good answer, I will learn that part about the tool so if I'm in the same situation I can answer properly.

Another approach I can think of is to do Udemy courses of them so I have a deeper understanding of how they work. I've learned to be wary of course not tied to projects, though, so I'm hesitant.

I guess I could do projects to learn more about them, but those take time and right now I'm focused on applying to jobs.

I imagine some answers might focus on what my current problem is: can I get interviews or am I failing interviews? I don't think my issue is with failing interviews right now, and certainly not because of specific knowledge people have called me out for for not knowing these tools. I think my issue is more with sourcing interviews currently.

If there's general advice regarding how to think about prepping for an interview when you only have some of the requirements on the Job Description, would love to hear that too.

Thanks!

Show more
Posted 2 years ago
105 Views
3 Comments

Anxiety over startup vs. FAANGMULA - choices on comp, promotion, and risk

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

I want to be able to work at FAANGMULA and am considered an industry leader publishing work in my domain, however I am told the culture of Apple, Meta, Google (all of whom which called to hire me) is not open to this (this is all lower level employees whereas most of my friends who are directors of engineering all say I can negotiate this for my next big work and that I can just disclose this an interview and should be fine). Full disclosure: I've never worked at a larger FAANGMULA company (have either founded startups and worked on small teams, consulting etc.).

I am wondering if it is better to place my autonomy over a bigger salary and stability at a larger tech company vs an earlier stage AI startup (maybe not all the perks in the world), but is friendlier to my contributions outside of work (it is directly related) where they don't care and probably encourage that I do publish. How should I think about this in terms of long-term career growth?

I think that there is a chance the startup fails to productionize faster than I would prefer (they're a market leader already at the very top of FAANGMULA developing new foundation models are some of the OG AI people best in class), I wonder if the path I take is better at a FAANGMULA company who can likely compensate for further graduate studies or cover other benefits/perks and higher salary than at the startup, however, it would mean giving up being able to publish and feeling a sense of autonomy.

Show more
Posted 4 months ago
102 Views
1 Comment

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
Posted a year ago
90 Views
3 Comments

Would an "unfinished" project(s) be worthy to present in interviews?

Entry-Level Software Engineer at Unemployed profile pic
Entry-Level Software Engineer at Unemployed

Hi there, everybody. I was aiming to build a few applications to present in interviews. Last week, I was building a small-scale Spring Boot application with the help of a tutorial. The project I was working on was meant to retrieve data from a database using PostgreSQL to provide multiple choice DSA questions. I was creating an automated study buddy for technical interviews. Unfortunately, I've been trying to figure out some technical issues and database connectivity mishaps for some days, unfortunately to no avail. Currently, I'm working through a Node.Js tutorial to build an application geared to help me keep track of the things I'd like to do during my job search, so I can always stay on task. I don't know if I'm going to run into some more issues that plague me.

The thing is, I'm learning a LOT from both experiences. Now I feel I can have an educated conversation on the trade-offs of monolithic and microservice architectures... and I LOVE what I'm learning. I'd really like to have at least 3 small-scale projects handy that I'm using to automate my own life and make this job search easier for me.

Of course I'm going to continue to try to plow through these issues, and I'm not here to necessarily ask for help with my applications (although I won't say no if someone wants to help). It'd be great if I can explain how I solved these problems, because I know the challenging problems I've solved are what I'd want to highlight to people in an interview.

But let's say if the day comes where I have an interview and DON'T have a "finished" product, yet I still have these code samples that I can defend and show that I've gained a great deal of experience from... would it be a good idea to present these in an interview?

Thanks for the help,

Evan

Show more
Posted a year ago
89 Views
3 Comments