Blog #3: Starting the Project

I’ve finally gotten started writing some code for this class! Our project is a website called ‘Farm Match’. The idea is farmers and farms can both use the website to find jobs/workers around them.

The parts I’m responsible for are:

  • The search page for workers to find farms with job listings
  • A page specific to each farm that displays all the active job listings the farm has
  • The search page for farms to find people looking for work near them

I spent some time creating the front end for the first bullet point, and will try to get some of the backend stuff working the rest of the week, like the map box display. I’ve been trying to think about how we should structure our DynamoDB tables. The user will search mainly by location, and they will be able to filter the results by pay range and/or type of job.

I think the way we will approach this is as follow: Each job will have a location hash as the primary key, and the site will take the user’s location and query for location hashes close to the user location. The rest of the information (job type, pay range) must then be stored in the data. We should be able to get all the nearby farms first, then filter out based on the data.

DynamoDB is very different from the SQL tables I am more familiar with, so it will definitely be a challenge for me to tackle this.

Blog Post #2: Interviewing for My Amazon Internship

For my second blog post I thought I would talk a bit about the interview process for internship at Amazon last summer. I applied in Fall 2020. At that point, I had taken the two intro CS courses at OSU, as well as discrete math and Computer Arch./Assembly. I was concurrently taking web development and data structures. I think taking data structures that same quarter was perfect timing, as it greatly increased my ability to solve LeetCode problems and understand how to approach the problems.

I was fortunate in that my friend had worked at Amazon for 2 years at this point, and he was able to refer me. I think having this referral played a big role in me getting my resume past the initial screen and ultimately getting the position.

Prepping for the interview was a still lot of work. I did roughly 150 LeetCode problems over the course of a month and a half. This list of problems is a great starting point that covers a wide range of types of problems. LeetCode also has list of problems that are frequently asked by specific companies, and I went through the list of problems that Amazon asked most frequently as well.

I think the most important thing is not to just be able to solve coding problems, but to be able to explain your process as you’re coding out the solution, and voicing out your thought process. Even if you’re stuck, you should be talking out loud and explaining what you’re stuck on, and what possible solutions you’re considering attempting to unblock yourself. Usually, a good interviewer will hop in with a hint. A big point of the interview I think people miss is to gauge your communication skills as well.

On top of coding, I had to prepare myself to answer behavioral problems. Amazon places a lot of emphasis on their leadership principles, and I tried to mold my previous work experience around these principles.

Thanks for reading!

Blog Post #1: Introduction

Hi! My name is Shane Yen, and this is the first post for my blog for CS 467. I thought it would make sense to use this entry to talk a bit about myself and my background.

I’m from San Jose, CA, born and raised. My first degree was a Pharmacology B.S. from UC Santa Barbara. I graduated in 2018. After graduation, I worked at Thermo Fisher Scientific as a lab technician for a year, and then as a research scientist at a biotech startup called Rani Therapeutics.

I decided to make the switch to CS when I was still working as a lab technician. I enjoyed studying biology in school, but working in a lab was very mundane and repetitive. I was essentially running the exact same lab procedure day after day. I decided I wanted to switch to a career where I could be more challenged and solve different problems every day. Software engineering seemed like a no-brainer, and I found OSU’s post-bacc program and applied.

This program has been very enriching and exciting, and I am very glad to have made the career switch. I’ve learned a lot from my classes and met a lot of great people. A major advantage going back for a bachelor’s has over a coding bootcamp is the option to apply to internships, and last summer I had the opportunity to intern at Amazon/AWS, and I’ll be returning there full time after I graduate.

Outside of school and work, I enjoy playing video games, producing music, and building mechanical keyboards. I also enjoy traveling! I’ve recently visited Washington, New York, and Hawaii, and prior to COVID I’d visited several countries in Asia. I was hoping to make a trip around Europe after I graduate this quarter, but with Omicron spreading so rapidly I’m not sure if that’s still in the picture.

A keyboard I build last year from an old Gamecube controller meant to chat with players online in Phantasy Star. The controller and the keyboard both function!

Thanks for taking the time to read!