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
Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
Ok so here's a curious thing: I'm still fresh enough to software engineering(I got here late) to just *love it*. I adore the work. But I'm currently at a (non-tech) Fortune 500 and while it's a really swell name to have on the resume - I'm beginning to see the reasonable probability that there's no true future in development here - I'll probably linger around getting largely underpaid for a while, and then will probably end up getting pressured into a management role and taken away from the tech. Along with that, I'm drastically undercompensated and under-recognized for the work I'm doing - today I learned we're losing one of our contractors to another team where they've been made a senior developer - despite the fact I've more or less been responsible for 50% of their productivity over the last year, by spending probably an hour or so per day coaching them on bare simple technical stuff, and/or 'working with them'(read: telling them what to do, step by painful step).

Am I insane to start looking to flee from solid benefits and a low-demand job, just because the base salary isn't ideal and I'm bored out of my mind?

Adbot
ADBOT LOVES YOU

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
At some point you kind of just have to roll with that sort of thing, as distasteful as it might be. I'm currently playing nice at the tail end of a contract gig while I wait for an offer letter, because there's nothing to be gained at this point from telling a recruiter "Oh yeah, in a week or so I'm expecting an offer for 30% more than this gig is paying". Just gotta look out for yourself these days, the era of "trust your employer, they will take care of you" died a decade or more ago.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
I once had an employer offer a 'revised contract' after a year or two of working for them. The ownership threw a bit of a fit when I insisted a revision("but everyone else signed it!") because of a clause defining something like 'output' in terms so broad that a daydream or meeting-doodling would qualify, and then later attempted to also define the applicable period of company ownership of my output as being that of my employment, retroactive, and not as "time where I'm on-the-clock". I told them to change it if they wanted me to sign it and at the 11th hour they did, but were very upset they had to pay their contract lawyer for an hour to get on the phone with me and discuss what sort of language I would actually accept. I really should have seen it for the red flag it was and not waited another year for them to do even crazier stuff before I left.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

TooMuchAbstraction posted:

How do y'all get your junior teammates to build better software? At the moment all of my code reviews are involving a lot of back-and-forth because they're sending poo poo out for review really before it's ready. I remain hopeful that they're capable of better (i.e. they're not just crappy devs) but I don't know how to go about improving their output.

On a related note, how do you get your teammates to do more rigorous code reviews? Because those not-really-ready change lists are getting a pass from other teammates despite glaring flaws.

I am assuming you're talking about folks who are clearly engaged with the work and otherwise enthusiastic - but just can't seem to give a drat about quality?
I've got a pet theory that this is especially common in software mostly because of the esoteric prestige that comes with BEING A COMPUTER PROGRAMMER! You get folks who love being a programmer more than they really love programming. Who get seduced by the feeling of 'oh gently caress yes everyone thinks I'm a supergenius when I tell them I WRITE SOFTWARE' rather than loving the work itself enough to give a poo poo about the bigger picture.

(Note, this isn't necessarily limited to programming and tech, but I think it's more prevalent here)

Your only shot is to try and earn enough respect in their eyes to be able to have a friendly and serious career advice talk with them over lunch. A sort of 'here's a bit of advice I wish someone had given me early on in my career' type talk. Either they'll listen or they'll figure they're smarter than you and ignore it. At least then you'll know and can refocus your energy and efforts and attention where it's better used.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
Wait, we all think that's the only thing wrong here?

Bruegels Fuckbooks posted:

They generally seem to breathe oxygen
Ableist talk suggesting that folks with reduced lung capacity are worse at the job.

Bruegels Fuckbooks posted:

and wear clothing
Exclusivity against nudists.

Bruegels Fuckbooks posted:

They speak a language vaguely resembling English
Wow are you suggesting recruiters can't have good language skills?!


Bruegels Fuckbooks posted:

and sports/reality TV references.

And you're going to dismiss entire groups of people for their personal hobbies?



Holy poo poo what a toxic post, when you could have been completely unoffensive and nonjudgmental by just saying:

Bruegels Fuckbooks posted:

Recruiters exist. I have communicated with them and had both positive and less positive experiences.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Careful Drums posted:

Since we're being frank now, this kind of talk diminishes minorities who already have uphill battles to climb. Racism, able-ism, ageism are all real, serious issues.

I feel like I have to explain crap like this to my smartass kid all the time. "You're not wrong, but that was not a nice thing today and you accomplished nothing good by saying it"

And how do you determine that I'm not being serious, exactly? Oh, you apply some internal judgment process and act by it, rather than assuming I, too, am virtue signalling furiously.

Or we can all go back to gabbing about how big our salaries are while smugly refusing to approach the fact that in most cases they would fund 3 or 4 families if we would stop blowing them on vacations the less fortunate could never dream of, and material goods that the children of those families can't imagine owning.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
My experience has been that early in a development career, the two noteworthy types you'll encounter while trying to climb are either mentors or defensive old-guard.
The mentors are rare and insanely valuable. They're the ones who will see energy and interest and potential and try to help you shape your career. They'll go to bat for you to get you a promotion. They'll open opportunities for training and education in the areas you're interested in.
The defensive old-guard is what causes most of the job-hopping. They're the sort who care about introductions. Once you've been introduced to them as the fresh new developer, you will *always* be the fresh new developer to them - so you have to hop over into a pit of them at a different company, but be introduced as a Mid-Level engineer, and then you're stuck being mid-level until you job hop again to get introduced as....

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Forgall posted:

It just seems you have to be exceptional to be picked up. I've been looking at jobs at https://relocate.me/ and it's all senior this and senior that, and I don't feel like anything senior except in years. I feel like I've already forgotten everything I've used in my past jobs. So like I have years of C# experience, but I feel like it's worthless because it's been so long, and because I was working with outdated winforms. Same with PHP. My most recent experience is with react and node.js, but I couldn't even begin to make a site from scratch because project I've been working on was just bootstrap throughout and I don't know poo poo about properly writing CSS. And if you give me algorithm question or coding challenge my brain will just freeze.

Speaking with work immigration experience:

You're in a tough spot, no denying that. Especially owing to the politics that mean you're going to need a work visa to move to either of the two big regions you'd likely find work (Europe or US). But not all hope is lost. It'd a lie to say it'd be easy - it is going to be a struggle - but there's hope and it's not a 10-year goal.

First up, there's a difference in experience between the particulars (languages, frameworks, etc) and what really makes a senior developer - which from a code perspective is understanding the abstractions, as well as having the soft skills (time management, problem analysis, communication with management+stakeholders) to be valuable. I spent around 2 years working in Angular but a few years later, couldn't tell you much about it. Hell, at this time last year I was thick into Java and now I'd have to google hard to remember a lot of the nuances compared to what I am working with. It's about patterns and structures, not 'can I name every single LINQ method in C#'. And hell, I'd struggle to tackle head-on data-structures or algorithms questions out of a textbook, even if I use that stuff in day-to-day work.

In my experience what you really want is references. People that can be directly spoken to is best, but even having a handful of really strong written recommendations(with contact info included) will go a long way. You're also going to really want to put forward strong English skills. Russian will get you around the CIS, English will get you the world - and if you've got another more targeted language it'd help a ton as well - German, French, etc, even if you aren't 100% fluent, being passingly conversational or on-the-way will open doors in those countries.

And then you've just got to get out there and network. The US is probably a bit messy right now - owing to the politics and business of H1Bs, but in Europe headhunters are reasonably hungry and in my experience are more than happy to talk to folks around the world if your resume lines up with the position they're trying to fill. Get set up with the big international firms, hunt around the job listings in countries you'd be looking to move to, *apply to everything*. You're going to get rejected a billion times, but what's the harm in it?

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Forgall posted:

My last job was being solo developer with a really small company that basically just folded more or less, and software I was working on never went to production, so I don't know how useful references from there will be. I can show them demo of what I've been working on but it kinda sucks. Before that there's 3 year gap in my resume. I can get reference from job before that probably...

This sounds like hell. But so is Russia, to me.

Just prep a solid explanation for your work history, there is a reasonably chance you get asked about a gap like that.

And regarding jobhunting: the tough love answer is: do you expect a job in another country to just fall into your lap? You are going to have to work for it. And part of that work is applying. Ignore that inner voice that goes "Oh well, my qualifications arent 100% what they want." if you hit 60%, then apply.

Sure if they want a data scientist with proven hadoop experience and youve only got frontend javascript ui experience... Maybe hold off. But other than that you have NOTHING to lose and everything to gain. Worst case you get ignored. Best case you get a job abroad. And somewhere in the middle are interviews and lovely questions like "So are you already in Germany?"

Confidence is another soft skill to learn. This is the best time to practice.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Forgall posted:


Am I not supposed to mention where I currently am in my application?

It has been my experience that depending on the plattform you apply through, they may ask if you are in that country by virtue of you applying, even though your work history has no evidence of such.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

taqueso posted:

I found it really hard to just 'get into some open source development'. The work that I have contributed has all been from bugs I've ran into myself or features that I wanted to exist. My advice is to not go searching for an open source thing to work on -- do stuff that seems interesting/fun and then work on the open source things that come up while doing that.

Doesn't even necessarily need to be open source. I found a relatively weird bug in an application I use regularly and just got interested in *why* it existed. So I decompiled the (.NET) binaries and just read through the code to identify the bug and a potential fix - with citations to class/method names and the like. I also left a little note saying I was looking for opportunities abroad. A few weeks later a hiring manager reached out to see what I meant by that and ask for my resume and kind of kick of a mini-interview process.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

TooMuchAbstraction posted:

...that can't loving code? I'm not talking complicated poo poo, I'm talking "you spent 40 minutes on the gimme-ist of gimme problems". Maybe if we had a license like proper engineers get, then this wouldn't be as much of a problem as it is. But I expect that the demand for software so vastly outstrips the supply that any attempt to restrict the population of people you're allowed to hire would be short-lived.

There's no way to limit it. Maybe the ratios are much better at places that aggressively coding-test, like the Big 5, but everything I've seen suggests that if you look at developers who have been working for 5 years, the ratio is maybe 1:5 for those that would qualify for a professional license by most other industry's standards.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
A long while back I read an actually really good little article on LinkedIn about avoiding that whole question and it worked wonders for me with recruiters in the States.
They end up saying 'What do you make?' or equivalent.
And you say 'I'm looking for compensation at $(whatever)'

In a quick case it can sound like you've answered their question. And under any pressure you just repeat your answer. That's your number and they can speak to it. If they come back and say 'ok well, we can do 5% under it' well, then you've got a choice and I hope you've chosen a number that reflects a reasonable pay bump. In a really really rare case a recruiter will go 'well I think I can get you more than that, but it's good to know a floor.'

Broadly speaking we're valuable people with a valuable and important skillset. Acting like we're at the mercy of employers only harms the collective group in the long run.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Careful Drums posted:

the fact that programmers are having conversations like this probably explains why they didn't ask me what I made, they wanted proof. Turning them down just showed I was serious and wouldn't be pushed around.

gently caress those guys

e: just realized they still owe me $70 in travel reimbursmetns. I wonder if I'll ever see that money.

I have a theory about this that boils down to the combination of an unregulated profession and 'how hard could it be?' output.

The first half being is that compared to other significantly paid professions, there's no standard central board handing out programming licenses.
The second being that when you look at twitter as a suit and go 'wait, why do I need to pay all of my programmers that much money, it seems so SIMPLE, I bet my teenager could do it in a weekend, they're probably just inflating their rates!'


So you end up with the purse strings being handled by people who don't really understand what's going on, and who have probably been burnt by folks demanding high wages but outputting garbage. This leads to a natural drive towards lowballing offers.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

TooMuchAbstraction posted:

This is still you anchoring the conversation at that $(whatever) value. The company will then always argue down from that, and you have no leverage to argue up. Whereas if you can get the company to name a number first, then you can argue up from there and they can't really argue down.

This is why companies are so insistent that you name a number first. They don't care if that number is your current comp or just what you think you're worth. They want you to name it. Because if they have to make an offer blindly, there's a chance they'll be paying you a lot more than you'd otherwise be asking for.

Part of that comes out of a pragmatism though. If you understand they're loving with you, then gently caress with them. Play the logic:

Let's say you're making 100. You can maybe expect on a good year that to go to 105 if you stay put. But you're talking about other opportunities and someone asks. If you're keen on the position, say 120, what can it hurt. Maybe they talk you down to 115 or 110, that's still better than staying put. If you figure it's grunt work, say 130, what's the worst they can do? Not offer you the job? Oh well.

There's a weird psychology in this industry about 'people who charge a lot are worth a lot' even without any other evidence on hand.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
Had an over-enthusiastic interviewee get so excited to talk up his awesome previous project for an actual company (that he couldn't describe the front-end framework, the server framework, or the SQL interactions for) that he offered to zip up the source and send it to us after the interview.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

cliffy posted:

Can you elaborate on this? What are you basing this estimate on? Most websites estimate compensation for Staff Software Engineer at far lower than 350k across companies. Taking into account base salary plus equity here.

I can speak with direct knowledge of a SF-headquartered corporation whose 'Staff Software Engineer' role is probably going to pay more like 120k.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Munkeymon posted:

Write a scraper and find out :byoscience:

e: jeez how many other months of '03 are gonna show up on this page?

Reporting in.


dead gay comedy forums posted:

Work immigration advice question

From a education perspective, I'll echo the earlier sentiment: This hardly comes up except possibly as a passing topic when I interview fresh grads. I don't care what classes you took, I care about what you can produce, and the most we'll likely talk about school in an interview is 'So what courses did you find most interesting?' to see if you got really excited by building compilers, or doing raw algorithm stuff, or maybe building POC applications as a proof-of-concept. It's not about *what* the answer is so much as, for me, that you have one and you can show me that you're enthusiastic and engaged with the work.

From an internship perspective, just get experience in the code. And if you have overhead tinker in your spare time. I don't mean that you need to be a 'every waking moment with my code' sort of person - hell I don't personally even care much to look at whether you're hyperactive on github. I'm just suggesting that finding something to tinker with and learn about on your own energy is both valuable from a 'how to start seeing stuff you won't see in a single job' but also because it'll help you grow faster than just plucking tasks out of Jira. With regards to the work itself - just make sure you can answer questions about what you did from a high level (30 second description of the project and why it is important to the company) and dive into specifics as necessary (language, frameworks, tooling) as well as your own contributions (reworked unit tests, learned a lot while implementing a migration to a new framework, etc)

From a global work-immigration perspective, here's some sorely needed advice:
-You'll have an easier time of immigration with the structure and framework that university will provide, but from a proactive tip: spend as much time as possible building a social structure if you plan on sticking around after school. And keep in mind that even with school - there's likely to be an initial bump of isolation and potentially pretty bad homesickness. The latter is going to depend a lot on your personality and history, but it is still going to be a huge psychological shock to suddenly find yourself half across the world - not seeing family or friends for long intervals, surrounded by aliens from a different culture speaking a different language. Be prepared for that.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Pollyanna posted:

Oh my god, what the gently caress is regd05?

Literal children.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

CPColin posted:

Precisely what it looks like! I wonder if whoever bought it was an '05 trying to signal to other '05's that they were down to clown.

As I recall 2005 was a bad year for new members.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
It's that time of the year all around, I guess.

However, let this be a lesson to all you managers-to-be: at an engineering all hands meeting, delivering the news of 'money is tight due to a rough 2018, so raises are going to be minimal this year' at the START of the meeting is a great way to ensure people tune out the rest of it.

I'm excited to see the result of combining that news with a Highly Exceeded Expectations annual review.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Vulture Culture posted:

just lol if your org ties compensation to individual performance anyway

Compared to what? My review can be summed up as 'you're the newest member on the team, but every single other team member looks to you for guidance and assistance on a regular basis'. That guidance and assistance takes a lot out of me - while also helping the team as a whole look really good.

Are you suggesting that it'd make *more* sense to encourage a culture of 'eh, gently caress it, doesn't matter anyway' because performance means nothing and you may as well just warm a seat for 40 hours a week because you have no control over your own destiny?

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Vulture Culture posted:

yeah that's definitely it and there's no other possible option

Then clarify, because as it stands all you've done is laugh at the idea that individual performance matters, which leaves the door open only to the feeling that group performance or project success is the metric you'd use. Which feels like practicality from a parallel universe operating under completely different rules of human nature.

Whether it was schoolwork across all ages, or work across several professions - every time that the measurement was set on 'the team as a whole' things inevitably splintered into 'those that care' and 'those who appreciate the free ride'.

Like I'd really, really love to understand what you're getting at - am I missing something here?

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

sunaurus posted:

In my previous team, we had a system where something like 5% of revenue of each project we worked on each quarter was given to us as bonus money, and then our manager decided (based on performance reviews etc) who got how much of that money. I convinced our team/manager to just divide the money equally between all developers instead, it ended up working great.

My main reason for not liking individual performance based bonuses is that it can be very difficult to accurately evaluate someone's contribution to a team, especially for a manager who isn't really in the development process. Also, having individual performance based bonuses can create motivation to just maximize individual performance reviews instead of maximizing team performance (maybe even at the expense of team performance) and this is really hard to deal with because good luck explaining to managers that the guy with the best performance reviews is actually slowing down the team. Of course on the other hand, equal bonuses for the whole teams can create motivation to just let the rest of the team do all the work while you chill, but people who do this are much easier to get rid of in my experience, as long as the rest of the team cares.

You make a good point - but it also somewhat feels like the problem in this example isn't that of rewarding individual contributions, but rather of the metrics used to determine those contributions. When we're talking annual reviews, going 'ok hey everybody did alright so we're just spreading the money around' makes total sense. But it's discouraging and demoralizing to on one hand have a company pay lip service via review as 'you're doing amazing' but in action go 'but you're going to be treated as equally valuable as the guy who we're flagging as barely meeting expectations.'

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Pollyanna posted:

That is not what he said and you know it. Don’t be willfully dense.

We reward for things that matter. That seems a truism. No bonuses for having the nicest shoes, no raises on merits of drinking the least coffee.

A terse, dismissive quip about the idea that individual performance should correlate to compensation doesn't leave a lot to go on other than 'individual performance shouldn't be rewarded'. Which correlates to a thought that individual performance doesn't matter.

The two other logical alternatives is that 'nothing should be rewarded' - which seems easy to discard as a hypothesis for reasons of its sheer ridiculousness - or 'group performance should be rewarded'. That has troubling connotations.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

ultrafilter posted:

https://twitter.com/lhochstein/status/1123755527312433152

Mine is "self-inflicted DDOS", but that's not a phrase that comes up too often.

"We'll fix it after release"

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Guinness posted:

The trade off being, I assume, that your employer can’t just let you go for any/no reason at any time?

Having now gotten a taste of both worlds, I can't easily explain the psychological effect that socialist-hellhole labor laws have.

I mean, it's not JUST 'can't let you go'. It's also "without good reason". You basically have to be nearly criminally negligent or abominally lazy to get fired, once you've got a 'permanent' position. Compared to literally having been fired with zero notice for no reason before, the idea that at the bare minimum there'd end up being 3+ months of 'ok we need you to improve' as a warning, combined with a chance to improve, combined with the employer needing to document how my performance is not comparable to my colleagues, and even at the end of all that, still having a 3-month notice period during which I'm being paid-in-full. It's glorious madness, and having a 3-month notice period if I want to leave is a small, small price to pay. It sounds like a long time in American terms, but realistically every employer also tends to understand that it's going to take a few months after an interview to actually have you start.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
I make around 85 in Norway, but I'm also not located in Oslo, where that number would be much higher.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

raminasi posted:

The latter.

It's a pretty coldly logical approach - but do consider that people younger than you both grew up more absorbed into technology but also with richer and more valuable resources available to them. If they're rising fast, it's possible that they simply got a better start.

I mean, it's not universally that and nepotism or better social networking may be a part of it as well. But I first got interested in coding at a time when the only compiler available for the family computer cost a prohibitive amount so I *couldn't meaningfully code* until years later - when you could get a pared down version of Visual Studio with purchase of some books about C++. When there was an error, there was no StackOverflow, and since it was working in C++ - the code liked to blow up a lot because hands didn't get held. Nowadays you can get interested in coding at 9, have an infinite amount of resources, tutorials, answers, and libraries to build the Python app of your dreams and have all sorts of safety and comfort baked into the process.

Equal passion, equal commitment, but the extra time spent learning how to build rather than how to debug esoteric errors on your own without help - it adds up and more realistically matches 'the modern work environment' when it comes to development.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

CPColin posted:

I marked 12:20 – 1:05 every day as a private event marked "Tentative" to stop my boss scheduling stuff that bumps right up against my lunchtime and it worked fine for a few months until yesterday, when Boss sent an invite for 1:00 – 2:00. :argh:

Now I have to decide whether it's worth it to click "Propose New Time" and suggest starting at 1:15 instead.

The weird thing in my experience is that supposing a certain level of seniority - dodging meetings or proposing new times seems to be met with more of a "he's a busy guy doing a lot of work" rather than "he's avoiding meetings or being greedy with his time."

But I also interact with a lot of swedes, to whom the 1130-1230 hour is basically a sacrosanct period in which *nothing* shall happen without three months of forewarning.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings
Senior seems to generally just be used as a term for 'has been around a while' - but that's the nature of no standard industry certification process, I guess.

My spicy take on this is a discussion with a newly hired 'senior' who made the argument that we should avoid using anything in the project that hadn't been taught to the various team members in school. Like....LINQ. A cornerstone feature of our use language for over a decade.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

pokeyman posted:

Was that their literal take or were they aiming for the less objectionable "let’s stick largely to the parts of the language understood by the people here who write in it"?

Which I don’t totally agree with (people can learn!) but it has a kernel of truth.

i like how!!

The overwhelming majority of the project is legacy code, both old and new. This came up specifically because while I was out last week, he asked another team member why we were using IEnumerables as inputs and outputs in a new piece of rewritten code, rather than Lists, and that team member couldn't explain it. He asked, I explain that if we do things in a LINQ-y way, we get the dual benefits of both getting *one* straight path through the flow of read-parse-transform-serialize-output, but also that we also get the benefit of being able to do things like slip in and out logic into that chain without having to rewrite 1000 other lines of up and downstream code. Plus some talk on lazy eval etc.

His take was that even he doesn't really understand it, and so we should stop using it so that nobody gets confused. With a side of "thinking about things in that way isn't how we all learned in school so we probably shouldn't expect people to have to learn it."

I told him that when I go into surgery, I want the doctor that's read up on the latest techniques and procedures and tools - not the guy who graduated a decade or two back and refused to learn anything new since. He was unconvinced and likely will just join the "down with engineering and best practices!" club that's really taking off.

Keetron posted:

Stop reminding me that I need to learn a second language over java.

Spend three days and become a fluent C# dev :v:

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Careful Drums posted:

that sounds like some Better things aren't possible! bullshit

He's a really sharp guy, super motivated, and great at analyzing bug reports and stuff. I do agree, the 'clever' poo poo that you can come up with can oftentimes go completely bonkers even while using normal language features.

But I guess I don't feel like being fluent and comfortable with .Select() or .Where() without .ToList()'ing it every single step of the way is...a *big* ask.

Nor do I really feel it's ok that rather than suffer a week of feeling dumb until it *makes sense* - the attitude tends to be just suffering in ignorance and blaming it on being too hard to understand.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

School of How posted:

Most jobs don't require constant learning or "improving". Growing up my father was an accountant. The only learning he ever had to do was for three days a year he'd go to a seminar in Florida where he would learn about all the new things in the industry. The rest of the year he would just perform his job. This is how it is for nearly 99% of people in the workforce. I think it's perfectly normal to be fatigued by the expectation that you have to constantly learn the new stuff, because a lot of the new stuff that comes out is just a remix of the old stuff. Very rarely does something new come out that actually makes it possible to do things that you couldn't do before.

Ok. But that's the nature of the job. If you aren't constantly learning and growing your skillset and experience - on your own time much of the time - then you're not going to get jobs compared to candidates who *do* spend the time to keep up to date.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

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.

Good luck building your time machine. The rest of us will continue to live in a world where patching software is normal.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

rsjr posted:

Is this something C# specific? It seems like a generic why do we code against an interface over an implementation rather than the benefits of using LINQ, which is only an added bonus since LINQ I assume is built on top of that particular interface. Your answer isn’t very satisfying in that context, to be honest.

See https://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface etc.

Yes, it's beyond the 'use Interfaces to hide implementation details' (though that's another endless void of manhours trying to inform team members about).
In this case, a lot of the confusion came from the fact that we have a *lot* of data to process. Historically the mix of implementations have always followed the cycle:
1. Write the code to just load an entire dataset into a List<TIn>. Foreach it into a List<TOut>. Iterate that list.
2. Eventually, a client with a large dataset complains that the application crashes with an OutOfMemory on their 16GB system.
3. Tell them to upgrade to 32GB.
4. Eventually, it crashes on a 32GB system.
5. Try to start jamming all sorts of batching logic in around pieces of the system.
6. Two dogs kissing in an alley.

You can get away from a lot of this by utilizing IEnumerable pipelining, which also gets you LINQ support throughout the process. This is all lazily evaluated and that's where brains break, in my experience. Including in the discussion with this senior C# dev - who couldn't quite figure out how it wasn't all in memory - and 'It's not in memory at the same time' wasn't making sense.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Rocko Bonaparte posted:

No I don't particularly care about LISP. If I want my cake and eat it too, then I think my ideal book title would be Crazy Recursive Brain Explosions In F#.

And FSharp for Fun and Profit isn't book-like enough for you?

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Rocko Bonaparte posted:

I don't even know. Since somebody asked, I just vomited what was really getting me at that exact moment (due to talk about F# here and elsewhere).

Edit: That sounded particularly lazy, but the situation was that I had picked up The Little Schemer on some hopes of getting better at my recursive thinking, and was generally disappointed with the pacing and such. I haven't rallied to try something else yet and instead decided to ask in hopes that I don't gently caress it up again. Since I was being asked for details, I decided to throw in other topics of curiosity and F# was one of them. That site seems cool but I haven't dug into it.

While functional languages tend to have more idiomatic support for recursion, it's also possible that tackling a whole new language at the same time may muddy the waters as well?
Have you considered going back to familiar code you've written and try to rewrite iterative blocks recursively instead? That way you're working in a familiar language, and you're working in a familiar domain, so you can focus your learning efforts purely on the process of thinking recursively?

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Paolomania posted:

Hey people that have gotten to team lead roles: what was the path you followed to get there and how did you get promoted to that position? Was it right place right time? Did it happen due to company growth? Was there churn that helped? Did you bust your rear end with that specific goal in mind? Did you have to change teams/companies for the opportunity?

I'm wondering how to approach my next step. Tell me a story.

Being the most productive, knowledgeable, and professional member of the team when the previous lead moved on. But it was never a solo "because I can write code" thing - it was a combination of
-handling PM/POs really well
-being able to communicate both to technical and non-technical colleagues
-being very fluent in the business domain
-proactively being the guy that the rest of the team asked questions to and looked to for guidance
-the previous lead moving on

Adbot
ADBOT LOVES YOU

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Munkeymon posted:

I've heard things about the latest major version that make it sound almost like a bad language instead of a downright toxic one. For double the money.... maaaybe.

Double the money? Depends on the contract length. I'd take double the money for a year and then scoot off with my new happy base salary, sure.

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