Luke J. Duncan

linkedin:

Introducing Next Play, the LinkedIn Band!

From left to right in main pic: Michael Olivier (keyboards & vocals / director of eng), George Sleiman (drums / recruiter), Michael Scheinholtz (guitar / senior software engineer), Caitlin Crump (vocals / analytics scientist), Peter Frueh (guitar / web developer), and Tim Lynn (bass / senior web developer). Not pictured: Eric Heath (guitar & bass / director of legal).

Moving to The Valley in pursuit of greatness.

I was pretty much born and raised in Dearborn, Michigan — the home of Ford World Headquarters.  It’s hard to find a municipal building in the city that isn’t named after the humble founder.  It was probably a compromise that the city even retained a non-Ford name.

Since graduation I’ve been a fourth-generation Ford employee - my great grandfather earned his scars during the union busting days; my grandfather retired off the assembly line; and my dad and uncles all either work directly for the company or very close within its orbit. It’s easy to say FoMoCo has a rich heritage in my family.

For the last year, I’ve been lucky enough to work on the software engineering side of the AppLink product doing mobile application development with a fantastic team.  While working in an IT department that serves at the pleasure of a car manufacturer, I somehow landed within an incredibly innovative and unique microcosm of the company.  Taking a job at Ford was the best decision I could have made with where I was when I graduated.  It’s been a year and I have grown tremendously, finished half of my masters degree, and enjoyed living in a beautiful apartment in Downtown Detroit overlooking the Detroit River and Canada.

But last Friday was my last day.  A little over a year after my first day on the job I say goodbye to Ford and hello to LinkedIn!  If my exclamation point didn’t say it for me: I’m really excited.

When I first graduated from undergrad I had a few big goals, but one big one: to get out of Michigan.  Somehow I’m pretty sure I’m not the only one from my graduating class with that objective.  It’s not that Michigan is a bad place or Ford a bad employer (Quite the contrary Ford is a great employer).  There was another goal motivating my wanderlust.

The other goal I had when I graduated — and still have — is to become a great software engineering generalist.  Great takes more than a couple diplomas and the opportunity to write cool software.  Great takes always being in a little over your head.  Great takes being immersed in a highly technical culture.  It takes being around really smart people, preferably smarter than you.  It takes being in a culture that celebrates failure, exploration, intellectual honesty, and innovation.  It takes more than a good job, but being in a region that is saturated with the best and the brightest in the tech industry.  In a sentence: great takes playing in the Big Leagues.

Silicon Valley is the Big Leagues and LinkedIn is right in the middle of it.  The contrast with the Detroit area is huge.  In Detroit, when people find out I’m a software engineer, I’ve come to accept that the average person will respond with something akin to: “oh, so you can help me install Microsoft Word.”  I’ve even had a manager before, while working in a position where I was essentially repeatedly teaching them how to use Outlook, respond with “Oh, you mean this isn’t what you’re studying to do?” when I informed them that I needed to put in notice so I could start an internship in my field.  As someone recently said to me while describing their move for a job at Google in the early days, “The dinner parties in The Valley will be filled with very smart people — maybe even names you know — who are all talking about incredibly exciting and innovative things.”  They are actually trying to draw a contrast to dinner parties in NYC (Hint: there’s a more eclectic crowd in NYC). But I kept thinking of home.  Not to idealize The Valley, but it’s certainly got something to offer that Detroit does not.

In my pursuit of my “Dream Job,” I interviewed at a number of cool and interesting places.  In fact, I originally wasn’t entirely sure that the Bay Area was where I would end up.  Starting with a post I discovered through Hacker News and through the generosity of the author, Matt Mireles, I met some pretty compelling startups in NYC.  Due to some former college recruiting, I even had some opportunities working for some secretive portions of the government in DC.  Ultimately, however, the government sounded stifling and NYC startups sound a little ahead of where I was in my career.  Silicon Valley is the place I need to be to hone my skills and maybe even make a name for myself.

Among the places I interviewed with in The Valley, LinkedIn stood out to me.  I did two phone screens, the first of which I was sure I botched.  When I finally did an in person interview it was a full day, 9-hour set of highly technical interviews.  It was challenging and I loved it.  The last person I met with was at the director level of the team I was meeting with.  He grabbed a dry erase marker and mocked up some of the challenges a company that works at Internet scale faces, and the types of problems I’d get to play with.  He ended by asking me if it sounded like something I wanted to learn. I was sold.

So, why the big move?  Why drive my dad crazy by moving across the country? Because I believe LinkedIn and Silicon Valley are key enablers in that lifelong pursuit to become great at what I’m passionate about.  I’m excited to be joining their team next month and look forward to the challenges ahead.

TLDR: I left Ford Motor Company for a job a LinkedIn and am moving to San Francisco.  I think the Bay Area is cool, and will be great for my professional growth.  I’m excited about this.

Just after graduation and before starting at Ford I did a tour of The Valley taking pictures in front of the places I thought would be Dream Jobs.  Here’s one from that series of pictures.  The sign reads: “CIS Grad, PLEASE HIRE”

Other pics:

 

http://www.flickr.com/photos/romancingthedream/4279873481/
http://www.flickr.com/photos/romancingthedream/4279874611/

If you’re a HackerNews reader, please consider up-voting this post:

http://news.ycombinator.com/item?id=2433023

Sample Work on GitHub

Having recently changed my landing page I decided to organize myself around a few select websites and services, namely: GitHub, LinkedIn, Tumblr, and Twitter. For the most part all of those are completely up-to-date and ready to fully represent me. GitHub, however, is a new tool to me and doesn’t have a lot of material up. Until today it was completely sparse with the exception of a partial tool I built for a homework assignment last semester.

Throughout the last year or so I’ve collected a number of little puzzles and code samples that I’ve completed.  These include old interview puzzles, programming competition practice problems, self tutorials, etc, that don’t serve much practical day-to-day use.  I’ve decided to sanitize them by removing any references to companies or people that they may have been originally submitted to, and upload everything thats a decent code sample and doesn’t fall under an NDA.  

I uploaded three old samples today, and will continue to upload projects moving forward.  Feel free to check them out!

https://github.com/lukejduncan

Starting to read up on my project ideas for my distributed computing class.  Good crash course into “What is Hadoop” and why big data cares about it.

All New lukejduncan.com

The transition is complete.  Check out www.lukejduncan.com to see the new site. The landing page itself uses flavors.me, the blog portion is obviously tumblr, my twitter and my github feeds are included as well.  Photo credits for the current background go to CAVE CANEM for their picture titled CAN YOU DIGG IT! (Found Art) Ding Dong The King is Dead!

Transitioning My Web Presence

I’m slowly transitioning from the original MovableType based www.lukejduncan.com to using a combination of tools for my web presence.  In undergrad maintaining a server, CMS, blog, and doing everything on my own made sense.  At the time I started I had no idea how to do it!  The only way to learn was to jump in and get your hands dirty. Now all my time is spent learning other things and I really just want a place to post stuff and point to my LinkedIn and Twitter without having to manage the entire software stack that makes that possible.

In the meantime I’ll be migrating content that seems appropriate and backing up the old site.

Graduate School - Statement of Purpose

As defined by UMD:

The Academic Statement of Purpose should be a concise, well-written statement about your academic and research background, your career goals, and how this graduate program will help you meet your career and educational objectives.

My Statement:


Software development, much like carpentry, is a creative trade.  Similar to the carpenter, software developers have tools unique to their trade.  It is familiarity with these tools that define the master craftsman.

Currently, I work on a research and development team at Ford Motor Company.  My responsibilities include coming up with and implementing proof-of-concept software for in-vehicle solutions.  In this position I am able to create and explore solutions to new problems.  This position has helped solidify my goal to be a leader of innovation as either a research and development team leader or software entrepreneur.  It has also helped me understand the exciting power of my trade.

I began my studies at Henry Ford Community College, where I received my associates degree in liberal arts.  Soon afterwards I enrolled in the Computer and Information Science program at the University of Michigan, Dearborn where I graduated with a 3.5 GPA.  While there, I studied the fundamentals of my field by taking classes such as Operating Systems, Database Management Systems, Computer Architecture, and Artificial Intelligence.  Outside of the classroom I was an avid participant in many algorithmic competitions including events sponsored by the Consortium For Computing Science in Colleges and the Association of Computer Manufacturers’ International Collegiate Programming Competitions.  I have competed on teams that have ranked in the top 10 in multiple competitions including a second place victory. 

The programming competitions were a passion of mine while I was attending the university.  As I continued to seek them out, my abilities as a programmer grew tremendously as well as my general understanding of the science.  What I found in these competitions I am now seeking at the University of Michigan - depth of understanding and expertise.  What is unique about the Rackham graduate school, is the availability of quality education with the option of online study.  While I currently work in the Dearborn area, I fully realize that my goals may take me elsewhere during the course of my study, or may even limit the number of regular hours available for study.  Rackham offers me the opportunity to hone my craft in an efficient manner that can account for any changes that my future may bring.

With a concentration in System Applications and Computer Graphics, I will be able to become an expert in computer science fundamentals and study an exciting growing area of the field.  It also allows me professional opportunities in traditional, as well as the maturing computer gaming and digital imaging, industries.  By choosing this academic degree, I can also explore doctoral studies in the future.  

The Rackham Graduate school gives me a more robust and fully featured toolset for creation, empowering me to become great at what I do - to become a master craftsman.  It allows me to gain and grow expertise as I begin an exercise in lifelong learning.

Graduate School - Personal Statement

As Defined by UMD:

How have your background and life experiences, including cultural, geographical, financial, educational or other opportunities or challenges, motivated your decision to pursue a graduate degree at the University of Michigan?

For example, if you grew up in a community where educational, cultural, or other opportunities were either especially plentiful or especially lacking, you might discuss the impact this had on your development and interests. This should be a discussion of the journey that has led to your decision to seek a graduate degree.
Please do not repeat your Academic Statement of Purpose.

My Statement:


Throughout my life I have had a very strong relationship with my father.  My father did a great job building and maintaining our relationship as we bonded over the business of life.  

My dad grew up in a household where no one went to college. His three brothers all followed in my grandfathers footsteps launching great careers in skilled trades within the orbit of Ford Motor Company.  My dad received his associates degree from Henry Ford Community College and set off in a slightly different direction.  

At the age of nine, my dad began taking me to work with him on the weekends.  The company he worked for maintained a bin of old electronics.  While my dad performed his duties as a technician, I played with the electronics and built my first robot.  The robot did nothing, and was really just a collection of disparate parts clumsily taped or glued together, but in the eyes of a nine year old they could not have been cooler.  

As my dad progressed in his career I followed - almost every Saturday.  He eventually accepted a position as a General Manager at another company.  This new company was slightly larger and had programmers on staff.  When I was in the sixth grade my dad forced me on one of these coders after I had exhausted his patience.  In turn, I was given a SAM’S Teach Yourself Visual Basic in 24 Hours book with a whopping one thousand plus pages.  I read it all, and came back with questions every weekend.

As I continued to follow my dad to work, I learned many things that I am only now coming to appreciate.  I watched as my dad grew from General Manager to Vice President with global responsibilities and was able to sit in on many of his meetings receiving introductions to all of his staff and clients.  I observed as my dad struggled to overcome his limitations as he sat in meetings alongside people with multiple degrees.  I was also able to see the opportunity those degrees bought his peers, opportunities that my dad worked so hard to earn himself.  

It is these experiences that inspire me to pursue a higher education.  It is how hard I worked at sixteen, mowing the lawns of all the companies on the same street my dad worked on, just to pay for my first 300 Mhz computer; how hard my dad worked every Saturday that I shared with him as he strived to afford my private education and help my mom through nursing school; and the standard that my father set by both his example and his frequent reminders of what kind of education was required to do the kinds of things I found exciting.  These are the life experiences that have made me decide to pursue graduate studies, so that I can one day provide for and educate my children as my father has done for me.

Getting That First Job

 

Having finally achieved that often dreamed about goal, getting my first real job, I thought I’d share a little bit about my experiences and what worked for me.  With the economy being what it is, especially here in Michigan, tension runs high for graduating seniors.  I know it did for me.  Following is the culmination of pieces of advice and tips I garnered along the way, as well as a few things that just worked for me.  Most of the advice is generic, and can be applied to most degrees, but towards the end I included a few tips specific to my fellow Computer Science graduates.

Yourself on Paper

This may be obvious, but you need to write a great resume and cover letter.  This needs to be a long process, and in some cases it may even be a little painful.  Like any important document, both of these need to be proofread by your most trusted advisers.  For me, each version of my resume initially took two to three weeks of proof-reading before I finally had a framework that I was ready to use and easily modify.  

I also like to write these types of things in waves.  I’d write the first version, and the next day review it myself.  With the second version I’d review it myself and then send it out to my first group of reviewers.  These were my friendly career service councillors, friends, and family that had the best grammar and patience for my emails.  At this stage, it’s important to keep in mind your reviewers backgrounds.  Some of them may be great at grammar but know nothing about your field.  In my case, most of my friends that were reviewing had degrees in journalism and screen writing, but often misunderstood the technical parts of my resume.  It’s important to make sure you understand where their advice is coming from and in some cases know which parts to heed and which to ignore.  

The next round of reviews came from professional relationships.  Site’s like LinkedInhelp a lot for this kind of stuff.  There were a handful of family friends and former colleagues who I knew had an industry perspective to bring to the documents.  This is the part that can sometimes be painful.  There may be things that you include that they think are completely irrelevant.  It may seem odd, but at this point these documents start to feel very personal.  For example, I had a few people suggest I take my Associate Degree off of my resume.  It took some time, but I eventually understood exactly where they were coming from.  In the end, I chose to keep this section.  However, the criticism offered by my reviewers showed me how employers would read my resume and taught me how I wanted to sell myself to them.  This sections inclusion was thought out and I knew exactly how I wanted to present the information in an interview situation.  As always take this criticism for what it’s intended, friendly advise that you sought out

Use your local resources

The first place to start is most definitely the Career Services Department - or equivalent - at your school.  As my resume evolved from my initial search for internships my junior year, to my career search my senior year, the councilors at school were a great resource.  They can do much more than just talk about your resume however. 

These departments put on many events such as Professional Dress classes, Interview Practice, and Job Fairs.  I went to all of these.  Even if you don’t think you need a particular class, just attending can be a great way to stay informed about other events, meet like-minded people with more great advice, and build relationships with the councilors who are in positions to send your resume to potential employers. 

There are also professional organizations with great resources.   I personally loved my student membership to the Association of Computing Machinery for all of its advice and articles.  The Engineering Society of Detroit also puts on an annual job fair, however my experience was incredibly negative at this event.  Especially in this economy these job fairs are incredibly busy and crowded with people with much more experienced than a recent graduate.  

This illustrates the value of your schools local job fair.  The companies in attendance are looking for college graduates, and the only people you have to compete with are the same classmates you’ve been competing with all along.  It’s a more comfortable experience, and probably more rewarding.

Yourself in Pixels

A great piece of advice, for any profession, is to make a professional website.  With employers using LinkedIn, Twitter, and Facebook to help them wade through resumes it’s important to actively manage your online presence.  I handled this, by partitioning my social networks appropriately. 
 
  • Facebook is used solely for socializing, and it’s privacy settings are set to reflect this; 
  • Twitter, is an informal way to keep up with other young professionals, follow technologist, and post statuses about technology projects I’m working on.  I like to think of twitter as a casual professional area, and that’s partially because of the culture of the site; 
  • LinkedIn is used solely for professional connections;
  • My website is a place to post more in-depth thoughts and write ups about projects that I’m working on;  
  • And all of these accounts are tied to each other, giving potential employers a deeper look at who I am, in a way that I can manage appropriately.  
Especially as a technologist, my website has worked to my advantage in many ways.  Some people may not believe it, but I’ve had recruiters question me about projects I’ve posted on the site that I hadn’t even mentioned in the interview.  My beer advisor project seemed to be a favorite among the local recruiters, and was a great way to talk about a technical project to non-technical interviewers.

The single biggest advantage of creating your own site is that it gives you some control over what employers find when they google your name.  Do you really want them to find a comment on a blog you wrote in early college about the advantages of mixing certain alcohol?  Centralizing your online identity into a site you control is one way of minimizing this.  That, and set your privacy settings appropriately on the sites you use.

Job Boards 

There are two sites I used aggressively, Dice.com and Monster.com, and one I used later on that proved to be a valuable resource, Craigslist.  Dice is geared specifically toward Technical Positions, however it was my experience that they were higher level positions and weren’t looking for recent graduates.  Every once in a while I would get a response to a submission I’d make, but I never received a cold call from recruiters scouring Dice.  With Monster, however, I received many cold calls from recruiters, and overall the jobs tended to be a better fit for where I was in my career.

Later on in my search someone suggested I use Craigslist.  I was suspicious of this at first, but I actually had some very good opportunities arise from it.  I uploaded a resume to each city I thought I’d like to live in, removed all sensitive information, and within a few days I was receiving emails from potential employers.  Some were worthwhile, and some not so much, but regardless I think it’s a powerful tool I could have made more use of.

A Few Notes On Timing

With graduation in December, I started my job search in early September.  I couldn’t wait to get my name out there and begin the interviews.  This experience was incredibly disheartening, since no one really wanted to talk to me until I was days away from graduation.  In fact, I didn’t receive many replies until the middle of November.  Some of my early September submission were held until December.  While this isn’t always the case, recruiters seem have immediate needs for positions. 

Many large companies do have recent graduate programs.  Whenever possible, find these, as they will setup to accommodate someone like yourself much better in the interview and application process. 

Timing was something I had no perspective on going into my job search.  Looking back on it, I would still start, aggressively, in September.  However, if I could have known to expect the delay in responses I could have saved a lot of stress.

The Technical Interview

This one goes out to all of the Software Engineers out there.  One thing that is taught in school, but not used much (in assignments), is object orientation.  My first phone interview was with a company in New York.  Within two minutes, the interviewer had started asking very technical questions about object orientation.  Being that this was my first real interview, I drew a complete blank, and subsequently embarrassed myself.  But it was after this interview that I sat back down with my old software engineering books and made sure I was ready for the next time.  

It’s really weird doing technical interviews over the phone the first time.  If you’re like me, you know how to do what you need to do in code, but maybe can’t articulate it on the spot when you aren’t expecting it.  This is something I had to get over, and you probably will too. 

In general, I found that the technical questions were pretty high-level, and, once you get comfortable with them, they weren’t too bad.  If you haven’t done a technical interview yet, I would recommend making sure you can do the following:

  • Be able to do simple worst-case Big-O analysis on a piece of code;
  • Know simple data structures (linked-list, hash table, etc), what they’re good for in comparison to each other, and the worst-case run times of simple operations on them;
  • And know a little bit about algorithms, how recursive algorithms work, etc.
All of that being said, everyones technical interview will be different depending on the position and your background.  These, however, were the types of questions I encountered.

Good Luck!  

These were just some of my experiences, but they may be useful for others in the future.  I hope they are to you, and best of luck in your job hunting. 

This post has also been published on Instructables.