5 ms·
In real job interviews are these skills more valued than real experience with real technologies? I mean worked with different languages and frameworks on differ
by aeon10 13y ago
In real job interviews are these skills more valued than real experience with real technologies? I mean worked with different languages and frameworks on different problems? or as a graduate having good algorithmic skills is far more important than those?
As a student who will soon graduate this is a real dilemma. Do i learn and practice more algorithmic problems to get better at that side, or learn and work with as many technologies I can to get some 'real world' experience.
- jtseng 13y agoFrom the interviews I've done so far, the algorithm questions are more important. From our perspective, it's much easier for someone good with algorithms to learn a few technologies than for someone with a few technologies to learn algorithms. Plus, you're going to need to take some time to familiarize yourself with our software system anyway. It doesn't matter too much to us if you take two months to ramp up or 3. This just seems like a better way to evaluate candidates even though we rarely have difficult algorithmic problem in our daily work.
- aeon10 13y agoSo to make my chances in the future better, it would be better for to spend time on sites like topcoder honing on my algorithmic skills rather than say, experimenting with nodejs. Or does this depend on the company/job I am applying to?
- namelezz 13y agoThe truth is no one knows how to find or be a good software engineer.
- keslert 13y agoIt's interesting, but your chances of getting a job are very dependent on how well you perform during the 30 minutes they throw small algorithmic questions at you. This isn't to say that alone will get you a job, but if you bomb that part of the interview, it's basically over.
- jsolson 13y agoYes, time spent on TopCoder is more likely to help you in coding interviews in general than picking up new technologies. I say this with some specificity to Amazon (I did ~200 interviews while I was there), but it would apply equally well to every other tech interview I've done. Top Coder will change the way you think about problems (in terms of what primitives you'll bring to bear against them). I would say the same for mastering another framework that has a different model than those you've used before, but that both takes a lot more time and is nearly impossible for an interviewer to evaluate unless they've achieved the same mastery. Algorithms are in some sense a least common denominator proxy metric for "can this person solve problems?" Usually this is followed by "can this person string three lines of code together and perhaps use a for loop?" When these interviews go well it's usually a pretty accurate indicator that the candidate is technically capable of doing the job. The contrapositive is not always the case -- when the interview goes badly you're sometimes left with a nagging sensation that because you did a crappy interview you're going to miss out on a good candidate. That's just the way (many) hiring systems are biased, though -- it's better to say no to a good candidate than say yes to a bad one.
- snorkel 13y agoFor technical roles, hiring managers look for prior experience using directly related technologies. For recent college grads with no prior work experience you can still look through actual job postings in your field of interest, pay special attention to the tools and technologies listed in the required experience section, then go try build something with those same tools, and put that project on your resume. It's perfectly valid to list side projects on your resume, it still counts as hands-on experience. Technical hiring managers will want to talk about the project, how did you think of it, how well did it work, etc, they're not going to care as much that no one was paying you to do it, in fact more power to you for showing the creativity and ambition for building it yourself without being instructed to do so. Algorithms only come up in job interviews just to check basic understanding of computer science, but most of the discussion should be on what tools, protocols, and services are you hands-on experienced with, and it doesn't matter if you were paid for it.
- snarfy 13y agoA graduate with good algorithmic skills will have a better chance of getting a job at amazon, google, or microsoft than one with real world experience with various technologies. The belief is it is easier to train a computer scientist to be an engineer than the other way around.
- snorkel 13y ago... but ultimately each candidate is weighed against the other candidates, so if it comes down to a recent college grad with good grasp of algorithms vs. another candidate with 5 years of work experience and a rusty working knowledge of algorithms as needed, usually the more experienced candidate will get the job. Algorithms are part of the screening process, but really the candidate with the most hands-on experience building using these same tools will be preferred. Each business has an immediate need to get work done, and so is only willing to invest so much in on-the-job training for new hires, which means the candidate needing the least training, and can also provide new insights based on experience, usually gets the job. Other factors weigh in too, such as college grads are cheaper and work harder then the salty old pros, so there's a trade off between experience vs. cost.
- sib 13y agoThat's not quite true, at least in some companies. New college grads are typically applying for different roles than candidates with 5 (or more) years of experience. Additionally, in fast-growing companies (such as Amazon and Google), it's usually the case that candidates are measured against a hiring bar and, if they exceed, they are presented with an offer, independent of other candidates. That is, there are more openings than can be easily filled, so any candidate who meets the bar can be hired, rather than being explicitly in competition with each other.
- Zombieball 13y ago> Additionally, in fast-growing companies (such as Amazon and Google), it's usually the case that candidates are measured against a hiring bar and, if they exceed, they are presented with an offer, independent of other candidates. We'll said. I think this is an important thing to note for any new grads looking to interview at these companies.
- pnathan 13y agoYMMV, because some people value technologies & frameworks, and some people value actual things that last (yeah, cheap shot). I prefer the candidate who can comfortably talk about algorithms, data structures, algorithmic analysis, theories of programming language, and theory of computation, and then discuss how they implemented the areas of interest to them. I have no need for someone who can't write code to implement the theory they know. Part of this focus is my belief that software engineering is not teachable in college; the projects are too small and the social dynamics don't carry over to the work environment. I am fine bringing an intern or new grad along and teaching them configuration management, practice & theory of testing, code reviews, etc. These things can be taught to someone of reasonable social capability who has already learned coding and algorithms, something I am not really willing to teach new grads.
- jsolson 13y agoI said more about this below, but algorithms are an easy proxy metric for comparing candidates. This is especially true of students; many of them lack any practical experience outside of class and capstone projects.
- namelezz 13y ago"Do i learn and practice more algorithmic problems to get better at that side, or learn and work with as many technologies I can to get some 'real world' experience." It's the same question I had for myself when I was in school pursuing my CS degree. What I noted at that time(it may be WRONG now) was that if you wanted to work for companies as big as Amazon, Apple, Google, Microsoft...(it does go on) you should be good at tackling algorithmic problems and attend an university with decent reputation in CS. Otherwise, you would never get called for an interview to begin with. Knowing someone in the company also helped too. Those companies believed that a candidate with strong CS background would be worth their time spending on training him or her. On the other hand, most start-up companies were only interested in ones with strong technical background since they expected you to begin contributing to their code base by the time you join their team. I know it's difficult to pursue your passion and feed yourself at the same time. Good luck with your job hunting.