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
Clanpot Shake
Aug 10, 2006
shake shake!

Che Delilas posted:

I've found a problem that most people, devs and management alike, is not taking into account everything that isn't "designing the feature and writing code for the feature." Documentation, testing (and I mean writing unit tests, not dumb testing), communication with stakeholders, deployment tasks, meetings, emergencies, and just general everyday interruptions. "This will take me about a day" usually has an implied "uninterrupted" tacked on, but people don't consciously realize it.

Seems that these days most companies would rather run with a skeleton crew, because it's easy to see the cost difference between "3 devs" and "4 devs, a devops guy, a couple of support techs" on the company expense report, but it's not so easy to figure the cost of a feature or product taking three times as long to develop.

Skeleton crew perfectly describes my current situation. Months long hiring freeze with no end in sight while we hemorrhage talent. My team's down to me, the project lead, the devops guy, and the former-intern-now-employee. You'd think that the team responsible for the company's cash cow would get more attention, but no, the focus is on more and more features instead of the decade+ of tech debt. We have other teams who don't know our platform issuing pull requests for features, which goes about as well as you'd expect.

And yes, :sever: is the plan.

Adbot
ADBOT LOVES YOU

Clanpot Shake
Aug 10, 2006
shake shake!

baquerd posted:

Most teams in most (read: not top-tier) companies will have at least one member that isn't necessarily dysfunctional, but that simply isn't proactive or motivated. It is sometimes incredibly hard to deal with these people unless you are their manager and have some control over discretionary compensation, but that's really an aside. The point is that these people need to be tasked, and without standups they will happily sit there doing nothing until told something to do. Some ultra mild group shaming in standup can be effective (e.g. "Could you take something more today if you get your work done? What would that be? What specifically do you want to accomplish today, can you talk me through it?"). Some people need that sort of near-hourly accountability to keep them productive, while it's a terrible strategy to use with otherwise effective devs.

I see you and I have worked with the same people. Sometimes they get fired, but more often they skate on with nothing in sight to stop them being awful and lazy. It's kind of depressing.

Clanpot Shake
Aug 10, 2006
shake shake!

Gounads posted:

Holy gently caress dude. Reloading the page is not a valid fix for getting the data in your stupid widget to update in our React SPA. Just follow the god damned pattern we use everywhere else and it'll magically work.

Him: merges it anyway.

poo poo like that is why I'm really glad we have a super-strict code review process. If your code is poo poo it ain't making it to master.

Clanpot Shake
Aug 10, 2006
shake shake!

What's the going wisdom for putting in notice? I'll be receiving an offer next week and there's a good chance I'm going to take it. The standard 2 weeks is nowhere adequate to cover the loss of me leaving. The company has been hemorrhaging talent for over a year thanks to managerial incompetence and I'm one of only a few people left with any kind of expert domain knowledge, and for corporate reasons there's no hiring til maybe June. I feel bad leaving my team even more understaffed, but the situation is pretty untenable. I just don't want to burn any bridges.

Clanpot Shake
Aug 10, 2006
shake shake!

JawnV6 posted:

Also good.

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.

It's less a matter of my own genius and more the years of experience with a very complicated, undocumented system with loads of gotchas. Just last week a team implemented something incorrectly that cost us ~$100k - a lesson we learned years ago (back before the band broke up and cost a good bit less). Management is paying the price for new people to learn the same lessons we already learned, and that's on them.

One guy on my team is already aware I'll be leaving soon and I'm pretty sure he's also looking for the door, which leaves the company lifer and some recent team additions in different geographies without any expert domain knowledge. It's gonna be a rough time for them.

I can definitely relate to the feeling of relief after putting in notice. At my last place I went to a going-away thing for me and a couple other people and more than a few people remarked they had never seen me so happy.

Clanpot Shake
Aug 10, 2006
shake shake!

Speaking of PTO, the company I'm thinking of going to offers less of it than my current place. Something lovely like 11 days per year plus 1 day per year with them. I'm at like 20 at my current place. How willing to negotiate on PTO days are places usually? I could maybe do 15 days but any less is a big step backward in terms of quality of work/life balance.

Clanpot Shake
Aug 10, 2006
shake shake!

That is bad. I guess I should be grateful our code disagreements are whether

code:
if (someBooleanVariable)
is strictly preferred to
code:
if (someBooleanVariable == true)

and whether ! or == false are more or less readable.

Clanpot Shake
Aug 10, 2006
shake shake!

I probably should have been clearer, but I meant in the context of "if condition do this stuff, else do this other stuff," not as a return value.

Clanpot Shake
Aug 10, 2006
shake shake!

Skandranon posted:

Sure, it's not so cut and dry there, but even then, doing isTrue == true is redundant. That is implicitly what the IF statement is doing already. Would you find (((isTrue == true) == true) == true) helpful?

And that's the debate. I personally don't give a poo poo, but some people on our team think it's weird we have if (condition) and if (condition == false) but not if (condition == true)

necrobobsledder posted:

Ban if statements is the solution. Pattern matching will save your soul.
Please do not pattern match on simple booleans :negative:

Clanpot Shake
Aug 10, 2006
shake shake!

So the offer I was expecting finally came through and it is... way more than I was hoping for. Feeling pretty great about that. I'm going to formally accept it and put in notice on Monday. :yotj:

Fortunately/unfortunately, one of my coworkers, our only competent devops guy, also got an offer and put in notice, yesterday. Our manager is on vacation til Wednesday, so he talked to his manager. When he gets back I think he'll have one remaining direct report, and the team will have one guy who knows anything about the system left. If only management had listened to us sooner.

Clanpot Shake
Aug 10, 2006
shake shake!

Not keeping the test means you trust your team to not make the same mistake twice, which is an exceptionally high bar, in my experience.

Clanpot Shake
Aug 10, 2006
shake shake!

I can't speak to CVS, but having gone from svn to git, the way branching works alone is benefit enough to switch. I didn't find it hard at all to grok.

Clanpot Shake
Aug 10, 2006
shake shake!

What's with all the forcing? I don't think I've ever needed to use that flag, and knowing what it does means you better be drat sure you know what you're forcing before doing it.

Stash has an option to squash history when merging PRs if you need a clean way to revert.

We have our setup pretty locked down. No pushing to master (with some select exceptions), PRs require 2 approvals and a green build, history squashed to make revert easy.

Clanpot Shake
Aug 10, 2006
shake shake!

Progressive JPEG posted:

This ensures that the two reviewers each assume the other reviewer actually looked at the PR

Fortunately (?) the stakes are high enough in a dollar sense that code gets looked at. Unfortunately we have so many cooks in the kitchen weird poo poo slips through and breaks something anyway, but that usually comes down to author incompetence than the reviewers.

Clanpot Shake
Aug 10, 2006
shake shake!

revmoo posted:

Use PR's if you want.

You must work with some really talented people.

Clanpot Shake
Aug 10, 2006
shake shake!

One weird trick to ensure your build fails for inscrutable reasons years after you leave the company, employers and devs hate it!

Clanpot Shake
Aug 10, 2006
shake shake!

revmoo posted:

:goonsay:

"Guys, I deleted a file named _canary and now builds are failing with an error that says 'canary hash mismatch.' How will we ever discover the cause?!??!"

Perhaps I should have been clearer. The error code, since you wrote it, would easily lead the reader to the cause of the failure. The inscrutable part is why such a check exists in the first place.

Clanpot Shake
Aug 10, 2006
shake shake!

The place I'm at solved that by disbanding the QA department without any plan to cover the void left. We've shifted paradigms from QA to AQ - assumed quality.

Clanpot Shake
Aug 10, 2006
shake shake!

I'm a big proponent of never putting in more than 40 hours/week, doubly so if you're :yotj:ing.

Clanpot Shake
Aug 10, 2006
shake shake!

It's weird, I've been getting food poisoning every weekend since that email went out. Must be whatever the Friday takeout was...

Clanpot Shake
Aug 10, 2006
shake shake!

I had to provide support for an integration that sent us XML that didn't validate against the schema file they sent us. We had to massage the schema to generate code that would validate the requests they were sending us. You have certainly heard of the company that did this moronic thing.

Clanpot Shake
Aug 10, 2006
shake shake!

When we were looking at branching models, my feeling about the different ones out there was that they all try to be a one-size-fits-all solution. It seemed like they provided solutions for or guards against problems we just didn't have. We didn't need multiple release/hotfix branches, develop and master, or any complicated tagging schemes, and we don't care about history. We ended up using a very condensed version of gitflow adapted to our particular uses and deployment method, enough that it's not really gitflow anymore.

My advice is to take only what you need to support what you're already doing. Does it make sense to have multiple release branches? Separate develop and master branches? Figure out which parts you actually need right now, then once everyone is on the same page for the development flow you can build on that foundation to add anything you feel you need.

Clanpot Shake
Aug 10, 2006
shake shake!

It's called bore-out and it's a real thing. I gave up a 10 minute walking commute because of it.

Clanpot Shake
Aug 10, 2006
shake shake!

Maluco Marinero posted:

Dear lord that guy sounds like he's a terminal case. Better implement that rest API in node because.... people know JavaScript? What a well thought out position :rolleyes:

You joke but being able to hire devs who know X is worth taking into consideration when selecting a language/platform. At my new place this is (unfortunately) leading our stack away from Scala toward JS and Go (of all things). For a rest API :negative:

Clanpot Shake
Aug 10, 2006
shake shake!

Half way through my initial phone screen with Amazon I realized I really, really didn't want to work there. Only twice has a recruiter call set off alarm bells in my head and that was one of them.

necrobobsledder posted:

The worst ops I've seen are in places with incredible amounts of spending on it - they spend it on NOCs that function as extremely expensive and unreliable PagerDuty (because only the bottom of the barrel will stay in that job much and training is just plain bad as a rule), developers usually never get told that their app dies in prod every night and ops just simply reboots it constantly on a cron job, etc. The problems have nothing to do with whether developers are lazy or even smart but whether there's a feedback loop that works or even exists. 90s style ops / dev is very, very popular in the F500 and with the cultural deficiencies of these places it's really not going away despite whatever BS they're going to spend on re-orging and doing "agile" and "devops."

This perfectly describes the job I just left. Ops was it's own silo who did things there way, kept those ways a secret from us devs, and threw a fit every time we did something that violated one of their secret rules. By the time I left the needs of the business were finally catching up to them (hey, we actually need to automate some of this), but as a department they were totally intractable. Refused to do anything new, learn anything, or give up any control at all.

I'm pretty sure they're all about to get laid off with recent business changes, which is a nice bit of schadenfreude.

Clanpot Shake
Aug 10, 2006
shake shake!

a foolish pianist posted:

What made you feel that way?

This was over 4 years ago so I can't really give you anything specific. I remember getting the impression they wanted someone who would put in all the hours they asked with no regard for work-life balance. I've got a pretty good nose for bullshit and got that shady used car dealer feel.

Clanpot Shake
Aug 10, 2006
shake shake!

I'm switching to spaces so I get paid more

Clanpot Shake
Aug 10, 2006
shake shake!

That's dumb as hell. You should order your function params alphabetically in the signature in protest.

Clanpot Shake
Aug 10, 2006
shake shake!

A lot of our PR guidelines stem from bad things that have happened (caution being the grandson of disaster and all that), which has me wondering what happened at their place of work that had the team going, "if only we had required function parameters be in alphabetical order! Then this catastrophe could have been averted!"

Surely there's some reason for it that isn't some powerful pedant's pet peeve. Surely...

Clanpot Shake
Aug 10, 2006
shake shake!

TheBlackVegetable posted:

Yeah, I was joking a bit, and I have seen people struggle with Fizz-Buzz (because they immediately over- engineered it), I just wish interviews could come up with slightly more useful ways of demonstrating that stuff than things that will hardly arise during the development of their legacy CRUD app.

Did somebody say over-engineered fizzbuzz?

Clanpot Shake
Aug 10, 2006
shake shake!

Smugworth posted:

maybe for yamls you heathen

Or Scala, the best language

Clanpot Shake
Aug 10, 2006
shake shake!

It'll take a couple months to really click, but once it does there's no going back. I hated Scala at first but after 6 months I was in love. As long as you stay focused on writing your code the idiomatic way (immutable, functional, etc.) you'll be fine. I inherited a Scala code base written by contracted Java devs who couldn't be bothered and it's a hot mess.

If you're not using Intellij I highly recommend checking it out.

Clanpot Shake
Aug 10, 2006
shake shake!

We're no longer "grooming" stories - instead we will be "refining" stories. Because "grooming" has a negative connotation.

Clanpot Shake
Aug 10, 2006
shake shake!

The codebase at my last job was extremely complex and my manager flat out told us (me and the other guy who started the same day) she expected us to be useless for 6 months.

Clanpot Shake
Aug 10, 2006
shake shake!

Doing my first ever production deploy tonight which entails changing the primary and foreign keys on ~100 million rows and changing the application services to use the new thing. Fingers crossed.

Clanpot Shake
Aug 10, 2006
shake shake!

Virigoth posted:

What happens if it stops at 43% changed? Asking for a friend.

We restore the database to the backup we took before we started.

Clanpot Shake
Aug 10, 2006
shake shake!

Punkbob posted:

I bet it’s the cloud, so it’s probably fine.

It's okay, it is the cloud.

Clanpot Shake
Aug 10, 2006
shake shake!

Virigoth posted:

Since you said this is your first prod deploy here are some things to think about :
Is your Ops guy going to be on the call with you during the work window if it goes sideways? It'd be good to get your infra/ops side of the house involved if you can.
Do you have a backup DB up and running that you can fail back to and keep your outage window smaller so you don't gently caress up your SLA and have a smaller mean time to repair if it does go pear shaped?
Double check your commands you have pre-typed out for the change you copied from your test run (you do have them all prepped right?) for typos and duplicates. You don't want to be like the AWS S3 guy who had a typo and took down half the internet.
Have your form of drug/booze nearby for when it's complete so you can celebrate accordingly.

I'm actually not flying solo on this, which is nice, I just authored all of it. We've tested the migration and restore repeatedly in lower environments so I'm pretty confident it will work either way. It's also nothing nearly important as S3 as our site only really needs to be up during continental US hours. But yes I have everything written in a text file.

Clanpot Shake
Aug 10, 2006
shake shake!

DELETE CASCADE posted:

you type "rollback" instead of "commit"

We're running everything outside of a transaction because the overhead of a transaction makes it too slow. :toot:

Adbot
ADBOT LOVES YOU

Clanpot Shake
Aug 10, 2006
shake shake!

HardDiskD posted:

I had my first taste of coding/algo challenges being part of the interview process and boy it did not go well. :(

What were you asked? I've always been asked one of: reverse a string, sort a list, traverse a tree. Basic stuff.

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