Andrew Sorensen

Software Engineer

<andrew>

Profile Picture
  • |

Projects...

  • F1-DataBucket

  • Minecraft Calculator

  • Zero to Sixty

F1 team page

Uses the Ergast and Google Maps APIs, LAMP stack, and Materialize.

Background...

I am a very thorough Web Developer with a real passion for using technology to make our lives easier and more efficient. I take a great deal of pride in my work and definitely think that the little things are what make all the difference. Proper code formatting, for example, is something that I have noticed that few engineers actually take the time to care about.

After a relatively short stint in sales for a couple of companies, I decided that the career I really wanted was in software development. I quit my job, moved back in with my mother, and basically hit the reset button on my life in order to attend Coding Dojo in Bellevue. Armed with the skills required to pursue one of my passions, I secured my current position with Expedia, Inc. as an Associate Software Engineer..

Check out some of my projects above!

Why pick me?

Well you certainly don't have to! There are a few things that certainly make me a unique choice though:

  • One of the things I learned from my musical experience is that attention to details matters. A lot. Even if it means going back through to make sure your code is indented properly. That stuff matters and I won't put code out there that doesn't at least look nice.
  • Something else that I've noticed tends to get lost on some engineers is a general sense of pride in the work that they do. It's my opinion that you should be very proud of everything you've written. If it gets to a point where you're not proud anymore? Rewrite it.
  • Finally, there's problem solving ability. This is what separates the good from the average. The ability to isolate a problem and determine the difference between unrelated code and very much related code is a difficult one. It takes focus and a sharp logical mind. I am very proud of my ability to start from a symptom on a user interface and trace the bug or bad data through every step, even when it leaves my area of expertise.

Another thing I learned from studying music is dedication. Spending 4-6 hours per day alone in a practice room was necessary to master control of the piano, and it is no different with coding.

Through my current experience with Expedia I have learned and become accustomed to what it takes to be a successful Software Engineer in an Agile environment. The number one thing that I strive for is to learn something new every day. Whether it's a small CSS trick or learning to use JavaScript Promises, every day brings more knowledge.

If you're interested, go ahead and email me so we can talk about about how I may fit into your team!

- Sorensenapaul@gmail.com

Formula1 DataBucket

F1_Track

This project was inspired by my passion for Formula 1. It uses get requests to the Ergast API to retrieve fastest laps/results for tracks and Driver/Team information and the Google Maps API to display the track's location. Unfortunately the API is relatively slow to respond, so the requests sometimes take a few seconds to complete.

An exercise in AJAX, the page only reloads when you click a link in the top navbar. The AJAX requests to the Ergast API take around 300-500 ms to return depending on your internet connection. This caused significant issues when trying to parse through and store the data locally, as the scripts would execute asynchronously and store the same data multiple times. I solved this issue by controlling the flow of the script via callbacks.

The graphs that are displayed on the driver and team pages are created by a custom graphing library that I built from scratch called Charter.js.

Minecraft Calculator

Minecraft Calc main page

Yet another passion project! Minecraft is an important creative outlet for me and I found myself frequently having to open the Windows calculator to figure out linear distances, figure out how many items I would need to fill X amount of chests, etc. I realized that this was a great opportunity to get into app development and streamline those operations!

Minecraft Calc circle helper

Learning how the Android SDK uses XML and Java together, I have been working on this app on and off for a year. Currently, the Linear Distance calculator, Item Calculator, and Circle helper are functioning well! The Recipe library is coming along well, I am currently in the process of loading all of the recipes by hand. After that, I need to address some layout issues.

Minecraft Calc item calculator

The application also includes a recipe helper, which contains all craftable items and the recipe/yield for each. Screenshot of that coming soon!

Zero to Sixty

Zero To Sixty Main Page

This project was fueled by my desire to use the sensors built in to most phones. While measuring speed via GPS is easy, I wanted to develop a more unique solution. This application uses the linear accelerometer in most phones to create a 3D acceleration vector. Due to the nature of this method, inaccuracy accumulates over time. However, I figured that this would be acceptable since it is not intended to be used for much more than 10 seconds at a time.

Zero To Sixty Running

I added a calibration button to offset any native sensor imprecision. The app takes an acceleration measurement every 1/10th of a second until you click stop or the speed reaches 60mph. It is a bit too inaccurate for my liking at this time. (Note: odd looking speed measurements in the screenshot here are just because I was waving the phone around to get it to show some kind of speed.)

ConeDeathAPS - Updated 2/26/2018 at 8:00pm PST