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
Steve French
Sep 8, 2003

triple sulk posted:

Python and Java are the only two truly employable languages of the four you listed. Interop aside, Java and Scala are basically not even the same language and 99% of Scala code is unreadable FP circle jerk garbage that still isn't as good as something like Haskell or F#. It has a horrid toolset, is slow as poo poo, and has a learning curve so bad that at one point they literally had "official" levels of Scala programmer skill (http://www.scala-lang.org/old/node/8610). Go has arguably been on a downward trend for a little while now because people finally realized that it's poorly designed.

Well, you are right that Java and Scala are not even the same language, because they are different languages.

Adbot
ADBOT LOVES YOU

Steve French
Sep 8, 2003

Vulture Culture posted:

I wasn't able to find information on rentals, but on sales, someone on Quora said:

"In March 2014, 44% of homes sold in SF went for more than 10% above asking price, and 21% went for more than 20% above asking."

That appears to be about home sales, which I would not really expect to be the same as rentals in that respect.

Steve French
Sep 8, 2003

Vulture Culture posted:

The pricing pressures exist for the same reason: there's more demand to live there than there are homes to accommodate everyone. Everything is a bidding war. I'm just having trouble finding the numbers on rent, because that information isn't public record.

Yeah, I wasn't meaning to disagree that there are bidding wars for rentals; there absolutely are. I just wouldn't go so far as to assume that the percentage of sales with a bidding war is equal to that of rentals, or that the average amount over asking is the same. It may be more!

Steve French
Sep 8, 2003

Vulture Culture posted:

Only in the Bay Area climate could you get away with that.

It was, IIRC, a truck camper, not just a camper shell, which you can definitely get away with in many climates.

Steve French
Sep 8, 2003

Paolomania posted:

AOP questions = "pssst, kid, don't work here we run Byzantine spaghetti systems."

Most of what I know about AOP (not much) I learned from this: https://areallygoodrantblog.wordpress.com/2016/02/13/the-aws-java-documentation-is-hosed/

Steve French
Sep 8, 2003

the talent deficit posted:

i know a guy that was asked to implement paxos (from memory) in an interview. he had to sneak a peek at his phone to remember what the modulo operator was in the language he was using

I don't know much about paxos details, but isn't it notoriously complicated and hard to understand?

Steve French
Sep 8, 2003

TooMuchAbstraction posted:

I'm curious what your source for those numbers are, since I haven't seen any numbers nearly as high as $170k. I don't distrust you, but some corroboration (even just from other people chiming in) would be welcome.

Thanks for the advice and input, though! Man it'd be nice to be making $170k...

Based on my experience (out of school working full time for 8 years now), and working for a company in the Bay Area with what I think is competitive but not terribly above average salary, those numbers seem reasonable to me. Certainly, as someone with 10 years of experience, if you consider yourself a quality hire, you should be expecting at least the upper end of the 100k-150k range you threw out.

Steve French
Sep 8, 2003

volkadav posted:

Unless their resume specifically made a big deal about working with a concurrent system in some capacity, probably it wouldn't even come up. I might expect a junior engineer to know that threads exist, a mid-level to know to stay the hell away from them, and a senior/lead to know that if they're very careful they can leverage them (and safe ways to do so) if all else fails. :v: YMMV though, interviewing is as much luck of the draw as it is actual competency, I sometimes think.

I would personally expect candidates to know a lot more than this about concurrency. At all levels. Granted, it would depend on the exact position and technologies required, but having a good grasp on concurrency is very important for a lot of work; at least most of the work I do (server dev)

Steve French
Sep 8, 2003

JawnV6 posted:

Assuming you're doing some basic checking and not signing on to a place with layoffs, loss of contracts, 80+ hour death marches, if you've found yourself in multiple jobs where a Fortune 500 company changed direction in such a drastic fashion it's pretty safe to say you're an outlier and the majority of folks changing jobs aren't in those same circumstances.

I generally agree with the notion that people quit managers, not companies, but I'm not eager go into too many specifics.

I think you've hit on the difference here: company size. The jobs I have quit have been after joining onto a promising project / small company, and then after a few years things weren't turning out as well as hoped, or growth slowed, or whatever else caused things to appear relatively greener elsewhere. I've had lovely coworkers, but I've never quit over them, personally.

Steve French
Sep 8, 2003

JawnV6 posted:

I've generally left places because of a compelling option that I just couldn't turn down. But I don't think "bad manager" is a problem specific to company size. I appreciate the insight that that smaller companies make one more sensitive to those higher concerns, I had my doubts about one place starting to creep up before they resolved them by laying me off

Yeah, I don't think "bad manager" is specific to company size either; rather my point was that I think quitting a *company* is perhaps much more common in smaller companies than larger companies, since they are much more likely to change (or perhaps not change enough) over a relatively short period of time.

Steve French
Sep 8, 2003

It actually is better than IRC for the reason that in practice, it's an acceptable tool for basically everyone in the company, not just engineers and a few others, and IRC isn't.

Whether or not you think people scared or intimidated or confused by IRC are idiots doesn't really matter; if a communications tool is not broadly adopted, it is inherently less useful.

Steve French
Sep 8, 2003

Volguus posted:

The IT department having one less thing to worry about I can buy (and while I don't know how much slack costs, its probably cheaper than maintaining an IRC server). About the rest of the company adopting the tool, couldn't care less about. If I need to speak with the administrative assistant, I can just send her an email.

So your workplace is entirely engineers and administrative assistants?

Obviously that's a somewhat facetious comment; your workplace is likely different than mine. In my day to day, we regularly have groups of engineers, designers, product managers, analysts, support folks, etc working together, and while I personally love email, Slack or IRC works much better for those conversations, and Slack is much easier for many of them.

Steve French
Sep 8, 2003

I know of at least one company in SF that has a week long trial, not just a day. It is paid, and supposedly well, but drat I would never go for that unless it was a dream job.

Steve French
Sep 8, 2003

AskYourself posted:

What you probably mean is you wouldn't take a week of your own vacation to work for another company.
But... If you are unemployed then why not right ?

And that's the problem with that kind of week-long "interview" : You filter out the more employable candidates.

Personally? The reason why not to do that if I'm not employed is clear: I could be spending that week interviewing for other jobs.

Your second point is a good one, though, that certainly people who are unemployed or otherwise more desperate are more likely to willing to take that time.

Steve French
Sep 8, 2003

fantastic in plastic posted:

Management at the company I work for is planning to introduce 360-degree reviews. Myself and several of my colleagues are deeply unhappy with this idea, because we feel like it will undermine our present culture of collaboration and replace it with one of suspicion.

Is this worth fighting a political battle over or is it wiser to just cut my losses and :yotj: out?

fantastic in plastic posted:

I don't hate the idea of 360 reviews on principle, but in this particular case my worry is that they're going to be designed & implemented as anonymous backbiting performance reviews rather than a tool to unearth favoritism or communication issues. My company isn't bad, on balance, but one of senior management's negative traits is passive aggression, and my spider sense is that this initiative is going to feed that.

It sounds to me like there is already a culture of suspicion

Steve French
Sep 8, 2003

Less Fat Luke posted:

We actually do carry the liability; we encourage 3 weeks as that's the payout you'd get if you were ever let go. People often feel comfortable taking a couple past that too so it's generally in favour of the employees. I'm also not really sure I'd ever qualify it as manager dependent; I'm in that position and have never once turned down a vacation request.

Maybe I'm misreading or misunderstanding, but how on earth is the fact that you, as one manager, have never turned down a vacation request, evidence that it is not manager dependent?

Steve French
Sep 8, 2003

Whiteboard questions: not a realistic working environment
Take home assignments and trial periods: nobody has got time for them
Open source project review: not everyone works on open source

Are there any interview processes that people don't bitch about?

Steve French
Sep 8, 2003

b0lt posted:

A 1% cost savings is worth a team of hundreds of engineers if you're spending tens of billions of dollars per year on datacenters.

That's a big if. See the caveat already stated in the post you quoted. But we get it, Google is big and spends lots of money.

Steve French
Sep 8, 2003

There's an alternative argument that those putting a lot of effort into their personal brand rather than learning skills or becoming better engineers for the sake of it might be papering over inadequacy, or at least poorly directing their time.

You seem to be making an argument that in some markets, this personal branding is necessary to be competitive; at the very least, that's not at all my experience in the Bay Area. It is absolutely not difficult for a competent engineer here to find a job without any effort at all put explicitly into "branding"; it is probably more difficult to avoid being the target of recruitment efforts.

Steve French
Sep 8, 2003

Iverron posted:

We still advertise beer taps on our listings I think, even though the lines haven't been cleaned in probably 3 years and the kegs haven't been changed in at least a year and a half. The culture was a lot better when the kegs were changed regularly I guess, but that's more the former causing the latter.

I kind of mindlessly group free beer in with the "nerf warz!" and "catered lunches!" nonsense when I see it in that I'll apply if the product sounds interesting and they don't seem too overbearing with it.

Wait, I must be misunderstanding. It's taken your office over a year and a half to finish some kegs of beer? Or you mean they are empty?

Steve French
Sep 8, 2003

My employer trusts us to be reasonable adults, in that matter as well as others.

Steve French
Sep 8, 2003

Hughlander posted:

DBAs are the ultimate fiefdom builders. If you think about it they're a throw back of the 60s batch processing days. They look at all the other operator positions that have gone away and are terrified they're next.

But also, web developers are the ultimate lovely database schema creators.

Steve French
Sep 8, 2003

Mniot posted:

Toxic review process can be a circular thing. We had a new developer who opened a PR that was full of stuff like

code:
if(foo === bar || baz !== qux){solveFor(foo, baz); return qux;}else{return null;}
We were doing GitHub-based code reviews, so someone posted "if-statements shouldn't be stuffed onto one line". I was the main dev in the group at the time, so I suggested that we sit down and just pair-program it so he could get a feel for the code (all the rest of the code in the project followed a standard style for C-ish JavaScript code). He said that that would take too long and cranked out a second iteration:

The first person commenting should have just provided a suggested formatting/rewrite in the comments.

Steve French
Sep 8, 2003

Yes, that's a totally reasonable interpretation. He's a person that considers Google a startup, and interviewed at every other of the startups that weren't Google.

Actually thinking that is what he meant is more stupid than the poorly written sentence.

On topic, technical debt is a reality and nobody can reasonably avoid accruing it. I've worked places that tried to do literally everything right, and perfect, all the time, and not only was it a horrible experience where nothing of substance actually got done, but the poo poo that got done still wasn't actually very good.

Steve French
Sep 8, 2003


They've got some work to do on their mobile site:

Steve French
Sep 8, 2003

Hughlander posted:

"Laptops closed."

I haven't fully decided whether a policies that disallow (or strongly discourage) laptop/cellphone use during meetings is actually addressing a root problem, rather than addressing a symptom of a problem and making the actual problem worse (e.g. symptom being people using devices in an attempt to salvage some productivity in poorly run / too large meetings). I'm leaning towards the latter.

Steve French
Sep 8, 2003

I work in AMERICA and I have 25 days of PTO.

Steve French
Sep 8, 2003

geeves posted:

At times I don't mind working the week between Christmas and NYE. Hardly anyone else in the office and we usually stop at noon and drink the christmas ale in the keg.

From a selfish standpoint, it's a great opportunity for me to work on the poo poo I want to work on without interruption. Most normal weeks I spend so much of my time helping others, which is great and quite productive, but the change of pace is refreshing.

Steve French
Sep 8, 2003

rt4 posted:

The only reason any company is ever hiring is because it's growing steadily (rare) or because it's lovely and people are quitting (very common)

This is total bullshit in several ways:

- it is not actually rare for a company to be growing steadily; at least, not rare enough that it's hard to find one to work for.
- even if it were, a company doesn't have to be growing steadily to be hiring, it can just be growing right now (literally by definition, if by "growing" we mean in number of employees)
- people leave jobs for many reasons other than their employer is lovely, so even if a company isn't growing they might be making a backfill hire to replace someone that left for reasons not related to how lovely the employer is.

Steve French
Sep 8, 2003

In my mind, PTO refers specifically to time allotted to individual employees to choose when to take off, and it does not include company wide holidays.

Not saying that's the definitive meaning, just that it is what I've always thought it meant.

Steve French
Sep 8, 2003

VOTE YES ON 69 posted:

Comments are pretty bad, and you should strive to not need them.

Document functions, interfaces, packages, objects, stuff like that (especially if your language generates docs out of these). Documenting lines or even blocks is almost always bad.

90% of the time comments either 1) explain your too clever code (bad, rewrite it less clever) 2) add nothing of value ('create a FooBar', 'here we check each Baz') 3) document something more complex ('why') that belongs somewhere more visible, and less likely to become obsolete/incorrect.

(Just reviewed a job applicant's code who commented literally every single line of code :bang:)

What language do you write most of your code in?

Steve French
Sep 8, 2003

minato posted:

They didn't go so far as to ban DI, but it was discouraged. They don't do long-lived branches either (i.e. continuous integration) which I think is actually a good thing.

These two sentences are a bit confusing to me. First, let's be clear that there's a different between DI, and using DI frameworks. Discouraging banning DI as a pattern is extremely odd to me, do you just mean use of DI frameworks was banned? Your second sentence is just worded strangely, do you mean they did continuous integration, and therefore there were no long-lived branches? (agreed that that's a good thing, if so)

VOTE YES ON 69 posted:

At the moment go. But holds in any language I've seriously worked in: erlang, c#, python. Is your argument going to be that when you're bittwiddling poo poo at a low level comments are important? That's fine. Similarly, if I was writing APL, I would comment it heavily, because it's hard to read. There's absolutely reasons to write comments, it's just that the majority of comments are useless or even harmful.
I was mostly just curious; the reasons you gave are fine, and I think on most of this we're on relatively the same page except you're a little further to one end on the conclusion. I was asking because I've anecdotally observed in my career that the people I've worked with that were most adamant about "code should be self documenting and not need comments" were Ruby programmers, which I found extremely strange, since it's so much harder to make code (interfaces particularly) satisfyingly self-documenting since the naming now has to convey so much more information than it does in something like Go, C#, C++, Java, Scala, etc.

VOTE YES ON 69 posted:

The problem with this is that comments are uncompiled, and deemphasized by everyone's editor (italics, greyed out, whatever). Comments become lies *so* quickly, unless you work with extremely disciplined people. What starts as a stronghold of sanity (document why it does it that way!) just turns into a misleading lie later, after whatever gets refactored and actually doesn't or doesn't need to work that way anymore. Entropy always wins, at least the compiler can check lots of it.

I won't disagree with this, it's a legitimate problem. I just think that on balance, there are many solid uses for comments; I'd maybe go so far as to say that it's the same rule as with code: generally speaking, the less of it, the better, but hey, sometimes it has to be written. So write what is necessary and prudent. Most often I find commenting necessary to describe intent, not to describe behavior: there are many times when code has to be written in a counter-intuitive way: perhaps you had to write some particular thing in a non-idiomatic pattern for performance reasons, and want to ensure that someone doesn't "clean it up" (yes, ideally performance regression tests would catch that as well). Sometimes you pass some value for an argument to a third party library call that's necessary for correctness, but it's not clear why, or you have to call one function instead of another because the other has a bug in it. Certainly these things don't apply to all or anywhere near most function implementations, so comments can be sparse, but they do happen.

ratbert90 posted:

Each function get's @brief:, @param:, @returns: at the top of it.

The code in the function shouldn't need to be commented unless it's doing something tricky, and in that case, it should probably be rewritten.

IMO, function header comments fall into the category of "ideally, not necessary" to me. I don't fully buy the "code should be self documenting" argument, but it is most true there. Perhaps a necessary evil when working in PHP, Ruby, Python, etc, but those are classic examples of comments that can get harmfully out of date and often don't add much value (at least when you have a nice type system available to you as an alternative). The code in most functions shouldn't need to be commented, but it sometimes does, and the "if it does, it should probably be rewritten" argument is similarly missing the point, in my view: if there is a reasonable way to rewrite the code and still meet whatever constraints/objectives exist in a way where a comment is no longer appropriate, the comment was probably describing behavior of code, which I'd generally agree isn't needed to begin with. But in the sorts of scenarios I've described above, rewriting is either not an option or won't help.

Steve French
Sep 8, 2003

the talent deficit posted:

that banned technology list looks pretty reasonable? i disagree di is bad by default, but most of the rest of the things on that list are terrible

Some of the stuff I don't know enough about to know whether a ban is reasonable, but I'd agree with you that the only one I specifically disagree with is DI, and maybe "Data operations in code instead of the database", but mainly because that's pretty vague to me and I'm not exactly sure what it means to them without more context.

Steve French
Sep 8, 2003

TooMuchAbstraction posted:

The craziest thing about SF real estate (and there are many crazy things) is that people pay huge amounts of money to live in SF, only to commute south to the peninsula for work every day.

I used to have a reverse commute simply because I headed into the city in the morning instead of away from it.

How long ago? I lived in SF and worked in Redwood City from 2008-2010, and it was definitely a reverse commute then.

Steve French
Sep 8, 2003

metztli posted:

The ones I know who don't have side stuff they mess with are either happy cogs working in "good enough for enterprise" shops (which is totally fine - that has its appeal), or those "students or desperate" types who are, often, desperate maybe BECAUSE they haven't honed their skills working on side projects/keeping stuff fresh.

Alternatively, they have plenty of interesting and engaging things to do in their environment at work that they don't dedicate time to side projects that aren't somewhat work related. You can debate whether that's wise of the individual, but it happens. Where I work, we have a lot of interesting data to work with in an application domain that most employees are personally passionate about. As a result, most of the time people want to build something new and interesting for fun that isn't a direct job responsibility, it's still done within the bounds of work codebases, and often is not appropriate to share with others outside.

Steve French
Sep 8, 2003

It's certainly not consistent across companies, but for us, lunch is absolutely not part of the hiring decision: we have the candidate get a casual lunch with a broader group of people from other teams, and those people are not involved in the hiring decision.

Steve French
Sep 8, 2003

Did you assign the ticket to yourself when you started work on it?

Also if he assigned you a ticket and you didn't notice, IMO that is on you for not noticing.

Steve French
Sep 8, 2003

Good Will Hrunting posted:

"Claimed" is the operative word in my post.

I don't know what the exact specific meaning with respect to JIRA of "claimed" is, but if you had actually assigned it to yourself in JIRA, you should have been notified when your boss assigned it to someone else, no? You said you didn't get notified because you weren't tagged. When I am assigned things in JIRA, I'm automatically tagged and receive notifications of all activity on that issue.

Steve French
Sep 8, 2003

Good Will Hrunting posted:

Claimed he assigned another ticket to me I meant. He made a new ticket for what I was working on and instead of assigning it to me, assigned it to someone else. My old ticket that I was working on remained (remains) in progress.

Got it; I was mostly asking for clarification because I couldn't quite follow the sequence of events in your original post.

Adbot
ADBOT LOVES YOU

Steve French
Sep 8, 2003

Xerophyte posted:

I can't really speak for the rest of Scandinavia, but the Swedish labor protections are extensive, and that's in addition to lengthy collective bargaining agreements for engineers (and indeed most professionals). If you have a job in any non-contracting field then you have essentially tenure, terminations go by seniority and generally require between 3 and 6 months notice. The local neoliberals loathe it, of course. Teams tend to be stable, consensus-driven and long-term oriented compared to the US, in my (very limited) experience.

I dunno. As an evil pinko socialist I find the notion that your compensation and hence quality of life should be equal to the value of your labor to be a lousy way of building a society and sort of fundamentally dumb, but it's very enshrined in the US labor market and the entire current corporate techie version of the land of opportunity story. Hence, high risk, high reward, as you mention. I'm not shy about taking personal advantage of that right now. Not entirely sure where that puts me in the hypocrite scale.

I do sympathize with the notion that quality of life should not be determined by the value of your labor, but I also don't think it is great to have your job stability determined by your tenure. I mean, poo poo, from a purely objective standpoint it's sort of an unstable system, right? Correct me if there are mechanisms to handle this, but for people new to the workforce, this means you're more likely to lose your job. If you lose your job, doesn't that make you even more likely to lose your next one? "Meritocracy" may be a farce, but "I got here first" seems problematic as well.

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