Live data from Hacker News

Always Be Coding – How to Land an Engineering Job

medium.com

141–150 of 250 posts

Re: Always Be Coding – How to Land an Engineering Job

#141
post #127

One of the problems that I have with this list is some of the stuff I just haven't had to deal with since college, like implementing all those data-structures like bubble sorts//binary search, linked lists, etc...In 15 years, I've never had to implement one (when I was a C/C++ coder in the '90s, we used 3rd party libraries like Dinkumware). Interviews that ask these type of questions are really skewed at hiring young…

What you're claiming is a straw man of the processes I've personally seen. In most good interviews they ask you something specific to implement, such as how do you implement a code complete feature in an IDE or an event logger. There will be some obvious naive solution that would be slow with any reasonable amount of data. They want to see if you can use the data structures in practical way. The expectation is that i…

Agree...maybe I read too much into the listed algorithms, because you're suggesting real-world scenarios where some of these concepts can be applied.

But I will say, as never having used a graph search like Dijkstra's in any of my work, the idea of studying this to take a hiring test still goes with my theory of learning something by rote. If someday I need to implement the concept, or use it, I'm sure I'll go figure it out. I had to do this awhile ago with a Levenshtein distance for computing similar string matching. Had someone asked me in an interview, I'd have completely failed at it.

Re: Always Be Coding – How to Land an Engineering Job

#142
post #104

Earlier quoted context omitted.

> Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start thinking about how I'd much rather be building or tinkering with something. So that's what I end up doing. Nailed it. Another interesting thing I noticed about myself in technical interviews is that I have a lot of trouble doing things that I would have no trouble with if I'm…

Has anybody here ever actually been asked to exactly implement quicksort?

More than once. Also, merge sort, heap sort, and some problem specific variations of these.

Re: Always Be Coding – How to Land an Engineering Job

#143
post #9

Really good post, thanks David. I'm really curious as to how you landed an interview at Google (let alone a job) without a college degree. My understanding is they are very strict about that and it's hard to even get a foot in the door without a degree. [disclosure: I'm on a 10 year "hiatus" from my senior year in college]

They don't require a degree if you have significant experience, and a referral from a Googler helps.

(Source: don't have a degree, interviewed at Google)

Re: Always Be Coding – How to Land an Engineering Job

#144
post #7

You can build a startup in the time it takes to thoroughly prepare for these interviews/positions. Willingly subjecting yourself to this rat race is essentially the same thing as stamping yourself as an "ibm man," in the words of Jobs. Who cares if you don't know the intricacies of all the hot algorithms of the day. Spend your time creating actual value for the world, instead of practicing just for the sake of impres…

If I could support myself with a three week project instead of spending all day sitting on malodorant trains and an office chair, you'd be damned sure I would do that

Re: Always Be Coding – How to Land an Engineering Job

#145
post #128
post #44

Earlier quoted context omitted.

For CS graduates from some big name colleges that go to work on Wall Street or other "finance" it is: 1. Master algorithms 2. Get a job at & Co. 3. Use Excel all day everyday 4. Get rich.

I interviewed at 7 investment banks on Wall Street after college. Never took any of the jobs, however, I had friends who worked on Excel spreadsheets that managed 100s millions in capital. This always amazed me.

They just want smart people in general. CS or not doesn't matter. It still baffles me that they ask algorithms and CS questions then sit in you front to Excel.

Re: Always Be Coding – How to Land an Engineering Job

#146
post #41

Re-invent the wheel. You should implement the most common data structures in your language of choice. [...] While I agree that it helps a lot understanding those data structures by implementing them, it might be good to add "Don't use them in production!" paragraph.

Yeah, the funny thing about all the data structures & algorithms quizzes is that the simplest solution is usually a recursive one, and the big-O performance is sort of irrelevant because chances are you're using a language that doesn't have tail-call optimization and you're going to blow the stack frame for any large value of n anyway.

Re: Always Be Coding – How to Land an Engineering Job

#147
post #70

Earlier quoted context omitted.

Bootcamp in the Marine Corps is an example of a tough hiring practice. Are your friends and family doctors or lawyers, per chance? Both professions use grueling hiring marathons which are much, much worse than a software engineering interview (residency and the bar exam). All other engineering professions require a rigorous licensing process, whereas software engineering is one of the cushiest jobs on the planet. In…

The bar exam is a licensure process, not a hiring process. The hiring process at a large firm (analagous to a big software company) is a 20 minute screener where you chat about the weather, followed by a callback where they put you up in a nice hotel, and you have a series of 20 minute chats about the weather punctuated by a nice lunch at the local steakhouse. Gruelling it isn't... Not that I would suggest replicatin…

The bar exam is a part of the hiring process, its just that its outsourced to a licensing agency. In the software field, each company just does it themselves.

Re: Always Be Coding – How to Land an Engineering Job

#148
post #42

I've been a junior developer for almost 2 years now at a fairly large company. At my current position, there hasn't been a single task thrown at me that I have not been able to complete with ease. I've worked with multiple languages and technologies that I was not familiar with at all when I started. I tend to figure them out pretty quickly and get on with the task at hand. I've built a bunch of side projects (not al…

You don't mention how you're finding jobs, but my main advice would be to get referred to jobs. Let everyone you work with, and which you share a mutual respect with, know that you're looking -- seed your network. Also go to meetups and any sort of external events you can (user-groups for software products, etc). Because, as others mention, being referred helps immensely.

Also as others mention, confidence in the interview is something you can develop. Practice. Practice speaking, practice the white-boarding (somehow... maybe record yourself at home with video and watch it), or use the public forums (the meetups). I've taken to recording myself reading the Harvard Sentences, to hear how I sound. Whatever works for you.

Finally, it's just a numbers game, the long game.... It. Takes. Time. The whole process always takes longer than I expect. Keep searching, try to not get emotionally attached to it, because it's such a roller-coaster ride ('I had five rounds of interviews, we had good rapport! .... [two weeks later, after silence: no-go decision]), and lay low in your current job because a paycheck is nice to have in the meanwhile.

Re: Always Be Coding – How to Land an Engineering Job

#149
post #104
post #16

To properly prepare for these interviews you have to invest quite a bit of time. At this point in my life (late 20s), my time is one of my most valuable resources. So, the last thing I want to do is spend that time effectively preparing for a data structures and algorithms exam. Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start…

> Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start thinking about how I'd much rather be building or tinkering with something. So that's what I end up doing. Nailed it. Another interesting thing I noticed about myself in technical interviews is that I have a lot of trouble doing things that I would have no trouble with if I'm…

>I'd rather spend my time tinkering with stuff than preparing for interviews

If we're talking about raw programming skill, I would say that actually learning these fancy algorithms will pay off more than (random) tinkering. It's the difference between directed and undirected practice. Undirected practice only takes you so far. To truly get good at something one must do deliberate, directed practice consistently.

Re: Always Be Coding – How to Land an Engineering Job

#150
post #121
post #70

Earlier quoted context omitted.

Bootcamp in the Marine Corps is an example of a tough hiring practice. Are your friends and family doctors or lawyers, per chance? Both professions use grueling hiring marathons which are much, much worse than a software engineering interview (residency and the bar exam). All other engineering professions require a rigorous licensing process, whereas software engineering is one of the cushiest jobs on the planet. In…

I think engineering is a tougher path than you do. It's as if physician had to pass a whiteboard exam on a randomly chosen topic from organic chemistry every time he or she interviewed for a new job. While I agree that the premed curriculum and med school are rigorous, attrition rates in engineering are very high. It's tough to get into med school, but it's tough to major in CS or engineering, and getting into a top…

I agree with you, but also keep in mind that leaving an engineering PhD program early ("Mastering out") still keeps your job prospects wide open. In comparison, leaving an MD program early leaves you very few options in the field, in my opinion.
Post reply on HN