|
necrobobsledder posted:My general advice is more of a "don't do" list than a "to-do" list. The truth of a lot of tech jobs, contrary to popular belief, is that most are actually pretty crappy that follow corporate tropes and make career advancement nearly impossible. Think I'd take umbrage at these two. Would you work at Google as a Network Engineer or Site Reliability Engineer? Why or why not? From #2, you're also saying then avoid Netflix right?
|
# ? Apr 8, 2016 23:37 |
|
|
# ? May 13, 2024 07:11 |
|
necrobobsledder posted:The recession really put a damper on a lot of people's careers, mine included definitely. Being nowhere near a major metro area while looking for a job during a recession didn't help either. Hah. I'm currently in a #3 company, and the amount of "we need this done by next week" is astounding. They have no foresight to understand software changes/updates require time to a: build, and b: test thoroughly, but they need it done now
|
# ? Apr 8, 2016 23:59 |
|
Hughlander posted:Think I'd take umbrage at these two. Would you work at Google as a Network Engineer or Site Reliability Engineer? Why or why not? From #2, you're also saying then avoid Netflix right? What's causing the umbrage? I don't think it's an ideal state of affairs, but I don't think he's wrong.
|
# ? Apr 9, 2016 01:05 |
|
Hughlander posted:Think I'd take umbrage at these two. Would you work at Google as a Network Engineer or Site Reliability Engineer? Why or why not? From #2, you're also saying then avoid Netflix right? Netflix is a digital media distribution and production company. Blockbuster / Red box... not so much. Amazon's relationship with its customers is primarily digital, too, not brick & mortar like Home Depot or Best Buy (and everyone knows how awful working in retail itself is). Interesting enough, the online porn companies have some of the most interesting technical challenges out there. Playboy? Eh... they used to have a pretty interesting infrastructure and operations team last I heard. There's no hard and fast rules obviously, but I think there's more in common with bad jobs than good jobs have with each other if we had to start somewhere.
|
# ? Apr 9, 2016 01:08 |
|
like reverse Anna Karenina SRE for a company that cares about uptime is art of the "high class" group most of the time and can command more resources.
|
# ? Apr 9, 2016 01:11 |
|
So no corporate IT cost centers, no non-software companies, no sales-driven culture, no lax interview, and no contractors. drat, what's left? I feel like the majority of jobs out there are at those kinds of places.
|
# ? Apr 9, 2016 01:47 |
|
There's really no hard and fast rule here. The idea is that you want to be someplace where you're acknowledged for successes as well as failures.
|
# ? Apr 9, 2016 01:51 |
|
necrobobsledder posted:The good news is that Seattle has tons of great software companies, although I'm wondering if your language bias may be what's keeping you from some of the hotter companies with more compelling products. Off the top of my head, Portland has Puppetlabs and they're pretty alright. They're mostly a Ruby and Clojure shop last I saw when it comes to backend. Even Chef is Ruby and Erlang, but some C# may be viable given the relationship with Microsoft now. Heck, I'd give Microsoft these days a fair shake. Know any companies in Seattle off the top of your head I should look at? I have PMs if that works better. And yeah I feel like C# might be getting in the way, but I'm not sure how to get away from it. I've applied to some Java jobs and sometimes they will bite but not always.
|
# ? Apr 9, 2016 02:30 |
|
kloa posted:Hah. I'm currently in a #3 company, and the amount of "we need this done by next week" is astounding. They have no foresight to understand software changes/updates require time to a: build, and b: test thoroughly, but they need it done now Oh god, I winced too. Imagine this sort of thinking driving a project for ten years and at least three nearly complete staff turnovers, and that's the codebase I'm dealing with now. It's like playing Jenga but instead of wooden sticks, the playing pieces are old sticks of dynamite that are sweating nitroglycerin. We're slowly managing to clean it up and point things in better directions, but it is the definition of painstaking work done under pressure.
|
# ? Apr 9, 2016 06:20 |
I've enjoyed the startup life for the past 6 years or so fwiw don't have a family to support or anything tho so ymmv
|
|
# ? Apr 9, 2016 06:33 |
|
Cryolite posted:So no corporate IT cost centers, no non-software companies, no sales-driven culture, no lax interview, and no contractors. I've worked at place where they don't ask to write code on whiteboard, but rather ask design and technical questions, and some of these place were great.
|
# ? Apr 9, 2016 13:28 |
|
AskYourself posted:I've worked at place where they don't ask to write code on whiteboard, but rather ask design and technical questions, and some of these place were great. Yeah, that was my interview at my current place. I think at a certain point you stop getting the gotcha programming challenges because the assumption is that you've amassed enough of a body of knowledge and work that you can ramp yourself up on whatever language the company uses.
|
# ? Apr 9, 2016 15:40 |
|
I've found that a great filter is giving a code problem along the lines of "here's a moderately interesting problem that can be finished in a hundred lines or so in 1-2 hours" following the phone interview. What they give back is a way better indicator than making them code on a whiteboard during an in-person interview.
|
# ? Apr 9, 2016 15:59 |
|
I liked the interviews I had for my current job. Sure, a few simple whiteboard questions just to prove I'm not completely stupid. But also we spent a bunch of time talking about architectural problems we've had in our respective projects. For instance they threw out problems they were recently dealing with, and they had me show them the app I was working on and what some of my tough problems were. They were clear up front that they had a week or more to figure out a solution to their problems and I was getting 45 minutes, and they're calibrating expectations accordingly. Bottom line though is that it was a really fun discussion, and it paid off in multiple ways because both sides got to learn something about how they'd work in the real world. Also we were able to use these questions to filter out people who otherwise had good CS credentials but when we asked them to design software, they proposed something completely idiotic that we would never pass code review.
|
# ? Apr 9, 2016 18:24 |
|
Also, the code on whiteboard thing is so far from how we actually code nowadays. I mean yeah, you should be able to be able to code fizbuzz with your eyes closed and join a couple of sql tables on a whim but reverse a linked list ? That's just being lazy and copying the Googler and it has nothing to do with the actual daily work of a programmer / Analyst. By nothing to do I mean on a daily basis, how often do you reverse a linked list manually ? Or code your own binary tree ? Modern language have all of this details abstracted away and JIT compiler are way more effective at optimization than your brain. Of course knowing how to effectively structure your data and how algorithm complexity work (Big O) is necessary. If you can explain how it work, you don't need to actually code it. Unless you're applying for a embedded system programmer or language design / compiler design... AskYourself fucked around with this message at 19:26 on Apr 9, 2016 |
# ? Apr 9, 2016 19:21 |
Progressive JPEG posted:I've found that a great filter is giving a code problem along the lines of "here's a moderately interesting problem that can be finished in a hundred lines or so in 1-2 hours" following the phone interview. What they give back is a way better indicator than making them code on a whiteboard during an in-person interview. Definitely this. It seems to be the second step in a hiring process after phone screens now. Especially if you're out of state. After that you get an in-person and they fly you out.
|
|
# ? Apr 9, 2016 19:29 |
|
In one of my best interviews they just had code on a piece of paper and wanted me to go through and talk about what it did and what the issues with it were. I really liked that and I'm not sure why I don't see it more often.
|
# ? Apr 9, 2016 20:00 |
|
AskYourself posted:Also, the code on whiteboard thing is so far from how we actually code nowadays. I mean yeah, you should be able to be able to code fizbuzz with your eyes closed and join a couple of sql tables on a whim but reverse a linked list ? That's just being lazy and copying the Googler and it has nothing to do with the actual daily work of a programmer / Analyst. Uhm, isn't "reverse a linked list" just a trivial check to see if somebody understands recursion? Seems to me like an easy enough question to ask on a whiteboard just to make sure the candidate has minimal knowledge of recursive functions and data structures. Defining a binary tree is something you could easily expect a candidate to know if the job is for a more functional programming language as well. It all depends on the job of course.
|
# ? Apr 9, 2016 20:13 |
|
We do two practicals. One is here is the code base in a dir and a Java stack dump. What went wrong? (The dump and code is from a prod issue awhile back). Follow up is how would you fix it ? The other is in any language take two json files with some overlapping fields and create a new json file from it with certain criteria. The machine is installed with every IDE and no one has requested one we didn't have on it. This one is a great weeder and is relevant to the role.
|
# ? Apr 9, 2016 20:14 |
|
HondaCivet posted:In one of my best interviews they just had code on a piece of paper and wanted me to go through and talk about what it did and what the issues with it were. I really liked that and I'm not sure why I don't see it more often. Because it's simple and makes sense. Interviews are becoming increasingly complex pranks you play on candidates. But the candidates end up getting the last laugh anyway because for all the unique and justifiable interviews companies have come up with it's still difficult to judge what exactly you're getting. I say this as someone that interviews candidates.
|
# ? Apr 9, 2016 20:17 |
|
So here's a fun thing thing that used to happen at the company I work at. One of the guys that does phone interviews used to ask a question (true or false) that he thought wasn't possible that was very much possible. Candidates would get penalized for providing a correct answer. I have no idea how long that went on because I wasn't on the calls and I wonder if we ever lost a potentially good developer because they answered just one too many answers wrong.
|
# ? Apr 9, 2016 20:21 |
|
Walh Hara posted:Uhm, isn't "reverse a linked list" just a trivial check to see if somebody understands recursion? Seems to me like an easy enough question to ask on a whiteboard just to make sure the candidate has minimal knowledge of recursive functions and data structures. Defining a binary tree is something you could easily expect a candidate to know if the job is for a more functional programming language as well. It all depends on the job of course. You are correct it's not particularly difficult. But I'd rather know if they understand the principle behind it and explain it in simple terms rather than if they've read and memorized Cracking the coding interview.
|
# ? Apr 9, 2016 20:29 |
|
I would absolutely require someone to know how to reverse a linked list if they're going to be working in a memory managed language. It's trivially simple and does not require any "tricks" unlike most problems in Cracking the Code Interview. I assume anyone who can't do it in linear time and constant memory does not have a good grasp of pointers.
MeruFM fucked around with this message at 20:42 on Apr 9, 2016 |
# ? Apr 9, 2016 20:34 |
|
Walh Hara posted:Uhm, isn't "reverse a linked list" just a trivial check to see if somebody understands recursion? Seems to me like an easy enough question to ask on a whiteboard just to make sure the candidate has minimal knowledge of recursive functions and data structures. Defining a binary tree is something you could easily expect a candidate to know if the job is for a more functional programming language as well. It all depends on the job of course. Okay, I'm blanking here, why do you need recursion to reverse a linked list?
|
# ? Apr 9, 2016 21:23 |
|
It's not about how useful it is, it's just a very basic algorithm. Maybe it's because I've been programming in functional languages lately where such list operations are trivial (2 very short lines of code), but I'd expect my colleagues to know how to do it without having read or memorised the answer in advance. That said, I would not require it to be linear time as long as they can say what the complexity is. I mean, this really is not too difficult to come up with yourself: (obviously other solutions are possible as well) code:
There are certainly much worse questions to ask in an interview. In the interview for my current job I just had a bunch of intelligence tests, stuff like "find the next number in this sequence", which is in my eyes even less valuable. (finance) edit: woops, misunderstood qntm's question as " why do you need to know how to reverse a linked list " . You're right, you don't need recursion at all, a loop or a fold will work just fine. Not sure why I made it sound that way. I do think recursion is a very logical and easy answer to this problem and that it is so easy that everybody should be able to do it (or at least the suboptimal version). Walh Hara fucked around with this message at 00:01 on Apr 10, 2016 |
# ? Apr 9, 2016 22:08 |
|
necrobobsledder posted:an engineer version of Geek Squad Fun fact: that is what Best Buy calls their internal help desk and they wear the uniform, too. Also, I've never worked anywhere that didn't satisfy most/all of your list
|
# ? Apr 11, 2016 15:52 |
|
What are the SDE title levels at Amazon? For instance the friend who referred me for an open position is an SDE III, what level of experience/responsibility does that correlate to?
|
# ? Apr 14, 2016 01:49 |
|
kitten smoothie posted:What are the SDE title levels at Amazon? I haven't worked there in most of a decade, but back then an SDE3 was basically one step down from the software architects who were responsible for overseeing the overall design of major platforms. SDE3s generally had probably 5-ish years of experience? Keep in mind that Amazon experienced huge turnover back then (and they may still these days; I haven't been paying attention), and liked to hire fresh out of college, so there were a lot of inexperienced devs at SDE1/2.
|
# ? Apr 14, 2016 02:27 |
|
Edit: Nevermind.
The Laplace Demon fucked around with this message at 07:17 on Apr 22, 2016 |
# ? Apr 14, 2016 08:09 |
|
There are some organizational issues in the really small company I work for. Being so small and flat, my department is managed by someone with many other supervisory duties and no grasp of my department's field. This has led to bizarre micromanaging directives but a disconnect from the day to day work being done. We often have to sneak in industry best practices in terms of quality and efficiency that go against his wishes, yet result in a product works as intended on time. My useful coworker just got laid off due to "differences of opinion", leaving me with someone who has no ability except bullshitting. The lack of understanding of our day to day activities has led to no accountability for my awful coworker and no understanding of the value that my ex-coworker provided. I'm being invited to share my thoughts on the organization, how things are running, etc., in the wake of this. They are screwed without me and I think they understand that at least. I'm planning on moving on, but the pickings are slim unless I relocate. Do I tell them what's happening and maybe effect some change or just keep my head down and wait for my number to come up? Typing this up has me thinking the latter is the obvious choice.
|
# ? Apr 25, 2016 00:04 |
|
1. if you think the company is screwed without you, you should definitely leave or try to and see if the amount they need you is satisfactory You have no obligation to your company other than what they pay you to do <- this should be in the OP or title. 2. it sounds like you have big company problems even though your company is small. Also a good reason for leaving. Regarding the original question... just keep your head down if you're looking to leave, but need them to kick you in the butt first. Or yell and make a scene if you want to get booted faster. It doesn't sound like you're especially interested in change especially since your friend just got laidoff for "management" reasons. Actually just fart in the supervisor's face and leave the door.
|
# ? Apr 25, 2016 00:41 |
|
Trying to fight culture as an individual contributor is normally something that is a futile effort in a large company because there's just too much momentum against you - even CEOs have massive problems doing this, how could lonesome engineer #1482 do it more effectively? Furthermore, I generally advocate against getting into the dynamics of culture change unless there's some significant upside to it that does impact your career significantly. Furthermore, in the event your cultural transformation initiatives of sorts do work, what's the chances that you'll get any credit whatsoever instead of a manager that is worshipped as a deity because they're just that good at politics and have been able to hire people to exploit like yourself for so long? However, in your situation you're part of a small company. Nonetheless, it sounds like the culture and social factors are against you attaining some form of mastery, autonomy, or purpose so you know what to do probably. I am of the strong belief now that nobody with any potential should work for terrible organizations because this simply validates the business / operating models of terrible employers. I have quit from employers before that I didn't feel valued adequately enough in the past and most places that you quit from will probably survive somehow. Do not feel pity for those that do not offer you much compassion or recognition for your hard work or wish to listen to managers over individuals doing work when push comes to shove. I've had my former reports take over my position (poorly), I've had multiple contractors hired to take over my old projects, and even in the worst case they've gone out of business and the people that were slime still got jobs because parasites are the most successful organisms in every part of the food chain in the animal kingdom. Don't forget the important misconception that a parasite is like a mosquito - most parasites in nature convince the host that the relationship is a symbiotic relationship and the parasite alters the physiology and dynamics of the host to make conditions more acceptable for the parasite's longevity. This is what most professional managers do to typical companies. The most honest place you will find an employee is in their exit interview, so that's the place to effect change with greatest efficiency as an individual contributor IMO. There's some great dramatic irony that if the organization actually gives a drat about ever improving, they will listen most strongly to those that they cannot retain (most businesses simply don't care about what individual contributors have to say, so there is no point wasting time trying to effect cultural change in organizations for most people in this thread IMO). Your cultural values are not so much defined by who you attain as much as who you reject or repel, after all.
|
# ? Apr 25, 2016 00:55 |
|
Speaking of leaving a job due to company culture. What constitutes job hopping and is this really even an issue for software engineers in tyool 2016? My average tenure at the 4 jobs I've had since college, excluding my current job, is roughly 36 months (4 years, 18 months, 4 years, 2 years). Been at my current job for 10 months. I like my immediate teammates and my boss quite a bit, and I work on a high profile product with millions of users. Nothing really is bad from a day to day standpoint at all. But the company culture outside my team is kind of an obstructionist tire fire and it really eats at me. I've got an interview scheduled week after next with a company that I take to have a much better engineering culture, and it's an even higher profile product by an order of magnitude. Also from what I have heard, the comp would be such that I'd frankly be an idiot not to take the position. If I get an offer from these guys and leave my job after ten months, is that going to follow me around for a while and look really bad?
|
# ? Apr 25, 2016 02:16 |
|
One ten month stint isn't going to look that bad if you stay for a while at the next place.
|
# ? Apr 25, 2016 02:26 |
|
kitten smoothie posted:If I get an offer from these guys and leave my job after ten months, is that going to follow me around for a while and look really bad? I don't think a single 10-month stint matters at all (though you should have some kind of answer for "why'd you leave that place so soon after starting?"). What matters is when it looks like a pattern because you've spent the last 4 years at 4+ different shops. If have two 10-month stints after graduation and nothing else, that starts to look like you interview well but suck as a regular employee. If you have two 10-month stints after a couple 2+ year jobs, that seems plausibly like you've just had some bad luck or good offers.
|
# ? Apr 25, 2016 12:20 |
|
If you're like me with 10 jobs / roles in 10 years you'll start getting some cautious looks and should have prepared a reasonable response. Until then, take good opportunities when they come to you and make sure that the company's general technical problems are matched sufficiently well to be slightly out of your comfort zone if possible so you can continue to learn and grow each time you change jobs.
|
# ? Apr 25, 2016 14:45 |
|
I've done C# development for a few years and I recently had an interview with a company that looks interesting that's using Ruby. I'm a bit concerned that Ruby's star seems to be falling and I wouldn't want to get pegged as a "Ruby guy" because that seems like it'd be kind of limiting. Is this worth worrying about? Is getting too married to one particular stack a trap that's easy to fall into?
|
# ? May 17, 2016 01:12 |
Just make sure you stay up on current javascript libraries and practices. As someone with history using both .NET and Rails, backends will change but javascript seems to be a universal constant in my life anyways ruby developers are still pretty sought after. my current place was headhunting for my position for over a year before I got hired - and for a way better salary than I ever did in .NET land
|
|
# ? May 17, 2016 01:28 |
|
I like angularjs but to be honest frontend work isn't really my focus and the constant churn kind of irritates me. But anyway, that's helpful to know. Thanks.
|
# ? May 17, 2016 01:41 |
|
|
# ? May 13, 2024 07:11 |
|
You could always just be a backend JS guy, but then you'll just be... "that node.js guy *snicker*" Ruby is going to be the new Java but still cooler than Java for a good long while, I wouldn't fret about getting invested into it. For example, Chef and Puppet have tons of it and will keep writing a lot of Ruby for years to come, but that's not Rails work, understandably. The divergence from Ruby on the backend is mostly from the very few, very visible places that are hitting situations where they're better suited to distributed transactional style workflows than what Ruby was decent at. On the other hand, it's not like Github is going to stop using Ruby on Rails and they're supporting a massive amount of transactions and data. I'd have a lot more reservation for Java or J2EE jobs than RoR jobs and I believe strongly that's how it'll stay.
|
# ? May 17, 2016 01:55 |