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
New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

revmoo posted:

Daily agile standups are the stupidest goddamn invention on earth. If there's information that needs to be shared with the whole team put it in Slack. Why would you withold information till the next day? It's either important or it's not.

In my experience, information routinely surfaces that no one thought was important, but it turns out is important. Or little things like someone saying "Still working on X, having trouble with the Frobulator integration.", and someone else says, "I have some experience with the Frobulator, I'll take a look with you later". Some people won't admit when they're stuck and need help.

Adbot
ADBOT LOVES YOU

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Keetron posted:

After a restructuring a few changes are announced:
- Instead of a developer from the team, this other guy who you never saw before is your scrummaster, he will not be working as a dev


The scrum master should not be a developer on the team, that is actually a correct move.

[edit]
In theory, from a Pure Agile perspective.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wilderthanmild posted:


I had little to no experience with agile going into my current job and somehow feel like I know even less about it now. This isn't a thing I seem to have any power to fix and I have no idea who really would.

I feel like I have no idea what agile really is, but I am pretty sure that most of the people I work with don't either. I guess we're supposed to have daily stand-up meetings, involve subject-matter experts and stakeholders in the process/meetings, and do incremental releases quite frequently. I don't think any of those things are happening.

The problem I see with companies jumping on the "agile" and "devops" bandwagons is that these things require people, process, and tools to succeed, and organizations ignore the people aspect. They buy tools and (sometimes) invest in process changes, but they don't get people to buy in to changing their approach to doing things, so the entire effort fails or turns into some useless abomination.

It's like companies that invest millions in virtualization and cloud technology, but then make people go through a weeks-long process to provision a new VM. They have the tools, but the people and the process are exactly the same, netting zero benefit.

Everyone cargo cults. "Successful companies use X tool and Y process, if we shoehorn X tool and Y process into our awful perception of how software should be written and delivered, we'll succeed too!"

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

smackfu posted:

A bug is reported. You write a unit test that replicates it. You fix the bug and the test is green. Do you keep that unit test around forever now?

Yes. The test will let you know in the future if you or someone else creates a regression.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

geeves posted:

What does everyone value a point as for Agile?

Our pointing system hinges on this. For example we decided that to an existing form, to add one value to save is 3 points. That's our baseline.

That includes DB changes, Mapping changes for Hibernate, Java Beans and the actual "FormSave" class / method that is called. Then every place it is displayed.


Has anyone else done anything similar? Has it skewed pointing, especially in the eyes of management?

Points are arbitrary and indicate relative size. You've decided that 3 points represents something of that level of complexity. Something that's 6 points is more complex than that. Something that's 1 point is less complex than that. I've been preferring non-numeric sizing lately. T-shirt sizes work well. S, M, L, XL, XXL. Anything landing above L is broken down further.

The thing that skews points in the eyes of management is when they try to assign an hour value. If someone says "it seems like 3 points is about 5 hours, so 1 point is equal to about 1.6 hours...", that's when the trouble starts. The next step from there is to say "Okay, so each developer can do 5 points per day, we have 2 week sprints and 3 developers, so that means we should be able to fit 150 points in the sprint!"

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

smackfu posted:

Has anyone dealt with SAFe yet? Just the concept of "Agile but for enterprise" terrifies me.

I tried to look at the Wikipedia page but I didn't make it past the second principle.

1. Take an economic view
2. Apply systems thinking
...

SAFe is insane voodoo horseshit. And this is coming from someone who is an Agile believer.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Keetron posted:

And large companies jump the Agile bandwagon without actually changing anything but some titles.

See my post a few days ago about the customer who renamed their "operations" team to "devops" without changing anything about how they do development or operations and now proclaims that they do devops.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
The sole case I've seen it be useful in (and I think I've talked about it before) is in a small business where there was ONE person who understood the specific business rules for a billing system. It was full of special-cases, exceptions, and exceptions to exceptions and it was impossible for a developer to test it properly because all we'd see is numbers in, numbers out.

Now, would it have been just as easy for the business user to give us a spreadsheet full of test cases with input/output? Yeah, probably. But this was a business user who was notorious for blaming others when she messed up. So having it explicit that "you wrote this test case, the test case is passing, it's not our fault" was actually important.

It's a very, very narrow set of legitimate use cases, but they are out there.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Keetron posted:

Today I met a tester who claims to have over a decade of experience in developing automated tests using, among others, java and selenium.

Somehow she never heard of git.

This is not as uncommon as you think. Many large enterprises do not use DVCS, especially those for whom software is not their primary business. Think insurance, healthcare, financial industries.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

HFX posted:

Even for ones that are software oriented, the people making the decisions are most comfortable with central VCS solutions. DVCS are scarey. Add into the fact that many non developers have trouble even using a VCS and I can see why someone may not know about git or mercurial.

Oddly enough, I've been seeing a lot of cargo culting into Git lately from these types of orgs -- someone at the top hears "Git is the cool thing the kids are using" and forces it on developers who have no knowledge or interest in changing their tooling.

It sucks.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

lifg posted:

I can understand having never *used* it, but having never even *heard* of it is weird for a ten-year software veteran. Not necessarily a deal-breaker.

Again, not in these types of companies. They don't get exposed to anything outside of what their job exposes them to. They don't care about the industry, or trends in the industry, or the act of writing software in general. They care about coming into work, jamming code into the same codebase they've been working on for the past 15 years, and going home after 8 hours.

Also, they will raise hell if you ask them to change anything about the way they work.

New Yorp New Yorp fucked around with this message at 21:17 on May 4, 2017

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
I interviewed someone yesterday who answered questions like Donald Trump.

Me: "Tell me about your experience with X."

Him: "I've used X a lot, for years, it's great! I love X. I know it inside and out. It's really good for <doing the thing it's supposed to do>"

Me: "Okay, so can you tell me how you've used it in a project before?"

Him: "Yeah, absolutely. I used X to solve <the problem it's supposed to solve>. It's the best at doing that!"

Me: "Can you go into some more specifics about how you used it to <solve problem>?"

Him: <evasive non-answer>

He did that for every question about every topic.

New Yorp New Yorp fucked around with this message at 16:09 on May 5, 2017

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

ChickenWing posted:

I mean, there's a difference between:

"Oh I love git, at my last project we used feature branches for our stories and had good merge practices so that our repository was squeaky clean and had different release branches and I found it really handy when I had to rebase X onto Y"

and

"Oh, I love git. It's great at version control. At my last project we used it so that our development team could all work on the same codebase."

Yeah, it was the latter. He actually talked about Git a little bit. He said "I use it to check in and check out code". He thought that distributed version control meant that code was split into different repos.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

HardDiskD posted:

On that point, I am now having the impression that people only have the commit message as the only source of information about why a thing was done, when I always thought that tools that show an overview of the project as a whole (like GitHub/GitLab/Bitbucket/JIRA or alikes) were the standard on most orgs.

In my experience, they're used inconsistently and poorly and oftentimes provide very little additional information.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Illusive gently caress Man posted:

I really hate this thing, and I feel like it must be a well known stupid thing with terminology around it, but I'm not sure what it's called or the best way to describe it.

I'm part of Org at BigCompany, and the high-ups in Org issue some edict like 'all products in Org must now X'. X is not fully described, and now there are dozens of teams all attempting to X, and all of them interpret X slightly differently and implement things differently and it's a waste of everyone's goddamn time. Like, if you're gonna issue these edicts, loving understand what you're asking for first and maybe even put together a team specifically for providing an implementation of X for all products in Org.

Poor leadership?

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

smackfu posted:

Question that came up at work: If your single page app is the only consumer of your REST API, and you have end to end feature tests, do you bother to integration test the API itself? It seems redundant to us but maybe there's some benefit?

Integration tests are way faster and will more easily pinpoint the source of the error.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

BabyFur Denny posted:

git svn clone

That isn't a tool that layers PRs on top of SVN, though. :confused:

That would just let you push your SVN code to a Git hosting platform that supports PRs. At which point, you might as well stop using SVN.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Pollyanna posted:

We released! :dance:


It was difficult getting it out, but the release itself went well. My team was in charge of the planning calculators. We built them with React-Redux, and we're gonna be refactoring them soon to make long-term support easier.

I continue to be amazed that we finished on time. I still feel like we could have done better, but hey, the team will be able to move faster now that we've got a chance to refactor.

Given how much you bitch about your employer here, do you really want people to know where you work? That seems like a bad idea.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

ChickenWing posted:

:supaburn: WE'RE LIVE! :supaburn:


aaaaaaaaahhhhhhhhhhhhh I'm so excited I have actual real significant amounts of code released to the public and it hasn't all come crashing down around our ears


Holy poo poo the last year has been ridiculous but goddamn it is so worth it right now aaaaaaaaaa :kimchi:


For context: I started this job last May, working on standing up a fully-featured digital-only bank. My company took on the contract to develop the middletier software, working in concert with a couple other vendors that handled other facets of the system. This is the first real-world project that I've contributed a significant amount to, to the point that I'm one of the primary SMEs for a major feature.

The site takes 2 minutes to load because it's downloading like 20 MB of poo poo and throws dozens of 404 errors.

Also if you go to any page that has routing involved (like the contact page) and hit F5, it throws a 404.

New Yorp New Yorp fucked around with this message at 14:29 on Jun 5, 2017

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

ChickenWing posted:

We only worked on the middletier, so we also get to feel smugly superior when the frontend does silly things :sun:

You should mention it because a page that takes minutes flashing a loading screen (and ~20-30 seconds on a RELOAD) to become usable is ridiculous.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Carbon dioxide posted:

Anyone else going to the Goto conference in Amsterdam next week?

That conference name is an Abbott and Costello routine waiting to happen.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

venutolo posted:

Would you elaborate on this? What did it involve? I've previously not heard of this practice.

It's awful because testing shouldn't be an afterthought that you do for someone else's code, it should be an integral, ongoing part of the day-to-day development workflow that helps inform your design decisions and helps you catch problems early on and avoid costly rework late in the game.

Having someone else write tests for the code you just wrote means that there's going to be a ton of back-and-forth, "was this intentional, or did you miss something?" and missed corner cases because the person writing the tests is coming into a big mass of already-"done" code that's more resistant to refactoring for/because of tests.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Pollyanna posted:

I don't really get why Ruby/Rails has such a bad reputation around here. From what I've seen of discussion here, I'm supposed to avoid it, but I don't see a major difference between it and other MVC frameworks.

It's a dead platform. Very few new projects use it, meaning you're stuck doing maintenance work.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

smackfu posted:

I spent a good chunk of today writing unit tests for Spring configuration classes to improve our code coverage numbers. AMA.

Have you politely explained that code coverage is meaningless yet?

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

fantastic in plastic posted:

But should we use tabs or spaces?

I use tabs with early returns but spaces with single points of return. Of course, if I'm using vi, that changes it up a bit.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Ither posted:

What's a good way to ask about work attire during an interview?

I'm at a casual place right now, and I definitely don't want to jump ship to a place where a suit and tie would be required. Or even where you have to tuck in.

You directly ask the question, "What is your dress code?" You'll also get a pretty good sense of it during your on-site interview.

The tech industry is notorious for being full of slovenly, ungroomed mole-people, no one is offended by this question.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

CPColin posted:

So I read up on the Entity Framework and figured, "Hey, this could simplify stuff a bit."

That will be quickly proven wrong. It's been a few years since I used it, but I really hate EF.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

CPColin posted:

What did you find wrong with it? The stuff I was considering using it for was pretty straightforward code that was like, "select the one row that matches this ID," or, "select all the rows that match this ID."

Speaking of which, those "select one row" and "select all rows" methods are pretty much exact copies of each other, except that the former loops through all the rows and sets the return variable to the current row, while the latter loops through all the rows and adds them to a list. Heaven forbid the former would call the latter and just return the first row. Or would just return the first row itself, instead of looping over all of them and returning the last row. Or would actually use a query that returns only one row. Whatever!

It's great for very simple queries. It falls apart when it starts generating complex, hugely unoptimized queries and you have to spend hours scratching your head trying to figure out why it's generating awful garbage SQL.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Keetron posted:

God I hate this so much.

Person 1: "So you mean the last 4 sprints we hit about 50 points each sprint but we never make the sprint because the PO is insisting we put 75 points in the sprint and then acts disappointed we don't do more than 50."
Person 2: "well, we could start over estimating stories?"
Person 3: "You mean we didn't already?"
Person 4: "Can we have a coffee break?"

It's not overestimating, it's just redefining what a point means. Just don't tell the PO that you've redefined a point to be 1.5x bigger.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

CPColin posted:

We need to store a value that's eleven character long in a database column that's only ten characters wide. The same column is in a handful of tables, so it's time to make a bunch of ALTER TABLE statements! No problem, because we can select the tables we need and have the result set create the statements for us.

Well, remember when I mentioned that this place learned some hard lessons about databases and created stored procedures for a bunch of their table accesses? Yep, each of these tables has four stored procedures, one for each of the CRUD operations. And each of those has a parameter whose name matches this column we need to change. And they're all declared to be ten characters wide. So now we need an ALTER PROCEDURE statement for twenty-five procedures.

Can we learn this lesson about databases? I mean, what the hell is the point of a stored procedure that takes a bunch of parameters that exactly match the types of the actual columns and just passes them to an UPDATE statement (in a different order, for some reason)? I guess it does increment a version column and set a timestamp column, but a trigger could do that, too, right?

Use SQL Server Data Tools and source control your schema then publish a DACPAC during your deployment process to bring the schema in line with your canonical schema.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

CPColin posted:


[*]Somebody now has a Social Security Number of 123-12-1234.

Developers have access to production systems and production systems contain PII? What industry are you working in?

CPColin posted:

Yes, via the process of noticing some stuff was missing on Dev, deleting everything that was already there on Dev, to make room, copying everything down from Production, and not changing any of the important stuff. Instead of, you know, copying the one or two rows that were actually missing on Dev.

Wow. Pulling prod data back into a dev environment for testing is fine, but it should be handled via some sort of well-defined process that does things like, say, update configurations to point to the appropriate environment and anonymize PII.

New Yorp New Yorp fucked around with this message at 22:27 on Nov 7, 2017

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
Working in Development: You don't have to know about anime to work here, but it helps

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Cancelbot posted:

It isn't!

web.environment.config is how it's done as we're a .NET shop. Our deployment pipeline will detect that and automatically apply an XML/JSON transform over them based on the deployment target, just their "staging" one was a cut & paste of the dev one with zero modifications. I'm pushing consul or at the very least environment variables as configuration so that I can remove that layer of silliness anyway.

It's important to note that the default behavior in ASP .NET land is to apply the transform at build time based on the build configuration, which is awful. You want the transformation happening at deployment time, so you can reuse the same build through a pipeline of environments.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Munkeymon posted:

Why would I want that? The release build is going to be different than the debug build anyway.

I've been bitten by release builds exhibiting bugs that debug builds didn't. All builds in the CD pipeline are release builds unless a debug version is requested, but debug builds never go past lower environments.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
A friend of mine has something like 90 bitcoins. I don't know enough about the market to validate this, but he claims it's essentially impossible to turn them into USD due to transaction limits.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Xarn posted:

We are basically standing up a reasonable development infra from scratch (we will be transitioning research code into prod :v:) and I need some advice.

We want
  1. Git hosting
  2. issue tracker
  3. CI runner
  4. Server to test performance differences
  5. Backups
  6. code coverage tracker
  7. Code review tool

So far, we are planning to lean heavily on self-hosted gitlab and stand up a dedicated server for d), because we don't have much experience with different tools, e.g. YouTrack or TeamCity. Not sure what is a good tool for f) in a mixed Java/C++ codebase.

Visual Studio Team Services does all of this except (d) and (e). (f) will be reported during builds but doesn't track trends over time; seconding SonarQube for that one.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

ratbert90 posted:

What the gently caress is this poo poo? If you aren't asking questions and you are new, I would be really really loving scared and suspicious of you.

Engineers SHOULD be asking questions. ALL. THE. TIME. Even senior engineers. What on earth possessed you to spew out this terribad drivel and call it "advice"?

The important skill to learn is "how to ask good questions".

I have clients who ask me, "Any idea why this didn't work?" and link me to something with a stack trace that explains the exact problem. It makes me think they're incompetent and not capable of reading logs and reasoning about error messages. If they did the same thing and said "the stack trace says foo, I tried bar and baz but neither worked. Any ideas?" I'd have a lot more respect for them. The former just says, "I'm too lazy/incompetent to even attempt to troubleshoot on my own." The latter says, "I understand the problem and have attempted to solve it myself, but I'm stuck", which is normal and fine.

In general, a question should follow Stack Overflow rules. The essential parts are:
1) What you're attempting to do
2) What the exact problem is (not the statement 'it didn't work')
3) What you've tried
4) What didn't work with what you tried

It's the difference between, "help, this doesn't work" *copy and paste of code with no context* and "I'm attempting to pass a Foo into Bar, but it throws a null reference exception. I've checked if Foo is initialized first and it looks okay, any thoughts?"

The former is going to result in someone having to play 20 questions with you. The latter is going to give them the information they need to fire off a few quick suggestions or give you a correct answer. Hell, the act of writing down the question in the first place might give you an "ah-hah!" moment that answers your own question.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Rocko Bonaparte posted:

I'm looking for some opinions on the scope of commits going into code reviews.

We have a lot of plugins and a common task is to make one. There are two ways I see to manage this from a code review standpoint:
1. Get the single commit that implements all requirements of the plugin, end-to-end, in one hit. Spin around on this with feedback and patches until it's set. When it's finally accepted, it's considered production-ready. The master is generally considered production-ready. The developer might make that initial single commit from a series of topic branch commits squashed together. They will also probably have to rebase the source a few times while this all is churning.
2. Get a sequence of commits for the plugin representing major "thoughts" towards fulfilling the plugin. This may still come from personal, squashed commits, but less of them. There will be more unique reviews but the reviews themselves would be shorter. When accepted, they aren't necessarily regarded as release-ready. Master is not considered production-ready. There is a mechanism for separating works-in-progress from production. Architectural work-in-progress code is "dark" in master until feature-complete.

Right now we're doing #1 and it's leading to reviews taking over a week sometimes, and also sometimes resulting in architecture (not plugin) changes that are so large that the reviewers can't really make sense of them any more. I'm looking at #2 as a greener pasture that might be just as bad.

I'm not a fan of either approach. Code review isn't the place to be ascertaining functional correctness -- that's what unit tests, integration tests, and QA/UAT testing are for. Code review is to catch obvious mistakes, style issues, horribly inefficient algorithms, etc.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Volmarias posted:

What blighted socialist hellscape allows this outside of gov jobs?

California. And I think New York, too.

Adbot
ADBOT LOVES YOU

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Pedestrian Xing posted:

I learned today that apparently management wants to start using TFS to compare our performances against one another. How big of a red flag is this? :confused:

Massive. What metrics are they considering looking at? Chances are they are misleading at best and meaningless at worst.

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