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
JawnV6
Jul 4, 2004

So hot ...

return0 posted:

push to like GitHub and have a cron to pull the production branch?
I thought this was the non-horrific thread

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...
I have less of a problem with cron than adding a hard dependency on a third party web service who hasn't committed to production-level availability.

"Why can't we fix $critical_bug when we have code that's formally-proved, reviewed by the senior staff, and ready to go?"
"lol github's down, our servers are literally not under our control"

JawnV6
Jul 4, 2004

So hot ...

KoRMaK posted:

Also, whats the point of being that strict? The more strict things get the less creative/innovative I get. My best ideas come from letting me let my mind wander for a bit: a walk, driving, playing guitar, etc
How long can you develop without a creativity break? Like are you pulling out the guitar twice an hour or something?

JawnV6
Jul 4, 2004

So hot ...

baquerd posted:

It's a fun game Agile aficionados like to play. You see, X points can't be mapped onto Y hour/days of week, because there are so many variables (meetings, team variability, etc.). This conveniently ignores that after a certain amount of time, you'll have a rough idea for a given team and environment what the points -> time mapping looks like (note: this is literally the concept of velocity). Some people get really frustrated when you try to turn points into time though.
For a given team, in a given two weeks, you can produce Y points. Anything more fine grained is destined to failure, and any other consumer of points will destabilize it. The "convenience" of the ignorance is enforcing the abstraction layer at which it works.

JawnV6
Jul 4, 2004

So hot ...

baquerd posted:

I'm all on board with points, and the Fibonacci numbers have built in ranges and can convey uncertainty. I just object to people who can't handle it when someone points out that a 3 point story is typically e.g. 2-4 days worth of work, or that 1 point story should generally be completed within a day. It's helpful to baseline things in reality, and comparing stories to stories can be useful, but so can comparing stories to actual time.

Consider two stories, one has been sized at 3 points. The next story is being talked about, and everyone agrees it's substantially larger and sizes at 5 points. If you look at actual time anticipated, maybe 5 points at a week's worth of time minimum (for example) doesn't actually make sense because no one thinks it will take that long, and instead the earlier story should be re-sized down, or explored further.
Sure, if it comes up in the context of a planning meeting and leads to a productive discussion about the team's goals and internal metrics it's hard to disagree with your cooked example. But the real takeaway is that we should fire anyone who's under 6 points a sprint. I mean, if an IC is spending less than 50% of their time being productive,

JawnV6
Jul 4, 2004

So hot ...
Doesn't slack charge per non-org member beyond the first channel? If you're using a lot of contractors and they're all stuffed in #general I can see how that would get confusing.

JawnV6
Jul 4, 2004

So hot ...

PT6A posted:

How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"?
A lot of problems don't depend on memory details. Like if the use case is "I need a distributed key/value store that can handle fast writes, no updates, and statistical sampling of old data" at no point does the memory arrangement of nodes need consideration. Like necrobobsledder was saying, at a certain point the bookkeeping overwhelms the time and blocks off higher-level consideration.

JawnV6
Jul 4, 2004

So hot ...

comedyblissoption posted:

I think there are definitely people that can still maintain productivity well above 40 hours, but those are not mean mortals.

The ones I've met have not been nice mortals.

JawnV6
Jul 4, 2004

So hot ...

Slash posted:

Start with the actual requirements and re-build from scratch?
With that description, how well do you think "actual requirements" are documented outside of the code?

JawnV6
Jul 4, 2004

So hot ...

ratbert90 posted:

The intermittent manager tried to tell me "I'm not allowed to put my foot down." :allears:

Hey guess what? You can't be 2 months late on delivering hardware and then expect me to still get everything done with 2 less months.
Your foot down or not, the project isn't going to make up 2 months of lost time because the itinerant said so. I've been in the situation where manager stack up meetings to understand why delays didn't magically evaporate when something transitioned to a new team, good on you.

JawnV6
Jul 4, 2004

So hot ...

necrobobsledder posted:

You'd think that if a vendor came along with a solution written in PHP in its early stages you'd pretty much ask for a rewrite to another platform / language before you got too far in, but I guess short-term thinking pervades even supposedly long-term thinking businesses.
I don't understand conflating platform choice with short/long term thinking. With how many vendors have you had success asking for a ground-up rewrite outside their core competency?

JawnV6
Jul 4, 2004

So hot ...

Slash posted:

Surely not using swearwords reduces your vocabulary; by definition you are using fewer words.
I had to clean up my language when I was client-facing. The method I used was picking a different word, you can generally catch yourself and come up with a substitute. Try it out on this sentence:

lifg posted:

"WHY THE gently caress DO I NEED THE loving WINDOWS ADMIN loving PASSWORD TO INSTALL loving MYSQL INSIDE MY OWN loving VMWARE?"
There's no one word that replaces every instance of "gently caress" here. It's a little short sighted to stop thinking at "fewer words" because in practice people stretch the half dozen curses out to inordinate lengths and barring them requires more words.

JawnV6
Jul 4, 2004

So hot ...

Messyass posted:

The way I see it you really can't win with this sort of thing. You're always going to have a conflict over what exactly was agreed upon. Best case you come out ahead but you've got a pissed off customer, worst case you're bleeding money.

Yeah, that's pretty much it. There's a couple tactics you can use to nail folks down, but none of them are wholly avoiding these two outcomes.

One is to have your quote lay out a very finite scope, then make any change go through a complex ECO process and have a very explicit cost. Show them the most conservative MVP feature set you can dredge out of the vague requirements, quote only that. If they want the text on a widget to change, it's at minimum 4 hours (1 PM, 3 Engineering). They might get spooked and fix up the requirements, they might charge ahead and end up paying you a lot more.

The second is to ask them, preferably with multiple stakeholders from their org present, what their priorities are. Like if it gets down to crunch time, and we have to pick between Features or Time to Market, which would you prefer us to prioritize until the PM can sync everyone up? In product development we'd include CMF, COGS, etc. but the actual tentpoles don't matter as much as getting them to prioritize between 4 areas. Sometimes they can clearly articulate where they're at and it's grand, other results can include folks on their side revealing vastly different ideas about the project or showing that it's their first time genuinely considering that something might not work perfectly.

Honestly it sounds like they've worked with generous consultancies that tried to steer them in the right direction before and are having none of it.

JawnV6
Jul 4, 2004

So hot ...

Fellatio del Toro posted:

Does anyone's office not basically shut down the last week of December? All my jobs have allowed carryover and it's still always a ghost town between Christmas and New Years.

It's possible in the land of Gantt charts and make-believe, where Q4 is precisely as productive as Q1.

JawnV6
Jul 4, 2004

So hot ...

ToxicSlurpee posted:

Too drat bad for them. You owe them nothing but the two weeks. If all the talent is leaving because the management is stupid then gently caress 'em, that isn't your fault and won't be your problem anymore.

Cool, he can totally stick it to those upper management types! Ha! Oh, and the folks he's been in the trenches with for months or years are going to suffer the loss, and if he can give them 4 weeks instead of 2 to cover ramping them up on his work he's not completely loving those colleagues who had nothing to do with the bad management. You seem to give a lot of advice for your relative level of experience, have you been the domain expert leaving a team short staffed? Can you relate specifics of that experience?

Clanpot, I'd open the meeting with your manager by stating that you're leaving in no uncertain terms. There's no salary amount that will keep you on long term. Once that's established, you can talk about notice. Have some reasonable guess on how long it'll take to transfer your knowledge out to the team. This is probably not longer than 4 weeks, and absolutely not longer than 6. Every minute from 9 to 5 you're committed to helping your teammates absorb the shock and leave them as capable as possible. You can give them more than 2 weeks, but nail down a date in the first meeting. If they absolutely cannot do without you for longer than that, offer to bill them at a contracting rate (open at $500/hr, bill for time on site, not when there's someone learning from you). If you want to that is, perfectly within your right to bounce after precisely 2.0 weeks.

JawnV6
Jul 4, 2004

So hot ...

Hughlander posted:

This but 2 weeks + up to 2 weeks of consulting at 500/hr.
Also good.

Volmarias posted:

Over the span of a month, I and about 1/3 of the development team left the local branch of the company I was working at. I heard from the people left behind that a light bulb went off in the heads of the site management that maybe they can't actually treat the staff like they were and expect them to stick around. Suddenly conditions started improving and people weren't required to work late nights and weekends.

Don't be a martyr for the people staying behind. They'll be ok.
This too. The business can probably stand you leaving, you're probably overestimating your importance, and letting team members know soon after management will let them avail themselves of your time as they see fit. It's possible that you're a singular genius who's crafting systems that will take your lessers weeks to replicate and leaving will screw them over. But look at it this way: you're also giving them all a chance to step up :v:

I should also mention that when I've given notice, my entire perspective changed before and after that meeting. At least it has for me, it's like this giant weight gets lifted and there's a whole new perspective.

JawnV6
Jul 4, 2004

So hot ...

ToxicSlurpee posted:

It's based on my experience as a job-having person in general. If the management is being awful they deserve every bit of talent loss they have and in the situation of programmers it won't take anybody else that wants to leave long to find a new job. The argument you're making is something I've heard used as an excuse to get people to stay in lovely places by lovely managers.

Ok, so nothing approaching his experience level or situation, you're just representing the junior engineer perspective? I never said 'stay,' I said make sure the folks you're shoulder to shoulder with aren't hosed over more than they have to be. Do right by them.

The past few years have taught me that this industry is really small. Since starting my current job, I've worked with 2 folks from high school, 2 from college, 4 from former employers, and run into a couple still at a former employer. Pretending your actions aren't observed by colleagues sets you up to burn folks you might work with or straight up need in the future.

It's genuinely possible for a senior person to have some long-form task that is easier to complete than ramp someone up. It can be worth sticking around for up to 6 weeks to wrap that kind of thing up. After hearing Claypot's description, it doesn't sound like he's doing anything like that. It's just the normal scars from working with a legacy code base, those left behind can earn the same scars the honest way after he's gone. Advertise to colleagues you're leaving, make yourself available for questions and document the sharpest areas while you're around. 2 weeks, contracting rate after that.

JawnV6
Jul 4, 2004

So hot ...
It may work in the short term, but I don't think "hop to the employer that isn't currently treating employees like poo poo" scales. Like 5 years ago did none of y'all get a check from the literal cabal of billionaires colluding to suppress industry wages? Or are you convinced your personal negotiation skills can make up for the deliberate actions of folks who can buy and sell you a few dozen times before lunch?

Regardless of "can," should they have to? Would your personal negotiating position not be helped by Microsoft giving 6 figures for entry level folks?

JawnV6
Jul 4, 2004

So hot ...

revmoo posted:

Wait, what project are you working on with 37 minute builds?

Geez, in the future can you please preface all your small-team commit bullshit with "I can't imagine a build that takes more than 37 minutes"? Would really make these things go quicker.

JawnV6
Jul 4, 2004

So hot ...

revmoo posted:

The Linux kernel needs like 8 minutes on decent hardware. 37 minutes is either a neural algorithm designed for HFT, modeling the human genome, or poo poo loving code.
I had 24 hour builds that were partitioning a HDL onto FPGA's, which of "Neural HFT," "Genome," or "poo poo Code" is that?

It's that and poo poo like this:

revmoo posted:

Look, I'm right, and several of you are dead wrong. And who spends three loving days in git bisect? It is literally divide-and-conquer. after 24 work hours you should be able to literally bisect tens of thousands of commits.
Where you've never had a problem that took more than trivial amounts of time to "test" and still think your experience is this global truth, anyone outside these ridiculously small bounds is obviously Wrong. I've had boards that took 30s just to flash one. Problems that non-deterministically manifested after days. When testing takes significant time and effort, yeah being able to know without checking that a commit is worth that effort and not "WIP WONT BUIDL" can make sense.

It's totally fine that you've only worked in places that didn't have these kinds of constraints, but could you perhaps work on the utter disregard for tact and relentless condescension you're applying to folks whose work you're blissfully unaware of?

JawnV6
Jul 4, 2004

So hot ...

revmoo posted:

You literally just did this exact thing to me.
Can you point it out?

I implied that your workflow avoided a particular need for a flavor of testing. That's a peculiarity of that code base, not some global truth that must hold across Literally All Disciplines.

JawnV6
Jul 4, 2004

So hot ...
Oh boy, another day of reverse engineering revmoo's particular use case because of cagey phrasing around a strange behavior wholly without context or justification! Is a "good build" put through any UAT or are we defending against full auto? Who cares, it's irrelevant!

JawnV6
Jul 4, 2004

So hot ...
At some point that's the job? Everyone knows what should happen at a high level, there's a thousand little details why the easy way won't work and weeks die to yak shaving BS. If you're manager and team aren't actively complaining about the delays, you might just be dealing with the requisite layers of annoyance.

Past a certain point it's your manager's responsibility to get you the resources you need. If you've had several false starts on the same bullet point and the DBA's reaction is "DO BETTER," it's worth asking if somehow this multimillion dollar company could find a way to carve out some of his time to help you. It really sucks to go ask for help when there's "some" blame on you, but if you're facing burnout anyway what's the worst that could happen? Liberation to a new role? Even if it IS 99% your fault (it's not) the org as a whole has a desire to move forward, if that means tasking people with helping you out that's what should happen.

JawnV6
Jul 4, 2004

So hot ...
How representative of 300k+ person companies have y'all generally found half-remembered anecdotes from acquaintances?

JawnV6
Jul 4, 2004

So hot ...

Mniot posted:

I would say that Amazon and Uber are two well-known companies that have gotten a lot of negative press in the last few years about their work environment. Google and Microsoft are also two well-known companies that have not gotten similar negative press.

[... a bunch of rambling antagonistically constructive bullshit ...]
Gee, one of those has Literally 20x The Bodies of the other, so I'm thinking my point about scale was wholly lost on you. Working in the same building as a first-time known-awful CEO isn't exactly the same as working 3 time zones away in a recently-acquired subsidiary.

No, I don't think that Amazon has a comically anti-federal-labor-regulation policy baked so thoroughly through the company that they'd be so stupid as to put it on an official letterhead or enforce "MUST WORK ON VACATION" company-wide. How useful is that rando data point for, say, Lab 126 positions? Would hardware development have the same on-call requirements and culture as their central SRE? Or does the general public's relative ignorance of Lab 126 grant them better working conditions through this "well-known" metric you're keen on applying?

JawnV6
Jul 4, 2004

So hot ...

Mniot posted:

I was trying to think of the next-biggest company with as bad a reputation for culture and came up empty.

I'm not claiming that literally every Amazoner cries at their desk 24/7, just that a bad reputation doesn't come out of nowhere and Amazon is unique in being a big name for software engineering without a reputation for respecting engineers.

Maybe Microsoft and stack-ranking? Or Apple and speaking to Steve Jobs? (Both dead) There were plenty of jobs at those places where the widely-criticized negatives didn't matter, but if you were thinking about a job I don't see why "isn't stack-ranking awful?" or "won't Jobs push me down the stairs and laugh?" wouldn't be sensible questions to wonder about.

I'm really not sure WHAT you're claiming at this point. I never said every engineer is a happy lifer, which appears to be the straw man you'd rather be arguing. Back to my original question: does "my buddy's friend's dog's sister's walker heard about an Amazon guy that died on call" affect your impression more or less than Actual Journalism on the topic? How useful are potshot anecdotes devoid of any context to even avoid that group?

JawnV6
Jul 4, 2004

So hot ...

Mniot posted:

I'm saying that while an individual anecdote is inconsequential, when it rises to the level that everyone "met some guy at a party once who said that Amazon killed his cat so he'd work harder" then that means something. Because that's not an isolated anecdote, that's part of a trend.

There were other posts saying "well that particular Amazon group that I'm at is great", which seems reasonable.

I assume you're familiar with the NY Times article about Amazon, so I'm not sure what your comment about "Actual Journalism" means? I guess if there was a legitimate-looking article about how Amazon was a fine place to work and actually a victim of a smear campaign by Ali Baba, then I'd be more skeptical when I hear anecdotes.
Maybe you could've opened with that article instead of a vague allusion to it's supposed existence?

I still don't really think anecdotes about individuals half-remembered by acquaintances are all that useful of a data point in isolation but you seem really set on them being the gold standard for considering employers, go nuts! My cousin worked at a fulfillment center, should I post the hearsay from her experience? She said a guy there cursed a lot, or maybe that was a surgeon her sister worked with, in any case I guess every Amazon worker is subjected to lots of swear words.

JawnV6
Jul 4, 2004

So hot ...
Please stop.

JawnV6
Jul 4, 2004

So hot ...

ratbert90 posted:

99% of the time, gotos are bad.

For this exact problem? Like what's the solution: early return, indention hell, goto: cleanup, or....

Does "you need another function" mean you make do_thing a shim around if(check_args()) {do_qualified_thing()} else {return false;}?

JawnV6
Jul 4, 2004

So hot ...

Che Delilas posted:

Argh this statement is so frustrating to read!

Yeah that one jumped off the page and bit me too.

JawnV6
Jul 4, 2004

So hot ...

Jo posted:

"But should I learn Python?"
3) Are doing embedded work or CPU critical work, then no.

Even here though, LLDB scripts are written in Python. Sure it's a bad choice to run on the target, but there's enough work that looks enough like text munging (e.g. parsing console spew, turning repetitive documentation into repetitive code) where it's really handy to know something outside of C.

I, too, graduated from perl. I still miss regexes being 2 characters away instead of 20 or whatever.

JawnV6
Jul 4, 2004

So hot ...

B-Nasty posted:

A conversation about the mis-application of tech, or the importance of well-rounded individuals is fine, but immediately jumping to "passion is a code for cis/white/male" is a huge insult to those of us that really like the field and would prefer to work with those that do as well.
I think there's a lot more nuance, possibly squeezed out of the 140c limit, to the position than you're giving it here.

If you filter on "passion," and don't have an actual definition for it, the ones likely to get through that filter are overwhelmingly cut from the same cloth. It's not saying "only white folks can be passionate" or whatever disingenuous reading you're trying to fix up after the fact.

Vulture Culture had a much better post about this, it's weird that you'd totally skip addressing him to gin up an unnecessary and wrong analogy? I've had delicious fried crap served to me by stoned teenagers at state faires, "passion" is not a rock-solid correlation for food quality either.

edit: I wrote my first program as a child in 1990. I had a 10 grade head start on a lot of folks, largely because my parents were affluent. Didn't need jobs during college, so I was able to pick up a research internship as an undergrad. These things are true about me because of my parent's status, but boy howdy you'll believe they're purely my "passion" if I'm telling it to you in an interview.

JawnV6 fucked around with this message at 00:40 on Oct 21, 2017

JawnV6
Jul 4, 2004

So hot ...

B-Nasty posted:

In this very thread, and countless others on the Internet, one can find programmers complaining about functional but poorly-written/designed code. Maybe I'm being too generous, but I read "passion" as an attribute that would hopefully lead to better software craftsmanship.
Have you considered using the word: craftsmanship?

Like ulillillia clearly has passion, but I wouldn't want to deal with one of those massive if/else chains. If you want craftsmanship, ask for craftsmanship.

Vulture Culture posted:

Being passionate isn't privilege. As a hiring manager, optimizing for the heuristic "candidate seems passionate" is almost guaranteed to manifest in the most narcissistic possible way, with the hiring manager selecting people who most remind them of themselves. It's like "culture fit" -- if you can't/don't qualify exactly what you're looking for, and why it matters, it's probably just a way to justify exclusionary biases.
Also check this paragraph out. Took a couple pages to suss out you meant "craftsmanship" and were crudely hiding it under the blanket of passion, I think you should give this exercise another whack.

JawnV6
Jul 4, 2004

So hot ...

Volmarias posted:

I'm a little surprised that there's no language that allows spaces in identifiers, as long as you don't use a reserved keyword.

The gnarliest identifiers I've dealt with are Verilog's escaped identifiers. Begin with a \, break on whitespace, any printable ascii character valid in between. It seems really cool, you can have all kinds of descriptive names: \foo , \bar , \foo+bar|baz , \!foo^(baz/\boo)

Then I had a coworker tearing his hair out for a week because of the assignment operator getting snarfed up by \escaped_identifier_foo=

It's worse dealing with some subsets of testing environments. FPGA compilers aren't as good as the mainline synthesis tools, so they'd flatten out structures which can include modules. When they could handle escaped identifiers, the name would be mangled beyond what I'd expect C++ to do to a symbol

JawnV6
Jul 4, 2004

So hot ...

KoRMaK posted:

Sell them to other idiot. Sell 1 a week or something. If he can't figure it out I'll take them off his hands and do something with them.

Cool, now you've either tripped the FinCEN threshold of $10k triggering an investigation, or you made several sub-$10k transactions and that gets you nailed harder.

JawnV6
Jul 4, 2004

So hot ...

KoRMaK posted:

In any case, I haven't done anything illegal. So long as I file my taxes I should be fine if they come sniffing. Plus, I'lll have enough buttcoin money to pay an accountant and lawyer to deal with it.
Yeah, so good luck on the race between declaring a $1M+ windfall, liquidating the BTC through dodgy exchanges that won't do transfers over a $10k cap, and the IRS coming knocking for what, $500k in taxes? I'm not sure any single exchange could handle a $500k cashout without utterly tanking the price.

KoRMaK posted:

Well, thats true of anything where you make a bunch of money, even via legitimate means. If I restore cars I bet I'd have to deal with the same thing.
I mean, if you had business receipts, quarterly tax payments, and could point to happy customers from a successful business I think that's an easier story to sell than "some internet jerk who won't admit to having $1m they gave to me because of their own tax situation just... you know.. ended up in my name looool"

JawnV6
Jul 4, 2004

So hot ...

KoRMaK posted:

Well, don't do it all at once. Duhhhhh. geez its like you don't want to fleece idiots over the period of 18+ months. $5k at a time
Congrats, you're in FinCEN's other bucket, "trying to avoid any single $10k transfer." That's what they caught Hastert on!

JawnV6
Jul 4, 2004

So hot ...
Cool, buncha application devs telling embedded folks to focus on unit testing, love it.

JawnV6
Jul 4, 2004

So hot ...

ratbert90 posted:

I am a embedded Linux Dev and unit test. I even set up kernel drivers to emulate hardware (as best as I can). All of my code works in x86 as well.

Now bare metal? Eh.....

Yeah, I'm coming from more of a bare metal background and found the TDD approach on one project particularly worthless. Didn't flush out a single application bug, hardware testing with simulated delays (and lack thereof) was significantly more useful. Rocko's advice was much more relevant and on point.

It's just cargo culting. What does an EE rat's nest of code look like? What practices would improve it? I dunno, but unit testing's pretty neat! Let's recommend that!

I am literally an EE who now works as a software developer. The lowest hanging fruit in most of the EE code I've seen would be vastly improved by: whitespace

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...

KoRMaK posted:

I don't know if pollyanna is normalizing it though, just reflecting it. The companies you mentioned are all big popular companies that may have just implemented it well.
I'd use "regurgitate" but sure reflecting is a nice way to put it.

Back at Intel during crunch time near the end of 5-year projects, vacation requests had to go up through the program manager, maybe a VP if it was late enough? Even with a standardized number of weeks per year, that had quite a chilling effect. But it was also expected that everyone on the pre-Si teams took a month off right after takeout.

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