Introductions

I desire knowledge. I want to learn.

That is the overarching theme of my life. I've been fascinated with computers ever since my dad bought our family's first 486 back in December of 1994. I was 8 years old and quickly learned how to edit the config.sys and autoexec.bat to change the boot sequence.

The first language I learned was Python 2.0. I learned basic control flow, input, and output by writing a text-based choose-your-own-adventure game. In the spring of 2001, I used VB6 to create a Who Wants To Be A Millionaire-style trivia game for a research project on Shakespeare.

For a while, I set programming aside and focused on getting into college for mechanical engineering. I succeeded, and was accepted at the University of Illinois in Urbana-Champaign. In my first year there, I knew it wasn't quite right. I struggled in physics and chemistry, two classes which are relied upon heavily in mechanical engineering.

But there was one class I excelled at: CS101: Intro to Computing for Engineers. In that class, I was in my element. We were taught C and Matlab, and I loved both languages. I especially loved C. I loved the rules. I loved the challenge of pointers. I loved the control. I loved learning what was happening on the lowest levels inside the computer. I loved that computers think analytically, just like myself.

I switched majors to Computer Science. I got summer internships. I graduated. I never stopped learning, and I don't plan to stop now.

I want to work with a team that uses technology to its advantage. Continuous integration is required. Automated deployments are a must. I got a taste of unit testing and dependency injection, and I want more.

I want a challenge. I want to experience the pains of scalability, and develop solutions to overcome them. I want to discover, design, and implement order-of-magnitude performance enhancements. I live to find solutions for problems.

I want to grow. I want to learn everything you have to offer. I want to annoy your other developers by being that guy that asks questions about everything. I want to know what everything is doing and why. And when the next developer joins after me, I want to mentor him or her on everything that I know—not just so they can learn, but because the best way to learn is to teach.

I want to work with people who want to learn. My ideal teammate looks for better solutions to problems that they have already solved before. Like me, they look at their code from a year ago and want to apply their newfound knowledge to make it better. They are never content with the status quo, and encourage the whole team to look for ways to improve the way things work.

My ideal employer knows that a junior developer who strives to learn is better than a senior developer who is content in their current knowledge. I hope that you are this employer. If you are, then I want to work for you.