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
Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

BaronVonVaderham posted:

Depressingly accurate.



goddamn those pictures are loving spot-on

Adbot
ADBOT LOVES YOU

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Where's the tipping point at which point I can truly pretend to be a developer?

I'm a security engineer who automates everything, builds custom apps, and deploys them to kubernetes. But I'm still fielding tickets for security work too. Is this what modern engineering is or should I be hoping to at some point pivot over to pure dev?

Is it number of languages known? Number of deployed apps? Popularity of apps where others stop expecting you to do other work?

I feel like I would get laughed out of a programmer job interview but have no idea what else it would take for that to not happen.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Our firewalls are split between two teams. Devices are owned by network, ACLs / security config is owned by security. We have a fairly in depth microsegmentation deployment as well. My role as security engineer is maintaining these configs, auditing them, and providing access for new apps as appropriate.

I have 5 cronjob-based apps to complete routine tasks / config valuation / health checks. I'm building a new platform that will link the ACLs to the microsegmentation system to reduce ticket load.

My company refuses to acknowledge the success of these projects and instead throws me to the dogs when one change caused a 2 second downtime. I'm considering moving on up to a dedicated devops / developer job but am hitting some hard imposter syndrome about it.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Our org wants a tool that can track epics, user stories, and tasks. They also want tasks/ us' to link to issues in gitlab to avoid double documentation.

Is Jira something that may solve this?

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
We use a separate project tracking platform that I personally like because I track both dev and operational projects in it, but management has decided that we need to converge on a single system.

They have decided on gitlab ultimate and declared the old platform dead, but haven't purchased, installed, or tested gitlab project tracking.

Just wondering if there are better solutions out there or if gitlab epics are an ok way to go.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
We just switched to gitlab for project tracking and I'm not a fan. We came from a system that properly used epics, user stories, tasks, and sprints. That system wasn't directly connected to the code though so some teams didn't find it useful.

If you want more than one kanban per project (high level boards in a group or something) you need gitlab premium, which is extra $. If you want epics and roadmaps, it's insane $$$$. Otherwise you need to figure out how to smash your epics into milestones but also use issues for sprints, which gets crazy convoluted very fast.

The leaders of my org are very guilty of picking the tool and building the process around it.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Opinion for a newbie developer - I need to add a new feature that is adjacent to functions in my application.

Is your preference to:
A) loop the adjacent feature into your current functions and invent clever ways to use the code that exists, though it may not fit perfectly?
B) add the new feature to the side, growing the code base but allowing independent support for both?
C) refactor the code a bunch to find a balance right between the two?

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I might just be trying to oversimplify the explanation. There exist functions that pull info A. I need to pull info B in a similar but different way. I could probably try to use functions that get A to get B too, but would conflate the primary use case and lead to complications if I try to refactor later. I could also duplicate code from functions getting A, change the bits that need to be changed, write new tests, and support both use cases separately. This would add a lot to the code base but sounds easier to maintain.

Or I undergo a lot of refactoring now to take the duplicated parts from A and B into separate functions to be the most reusable. Which really sounds like the 'right' choice but is the most amount of work.

So I'm asking for opinions from people who have done this a lot longer than I. Where would you tend to land?

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

Makeout Patrol posted:

It's hard to say without specifics but at the broadest, most general level, my experience is that it is easier to write new code and tests that do one specific thing than it is to cram new functionality into code that was never intended for it.

Thank you everybody for the advice. I ended up reusing my data caches with the new data because it absolutely fit, and wrote new functions for retrieving and handling that data. It works well, the code is easy to follow, the unit tests are exact, and there's not a lot of bloat.

And it came in a week before the deadline!

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

This is a war crime

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Having acted on the premise of "malicious compliance" multiple times, there's no way my cynicism level is 'mid'.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Malicious compliance is following orders or policies knowing they're bad or will result in failures, in order to prove they're bad and will result in failures.

"Fine, if you honestly won't listen and believe this is the one true way despite my evidence, we'll do it exactly this way to the detriment of the company. See you in a follow up meeting rolling this poo poo back in a week."

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

Beef posted:

medical insurance cost that the corp pays for US employees

Hahahaha

Just lmbo if you don't think they pass most of the increase on to the employee as higher premiums.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

rt4 posted:

I dunno, go build . seems simple enough to me

not empty quoting

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Music is super critical for me. I completely tune it out and can't remember what I've been listening to when I'm typing. But if there's a break in my thoughts, the music keeps me from getting distracted by something else.

Headphones are like an instant 20% production boost.

It also helps that our dev environment is in a VDI that doesn't have access to email or chat. No popups or chimes or glowing taskbars constantly pulling attention.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

The Fool posted:

I can't have music with lyrics, but anything instrumental/with a good beat is amazing for productivity.

Really like Ratatat for this purpose.

What's up ratatat-while-programming buddy :hfive:

I have entire albums memorized from listening in the background on repeat while I type away.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Psychological safety is imperative to successful teams.

Hazing is antithetical to psychological safety.

Thanks for coming to my ted talk

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
You can positively criticize. Appreciate the progress so far, encourage to move in different directions, get excited about the oncoming results after fixes are made. Everybody wins.

I know you all are way more experiences at this than I but chipping away at a few layers of built-up salt might do some good.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Nitpicks are great if they are presented as learning opportunities. I love to learn, I know I'm not a great (or even barely competent) developer, and anybody willing to impart some knowledge as feedback is appreciated.

Again, only with the context of "this isn't required and feel free to not do it".

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Got eviscerated on my first feature pr today. Two senior engineers just tag team ripped this thing to shreds in review. I already felt like I took too long to get this feature built in the first place.

But at least I was extremely familiar with the code by then. I took it on the chin, worked through three rounds of review for the afternoon, ended up with a far superior pr by the end of the day.

I hope their impression of me is the guy quickly fixing things up and not the code I originally pushed, woof.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
If they were being dicks about it I wouldn't have been cooperative. They were honest and blunt but I definitely felt a vibe of "we're doing this because we see potential".

I think the worst comment was "this is interesting", which I read as "lol wtf ru doin," because that's what I thought of when I fixed it.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Alright, now I'm getting frustrated.

New PR, I refactored my work multiple times before submitting. I cleaned up the edges. I paid closer attention to structure and function location. I did more testing work to catch edge cases. I improved my comments to explain why the code existed the way it does. I reviewed my code as critically as I could and made tough edits.

Once again, absolutely obliterated in code review. This time with way more "you" statements that make it seem much more personal.

Did I make some mistakes across my couple hundred lines of code? Yeah, I'll own those, it was a hard PR. But to slap a "you're not really close here" in the comments on initial review is pretty painful.

Especially when I worked my rear end off to get the loving thing to actually work in the first place.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
The "not really close" comment was an addendum to a shopping list of specific critiques in the code. More of a summary of the thoughts. And it still stings a bit.

I got another review from a senior who added a few good points but said overall it looked ok. This is the senior that I spoke to about high level design, which the other senior called into question during the review. The design was not written out, the user story was severely lacking details, and the scope wasn't accurate, all leading down this trail of disappointment. I would say it's a lesson learned but I didn't know any of the code around this feature when I started, and expected the ones handing me the work to have a grasp of what that work entailed. If I could go back in time I still wouldn't have been able to fill out the design / story / scope.

I talked it over with my manager today, who said he's been watching this PR (albeit silently). He thinks I'm doing a good for just starting out. I reassured him that I know there is a lot of learning and improving ahead of me and I'm not asking for review to be a pillow fight. Overall feeling better in general but still kind of salty.

I'm definitely going to get him on the phone for the re review so I can talk through his comments and immediately address new feedback.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

Brain Candy posted:

Nah, sounded like one who is chill and one who is unchill, and a manager that doesn't care about code reviews that much.

It's this except the manager is trying to mentor the unchill senior into being a force multiplier, which he still has a long way to go.

I looked back over the last 4 months of review at this company. Nobody got half the comments or attitude as I get from unchill senior. Either I'm the worst, which manager doesn't seem to think so, or this guy just really doesn't like me.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Nah I mean I totally made some technical mistakes and am owning those. Both chill and unchill have been with the company from the very start, they built the product from the ground up. Unchill seems the type to want ocd levels of control over making all the code up to his quality.

He's an extremely talented engineer and his reviews have this insane understanding of exactly how the new code interacts with every bit of the software.

My only problem is the approach of "you're not meeting the quality standard, do better" instead of "hey let me point you in the right direction and give you some exercises to improve your weaknesses"

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
There is nothing more dangerous to a PR than a last minute minor bug fix.

Every loving time.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Invited to final round interviews for a team I'm really excited about. The project sounds great, the team structure solid, everything looks good.

Then I see one interview is the 'culture interview'. Ok, they want to make sure I'm not discriminatory, I've worked with all walks of life, not an issue. Then I see in the details:

interview invite posted:

Culture - a strong culture is necessary to maintain a strong team. This interview will be a conversation centered around our values: Customer First, Relentless Prioritization, Be an Owner, Open and Transparent, Seek to Understand, Raise the Bar, and Always Take Care of the Team.

I loving love being managed by overlapping contradictory platitudes.

Thanks for the massive red flag right up front though, company, you just saved me a lot of interview time!

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I've been at a few places with "strong culture" and it always leads down to justification for leadership making unpopular decisions. Like "we're all going to work until 7 pm on Fridays to get the release out - customer first!!" and "you're going to cross train for everybody else's jobs too so you can step in if somebody calls in sick, as we're on skeleton staff and can't fall behind schedule. Remember, always take care of the team, and relentless prioritization!!"

I'm not opposed to a company championing strong culture, but distilling "culture" to 7 broad statements that imply a personal responsibility is not for me at all. Values like "security is for everyone" and "respect is valued more than output", or anything that conveys a sense of acknowledgement that staff are people too, seems way more appropriate.

In my experience, companies that care about good values don't paste them on the wall and point to them every day.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I'm jealous of everybody here who hasn't been burned by "strong culture". I've been pushed and guilted and finger-wagged at my last two jobs over 'culture'.

And I work really well with all my teammates directly so I don't think I'm just being a stick in the mud. The culture values always come at the cost of work life balance at these two places.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I worked for a company that held "Trust and be trusted" as one of their top values. I discovered a privilege escalation security vulnerability and brought it to my manager, then cto comes back and says 'it's a minor vulnerability, we're not going to tell customers but we'll prioritize the fix.'

It remained backlogged for 4 months without a word to the vulnerable customers, who had a simple mitigation if they knew.

I've always experienced "strong culture = strong management". Which, if management is doing well is fine, but if they form cliques and play politics turns the whole place to a nightmare hellscape before you can bail out.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
For the record, the culture interview went surprisingly well, and didn't at all focus on their list of values. In fact they fully recognized their values were crazy and had cut them down to three platitudes that no longer conflicted. It seems like they "get it" and are limiting the fart huffing to HRs required minimum.

And I'm gonna get an offer, and I'm totally gonna take it

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal

leper khan posted:

... after you push back asking for ~15% more. If you haven't yet, time to read the negotiation thread.

My salary starts with a 2 and it's not by accident

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
MacBooks also have a prohibitive lead time right now. We can't get them within 2 weeks, so meeting the offer -> start date time frame is impossible. Everybody gets used unless we happen to have spares on hand.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Alternatively, if your company is throwing away recycled MacBooks and buying everything brand new all the time, what else are they wasting money on

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Jeez that's all it takes for y'all these days? Turning video on during a team building meeting?

Working remote is cushy enough, being allowed to go video off during stand-ups and other work calls is icing on the cake. Demanding nobody look at you ever is pretty nuts.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I had a company tell me that because they said "on call will eventually be part of this role", they were fully justified in shifting my regular hours to 1-10pm every three weeks to cover the afternoon support shift.

As software engineers we spent a full 35% of our time talking directly to customers about support tickets.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
It was a kubernetes startup. Support had no triage or tiers, just two engineers staring down 40 slack channels and a repo issues board waiting for all hell to break loose in some unmanaged cluster.

We offered 12 hours of full kubernetes support regardless of cause. There is no worse hell on earth.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
Happy engineers rarely waste time responding to recruiters. It's far easier to ignore it. Your people at 1 year are seeing something they don't like.

Maybe it's a tiny thing and they don't have the experience to know how small of a deal it is. Maybe it's a big thing that longer tenure folks grow comfortable with and never talk about. Maybe they have poo poo going on at home and the extra pay is worth a sacrifice in quality of life.

Turnover will never be zero. But if you're seeing a pattern, keep going until you find the root cause.

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
It's interesting you say one year. How are your raises and promotions?

Are you taking junior developers, bootstrapping them to a senior level in a year of exercise, and throwing 6% and a "we don't really have junior/senior here" attitude at them?

I've left jobs over lovely raise cycles before.

Adbot
ADBOT LOVES YOU

Judge Schnoopy
Nov 2, 2005

dont even TRY it, pal
I blew up my last exit interview, but I had already expressed every concern with the director of engineering already. It certainly wasn't a surprise to anyone.

I also wanted to make sure I would never consider going back.

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