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
return0
Apr 11, 2007

Pixelboy posted:

If you think you're not being evaluated, you're wrong.

At least in some places, this is mostly not true. I maintain you cannot "fail" a lunch unless you do something extremely bad, that would likely get you fired or cautioned if you were actually working anyway.

Adbot
ADBOT LOVES YOU

return0
Apr 11, 2007

Pixelboy posted:

You're being evaluated for team fit and personality. Soft skills that don't get surfaced in a tech interview. Making sure that despite (potentially) being technically qualified, you won't be a corrosive drag on the team morale.

I understand the notion, just stating that where I work it isn't considered.

Our onsite consists of four tech interviews and a lunch. The lunch attendees do not come to the hiring decision meeting, unless the candidate makes such an enormous faux pas it torpedos the standard process.

return0
Apr 11, 2007
Similar to the other answers, we do a lunch interview to:

- be nice to the candidate so they want to work here
- let them ask questions and evaluate us
- feed the candidate so they perform better in the afternoon sessions
- frame the experience positively in their mind, so when they talk about it with their programmer friends they say good things

Maybe some other places do it differently but that's the take at my place.

return0
Apr 11, 2007

Careful now.

return0
Apr 11, 2007
This is a load of bullshit, Scala with Spark is cool.

return0
Apr 11, 2007

Good Will Hrunting posted:

did you miss the part where i got shitfaced and hosed a vp level exec at my company's insane drug-filled holiday party literally hours before meeting with the head of HR to discuss how i was't happy with management

e; this is not a brag, i regretted the decision immensely at the time and even further after i found out she was engaged

How big is the company?

return0
Apr 11, 2007

I ask because the bigger the company, the more interesting an event this is.

I mean, 69, Nice!

return0
Apr 11, 2007
Re: UK salarychat, I’m on ~85k in Edinburgh, 11 years experience. Awful compared to USA, but for here it’s okay.

return0
Apr 11, 2007

ratbert90 posted:

I told him for a personal project I wrote almost 100 pages of engineering specification by myself just for my own project, and that if I can do it, there’s no way he could possibly convince me that our company can’t do it either.

Whoa, why would you do this?

return0
Apr 11, 2007

ratbert90 posted:

To keep on track and for investors.

And was it useful?

return0
Apr 11, 2007
This is the oldie career advice thread. If you care about advancement in any technical track (as an IC or manger) then it's wise to be mindful of the broader impact of your work on the business, and to learn how to communicate its value in an accessible way.

return0
Apr 11, 2007
Tell them that Uncle Bob is a garbage dildo.

return0
Apr 11, 2007

New Yorp New Yorp posted:

Yes, I nearly ended up on leave of absence when my mom was dying, but my company is wonderful and said "just take the time off, we'll keep paying you", and I worked on some low-priority, no-deadline projects (mostly internal documentation and other mindless work) intermittently for about 3 months. Then I came back and they gave me a big raise. :shrug:

One of many reasons I'll probably stay at this job until they fire me / get purchased / go under.

This is awesome, I worked for a place that did something like this and I appreciated it a lot.

return0
Apr 11, 2007

CPColin posted:

Anybody know of a good course on Project Management, preferably non-video? Lynda is a loving shitheap. I'm desperate to add some PM knowledge to this organization, aside from my boss's alleged PMP certification.

https://en.wikipedia.org/wiki/W._Edwards_Deming#Key_principles

return0
Apr 11, 2007
You should assume it will fall through; luckily you've kept on interviewing (right?).

return0
Apr 11, 2007

TooMuchAbstraction posted:

Alphabet post-mortem template

This is similar to the Amazon root cause of error analysis template.

return0
Apr 11, 2007

JawnV6 posted:

Once again, goog and amazon didn't invent the blameless postmortem whole cloth.

TooMuchAbstraction posted:

Yeah, I certainly didn't mean to imply that this was anything particularly novel; I was just providing a source. I dearly hope that most large tech companies have something similar, wherever they learned it from.

Sure, I didn't mean to imply you did; was supplying some more context that this process (not that it was necessarily required) that this is something that technical organizations do on the regular.

return0
Apr 11, 2007
Uncomfortable with how little controversy there was about code coverage; it is bad!

return0
Apr 11, 2007

TooMuchAbstraction posted:

I'm curious how you get 100% code coverage in cases like this:
code:
object, err := json.Unmarshal("[1, 2, 3]".([]byte))
if err != nil {
  returns errors.New("Welp, I guess our CPU is corrupt.")
}
In other words, technically json.Unmarshal can return an error, and the proper style is to "handle" that error (by propagating it up the call stack, because Go thinks exceptions are bad and therefore you must badly re-implement them with every function call), but in practice the error can't be triggered because you're passing the function a known-valid input.

To attempt to pull the thread up, the way you would cover this is to code against an abstraction for your deserializer (rather than something as concrete as "json.Unmarshal"). Depending on your language and its conventions, this could be an exported 'deserialize' function, or an IDeserializer implementation, etc., and you might import/dependency inject it via some indirection. Then in your test, you mock it with something that succeeds in one test, and fails in another.

Doing so is potentially worthwhile to capture behaviour in the failing case in a test, but it's definitely not worthwhile to chase coverage metrics, because as established previously those are bad.

return0
Apr 11, 2007

prisoner of waffles posted:

my few thoughts:
library or module dependence structure is one way to think of this at a particular moment. if your components (be they functions, modules, classes, whatever) are vertexes in a graph and "X uses Y" is a directed edge, you really want to see that the built system with N components has way, way fewer than N^2 edges.

This relates to the software design notions of coupling and cohesion.

return0
Apr 11, 2007

sunaurus posted:


Does anybody know what the best areas for developer compensation are in the EU (accounting for taxes and cost of living)? Can Estonia really be one of them?

I get about £100k or thereabouts in Scotland. I guess you might say I’d be a senior based on years if experience, although my job title doesn’t say senior.

return0
Apr 11, 2007

Cancelbot posted:

I tried with my AWS interview stuff, god drat I tried. I even started a slight derail from the shite that is continuing to unfold.

Has anyone done the Amazon/AWS on site "loops" anyhow? That's where i'm at, 6 hours of interviews...

I've both interviewed there, are am an interviewer there, so I've seen it from both sides. My experience as an interviewee (several years ago) was mostly positive, with only one bad section. In the bad section I didn't gel with the interviewer, and didn't finish answering their question, but did fine in the other sections and ended up with an offer; something to keep in mind if you think a section didn't go well.

As an interviewer I do a technical section on the SDE loops, and am a 'bar raiser' on both SDE and other tech job family loops. From what I've seen, most interviewers genuinely make an effort to be accommodating and understanding, and want the candidate to have a positive experience.

In terms of preparation, I agree it's worth practicing whiteboarding & writing code in front of others, and remembering to talk the interviewer through your thought process in general. To be honest these things are useful no matter where you interview for a developer role.

return0
Apr 11, 2007

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

The sense in which a software product rusts is that it no longer meets user expectations. Customers get excited about a new trend, or a successful feature that was once a differentiator is copied by competitors, or the code doesn't run on new hardware, for many other reasons. This is why nobody is buying Super Mario Bros. for the NES in 2019 (outside of novelty retro purchases, which themselves likely don't use the original code). If a product is to evolve with changing customer expectations and demand, it must be amenable to change - likely by a different team of developers.

Other than that I agree. If you're writing one off games or apps as a solo developer and you've got no intention or maintaining them, just do whatever works, is fast, and cheap (although, you may find that it's fastest and cheapest to write it well in the first place).

Adbot
ADBOT LOVES YOU

return0
Apr 11, 2007

Pollyanna posted:

Well yeah, that’s called a job.

While jobs can involve grinding and soldiering, ideally a really good software job should involve solving problems that stretch your creative technical capabilities as a developer, as well as the comms and social issues you’ve described.

Good places tend have these opportunities more due to the scale they work at, and it’s pretty good working at a good place with smart and mature people you can learn from and grow with.

I’ve had decent success with this at the big companies, but have also lucked out on a small startup before where everything clicked. It’s definitely worth trying the big tech company route next time you change jobs. Amazon, Google, Microsoft, etc., all have teams where it’s better than what you describe, in terms of the opportunity for self development in a high functioning team environment where you don’t only learn effective defensive mechanisms.

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