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
baquerd
Jul 2, 2007

by FactsAreUseless

Pie Colony posted:

how much free time do you guys find you get over a day? by which i mean time to just look at websites, blogs, maybe even videos or personal projects. also i guess overtime would be negative here.

When I was working my last job, I would literally do nothing but browse the internet or work on my own stuff for weeks at a time. The company was fixed in their ways to the point where if they thought a project should take 3 weeks and I got it done in 2 days, I couldn't get more work even by asking directly for it. It got to the point where I'd work sub 4-hour days and "work from home" in the afternoons. If it wasn't so depressing, it would be really sweet.

Now that I'm in a job that I love, I'll usually take an hour a day or so to tear myself away and get a fresh perspective, generally around lunch. Add on another half hour or so to play with financial stuff. I might do a couple of hours outside of work on my own projects, but work allows plenty of time to learn new technologies to apply there.

Adbot
ADBOT LOVES YOU

baquerd
Jul 2, 2007

by FactsAreUseless

Munkeymon posted:

Do you actually have a test of 'general ability to program'? I'd love to have that before we hire anyone else.

Figure out IDE preference in phone screen. Create a skeleton program in that IDE with JavaDocs and pair program it with them driving. It works extremely well for us, with people who can't code or read docs filtered out.

baquerd
Jul 2, 2007

by FactsAreUseless

shrughes posted:

I mean the piece about it being a startup language. It's not. You'll find it quite prevalent outside of startups.

If you don't have code left over from the 1990's or before, you're clearly a startup :colbert:

baquerd
Jul 2, 2007

by FactsAreUseless

Arachnamus posted:

Is this whiteboarding business really that common over there? The last few jobs I've had have been on the strength of a conversation.

If we hired everyone that talked a good game, I'm pretty sure we'd quickly turn into a dysfunctional mess.

baquerd
Jul 2, 2007

by FactsAreUseless

Hughlander posted:

That last is interesting because it could be rephrased as: We only hire unemployed people with no other options.

Ie: You can't interview during that week, you're not going to take a week vacation from a current job just to "contract" elsewhere etc... I wonder did they offer relocations? If so was hotel included for that week?

If the pay was actually above market rate for that week, it would be an interesting diversion perhaps even worth a vacation week even if it didn't turn out to be a new job. Somehow I don't think that was the case though.

baquerd
Jul 2, 2007

by FactsAreUseless

Mniot posted:

And I second the emphasis on asking about source control. "None" would be a total nightmare, but getting stuck with Perforce was not much better.

The only correct answer is "we roll our own". Well-known solutions like Mercurial and Git, or heaven forbid, Subversion, lack significant customization to an organization's specific needs. A candidate recently asked me about our self-rolled solution and responded negatively. There was only one response: "They see me rollin', they hating'". The candidate did not get an offer as they were unprepared to ride dirty.

baquerd
Jul 2, 2007

by FactsAreUseless
I technically could quit my job tomorrow because I have enough other cash flows to never work again, but I really enjoy my work. If you're getting stressed out too much and it's not because you decided to seek out that kind of environment, find a new environment. There's plenty of lovely ones and few great ones, but you can find them.

baquerd
Jul 2, 2007

by FactsAreUseless
I've got an interesting opportunity coming up. Right now as a team lead, I code a fair amount of the time, do some whiteboard architecture for projects in the scope of a month or two development or less (usually ~2 weeks effort from the team), handle line managerial responsibilities for my group of developers, and liaise with product owners and architects.

The opportunity is to move into a full-time architect role (within the same organization), where I will no longer have direct reports and I will no longer do any direct implementation, but I will develop architectural diagrams and documents and then support projects in the 6 month+ time period. I will be responsible for coordinating between product owners and team leads and will have a longer term viewpoint. It's not really clear to me how much money there is in it, but I should be able to get 10-20k fairly easily I'd think. My main concern is that I'm no longer coding, but I'm just creating documentation and diagrams and I'm worried it will be annoying and disappointing, despite the increased responsibilities and prestige.

Have any of you made this switch, and what do you think about it?

baquerd
Jul 2, 2007

by FactsAreUseless

Sagacity posted:

I've made this switch in a fairly small organization. My main advice to you would be to make sure that there's actually enough people to justify your role as a full-time architect. I personally got frustrated by getting lots of requests to design things from management and in the end only the barest of MVPs got implemented due to lack of engineering capacity.

Thanks for the advice. The organization is definitely large enough, the existing architecture team is badly overloaded which is why I do a large amount of architecture as a team lead.

Bruegels Fuckbooks posted:

It's difficult to act as an architect without direct reports and with staying apart from actual implementation. I've worked with architects without direct reports before and the big problems are
a) Developers taking your design, not understanding it, and implementing it incorrectly, then their manager protecting them because they don't understand the problem.
b) Developers doing whatever the hell they want in the actual released product without telling you.
c) You getting blamed when A or B happens.

But perhaps these are just organizational issues.

This are great to think about, though I think I can mitigate them almost entirely. In talks about moving to the architect position, the head architect said that proper and full documentation is the most effective CYA measure possible. I could easily still participate in code reviews too to make sure the group is still on track, and though I'd technically not be an implementer, there's nothing really stopping me from integrating with the team as much as I see fit including pair programming. I don't have the whole performance review thing to hold over people's heads, but that never comes up anyway because almost everyone I work with is dedicated and hard working.

What personally worries me the most is having my coding skills atrophy, hating just doing investigation and write-ups all the time, or just plain failing by missing important things that then blow up in my face.

baquerd
Jul 2, 2007

by FactsAreUseless
I really appreciate the responses, though I don't want to make this an E/N thread, so it would be great if other people looking at organizational moves asked for advice too. I've gone from night shift help desk to where I'm at now and can talk a lot about the transitions if that's something that could help someone.

Sagacity posted:

Also, doing architecture doesn't mean you should have this big upfront design that everyone then works on. You could still do things in small iterations and make sure your ideas actually work. If you've made a misstep along the way the team can just go back and refactor. It's just that you're the one who's supposed to keep the ultimate goal in mind.

I like how you're thinking here, though big upfront design is actually how I'm supposed to do it. The implementation of the components of the design can be vague and entirely up to the developers, but all of the system level components and functional groups should have documented and defined relationships before stories are created for the development group. I know that depending on which development group I'd work with, I could either give a very vague, high-level description that barely translates from the product owner, or I could be harassed by the team lead that my spec isn't detailed enough when I give a full class diagram.

Arachnamus posted:

A positive trade-off is that you get to be part of shipping many more projects than if you were a line dev, at the cost of becoming "post-technical" as they call it round here.

Are you not already experiencing many of these issues as a team lead?

Post-technical is great term for the cost of the move. I don't think I'd actually work on more projects, as the role is pretty much doing the rough draft of development and a lot of hacking things together to check boundary conditions, and then writing up a formal specification, it's a full time job on a single project.

I'm part of a rapidly expanding group, so the responsibilities have been more flexible. I ditch meetings and do development work, or do no development and whiteboard architecture pretty much as I see fit. I pair program, help testers, organize free drinks, and attend fun discussion lunches. I'm really happy where I'm at, so the prospects of making more money and getting a notch up on the ladder are weighty.

Ahz posted:

It depends on who you report to and who reports to the same structure. It's worthwhile when your boss or bosses boss holds the purse strings on projects. Project managers generally aren't fans of architects and if you don't have any control yourself or related influence, you're going to be frustrated.

It's only 6 months so whatever though, its different if you're thinking of a permanent move.

The fun thing about R&D is that your budget is basically unlimited as long as you can justify it. This is a permanent move though, I said 6+ months to size the scope of the architecture and development of projects I'd be working on.

baquerd
Jul 2, 2007

by FactsAreUseless

syntaxrigger posted:

It is frustrating because I feel like this whole phone call is to see if I can say the same things I said before but without using the 'wrong words' so the CTO will stop halting the process. Has anyone else had any experiences like this? Do they know the magic words to say?

"It wasn't a good fit"
"I always want to ensure that I am adding to the company's bottom line, and ultimately the position wasn't adding value"
"I always want to give my best, and there seemed to be more of an emphasis of quantity over quality"
"It's important to me that the customer comes first, and I wasn't allowed to emphasize that objective"

baquerd
Jul 2, 2007

by FactsAreUseless

Paolomania posted:

If you are interviewing at GOOG they will hand you a link to a page describing everything they expect you to know - which is mostly just a list of fundamental undergrad CS concepts. You might be expected to know what a red black tree is and what some of its properties are but I doubt an interviewer would ask you to implement one. An actual technical task would more likely be a FizzBuzz that then mutates with more and more requirements like concurrency and scale. The interviewers are not trying to trick, or intimidate you - they are just trying to find answers to questions like: are you actually an engineer? do you know what you are talking about? do you have an understanding of the types of problems big G faces? how well do you collaborate and deal with changing requirements? Puzzles and memory-checks on obscure concepts answer none of these questions.

That's the phone screen, the in-person interviews get significantly more involved for a senior engineer and will involve design questions as well as whiteboarding.

baquerd
Jul 2, 2007

by FactsAreUseless

Cryolite posted:

What are salaries like nowadays at Google (Mountain View or elsewhere)? Like for someone with 5-7 years of experience, knows Java pretty well, and can get through their interview without too many bumps but otherwise isn't spectacular in any specific way? 150-180k?

Including all RSU's, assuming they will be fully vested? More like $250k, and that's not on the high end. That said, there's some pretty big COL stuff going on, and people who just "get through" the interviews don't typically get hired anyways.

Paolomania posted:

The in-person interviews still must be tasks that, even if more involved, can be reasonably completed in an hour by someone who knows what they are doing - which fundamentally limits how deep it can get. For instance, on a design interview I'd still expect some side question "what kind of data structure would you use for that?" to which someone who payed attention in undergrad and reviewed a few notes would say "why a red-black tree would be perfect for this application because of properties X, Y and Z" and so ends the tangent without a digression to show a bug-free implementation of red-black tree on whiteboard.

Design questions tend to be much less about data structure usage (unless it's someone right out of school) and more about scalable architectural solutions, e.g. "Design a system to allow users to subscribe to a newsletter and be sent updates" for which the users are effectively unlimited in quantity. A whiteboard question might look like: "re-implement basic insert/contains/delete for ConcurrentHashMap as written in the standard JDK". Recent graduates get a significantly different set of questions than senior personnel.

baquerd
Jul 2, 2007

by FactsAreUseless

Tao Jones posted:

I'm a Rails/JS developer trying to fast-track my way into a management or architect role. I spoke to my boss (he is C-level; I work at a small agency) about my career plans and he made amenable noises but suggested that he'd be more comfortable with that if I had some certifications under my belt. He didn't give me any specific guidelines or goals for certifications to pursue other than he saw me "in a generalist role" and so I'm a bit lost in choosing something helpful, especially since web development moves so fast that from an engineering point of view, certification is meaningless.

I have $1800 of company budget with a promise for more next year if I use this wisely. What certifications are worth pursuing, especially considering my mid-long term goal is a track change to a more strategic role?

The PMP comes first to mind here. You can also look into other process certifications, such as ISO.

Out of curiosity, why do you want to stop being a productive member of society and join us in the ranks of the process-oriented drones?

baquerd
Jul 2, 2007

by FactsAreUseless

Skandranon posted:

The real trick there is convincing developers to not think of themselves as special super rockstar ninjas.

Except those do exist, the effect of which is particularly pronounced in companies that are not typically known for hiring top talent. There are a lot of just "OK" developers out there that can fill out teams and do competent work, but don't have any particular brilliance of design, rapidity of implementation, or knack for optimization. If anything, these people are typically under-compensated for the value they provide, and the presence of a union would drive them away.

Unless of course you have a fair and objective method of measuring productivity and contributions?

baquerd
Jul 2, 2007

by FactsAreUseless

Doctor w-rw-rw- posted:

There is a class of developer (IMO) which can figure out how to do almost anything, but doesn't necessarily do it well.

It's definitely a spectrum. My own personal tastes for code lie in the direction of putting delivery of value to the customer first and foremost, but that doesn't mean I don't care about code quality.

That is, there is also a class of developers that cares deeply about having the most beautiful flower of a codebase but can't really do anything in a timely fashion.

baquerd
Jul 2, 2007

by FactsAreUseless

Paolomania posted:

I've worked with "10x" people before who were really "make everyone else 1/10x" people. I think anyone who is good with logic and abstract thinking can be a "10x" when they are working in a familiar domain ... in idioms and patterns that they find natural ... with languages and tools they are familiar with ... on a codebase they are familiar with. However, anyone who is put in a situation where everything doesn't line up is going to naturally move more slowly - frequently stopping to look up information, cross-reference things, read background material, etc. for quiet some time until they come up to speed.

Years ago I was on a project where the lead developer was fond of coming in on the weekend to geek out on the codebase. He would occasionally refactor everything (BOOM - everyone else is a 1/2x developer while figuring out the new codebase) to idioms that made sense to him (BOOM - everyone is a 1/4x developer because they had a different mental model for the solution) and using some hot new framework that he had learned and wanted to use (BOOM - everyone else is a 1/8x developer while figuring out the new framework). And lo, the sorry newbie on the team who was still learning the domain (me) was now a 1/16x developer. gently caress that guy. A good lead would put an end to it, but when that guy is the lead ... well I moved on pretty quick.

The same situation can easily apply to greenfield development - the cowboy coder leading the charge can appear to be 10x because everything is lining up - domain, idioms, tools, code - but its just because they wrote it all! Everyone following along will look slow because they are wading in someone else's idea space.

This seems really quite insightful to me. One thing that comes to mind is that the best skill a software engineer can have is the ability to quickly adapt and understand new codebases and new frameworks. Minimizing the damage of change is the way forward.

baquerd
Jul 2, 2007

by FactsAreUseless

Sign posted:

Next week I'm interviewing a candidate to be my new engineering manager. I've never interviewed someone to be my superior before. Any advice compared to interviewing other non management engineers?

Even if it's somewhat technical in terms of project management, it's fairly rare for someone with the title of Engineering Manager to actually be an active engineer. Don't go asking them to whiteboard code unless your company is being weird and writing code is actually something an Engineering Manager does there.

Ultimately, they're going to be your line manager, and will significantly help determine your raises and possibly career progression. Pick the guy you think is most likely to help you.

.

baquerd
Jul 2, 2007

by FactsAreUseless

Cryolite posted:

Unfortunately they require a Top Secret clearance which I don't have, and they're unable to sponsor candidates.

This little thing here, it really sucks to get.

baquerd
Jul 2, 2007

by FactsAreUseless

Jo posted:

I'm trying to hit the niche between Python and Java, something to supplant C in terms of speed and a compiled nature.

Between Python and Java is something like Groovy, not something like C.

baquerd
Jul 2, 2007

by FactsAreUseless

Skandranon posted:

Spending 16+ hours with a bunch of smelly strangers working on something that I possibly don't care about and then lose control over doesn't really interest me. I can spend all the free time coding what I want, with breaks and sleep and 3 monitors, why would I ever give that up?

Some companies sponsor attending hackathons, so you get flight + lodging + regular pay out of it. That's pretty fun IMO, especially when you basically get a free pass to take a couple of extra "work" from home days due to traveling.

baquerd
Jul 2, 2007

by FactsAreUseless

Pollyanna posted:

I started with a cohort of 2 or 3 peers of similar skill levels to me. Within the next 4 months or so, we hired a good 8+ people of the same skill level. Most of these people started in the same team I started at, alongside me, and eventually were moved to other more interesting feature crews and teams. They've also been noted in email chains and all-hands for helping out on serious improvements to our product and process. I, on the other hand, have not really moved teams and haven't been given the chance to involve myself in things like those. I feel like the rest of my cohort advanced while I have remained stagnant, and I'm not quite sure why.

I do feel, however, like I'm not being supported in this manner by any senior devs or mentors. They're not giving me the opportunities to really tackle something and prove myself, and they either don't trust me enough to let me do that, or they're just not interested or don't care. I feel extremely limited here and like there's no real way to improve that situation, and I'm disappointed enough to not do that anyway - so I'm going to leave.

You've been pigeonholed because you likely didn't make a good impression early on. There's now a hole to climb out of, and the climb may not really be feasible.

As a young developer, I was in a position where I was supporting an app no one else wanted to support, and though I worked on multiple side projects that helped the entire team out, and asked for more work, I never really got any recognition or respect from leadership because early on, I made some huge political mistakes and despite technical skill was never looked at as someone who could handle responsibility. My attitude at the time mirrored this, I wasn't confident and the negative feedback was a constant downer.

Then I switched jobs, and with a new outlook on life, within a year found myself leading some of the most interesting projects available and soon got promoted into a leadership role. I've now turned that opportunity into another career path in technical leadership that I couldn't have imagined just 5 years ago.

A fresh start can be an excellent thing, just make sure you take some learned lessons away from your current job. For me, the major takeaways were to have confidence in my abilities, to defend my decisions, and to understand the line between taking charge and being a loose cannon.

Also, here's a little truth - there's only so much good and interesting development work available, but a metric ton of poo poo work to do. If you aren't visible, likable, politically aware, and demonstrably competent, you often don't get to work on the good stuff.

baquerd
Jul 2, 2007

by FactsAreUseless

Pollyanna posted:

Oh, yeah - I've also learned to have more confidence, or I won't ever get confidence. For example, my manager has outright expressed disliking my manner of speech - his words! - and I think that's plain bullshit, so I'm not gonna let that gently caress me up again. I'm not going to apologize for my personality, just cause someone doesn't like it. (And I know the difference between personality and having a lovely attitude/being a plain rear end in a top hat, trust me.)

Well, there's a very fine line there, I wouldn't discount feedback of this sort entirely because it most likely means there's room to improve if nothing else. If you're not seeing a therapist at least a few times a year, they can be very helpful as neutral observers to the way you come across.

baquerd
Jul 2, 2007

by FactsAreUseless

Pollyanna posted:

So how exactly do you schedule an interview, phone or in-person, during the work week? I can't imagine saying "hey, I'll be out from X to Y on Thursday, I've got an interview to go to" going over particularly well, and I'm worried I'll get caught if I do it in some random meeting room at work. I'd take a personal day or work from home, but I'm already in hot water for doing that too much for my manager's tastes, and I don't want to get fired before I'm hired elsewhere.

Here's how to put the fear of god into them: "I'm getting some treatment for my brain cancer. By the way, we might need to talk about short term disability soon."

baquerd
Jul 2, 2007

by FactsAreUseless

kitten smoothie posted:

Do you work for Hello World, Inc?

I had a job like his where we had a custom reporting platform in finance. Users would request a new type of report, and the coding, while it was technically true coding, was just throwing together a few different components and specifying what amounted to join columns and group by statements. This did literally take less than a half hour a fair amount of the time, but for some reason it was expected to take a week.

baquerd
Jul 2, 2007

by FactsAreUseless

School of How posted:

The thing I'm working on right now doesn't really lend itself to unit testing very well. We are building a device that uses GPS to track your location, sort of like how Uber works. Most testing has to be done by walking around the block and driving around town and poo poo like that. Unit testing this stuff would require too much work to get going. Plus, real world testing is more fun!

Bullshit, you mock out a GPS feed and start dealing with crazy stuff GPS likes to do. Otherwise, soon you will get to the point (if you haven't already) where you start breaking other stuff with your fixes. Stuff like fixes for edge cases that you've forgotten about and now have to re-discover because there are no tests to ensure the software handles them.

baquerd
Jul 2, 2007

by FactsAreUseless

Doctor w-rw-rw- posted:

EDIT: I misunderstood the context and thought that he was ssh'ing into a server rather than the device, and was talking about testing the device.

He said "We are building a device that uses GPS to track your location, sort of like how Uber works." so who knows what that actually means. In my dealings with GPS signals (CAN bus, Android), it's just effective a source of lat/lon coordinates that super easy to mock out, I'm not talking directly to the hardware.

baquerd
Jul 2, 2007

by FactsAreUseless

Bruegels Fuckbooks posted:

Well you have to use TDD with ruby because you need unit tests or ruby falls apart. With typed languages unit tests aren't as useful as they are in dynamic languages.

TDD has it's place in any developers toolbox. Enforced TDD is a great way to drive away talented developers who don't want to drink the kool aid though. If you really want to go full dipshit, mandatory 100% BDD coverage is a great way to kill all motivation and productivity from anyone who's not a True Believer.

You have to trust the judgement of engineers, while tempering their desires with timelines and deliverables. Don't put the engineers in charge, and certainly don't put people who value code quality and beautiful design above functional delivery in charge. Discount people's opinions who believe that prescriptive quality methodologies solve problems, and promote problem solvers who also value quality.

It's all a spectrum though, and effective management is understanding where on the spectrum a team or project is and where you would like them to be.

baquerd
Jul 2, 2007

by FactsAreUseless
This isn't hard. You take a poo poo on your desk, take over his desk, and beat anyone who questions you with a baseball bat while screaming "why" over and over again

baquerd
Jul 2, 2007

by FactsAreUseless

Monkey Fury posted:

Have a half-day interview tomorrow at a Fortune 500 for a ~~~big data engineering~~~ job (they actually have petabytes worth of data to sift through so I guess they do count as big data). My current job is pretty alright, but I'm going to try not to gently caress this up and make 2016 the year of the job

Hadoop or real-time? Kind of funny that I phrase the question that way, but are there any real contenders to Hadoop emerging for static analysis?

baquerd
Jul 2, 2007

by FactsAreUseless

FamDav posted:

Yes? Spark is a quickly maturing alternative to Hadoop that is easier and more flexible to write. Unless you mean "Hadoop the cluster manager, file system, and processing framework" in which case I'd say nobody is really building out a new file system. A couple of groups I know of are copying the basic idea of EMRFS and getting somewhere in the 1.2 - 1.5x of HDFS speed via S3. That does tie you to aws as your provider of choice without wanting to kill yourself over bandwidth charges.

Oh duh, right. I always think of Spark as Spark Streaming, since that's what we use it for.

baquerd
Jul 2, 2007

by FactsAreUseless

Cryolite posted:

3 years ago I joined my current company at 78k as a mid-level .NET developer.
A little over a year ago I was annoyed about paltry raises that only brought me to 85k, so I got an offer elsewhere for 115k and went to them saying "oh I'm happy here but I have this other offer, not sure what to do". They beat it and gave me 120k, plus a 10k retention bonus.
That 10k retention hit my bank account the end of January. I'm done with this place. I want to get out of the .NET enterprise CRUD machine and work on cool stuff, not maintaining hacked-together forms. So I got an offer elsewhere (130ish) and put in my 2 weeks notice.

They now want to promote me to architect and give me 150k (I bluffed that the other place is offering 150 and they said they'd match). Holy crap. There's no way I'm taking it since the new place does deep learning, high throughput distributed systems, blah blah all that kind of stuff so there's no way I'm picking enterprise forms over that, but it really does make me think.

Is it normal in anyone else's experience for places to go to lengths like these to retain people? Even after already playing this game once before? I mean if I stay, then I'll have effectively played another offer off of them twice. I would have thought at a real company that if you try to do it a second time they'll just show you to the door.

I kind of feel like there's no way I'm going to get back up to 150k base anytime soon if I leave - it seems like it's the kind of opportunity that arises only once you've been somewhere a few years and they know what you're capable of. I can't see them hiring anyone off the street for that much.

There are a million developers out there who can't code their way out of a wet paper sack, and 10x'ers are most certainly real unless you're already working at a place where the best of the best is the norm. I've offered people we want to keep significantly more, promotions, their own teams, etc. I've seen literal millions in acquisition costs spent every year and often still can't find enough the people we want (in Chicago). I saw a candidate that we weren't sure about taken all-expenses-paid to a high end club to chat with the team.

It simply means they value you. Highly capable software engineers are approaching executive valuations by many software organizations that realize it is hard as gently caress to identify, hire, and retain the best talent talent, especially if you're not necessarily a household name.

Also, $150k without bonus? That's good, but nothing special, even in Chicago, but you're right that a company generally needs to feel very confident before dropping that much. If you've got a 15-20% bonus on top of that or vesting options or RSUs though, $150k is quite nice.

baquerd
Jul 2, 2007

by FactsAreUseless

Che Delilas posted:

How is this a problem?

That's a huge problem, cross-training and knowledge sharing is critically important to the health of an organization.

baquerd
Jul 2, 2007

by FactsAreUseless

Good Will Hrunting posted:

What kind of questions about concurrency/multithreading would you ask someone applying to a job working on HFT-type systems? This is probably my weakest area for the jobs I'm looking at applying to.

Can you read academic-grade code written by the quants with physics PhD's who have heard of, but not learned anything about, best practices in software engineering? Does seeing a 10k LOC class excite you? Do you work well with stuffed suits?

baquerd
Jul 2, 2007

by FactsAreUseless

Vulture Culture posted:

It's smug narcissism. It comes down to the interviewer believing that only the problems they've solved on the job are worthwhile problems worth solving, and if you haven't solved them, not only are you not smart, you've also been wasting your time learning the wrong things.

Yep. "Deep" knowledge of a language typically only comes because a developer has run into unusual edge cases or problems, or is otherwise pedantically driven to learn the minutiae of the language. It's presence can be a positive, but it's lack is rather neutral. The difficulty lies in determining where the line lies between "professionally good to go" and "deep".

baquerd
Jul 2, 2007

by FactsAreUseless

feedmegin posted:

Probably because being 'the build guy' is super boring and unfun, in my experience...

We have a dev ops crisis in the industry. Build/dev ops is super high in demand because it sucks. But, to do it really well, you need as much experience as any lead development engineer. But, salaries are as of yet lagging for the position, and the position is generally tightly coupled with knowledge of specific technologies as opposed to general practices, and most people who end up in the position are sub-par as developers and are taking it as a back-up position.

baquerd
Jul 2, 2007

by FactsAreUseless

Ithaqua posted:

The misconception I spend a lot of time fighting is that "CI" == "builds". CI is so much more than that and it's actually very difficult to do well.

I've got pre and post-submit bitch
Single mainlining the code to scratch that itch
Code review mandatory
PAT and SAT telling the story
Forking data flow and Chaos Monkey
CD with versioned service discovery
Check that poo poo in, it's going to PROD
Don't look at me like that's loving odd

baquerd
Jul 2, 2007

by FactsAreUseless

necrobobsledder posted:

Yeah... nobody cares much about a software engineer's unique quirks or anything as long as there's decent code being produced and communication & attitude are professional. Being a software engineer is not exactly a soft skills-first job. After that, who cares if your father is literally Bill Gates and your mom is Octomom?

Yeah, but the guy comes off as a pathological liar, which is a bit much ever for a software engineer.

baquerd
Jul 2, 2007

by FactsAreUseless
Of course this will vary depending on location, but it's reality check time here people. The average salary for someone with the title "Software Engineer" across all levels of experience and locations is somewhere around $100k depending on what source you use. There is no shame in flyover country taking a $50k job fresh out of school. I know in Chicago (outside high finance), things really top out at around $180k base these days for a high-end senior engineer and basically no one is getting that (but plenty are in the $140-160 range). Talk about any higher numbers, and they just refer you to their executive committees and try to talk about hiring you as a director.

Adbot
ADBOT LOVES YOU

baquerd
Jul 2, 2007

by FactsAreUseless

Good Will Hrunting posted:

Can you elaborate on this? The stock part.

Lots of the compensation at the big tech companies (and really much of SV) is in the form of company stock (well it's not quite that simple but it's close enough for this discussion). If the company shits the bed somehow and their stock price plummets because no one likes them anymore, this stock is not worth as much, but if it goes up substantially, your actual compensation could be higher than expected.

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