Bay Area Tech jobs from a Non-STEM Background

Shreya Bhattacherjee
11 min readApr 15, 2024

--

The goal of this article is to provide the reader with an overview of what he or she can expect in a job search in the Tech industry of the SF Bay Area. It is particularly relevant for readers belonging to a non-STEM, non-computer science, Non-Tech Background. The article starts with a brief description of the different types of jobs available in the Tech industry to help the reader understand what type of job category he or she can best fit into. That discussion is followed by a brief description of what type of skillsets are required to clear the interviews for these specific job categories. One of my other articles is more focused on the interview process and what type of resources the reader can use to effectively study for these interviews.

Source: World Wide Web

1. Introduction

This is an article written to help people from a non-Tech, non-computer science background trying to move to a Tech job in the San Francisco Bay area. I was one such person, an Econ major, doing my first job in the banking industry in 2018. I had about two years of real industry experience and an Econ PhD degree. I decided to look for a Tech job in the San Francisco Bay Area, specifically, due to personal reasons. It was a tough process and I hit several roadblocks before getting my first job. During that process, I constantly stumbled and learnt a lot of valuable lessons, I wish I had known before. It would have made my job search process several times quicker and easier.

I changed two more jobs since then, all in the Bay. A lot of my friends and acquaintances, who inspired me during my journey, reached out to me for advice and their questions motivated me to write this article summarizing all my knowledge in one place. Hopefully, this will help you and give you a general overview of what you are up against and what are some of the do’s and don’ts in this process.

The first point that I would like to highlight is the fact that interviewing for Bay Area Tech jobs is a very time consuming process where the interviewers have a very high bar for hiring a particular candidate. Hence, it is imperative that one should be sure about what type of job fits one’s skillsets and future career goals the best.

2. Types of Tech Jobs

There are four basic types of Tech jobs in the SF Bay Area.

  1. Data Analyst
  2. Data Scientist
  3. Machine Learning Engineer (MLE)
  4. Software Engineer (SWE)

These four job categories mainly differ from each other on the basis of the various areas of the product that a company is building. My article is mostly from the perspective of a Tech company whose final product is a website- that has various pages and each page has many product features.

There is quite a bit of overlap between these four job categories as different companies use these names interchangeably. For example, some companies will hire their Data Scientists in roles having job descriptions similar to that of Data Analysts in other companies. One has to be very cognizant of that and read the job description very carefully before applying or interviewing for a position. Interviews for the SF Bay Area Tech companies are a very time consuming process and requires considerable investment of time and energy from a candidate. It’s good to be sure of the fact that the end outcome is what one actually desires before starting the interview process. More on that later. Let me start with giving the reader a general overview of the job descriptions associated with these titles based on the understanding of most of us in the industry. Please note that the job descriptions stated below often overlap with each other, depending on various companies.

Please note that I have ranked the job categories on the basis of the type of coding prowess that is required in the day-to-day job as well as in the interviews of a particular job category. I use terms like “highest level” and “lowest level” in that context. I do not have the intention of making any type of value judgement of any particular job category.

a. Data Analyst

This the lowest level of all the Tech jobs, based on the technical and coding prowess utilized by folks in the day to day life of their job. According to my understanding, Data Analysts are mostly responsible for answering short term product problems that require a quick solution. They are also the source of all the reports utilized by the Senior Management and the Product/Business managers in the day to day running of the business. Most of their projects have a very short time span- usually between one or two weeks. Sometimes, Data Analysts are tasked with very urgent problems that have a deadline that’s as short as a day or two. Often times, Data Analyst jobs have very high visibility as they end up working with very senior folks associated with the business.

The fundamental skill that differentiates a Data Analyst and the Data scientist is their knowledge and grasp of Statistics and the degree to which Statistical theories and concepts are used in the day-to-day job duties. Most of the Data Analyst jobs are centered around the following

  1. Working with the Product Managers to discuss new Product ideas in terms of the revenue that the new product can bring.
  2. Pull data using SQL for adhoc as well as concrete analysis
  3. Monitoring the Performance of new products by building Dashboards (in Tableau, Power BI etc. ) using already pulled Data
  4. Automation of Data Pipelines and Reports (in some companies)
  5. Doing a lot of adhoc analysis for various stakeholders using Excel and Google spreadsheets
  6. Be very versatile with creating Excel Based models — the type of models where the stakeholders will be able to see results for various scenarios by changing numbers in some specified cells in the spreadsheet.
  7. Good people skills and Stakeholder management skills required
  8. Might need to build simple regression models in Excel using three of four variables

b. Data Scientist

The next level of technical and coding prowess is needed for Data Scientist roles. In some companies Data Scientists require very advanced understanding of statistics and Causal Inference Modeling. In some Other companies Data scientists are also required to build full scale Machine Learning Models. Data scientists mostly work on long term Product problems that require a more sophisticated solution and each project lasts for two to three months. Some of the job descriptions in the day to day life of a Data Scientist are as follows.

  1. Build Metrics Key Performance Indicators (KPIs) for measuring impact evaluation of a new product feature.
  2. Design and Interpret the results of A/B Tests using those KPIs- work with the product manager on designing the right KPIs for this process.
  3. Implement Causal models where A/B tests failed or could not be implemented
  4. Build Machine Learning Models to answer product questions- these models are typically not productionalized. A lot of Marketing models belong to this category.
  5. Stakeholder management and good people skills
  6. A lot of Simple regression Model (Linear and Logistic) for understanding relation between various drivers of an outcome

c. Machine Learning Engineer (MLE)

Machine Learning Engineers (MLEs) and Software Engineers (SWEs) work on the actual product that the Tech company is building while the Data Scientists and Data Analysts work on measuring the opportunity a proposed product can bring or the actual revenue impact an already designed product has brought. The day to day life of an MLE mainly focuses on the following jobs.

  1. Working with the Product Manager to discuss new Product ideas in terms of time and resources required to build the product- the practical aspects of any product creation.
  2. Training and Testing a particular ML Model that constitutes some of the cores of the new Product. A lot of bootstrapping and Hyper parameter tuning are used at this stage.
  3. Writing neat Production level code that can be used to deploy the ML model in a production environment
  4. Implement Unit testing and Regression testing to ensure that the designed product has integrated well into the overall systems of the main product of the company
  5. Monitor the performance of the product in the long run.
  6. Less stakeholder Management when compared to a Data Scientist or an Analyst

d. Software Engineer (SWE)

Software Engineering (SWE) is the highest level of a Tech job in terms of the coding skills required in the day to day job. Often times, an MLE and an SWE has a big overlap in their skillsets. I am not a person who is very well versed in this area and but I will still try to describe the day to day responsibilities of an SWE

  1. Coding and Software Development
  2. Design and Architecture
  3. Testing and Debugging
  4. Code reviews
  5. Less Stakeholder Management

3. Interview Process

The interview process of these roles mainly test the following areas.

a. Data Analyst

The interview process for the pure Data Analyst roles cover the following topics.

  1. SQL Live Coding — Advanced level. One should expect to get two medium and one hard question in a 30 to 45 minute interview and the interviewee will be expected to write an optimal solution for that problem. The interviewer will evaluate a candidate’s knowledge of basic SQL joins/windows functions, the ease with which the candidate writes the code and their problem solving skills in a time bound situation.
  2. Business Case Study (Advanced level) - The candidate will be presented with a hypothetical scenario that is close to some of the situations that are faced by the Data Analysts in their day to day job. The main goal is to check the candidate’s intuition with respect to what type of solutions he or she can devise for a given product problem. The interviewer will expect him or her to have a working knowledge of the product and the overall business model associated with the company, the key metrics and KPIs used by that company as well as the specific domain the role is focused on. For example, if one is applying for a role in the Fraud analytics domain of an e-commerce company, then one is expected to know acronyms like charge-back, ATO, Stolen Financials, Loss rate, False positive rate etc. and have a thorough knowledge of the various fraud MOs associated for buyer or seller side payment risk architecture. If the candidate does not have prior experience in this domain, then it is expected that the candidate will invest some time in researching these concepts before taking the interview.
  3. Take Home Exercise- Some interviews involve a Take-home exercise where the interviewer will use the candidate’s submitted responses to evaluate their problem solving abilities in situations where they are not bound by any time constraints. The candidate is usually provided with some dummy data and some questions that the candidate is expected to solve using that data. The evaluation bar and the difficulty of the questions are usually higher for this test. Often times, the interviewees end up using tools like Tableau to make their submissions more competitive.
  4. Product Interview- This interview consists of a conversation with a Product Manager where end to end Product knowledge is tested. The product interview mainly tests on concepts involving the four stages of a tech product lifecycle (product ideation, product creation, product deployment and product sign-off) and the various priorities that need to be considered in each stage. These mainly involve descriptive responses to the questions. This is another area to showcase one’s people skills and eloquence.
  5. Stats Interview- The candidates are evaluated on their stats skills at a very Basic level for Data Analyst interviews. This evaluation is often a part of the SQL coding interview. Questions are based out of Basic Probability and Hypothesis Testing

b. Data Scientist

Data scientist Interviews usually cover the following areas.

  1. SQL Coding- Advanced level
  2. Python Coding- Easy to Medium Leetcode questions. Per my experience, the interview questions do not cover topics beyond basic Data structure and Algorithms like array, string, maps, for-while loop etc. In some interviews Python coding questions are constructed as a follow-up from Probability questions where the candidate is expected to run a simulation of a statistical experiment (e.g. tossing a coin or rolling a die etc.) using Python and verify the mathematically derived answer.
  3. Business Case Study- The Business Case Study interview of a Data Science role tests a candidate on all areas mentioned in the same segment of a Data Analyst interview. In addition, the candidate is often asked questions on designing/ interpreting A/B tests to carry out impact evaluation of a particular new product feature. This interview might also cover business problems that will require causal modeling
  4. Stats/Causal Model Fundamentals- The fundamental skills that differentiate a Data Analyst and a Data Scientist is the candidate’s skill and depth in the understanding and applications of basic statistics to solve business problems. Hence, this is a very crucial interview and the candidates are expected to have an advanced level understanding of this area.
  5. Take-Home Challenge- Some Data Science interviews involve a Take-Home challenge. The candidate is provided with some dummy data and some questions that the candidate is expected to solve using that data. The questions are more focused on the application of ML/Causal models in hypothetical business scenarios and the candidates are expected to use common Python/R packages to solve them. The bar at which the candidates are evaluated for this test is higher as the candidate has more time and resources to formulate their responses.
  6. Product knowledge- This interview consists of a conversation with a Product Manager where end to end Product knowledge is tested. The product interview mainly tests on concepts involving the four stages of a tech product lifecycle (product ideation, product creation, product deployment and product sign-off) and the various priorities that need to be considered in each stage. These mainly involve descriptive responses to the questions. This is another area to showcase one’s people skills and eloquence.

c. Machine Learning Engineer (MLE)

  1. Live Python Coding- This is a key skillset of an MLE and the interview is heavily focused in this area. Some companies even have two or three rounds of coding interviews. The interviews typically consist of Medium to Hard Leetcode problems focused on a candidate’s understanding of the Data Structures and Algorithms.
  2. ML Depth- This interview starts with a typical use case that MLEs in a company face and then the candidate is asked to come up with an algorithmic solution to the problem presented in that use-case. The candidate’s knowledge of the chosen algorithm is then tested further through in-depth questions and the candidate's ability to code that algorithm from scratch.
  3. ML Breadth- This interview focusses on the candidate’s understanding of a wide variety of ML algorithms that are typically used in the industry
  4. Product Knowledge- This interview consists of a conversation with a Product Manager where end to end Product knowledge of the candidate is tested. It sometimes also focuses on questions around A/B testing and KPI Development if the interviewer is a Technical Product Manager.

d. Software Engineer

I have never taken an SWE interview and hence I do not have any information on this topic.

Please see my other articles that lay out the resources that might be helpful in preparing for interviews involving Live Coding, A/B testing and Causal Modeling and ML/Stats fundamentals. I have also written another article where I have described some general tips and strategies that worked for me in my past job search experience.

I hope this helps in giving the reader a good overview of what he or she might expect if they choose to start looking for a Tech job in the SF Bay Area when one is not from a computer science background and not working in the Tech industry. Unfortunately, in recent times, Tech jobs are more like standardized tests and less like traditional job interviews. One needs to devote many hours in advance in order to prepare for the Live coding interviews and to develop a working knowledge of the product and the company they are interviewing for. A big part of the interview is about luck- some of the interview questions cannot be solved during the interview without prior practice beforehand. Even the best people experience some failures before they get their first offer in all stages of their career. Ultimately, it’s the perseverance, motivation and determination that will take the reader to the finish line, if he or she feels that the journey is worth their time and effort.

--

--