Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

MeruFM posted:

Read that stupid book and do the problems...

I'm in the process of doing this and kinda wondering how the algorithm and data structure type questions will differ from my last batch of interviewing where I had 2.5 less years of experience. Most of the stuff in CTCI I have had a pretty easy time working through, especially the first few questions of most chapters, but I'm really starting to struggle about 5 questions into the recursion/DP chapter. I don't think I would have been able to get "recursive subsets of a set" if I was seeing it for the first time in an interviews.

Adbot
ADBOT LOVES YOU

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Ah geeze, I am not looking forward to doing toy programming problems on a whiteboard. I haven't done that stuff in, I think, eight years now. I can solve real problems just fine, it's just that all real problems in my domain only ever use lists, maps, sets, trees, stacks, and queues, really.

I'm pretty sure I remember Dijkstra's algorithm off the top of my head, but if you ask me to figure out your pet "clever solution" to a contrived problem, I'm probably gonna struggle a bit.

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

Pollyanna posted:

I just want to know how to become qualified for these $150k jobs people keep throwing around. I don't wanna stay a Rails monkey forever, and I don't know what to move on to.

As other people have said, it's basically doing bigger and more ambitious projects. If all you do is "Take bug off Jira queue; fix bug; commit;" then you'll have a hard time moving up, because you won't learn new skills, and you won't have accomplishments to talk about. Find ways to refactor existing pain points in your code without causing friction or slowing down your team. Get a really deep understanding of architecture of the systems you work with, and think about ways they can be better. When opportunities come along to influence these things and be in charge of large pieces of the code base or completely new projects, take them and do well. Don't be afraid to ask for advice and learn things from the more senior and skilled people on your team. Even if you don't get recognition or promotion at your current company, it gives you something to talk about in interviews with other companies, and why they should bring you in at $my_level+1.

The high points of my career ended up being when I was bored with my assigned work and took the extra time to invent something new and useful. (The low points were when I was bored, but also cynical and burned out about my company and managers ever having any technical ambition and giving a poo poo, so I sat around being lazy and bad tempered).

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

TooMuchAbstraction posted:

Ah geeze, I am not looking forward to doing toy programming problems on a whiteboard. I haven't done that stuff in, I think, eight years now. I can solve real problems just fine, it's just that all real problems in my domain only ever use lists, maps, sets, trees, stacks, and queues, really.

I'm pretty sure I remember Dijkstra's algorithm off the top of my head, but if you ask me to figure out your pet "clever solution" to a contrived problem, I'm probably gonna struggle a bit.

Get someone to do some practice problems with you first. Or, what worked for me, was going on lots of interviews for different companies, since seemingly everyone loves doing that style of interview now.

Be thankful we're not still in the "how many penguins can you fit in the Empire State Building" era of the early 2000s.

MeruFM
Jul 27, 2010

mrmcd posted:

Be thankful we're not still in the "how many penguins can you fit in the Empire State Building" era of the early 2000s.

I also prefer it much more to the "we like you so you get the job" method

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

MeruFM posted:

I also prefer it much more to the "we like you so you get the job" method

lol if you think other methods aren't thin veneers over that anyway

metztli
Mar 19, 2006
Which lead to the obvious photoshop, making me suspect that their ad agencies or creative types must be aware of what goes on at SA

mrmcd posted:

Get someone to do some practice problems with you first. Or, what worked for me, was going on lots of interviews for different companies, since seemingly everyone loves doing that style of interview now.

Be thankful we're not still in the "how many penguins can you fit in the Empire State Building" era of the early 2000s.

I think Chicago is just now catching up to the early 2000s - I was recently asked how I would go about replacing all the lightbulbs in all the streetlights in my city. I started with how I would determine the numbers needed, and ended up with an army of the homeless going out to replace bulbs, supervised by lieutenants selected from the unemployed, reporting to captains selected from the retired.

This was while interviewing for mid-senior/senior level gigs, and in the half dozen interviews I had, only one actually asked me anything along the lines of CS stuff. This is good because my education was in psychology and public health, so I'd be pretty hosed if I had to explain that stuff. The questions they were asking were mostly to feel me out on whether or not I grasped the notion of contextual algorithmic efficiency. Most everyone was more interested in the kinds of problems I'd worked on and how I went about getting actual work done, rather than wasting time with brain teasers. Maybe other markets are different?

MeruFM
Jul 27, 2010

leper khan posted:

lol if you think other methods aren't thin veneers over that anyway

it at least filters out the people who don't know the difference between an O(n^2) and O(log(n)) algorithm, which from my experience already cuts 50% in-person and 90% via phone screen

oliveoil
Apr 22, 2016
How dumb does it sound if I want to quit my job and do nothing for a month or three? Would that be career-suicide?

I've spent over two years at a MicroLinkedFaceGooberZon company in a major tech area, so I feel like I'd be able to get hired anywhere else any time else if I wanted or needed. I also have six months of savings. I just feel like, when I was a teenager, I used to spend my summers waking up late and staying up late playing and making video games badly. And now I have the skills to actually do something cool, but really I could do cool stuff on my own time while working- I just want to have no responsibilities for a few months like an immature teenager again.

No debt, but I only have six months of living expenses and nothing saved for retirement (i.e., no investments, empty 401k, etc.). Five if I have to get private insurance for that time. Too soon? I feel like less than a month of vacation each year, half of which is spent visiting family (so it doesn't count) just isn't enough. But maybe I'm a whiner.

I'm currently spending a lot more time at work and trying to take on more projects, so that either I look better when people start thinking about promotions or so people remember me and want me back if I apply again three months after quitting.

metztli
Mar 19, 2006
Which lead to the obvious photoshop, making me suspect that their ad agencies or creative types must be aware of what goes on at SA

oliveoil posted:

How dumb does it sound if I want to quit my job and do nothing for a month or three? Would that be career-suicide?

I've spent over two years at a MicroLinkedFaceGooberZon company in a major tech area, so I feel like I'd be able to get hired anywhere else any time else if I wanted or needed. I also have six months of savings. I just feel like, when I was a teenager, I used to spend my summers waking up late and staying up late playing and making video games badly. And now I have the skills to actually do something cool, but really I could do cool stuff on my own time while working- I just want to have no responsibilities for a few months like an immature teenager again.

No debt, but I only have six months of living expenses and nothing saved for retirement (i.e., no investments, empty 401k, etc.). Five if I have to get private insurance for that time. Too soon? I feel like less than a month of vacation each year, half of which is spent visiting family (so it doesn't count) just isn't enough. But maybe I'm a whiner.

I'm currently spending a lot more time at work and trying to take on more projects, so that either I look better when people start thinking about promotions or so people remember me and want me back if I apply again three months after quitting.

Ask for a leave of absence - unpaid time off. Then you might have a choice of coming back or not. It will hurt your chances for advancement where you are, but might be less than quitting.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


When you go to look for your next job, they're going to ask you why you took time off. If you tell them that you wanted to slack, that's not going to look so great. If you tell them that you had a project that you wanted to work on full time, that's better, but you're still going to have to answer questions about why you couldn't do it in your spare time.

Oh, and just in case this isn't obvious, if you're talking about working on a project, you'd better have something to show off.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
Six months of expenses is not so bad but with nothing else saved up you're taking a bit of a risk. Also note that health insurance costs tend to suck pretty hard when you don't have a corporate sponsor to get you into the lowest risk pools. It's not a big deal if you're young and totally healthy or don't have anyone to support but you may want to double check on health insurance costs if you were to quit.

If it's worth anything, I haven't worked for anyone for four months and I still have recruiters pouncing me on LinkedIn or through their networks and I'm pretty much in the worst place for tech jobs possible in the US near a metro area. However, if you're just two years out of school it's not quite as much a show of strength to quit. Last time I quit with nothing lined up I didn't work for a number of months before and it was kind of hard to find roles for people just one year out of school because most new graduate programs had filtered me out by then and I wasn't considered even a mid-level engineer either. I still got call-backs and such but I didn't like most companies hiring locally at the time but that was 10 years ago and Seattle was nowhere near as diverse in tech employers as it is now.

sarehu
Apr 20, 2007

(call/cc call/cc)

oliveoil posted:

How dumb does it sound if I want to quit my job and do nothing for a month or three? Would that be career-suicide?

I did it, 1.5 years into my first job. I had a year or so of living expenses saved up, and went 10 months before I started looking again. Found one no problem, though I focused on small startups probably in part because I thought it'd be easier. The resume gap was not a complete void, though, and I had very objective evidence of me being worth interviewing on there that most people wouldn't have. On the other hand the economy was worse. So YMMV.

Make sure you go outside.

sarehu fucked around with this message at 21:08 on Jul 31, 2016

asur
Dec 28, 2012
If you want to take a break and it is less than three months, I'd just find another job and tell them you want to start in that time frame.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I'm studying for a job interview (tomorrow!). What are y'all's favorite interview questions? So far I've gone through this list, refreshed my memory of Dijkstra's algorithm, and am reading about how malloc works. I should also probably remind myself how dynamic programming works / impacts runtimes and space requirements.

The company in question does a mix of hardware control and application development. Probably not a lot of "large-scale" stuff (server farms, database consistency, etc.).

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

TooMuchAbstraction posted:

I'm studying for a job interview (tomorrow!). What are y'all's favorite interview questions? So far I've gone through this list, refreshed my memory of Dijkstra's algorithm, and am reading about how malloc works. I should also probably remind myself how dynamic programming works / impacts runtimes and space requirements.

The company in question does a mix of hardware control and application development. Probably not a lot of "large-scale" stuff (server farms, database consistency, etc.).

Given a matrix of integers, find the submatrix with maximum sum

JawnV6
Jul 4, 2004

So hot ...
Know when a 16 or 32 bit timer in seconds or milliseconds will overflow. 16 bit seconds won't last a day, 32 bit milliseconds won't last 2 months.

The words const and volatile aren't on that practice list. i.e. Would it ever make sense to declare something const volatile? Yes, but Why?

Specifically for embedded or hardware control, tradeoffs between SPI/I2C. Which one's faster, which one uses more power, why do you end up using the worse one anyways.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

JawnV6 posted:

Know when a 16 or 32 bit timer in seconds or milliseconds will overflow. 16 bit seconds won't last a day, 32 bit milliseconds won't last 2 months.
This is basically just knowing roughly what 2^n is for certain n and being able to do some back-of-the-envelope calculations. It can be helpful to remember that every 10 powers of 2 is approximately the same as multiplying by 1000 (2^10 ~= 1000, 2^20 ~= 1 million, etc.). For this kind of thing, being able to approximate is fine (usually) -- there's 86400 seconds in a day but you can call that roughly 100k.

quote:

The words const and volatile aren't on that practice list. i.e. Would it ever make sense to declare something const volatile? Yes, but Why?
This one I had to look up, since I'd forgotten what volatile means. It would appear to prevent changing the value via the program code, but hint to the compiler that the value still may be changed by outside sources (e.g. memory-mapped devices).

quote:

Specifically for embedded or hardware control, tradeoffs between SPI/I2C. Which one's faster, which one uses more power, why do you end up using the worse one anyways.

This one I can't comment on as I've never written any embedded code.

Stinky_Pete posted:

Given a matrix of integers, find the submatrix with maximum sum

Are you speaking specifically about multi-dimensional matrices here, or is this a 1D array? I know of a solution for 1 dimension but am not certain it generalizes to larger dimensionalities.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



oliveoil posted:

How dumb does it sound if I want to quit my job and do nothing for a month or three? Would that be career-suicide?

I've spent over two years at a MicroLinkedFaceGooberZon company in a major tech area, so I feel like I'd be able to get hired anywhere else any time else if I wanted or needed. I also have six months of savings. I just feel like, when I was a teenager, I used to spend my summers waking up late and staying up late playing and making video games badly. And now I have the skills to actually do something cool, but really I could do cool stuff on my own time while working- I just want to have no responsibilities for a few months like an immature teenager again.

No debt, but I only have six months of living expenses and nothing saved for retirement (i.e., no investments, empty 401k, etc.). Five if I have to get private insurance for that time. Too soon? I feel like less than a month of vacation each year, half of which is spent visiting family (so it doesn't count) just isn't enough. But maybe I'm a whiner.

I'm currently spending a lot more time at work and trying to take on more projects, so that either I look better when people start thinking about promotions or so people remember me and want me back if I apply again three months after quitting.

If you can't do a sabbatical, want to quit and actually get questions about it when interviewing for the next thing, tell them there was a family medical situation or something similar. Anyplace you want to work should drop it there.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



TooMuchAbstraction posted:

Are you speaking specifically about multi-dimensional matrices here, or is this a 1D array? I know of a solution for 1 dimension but am not certain it generalizes to larger dimensionalities.

He didn't specify an output size, so just find the smallest number :v:

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Munkeymon posted:

He didn't specify an output size, so just find the smallest number :v:

Er, no, the classic problem is "I have an array of numbers that may be positive or negative, and I want you to find the subarray of contiguous elements of the array, that sums to the largest possible number." E.g. [4, -5, 3, 0, -2, 8, -6] would require you to return [3, 0, -2, 8]. Or alternately, you're required to return the sum, which is 9 in this case.

This is reasonably straightforward for 1D arrays once you know the trick, but I'm not really sure how I'd go about extending that to 2D or larger dimensionalities.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

TooMuchAbstraction posted:

Er, no, the classic problem is "I have an array of numbers that may be positive or negative, and I want you to find the subarray of contiguous elements of the array, that sums to the largest possible number." E.g. [4, -5, 3, 0, -2, 8, -6] would require you to return [3, 0, -2, 8]. Or alternately, you're required to return the sum, which is 9 in this case.

This is reasonably straightforward for 1D arrays once you know the trick, but I'm not really sure how I'd go about extending that to 2D or larger dimensionalities.

It's pretty easy to brute force by walking the space for every window of total dimensionality D in sequence from 1 to dim_x + dim_y + ..

It's not immediately clear to me if there's a trick to cut down on the checks of the larger spaces by knowing the values in the smaller spaces, but there could easily be such a method. It feels like there should be, but :effort:

apseudonym
Feb 25, 2011

leper khan posted:

It's pretty easy to brute force by walking the space for every window of total dimensionality D in sequence from 1 to dim_x + dim_y + ..

It's not immediately clear to me if there's a trick to cut down on the checks of the larger spaces by knowing the values in the smaller spaces, but there could easily be such a method. It feels like there should be, but :effort:

This looks like a pretty trivial dynamic programming problem...

JawnV6
Jul 4, 2004

So hot ...

leper khan posted:

It's not immediately clear to me if there's a trick to cut down on the checks of the larger spaces by knowing the values in the smaller spaces,
That feeling is when you say "dynamic programming"

TooMuchAbstraction posted:

This is basically just knowing roughly what 2^n is for certain n and being able to do some back-of-the-envelope calculations. It can be helpful to remember that every 10 powers of 2 is approximately the same as multiplying by 1000 (2^10 ~= 1000, 2^20 ~= 1 million, etc.). For this kind of thing, being able to approximate is fine (usually) -- there's 86400 seconds in a day but you can call that roughly 100k.
This one I had to look up, since I'd forgotten what volatile means. It would appear to prevent changing the value via the program code, but hint to the compiler that the value still may be changed by outside sources (e.g. memory-mapped devices).
I've been given sample problems with a 16 bit and 32 bit timer available and had to justify why I was using the 32. I also got burned on volatile because a vendor IDE hid all those away and I got complacent, forgot to mark HW resources with it. const-correctness is another senior question, you've probably had something that it would've caught and can at least articulate the benefit.

You sound more than ready TMA. Good answers, clear reasoning, admitting when you don't know something :). And finally, even if you blow this one, there's more lined up soon.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
I've always interpreted volatile to be a directive to the compiler that reads to the variable should be accessed directly each time (read: do not presume that a value you did not modify in a function will be the same when you access it again). However, the details of what volatile fully means depends upon language (Java's volatile means that read ordering and write ordering varies in guarantees across threads when accessing said volatile variable, which is the fundamental part of how double-checked locking did not work until Java 5). Heck, I got asked this for an entry level question before in an interview like 10 years ago in a not particularly difficult interview.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

apseudonym posted:

This looks like a pretty trivial dynamic programming problem...

JawnV6 posted:

That feeling is when you say "dynamic programming"

I've been given sample problems with a 16 bit and 32 bit timer available and had to justify why I was using the 32. I also got burned on volatile because a vendor IDE hid all those away and I got complacent, forgot to mark HW resources with it. const-correctness is another senior question, you've probably had something that it would've caught and can at least articulate the benefit.

You sound more than ready TMA. Good answers, clear reasoning, admitting when you don't know something :). And finally, even if you blow this one, there's more lined up soon.

Well yes, but I meant pruning chunks of the future search space, not quickening lookups for the old space. Dynamic programming doesn't stop you from needing to walk the whole tree.

apseudonym
Feb 25, 2011

leper khan posted:

Well yes, but I meant pruning chunks of the future search space, not quickening lookups for the old space. Dynamic programming doesn't stop you from needing to walk the whole tree.

It feels like the same dynamic programming approach from 1d scales to N dimensional pretty easily. No?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

apseudonym posted:

It feels like the same dynamic programming approach from 1d scales to N dimensional pretty easily. No?

There's a trick in the 1D one where you can grow/shrink the window without looking through the whole search space, unrelated to marking old solutions. In fact you only ever need to hold onto the current window and the best known window. It runs in linear time, examining each node only once. The subproblems never repeat, so I don't see how dynamic programming is applicable.

Always keep track of the highest window and its value. Depending on constraints, either start with the empty set or the first value. Expand by one to the right. If at any point you go negative, start over at the next index. This works because if you don't go negative, the total contribution of the prior is positive and then by definition helps grow the total larger. If you do go negative, the prior does not, and you have found the largest consecutive subset within the prior (your currently held value). You then only need to see if the prior or the pending holds a greater value. Totals of zero will either continue or be cut depending if you want to maximize or minimize the length of the elements in the subset sum.

It's not obvious (to me) how to expand that to N dimensions and prove its validity, though I do not doubt it could be done. Sadly greedy algorithms are fairly useless if you can't prove their validity (at least for the proposed context).

Dynamic programming would shorten the time it takes to brute force the full search space, but doesn't help in pruning that space. The best algorithm I can think of and prove easily still requires looking at all potential sub-matrices.

It's entirely possible I'm missing some trick, and I haven't given it too much thought..


e:
I guess you could call holding onto the value of the working set dynamic programming, but that feels disingenuous to me for some reason.

leper khan fucked around with this message at 03:42 on Aug 2, 2016

Illusive Fuck Man
Jul 5, 2004
RIP John McCain feel better xoxo 💋 🙏
Taco Defender
I'm thinking something like pre-calculating log n sub matrices (divide matrix in half, repeat), and using that when walking the whole thing (compute the sum of the submatrix using addition / subtraction of precomputed parts), but I dunno if it actually makes sense.

Edit: doing the first part in reverse order probably makes sense

Infinotize
Sep 5, 2003

leper khan posted:

There's a trick...

That is IMO the problem with questions where the only "real" solution the interviewer cares about is a DP one (and no, interviewers do not give a poo poo about your thought process). If you know the trick it's "a pretty trivial DP problem," if you don't, you will not derive it on the spot and your interviewer will probably walk back to their desk thinking how do these people even get jobs in the first place.

Cue discussion over whether everyone should be expected to know DP off hand or not.

E: they might as well just tell you to write knapsack 0/1, it's more to the point.

Infinotize fucked around with this message at 14:01 on Aug 2, 2016

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

TooMuchAbstraction posted:

Are you speaking specifically about multi-dimensional matrices here, or is this a 1D array? I know of a solution for 1 dimension but am not certain it generalizes to larger dimensionalities.

The 1D solution is known as Kanade's algorithm. I take it for granted that a matrix is NxM if I don't qualify it, but I could've said that initially. You can extend the 2D solution to the 3D solution in the same way that you extend it from the 1D solution.

I like maximum submatrix sum because it's harder than an interview question usually will be, and it helped me understand the feeling of DP (which in my head is "find the commutative aspect to exploit") and made it easier to solve other DP problems, or problems that seem like DP but only need a "latest" and "best" in memory rather than a full table, once I understood it.

Here is a walkthrough of the algorithm, btw
https://www.youtube.com/watch?v=yCQN096CwWM

Another good DP question is "Given an MxN matrix of integers, find the longest increasing path. A path can go up, down, left, or right at any point, but not diagonally."

Stinky_Pete fucked around with this message at 18:53 on Aug 2, 2016

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
Anything else that helped you understand DP would be a godsend because outside of that (and some of the really tough tree algo questions) I feel like I'm ready to start interviewing for my 2nd job.

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy
I'm not sure if I'm allowed to put this out there, but I'll PM you

apseudonym
Feb 25, 2011

Good Will Hrunting posted:

Anything else that helped you understand DP would be a godsend because outside of that (and some of the really tough tree algo questions) I feel like I'm ready to start interviewing for my 2nd job.

Get an algorithms text book and do random word problems out of it.

Best if you have someone else ask you so you don't know the class of problem.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
PSA for Massachusetts goons: http://www.nytimes.com/2016/08/03/business/dealbook/wage-gap-massachusetts-law-salary-history.html

Not sure if this will apply to recruiters, but this law gives us massive leverage over prospective employers. Plus it's awesome for reducing the wage gap.

e: not until 7/1/18 tho

Blinkz0rz fucked around with this message at 21:34 on Aug 2, 2016

Pollyanna
Mar 5, 2005

Milk's on them.


I'll still be cagey about salary before then :colbert:

We're finally dedicating resources to technical debt on this project at work. I've been pushing for it and better project management and design for a while now, and I really hope this gets the ball rolling. I feel like I've gotten really Invested in this...maybe a little too invested?

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Had my interviews this morning. Five interviews, four of them with technical people, and I only had two whiteboard problems. In fact one of the guys spent a good 40 minutes out of the 45 talking, largely unprompted. On the plus side, that means I got a pretty good idea of what the culture and environment is like.

The two questions were: 1) sketch out an algorithm to count the number of orthogonally-connected components in this 2D array of 0s and 1s; 2) retrieve the Nth character from the sequence "onetwothreefourfivesixseven..." where N may be very large.

I did also get asked point-blank what I was looking for in terms of compensation, to which I responded something along the lines of "everyone always wants the other guy to name a number first..." I probably could have handled that a little more smoothly.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
What I've been saying to get an idea of how woefully underfunded a place is to throw out a pretty high number and make it clear that if there's something else that could make the opportunity better for me (more equity, lots of promotion potential, really fun place with low turn-over, super benefits, etc.) that I could go lower. Unfortunately, this is how I capped out pretty quickly for my regional market without being a manager before I achieved something competitive IMO (most companies value managers over individual contributors, that's just reality outside the tech-worship Bay Area).

Cryolite
Oct 2, 2006
sodium aluminum fluoride
Has anyone noticed the tech job market is not growing that much, and seems to be shrinking? Or at least in some/most areas and for some types of jobs?

I wrote a program to query indeed.com to count the number of jobs for specific keywords for a whole bunch of cities. The point was to try to spot job trends across the country for keywords I was interested in. I've been running it once a week for the past year (7/19/2015 to 7/25/2016).

Here's a bad chart that's hard to read just to draw your attention to this post:



Now here are the numbers that make it easy to see what's going on, and since I can't figure out how to make the text look nice in a post it's a literal screenshot of Excel:



What the hell is going on in New York? -26% in one year? LA and SF are not looking too hot either. San Jose is down too. I'd figure Silicon Valley would be growing, not shrinking.

Big growth in Chicago and Seattle though. Based on these numbers it looks like Washington, D.C. has the most C#, Java, C++, and Python jobs within 25 miles. necrobobsledder what do you think about that. I bet they're mostly cleared.

There are many, many good reasons why it's not a good idea to draw hard conclusions about the job market based on postings to indeed.com. For example, people could just not be using indeed as much in some areas, job postings are not the same as jobs, indeed could be culling duplicates or spam in some regions, recruiters might be spamming multiple job postings for the same job in some areas, etc.

However, is there any substance to these numbers? Has anyone else noticed a general slowdown? I'd imagine after a year there'd at least be modest growth, not a total drop. Should I start shorting the stock market?

Cryolite fucked around with this message at 01:47 on Aug 3, 2016

Adbot
ADBOT LOVES YOU

Necc0
Jun 30, 2005

by exmarx
Broken Cake

Cryolite posted:

Big growth in Chicago and Seattle though. Based on these numbers it looks like Washington, D.C. has the most C#, Java, C++, and Python jobs within 25 miles. necrobobsledder what do you think about that. I bet they're mostly cleared.

DC goon who's actively hunting here: they're mostly sub-sub-contracted bottom of the barrel seat warmer positions. Which isn't to say there's a lot of good stuff here but we're always going to have that aspect to the job market.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply