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
FamDav
Mar 29, 2008

NovemberMike posted:

This isn't even remotely true. A lot of the performance critical pieces for large systems are written in Erlang and Facebook is mostly php. Language choice isn't that important.

tbf on that php point they did write a compiler and then a jit for php. language choice is important when you don't have the resources/engineers to optimize that part of the toolchain.

but yeah there are a lot more languages that are just as efficient than a jvm and c++.

The Laplace Demon posted:

Where did you get that impression? If you make scalable architectural choices and throw enough hosts behind a properly configured load balancer, it really doesn't matter what language you use.

scalable at scale is where efficiency is most important.

Adbot
ADBOT LOVES YOU

b0lt
Apr 29, 2005

The Laplace Demon posted:

Where did you get that impression? If you make scalable architectural choices and throw enough hosts behind a properly configured load balancer, it really doesn't matter what language you use.

When you spend a million dollars a year on servers, sure, whatever. If you spend a billion dollars a year on servers, a 1% increase in efficiency is worth dedicating entire teams of engineers. Large scale is exactly where you care about stuff like this. Using C++ for everything is problematic because your engineers will hurt themselves with it, so you write everything in something that's Good Enough, and use C++ for the hot paths that need all of that savage optimization.

NovemberMike posted:

This isn't even remotely true. A lot of the performance critical pieces for large systems are written in Erlang and Facebook is mostly php. Language choice isn't that important.

Okay, it was a bit of an exaggeration. Erlang is good in its niche and there are definitely of reasons to use it (as are plenty of others, like OCaml). Using them across all of Amazon is not even remotely plausible to me, and once you're big enough, standardizing on a single platform is massively beneficial, because it lets you focus all of your tooling efforts in one place. If you're facebook, and you're big enough that you can sunk cost fallacy yourself into devoting hundred of man years papering over cracks in your foundation, then yes, it can still work.

NovemberMike
Dec 28, 2008

b0lt posted:

Okay, it was a bit of an exaggeration. Erlang is good in its niche and there are definitely of reasons to use it (as are plenty of others, like OCaml). Using them across all of Amazon is not even remotely plausible to me, and once you're big enough, standardizing on a single platform is massively beneficial, because it lets you focus all of your tooling efforts in one place. If you're facebook, and you're big enough that you can sunk cost fallacy yourself into devoting hundred of man years papering over cracks in your foundation, then yes, it can still work.

I don't think you understand, C++ simply doesn't have the advantages you think it does. Besides, the larger the company is, the less beneficial it is to have everything on a single platform. Specialization becomes key rather than having a general solution.

Swit
Sep 6, 2013

by Cowcaster
Here's a note about Phishing prevention I found yesterday.

•Phishing is acquiring identifiable information through the use of deception.

It's from the
The American Society of
- - - - - Digital Forensics & eDiscovery, Inc
- - - - - For Digital Evidence Experts™

FamDav
Mar 29, 2008

NovemberMike posted:

I don't think you understand, C++ simply doesn't have the advantages you think it does.

it does have advantages. some languages and runtimes have other advantages, but

quote:

Besides, the larger the company is, the less beneficial it is to have everything on a single platform. Specialization becomes key rather than having a general solution.

it's incredibly beneficial to standardize as much as possible, and only move away from that when it has greater benefit or the standard just doesn't work. What large companies are you thinking of where that isn't the case?

JawnV6
Jul 4, 2004

So hot ...
Is there a storify or other collection of how!!'s postings? I'd like a convenient source to link to fresh out of school/college/bootcamp grads who think "complete rewrite in an new language done by amateurs" is feasible, desirable, and downright necessary for Every Business.

FamDav
Mar 29, 2008
here's all his posts in this thread: http://forums.somethingawful.com/showthread.php?threadid=3376083&userid=182061 (i think, did he re-register ever?)

my favorite part is where i tell him one of our old interview questions and he links to my github repo.

EDIT: I forgot new search is awesome http://forums.somethingawful.com/query.php?action=results&qid=1449175654

b0lt
Apr 29, 2005

NovemberMike posted:

I don't think you understand, C++ simply doesn't have the advantages you think it does.

C++ has massive advantages over any GC language for anything latency sensitive. Sure, you could use D if you employ both Walter Bright and Alexandrescu, but everyone else will use C++.

edit: s/non-GC/GC

b0lt fucked around with this message at 22:49 on Dec 3, 2015

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell


Except that you can't link to search results. :/

NovemberMike
Dec 28, 2008

b0lt posted:

C++ has massive advantages over any GC language for anything latency sensitive. Sure, you could use D if you employ both Walter Bright and Alexandrescu, but everyone else will use C++.

edit: s/non-GC/GC

It isn't as pronounced as you'd think. It's useful for some things, I think Memcached and a few other things like it are written in C, but most enterprise applications are about taking a request, making other requests with that request and then packaging it up. C++ doesn't offer a lot of ways to speed that stuff up in any meaningful way (when you spend 150 ms making requests and 2 ms processing them, there isn't a great way to speed it up in general).

redreader
Nov 2, 2009

I am the coolest person ever with my pirate chalice. Seriously.

Dinosaur Gum
I had a great QA-dev interview today at a well known internet infrastructure company today, and they said that if they liked me they'd ask me in for the dev interview. I had to write some code for a few fairly easy things today and answer a lot of qa or 'best x you've done' questions, and some network protocol questions. I did everything correctly apart from one error (check was < instead of > for one of the things I wrote) and I think everyone liked me. So hopefully that works out and I get this job.

Question: a recruiter (I have worked with another recruiter at his company before, they got me an onsite and they're legit) asked me for a reference before he forwards my resume on. I said "I only give references when I have a job offer" and he said "well... if I get you a phone interview, will you give me a reference after that?", to which I said, "uh, ok."

How weird is this? is this ok or super weird? It seems weird to me.

Swit
Sep 6, 2013

by Cowcaster
I passed the test on oDesk and did extremely poorly.

My experience mostly relates to my own business .

I studied C.
I will link the book I learned.
It was called the complete C Trilogy.
by Eric P Bloom

(USER WAS PUT ON PROBATION FOR THIS POST)

Steve French
Sep 8, 2003

NovemberMike posted:

It isn't as pronounced as you'd think. It's useful for some things, I think Memcached and a few other things like it are written in C, but most enterprise applications are about taking a request, making other requests with that request and then packaging it up. C++ doesn't offer a lot of ways to speed that stuff up in any meaningful way (when you spend 150 ms making requests and 2 ms processing them, there isn't a great way to speed it up in general).

Just to stir the pot a bit, there is this:

http://www.scylladb.com/

Munkeymon
Aug 14, 2003

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



redreader posted:

I had a great QA-dev interview today at a well known internet infrastructure company today, and they said that if they liked me they'd ask me in for the dev interview. I had to write some code for a few fairly easy things today and answer a lot of qa or 'best x you've done' questions, and some network protocol questions. I did everything correctly apart from one error (check was < instead of > for one of the things I wrote) and I think everyone liked me. So hopefully that works out and I get this job.

Question: a recruiter (I have worked with another recruiter at his company before, they got me an onsite and they're legit) asked me for a reference before he forwards my resume on. I said "I only give references when I have a job offer" and he said "well... if I get you a phone interview, will you give me a reference after that?", to which I said, "uh, ok."

How weird is this? is this ok or super weird? It seems weird to me.

A few of them do this as a pre-screening service. Not sure how common it is overall.

let i hug
Dec 25, 2011

b0lt posted:

C++ has massive advantages over any GC language for anything latency sensitive. Sure, you could use D if you employ both Walter Bright and Alexandrescu, but everyone else will use C++.

edit: s/non-GC/GC

Devil's advocate: Java has non-pausing generational GC now and is generally as fast as C++ in most real world applications. Especially considering the lack of concurrency support before C++11, which many people are still using for legacy reasons, I'd really want to see empirical evidence that something is significantly faster in C++ for a problem domain before using it.

That said, language choices are a red herring.

sarehu
Apr 20, 2007

(call/cc call/cc)

NovemberMike posted:

It isn't as pronounced as you'd think. It's useful for some things, I think Memcached and a few other things like it are written in C, but most enterprise applications are about taking a request, making other requests with that request and then packaging it up. C++ doesn't offer a lot of ways to speed that stuff up in any meaningful way (when you spend 150 ms making requests and 2 ms processing them, there isn't a great way to speed it up in general).

That's the part you use Java for.

NovemberMike
Dec 28, 2008

sarehu posted:

That's the part you use Java for.

Java isn't terrible but it has its own drawbacks. I've heard from Netflix guys that switching some stuff to node was interesting because they could just let things fail and have it restart in well under a second instead of waiting for Java to restart a webserver over 30+ seconds. Language choice isn't particularly significant for most web stuff though, you can make something scalable and efficient in any language as long as you aren't a gently caress up.

sarehu
Apr 20, 2007

(call/cc call/cc)

NovemberMike posted:

Java isn't terrible but it has its own drawbacks. I've heard from Netflix guys that switching some stuff to node was interesting because they could just let things fail and have it restart in well under a second instead of waiting for Java to restart a webserver over 30+ seconds.

They could have switched to Java and gotten the same result.

MrMoo
Sep 14, 2000

NovemberMike posted:

Java isn't terrible but it has its own drawbacks. I've heard from Netflix guys that switching some stuff to node was interesting because they could just let things fail and have it restart in well under a second instead of waiting for Java to restart a webserver over 30+ seconds. Language choice isn't particularly significant for most web stuff though, you can make something scalable and efficient in any language as long as you aren't a gently caress up.

Some companies make products that improve this, albeit with odd side effects. One is a VM that accepts running multiple applications without restarting. However you have to make sure your app frees up all resources on exit which unsurprisingly not many people do.

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Steve French posted:

Just to stir the pot a bit, there is this:

http://www.scylladb.com/

a db storage/query engine is exactly the sort of place you should use c/c++/rust

your webapp front end that queries it can be written in any garbage you want

sarehu
Apr 20, 2007

(call/cc call/cc)
Hello? Last I checked the claim was that you should use Java or C++, not that you should use C++.

Everybody here is an idiot. Except me, Steve French, and the mods.

Also your shift key and period key are broken.

Star War Sex Parrot
Oct 2, 2003

I'm probably an idiot.

sarehu
Apr 20, 2007

(call/cc call/cc)
If Java gets so-called value types (like C#'s structs) there will be almost no reason to complain about it.

PokeJoe
Aug 24, 2004

hail cgatan


A recruiter left me a message the other day saying they found my resume on the internet and wanted to chat. Usually I ignore these calls because they're about 2 month contracts in Connecticut offered by a recruiter in Texas and I live in Seattle. This one was local though and I called back and arranged to meet with them to talk about entry level android dev positions. They asked my salary expectations and I fobbed them off with an excuse but they will certainly bring it up again during our meeting. Their response to me telling them that I would have to know more about the potential jobs was met with a request for a general number to make sure they were not wasting time finding jobs that would be below my salary requirements.

I am currently unemployed with a B.S. in chemistry. My android experience is self-taught and I have never worked in software before. I have published a few apps on Google play that the recruiter is interested in.

I don't feel like I have any leverage in regards to salary chat but I do not with to be taken advantage of by giving a low number because I am aware that developer salaries in Seattle are generally quite high. Any advice?

Tres Burritos
Sep 3, 2009

sarehu posted:

If Java gets so-called value types (like C#'s structs) there will be almost no reason to complain about it.

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

?

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

PokeJoe posted:

A recruiter left me a message the other day saying they found my resume on the internet and wanted to chat. Usually I ignore these calls because they're about 2 month contracts in Connecticut offered by a recruiter in Texas and I live in Seattle. This one was local though and I called back and arranged to meet with them to talk about entry level android dev positions. They asked my salary expectations and I fobbed them off with an excuse but they will certainly bring it up again during our meeting. Their response to me telling them that I would have to know more about the potential jobs was met with a request for a general number to make sure they were not wasting time finding jobs that would be below my salary requirements.

I am currently unemployed with a B.S. in chemistry. My android experience is self-taught and I have never worked in software before. I have published a few apps on Google play that the recruiter is interested in.

I don't feel like I have any leverage in regards to salary chat but I do not with to be taken advantage of by giving a low number because I am aware that developer salaries in Seattle are generally quite high. Any advice?

I'd go with something like:

"Well, I appreciate you not wanting to waste your time. At the moment, I'm more concerned with finding an opportunity that's a great fit for both me and the company. If we work together and find an opportunity that excites me, I'm willing to entertain offers within a fair market range for compensation."

If they try to push it, I'd move to a more direct approach, along the lines of:

"I don't feel comfortable giving that information to you at this stage in our relationship. If you establish a track record of finding me great opportunities but our deals keep falling through due to my salary requirements, then I'd be willing to discuss market rates with you to determine how we could move forward."

If you're unemployed and in a desperate situation, then do some research about what developers in Seattle make and use that number as the bottom of a range, but the first rule of salary negotiation is most often what everyone says it is.

Swit
Sep 6, 2013

by Cowcaster
I never had a university degree although the systems analysis course I took is a computer science course from Purdue University , Indiana.

I started to learn with GW-Basic,
then CoBOL (-85 and -74), dBase III+ (good for database although Ashton-Tate closed) and C++.

I learned from The Turbo C++ Trilogy: A Complete Programmer's Manual Paperback – January, 1991
by Eric P. Bloom (Author)
and have to learn more due to coding needs.

We also learned some C, and this, while using a Turbo C Compiler which ran on DOS.

I would have to upgrade my programming skills since I didn't learn many of the C++ related code.
We focused mostly on the structure and other functions necessary to create an inventory program with integrated accounting.
This accounting system was what used for the evaluation of the inventory program.
This, in turn, was to be used for electronic transaction systems for clients who were members of a club.

(I actually registered copyright with the US Copyright office for my inventory programs object code and source code.)

Since I could never afford the programming languages required as coding tools until recently, I focused more on system analysis.
I also scored 99% in that field compared to a lower grade in coding.
I got 100% in computer fundamentals part of which included simple robotics.
My overall average was 95%.


btw, UpWork, which oDesk now changed from, emailed me about my UserID to change my security question answer,
but that is also not available (it's possibly lost).
As I was mentioning, I passed a C language test with that company and found which part I should upgrade my skills on.
I did get better results in many other systems , including better results than in information systems however.
The only reasons these skills were better for me so far was for my own business.
The competition is just too much, there's war everywhere, psychological warfare, justification of slandering, people trying to make me crazy to justify stealing my code and more.

Many multi-national companies save some of their assets overseas as it's easier to control there for them.
It will be safer for me to save my inventory programs source code in other countries as well...
Translation in other languages is a good way to increase the redundancy and potential security from destruction of source code.
I'd hate to hear that a court decided to seize my work due to their governments interest in controlling my work.
The same goes for having to hire writers and 3rd parties for many tasks, even approval.

Edit:
Oh and btw, if you need me to edit the post to your needs, please let me know instead of just putting me on probation for no good reasons.
If it is worth it I may even consider paying the party that does the editing.

+ I found an office in NATO's Cyber-security HQ.
(I can also record this in audio to convey the tone better and ease of reading for those too tired from coding...)

Swit fucked around with this message at 20:51 on Dec 5, 2015

ExcessBLarg!
Sep 1, 2001

b0lt posted:

C++ has massive advantages over any GC language for anything latency sensitive.
GC latency and its impact on latency variance is definitely a thing, and absolutely should be a point of discussion in anything real-time.

However, pretty much anything that operates over the Internet has to be tolerant of the underlying network latency variance. So the additional variance caused by GC hits is pretty inconsequential.

sithael
Nov 11, 2004
I'm a Sad Panda too!
Is Swit a markov chain bot or something?

edit: looked through his history and there were at least 2 other people asking the same thing. it's really hard to tell.

sithael fucked around with this message at 22:13 on Dec 5, 2015

sarehu
Apr 20, 2007

(call/cc call/cc)

ExcessBLarg! posted:

GC latency and its impact on latency variance is definitely a thing, and absolutely should be a point of discussion in anything real-time.

However, pretty much anything that operates over the Internet has to be tolerant of the underlying network latency variance. So the additional variance caused by GC hits is pretty inconsequential.

If you have one server, one client, then the GC delay won't be a big deal. But one server, many clients? Pauses create more queue-filling and pushback that you have to deal with in your system, and it takes more work to avoid clogs that hurt throughput.

For example, if you put certain database systems under load (for the record, a product by a company I never worked at), their throughput graph will look like this:

code:

      |<-- 1 s -->|
     /\          /\          /\
____/  \________/  \________/  \__
And every part of the system spends a lot of time being idle, so overall throughput is killed. The reason is, buffers are getting full, pushback is getting sent back across the system, and that suffers latency too, and huge traffic waves happen.

The core instigator of these waves was the 40-200 microsecond delay of non-fsynced SSD write times.

This is a problem you can mitigate -- send preliminary push-back information faster and sooner, cut off your intermediate queues gradually instead of in one big jump, institute more global coordination. It's work you have to do, engineering your system, that you might not have had to think about at all.

And even if you do the work, your 2 ms garbage collection delay, that you've handled by making a queue bigger somewhere, means you've fallen behind on processing requests. Now you need to catch up, and every request is 2 ms delayed, until you do -- not just when a GC spike happens. Add a few components in line in your system -- and I'm talking about stuff in the same program, compiled together -- and you've got 2 ms + 2 ms + 2 ms + 2 ms + 2 ms delays stacked on top of one another.

Edit: I'm not familiar with low-pause GC performance, but looking at some slides I'm seeing stuff like, "< 10 ms" (on large amounts of memory) as a target to hit. Remember that a 7200 RPM hard drive has a worst-case latency of 8.3 ms, which is in that range, and it's still a very good idea for many people to switch to an SSD for latency reasons. A lot of people aren't switching to SSDs in servers for throughput or concurrent random access, which you can already build on top of spinning hard drives.

sarehu fucked around with this message at 22:32 on Dec 5, 2015

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Swit posted:

Edit:
Oh and btw, if you need me to edit the post to your needs, please let me know instead of just putting me on probation for no good reasons.

Try posting things that are on-topic for the thread (questions or advice about the software development job industry) instead of the total nonsense that you have been posting.

my effigy burns
Aug 23, 2015

IF I'M NOT SHITPOSTING ABOUT HOW I, A JUNIOR DEVELOPER IN JAVASCRIPT KNOW EVERYTHING THERE IS TO KNOW, PLEASE CHECK TO BE SURE MY ACCOUNT WAS NOT COMPROMISED BY A CLIENT-SIDE BOTNET, TIA

PokeJoe posted:

A recruiter left me a message the other day saying they found my resume on the internet and wanted to chat. Usually I ignore these calls because they're about 2 month contracts in Connecticut offered by a recruiter in Texas and I live in Seattle. This one was local though and I called back and arranged to meet with them to talk about entry level android dev positions. They asked my salary expectations and I fobbed them off with an excuse but they will certainly bring it up again during our meeting. Their response to me telling them that I would have to know more about the potential jobs was met with a request for a general number to make sure they were not wasting time finding jobs that would be below my salary requirements.

I am currently unemployed with a B.S. in chemistry. My android experience is self-taught and I have never worked in software before. I have published a few apps on Google play that the recruiter is interested in.

I don't feel like I have any leverage in regards to salary chat but I do not with to be taken advantage of by giving a low number because I am aware that developer salaries in Seattle are generally quite high. Any advice?

Was it from the Clutch guys? If so, they used to be called LG Consulting and they changed their name because they had such a terrible reputation.

But otherwise, anything that pays less than 60k-65k is gonna be sketchy, going off my own experience and that of other junior devs from my bootcamp. It seems like traditional CS degree people can expect 90-100k from larger companies, while self-taught and code school graduates start at anywhere from 60k-80k.

PokeJoe
Aug 24, 2004

hail cgatan


Not Clutch, this recruiter is based in Bellevue. Their internet presence presents a pretty positive light of them but I'm still skeptical.

ullerrm
Dec 31, 2012

Oh, the network slogan is true -- "watch FOX and be damned for all eternity!"

Yes, as far as I can tell, Swit is a Markov chain bot. He's been haunting the Eve Online thread for a while, and his posts seem a little too random to be your average schizophrenic poster.

On topic -- I've started adding "tell me about your favorite revision control system" into my usual set of coding interview questions, and my reject rate has gone up significantly. Not sure if I'm being an unnecessary hardass, or if undergrad education is really that bad.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

ullerrm posted:

On topic -- I've started adding "tell me about your favorite revision control system" into my usual set of coding interview questions, and my reject rate has gone up significantly. Not sure if I'm being an unnecessary hardass, or if undergrad education is really that bad.

A little from column A, a little from column B. Computer Science programs are generally not overly concerned with teaching practical software development. In my opinion that is indeed a failure of the educational system, which should be creating and promoting more software engineering majors for the students who want to code for a living. But if you're rejecting fresh 4-year CS grads for not having used version control, you're probably also being a bit harsh and probably losing out on a lot of good candidates. It's not like version control is going to be a large part of the overhead that fresh grads incur just by being in the real world for the first time.

let i hug
Dec 25, 2011

sarehu posted:

If you have one server, one client, then the GC delay won't be a big deal. But one server, many clients? Pauses create more queue-filling and pushback that you have to deal with in your system, and it takes more work to avoid clogs that hurt throughput.

For example, if you put certain database systems under load (for the record, a product by a company I never worked at), their throughput graph will look like this:

code:

      |<-- 1 s -->|
     /\          /\          /\
____/  \________/  \________/  \__
And every part of the system spends a lot of time being idle, so overall throughput is killed. The reason is, buffers are getting full, pushback is getting sent back across the system, and that suffers latency too, and huge traffic waves happen.

The core instigator of these waves was the 40-200 microsecond delay of non-fsynced SSD write times.

This is a problem you can mitigate -- send preliminary push-back information faster and sooner, cut off your intermediate queues gradually instead of in one big jump, institute more global coordination. It's work you have to do, engineering your system, that you might not have had to think about at all.

And even if you do the work, your 2 ms garbage collection delay, that you've handled by making a queue bigger somewhere, means you've fallen behind on processing requests. Now you need to catch up, and every request is 2 ms delayed, until you do -- not just when a GC spike happens. Add a few components in line in your system -- and I'm talking about stuff in the same program, compiled together -- and you've got 2 ms + 2 ms + 2 ms + 2 ms + 2 ms delays stacked on top of one another.

Edit: I'm not familiar with low-pause GC performance, but looking at some slides I'm seeing stuff like, "< 10 ms" (on large amounts of memory) as a target to hit. Remember that a 7200 RPM hard drive has a worst-case latency of 8.3 ms, which is in that range, and it's still a very good idea for many people to switch to an SSD for latency reasons. A lot of people aren't switching to SSDs in servers for throughput or concurrent random access, which you can already build on top of spinning hard drives.

To be totally honest you sound like you're coming from a C/C++ background and don't have a lot of experience with high performance Java web applications. You do have to think about object lifecycles while engineering your systems, definitely, but you have to do that constantly if you're writing C/C++ anyway, and there's a whole class of performance tuning for the JVM that mirrors what people do with C/C++ code. More important than that, though, is that most performance-oriented Java applications are targeting distributed systems where you can exploit load balancing to avoid problems with GC to begin with and your intra-system infrastructure becomes a complicated enough problem that you really don't want to deal with manual memory management. Even beyond that, the JVM makes your code interoperable with tons of other languages by putting everything on a standard platform.

If I had to sit down and re-write the Apache server right now, I would definitely consider using C/C++ because that's a relatively small application that understands its environment well and can play a lot of games with optimization and OS interfaces. If I had to re-write Cassandra, I'd definitely re-write it in Java. God bless the ScyllaDB people because they're apparently some kind of C++ magicians, but honestly I'm not sure I'd trust their code for production usage and I know I'm definitely not masochistic enough to try to follow in their footsteps. Honestly, though, even Cassandra/ScyllaDB would be sort of middle-tier complexity at the company I work for, and that's not even considering all the integration between JVM code bases we do.

Neither Java nor C/C++ is strictly better than the other, and I don't really want to try to argue about this, I just think it's worth pointing out that many very large tech companies are using JVM stacks on very large scales with very strict performance requirements, and they're making it work.

Necc0
Jun 30, 2005

by exmarx
Broken Cake

ullerrm posted:

Yes, as far as I can tell, Swit is a Markov chain bot. He's been haunting the Eve Online thread for a while, and his posts seem a little too random to be your average schizophrenic poster.

On topic -- I've started adding "tell me about your favorite revision control system" into my usual set of coding interview questions, and my reject rate has gone up significantly. Not sure if I'm being an unnecessary hardass, or if undergrad education is really that bad.

You're definitely being arbitrarily harsh here. My school didn't teach us anything about source control. Plus it's not like it's a very difficult topic almost anyone with half a brain can be taught it in a short period of time. You're throwing out a lot of candidates over something you could easily train them on in their first day.

ExcessBLarg!
Sep 1, 2001
It depends. If you're looking to hire a fresh graduate for a junior position, then working knowledge of revision control (or teamwork practices in general) probably shouldn't be a hard requirement but it's definitely an asset. Someone who is already familiar with working in a team (style guides, revision control, code reviews) is, in some ways, more of a known quantity than someone who otherwise demonstrates cleverness but limited teamwork skills in an interview. Even if a teamwork guy isn't exceptionally bright, it's pretty much a guarantee that you can find something for him to productively contribute to without a huge training period. Whereas the clever guy might not work out if he can't acclimate to style guides, revision control, code reviews, and generally being told what to work on.

Sometimes the training isn't an option though--maybe you've recently hired too many fresh grads and the team is imbalanced towards being inexperienced--then you definitely want to check for teamwork skills when interviewing experienced candidates, and asking about revision control systems (function and/or practice) is a reasonable way to do that.

ExcessBLarg! fucked around with this message at 19:48 on Dec 6, 2015

Sarcophallus
Jun 12, 2011

by Lowtax

Necc0 posted:

You're definitely being arbitrarily harsh here. My school didn't teach us anything about source control. Plus it's not like it's a very difficult topic almost anyone with half a brain can be taught it in a short period of time. You're throwing out a lot of candidates over something you could easily train them on in their first day.

This is absolutely true. The only reason I knew anything about source control pre-graduation was because one of my professors demanded all of our project work be committed to a subversion repo he was hosting. Source control has basically nothing to do with Computer Science, and there's a disconnect between people in the work-force who see CS as a form of job training for programmers, and academic institutions that see it as the science of computing.

Adbot
ADBOT LOVES YOU

Safe and Secure!
Jun 14, 2008

OFFICIAL SA THREAD RUINER
SPRING 2013
I feel like if you're doing any kind of coding in your spare time you probably have some idea of what git is? I had used git (even though I didn't understand how it worked and was too lazy to learn) as a student and so had basically everyone in my program who ever did more than what was required for the classes we took.

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