Code reviews, CI, Fragile, Scum, Gangbang

> muh, we need to be more Agile[tm]
> muh, we need to empower people
> muh, we need to take ownership
> muh, we need full test coverage
> muh, we need CI
> muh we need triple sign-off code reviews

How did all this fucking bureaucracy creep into the simple act of

> Write code
> Test code
> Use code

and who do we need to kill to get back there?

Attached: programming_motherfucker.png (997x647, 115K)

Other urls found in this thread:

yegor256.com/2018/03/06/speed-vs-quality.html
github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
connect.linaro.org.s3.amazonaws.com/sfo17/Presentations/SFO17-417-SEL4.pdf
twitter.com/SFWRedditVideos

Pajeets don't do anything at all, or actively defraud you, without being yelled at.

> Write code
> Test code
> Use code

Nigger have you ever worked with a team?

programming stopped being a thing done by incels for fun to an actual activity that impacts trillions of dollars worth of products worlwide.

The future of coding is diverse and female whether you like it or not you incel.

Came her to post this.

I have. I even lead one. Everyone on it is rightfully frustrated with this shite. Oh, except for... what mentioned and other deadwood.

yegor256.com/2018/03/06/speed-vs-quality.html

>The future of coding is diverse and female whether you like it or not you incel.

Are you the same kike who posts this drivel on Jow Forums ?

programming is fine and all but if you're in a team of programmers you have to plan a bit or you might as well do nothing at all.

This.
Read pic related.

Attached: Humphrey.jpg (327x499, 25K)

A team of more than 2 people?

Because this isn't the magical world of open sores where you can take 20 years to implement filepicker thumbnails because you're doing it for free as a volunteer anyway and nobody uses the crap you're making, we're talking about professional enterprise-grade software that needs to be developed fast and with quality - and there are certain techniques to deliver that, namely the stuff you're shitting on.

I get that, but what's wrong with

> Write ticket/bug
> Assign ticket to somebody/self
> Close ticket once done

10.

Multiply that by 20 (i. e., 20 devs doing that simultaneously, several times a day) and you'll learn what's wrong with it.

> muh, we need full test coverage
> muh, we need CI
those two enable
> Test code
You want tests, but not automated? As a result, you'll get no tests - bacuse nobody has time for it (professional environment) and/or it's not fun (hobby projects).
Don't want CI? Have fun hunting down that "works on my machine" bug introduced sometime within the last six months.

>Because this isn't the magical world of open sores where you can take 20 years to implement filepicker thumbnails

Things move a lot quicker there. Unless of course it's an "Enterprise grade Project".

> we're talking about professional enterprise-grade software

Yes we are! That's what I'm working on.

> that needs to be developed fast

Maybe it does, but it never is. Because red tape, bureaucracy and tons of useless mandarins on the way.

> and with quality

Funny you should mention that. Quality is poor, but everyone ignores that because the automatic tests are green and we have test coverage.

> and there are certain techniques to deliver that, namely the stuff you're shitting on.

But they don't work...

There are lots of ways to get average programmers to create average software. Greatness requires good programmers, and most businesses won't pay for that.

>> muh, we need full test coverage
>> muh, we need CI
>> those two enable
> Test code

That's the thing. They don't. People just turn off their brain, trust CI and figure "alright, it's green, guess everything's fine". And as it goes on for a while the product gets ever more complex until

> Don't want CI? Have fun hunting down that "works on my machine" bug introduced sometime within the last six months.

Happens because it's a "works in my CI run" kind of bug that occured because everybody trusted CI. Which is stupid! CI can't cover everything, ever - that's equivalent to solving the halting problem...

>Don't want CI? Have fun hunting down that "works on my machine" bug introduced sometime within the last six months.
This, so fucking much. When I started at my current job, there were no CI system in place and they had recently started expanding the development team. After a bunch of such episodes, we finally managed to talk the CTO into investing time in automated testing and CI.

Ah. That would explain it, yeah.

>it's a "works in my CI run" kind of bug that occured because everybody trusted CI. Which is stupid! CI can't cover everything, eve
Ah, the classic "it isn't 100% perfect, so I'd rather stick with my 0% approach" fallacy.

Even worse, most businesses won't even try to retain their best programmers then wonder why everything went to shit.

Beg your slavemaster for heavier chains, in other words. Well done!

You're talking to an open sores hobbyist who was never actually employed to work on any serious software project.
>Things move a lot quicker there.
Yeah, GIMP is light years ahead of Photoshop by now. Oh, wait...
>Yes we are! That's what I'm working on.
Sure you are, faggot larper.
>Maybe it does, but it never is
You're clueless.
>Quality is poor, but everyone ignores that because the automatic tests are green and we have test coverage.
This is just more proof you're clueless. Just because you and your team haven't the slightest idea what you're doing, doesn't mean there's no proper way of doing things.
You're relying on automatic tests to improve the quality of your code, when they're really just a small measure to prevent regressions. There are other techniques which you'd call "bureaucracy" and "red tape" (because you're an amateur) that could be employed to improve the quality of your code.
For instance, do you collect any metrics on your code? Do you even have any idea of how many lines of code you have? This is the most basic metric out there. How about defects found per line of code? How about code review yield, do you keep track of that? Percent defects found before testing? Do you keep any track of time spent on anything at all? Do you employ any statistical method to determine how many unfound bugs you still have in any given software component?
Of course you don't, because you're unqualified and unskilled.
>But they don't work...
In unskilled hands such as yours, they sure don't.

Retard.

How do we fix professional development bros...

Binary, much? I carefully test my code and when reviewing code, I keep running into problems with other people's code CI didn't catch...because I test it. In a production like environment. And many a time I stumbled upon code that didn't work, couldn't work and cannot ever have been tested by its author - otherwise they would have spotted the bug. But CI is green so it's fine.

The problem is without technically savvy management (another large payroll expense they'd rather avoid), your average PHB has no way of accurately measuring "best programmers" in the first place.

>muh enturprise-grade softwares!
cringe and bluepilled.
github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
"Enterprise software" is a bigger meme buzzword than "Military-grade encryption" at this point.

>it's a "works in my CI run" kind of bug
I'm not saying that those don't exist, but that they are (by far) less likely to happen if you run tests at the dev machine (before pushing) and in the CI env. Also, if your CI env is done right, it will mirror prod in most aspects - so a "works in my CI run" usually also means "works on prod", even if there is a bug (i.e. something not working on another dev machine) to be fixed.

Teach your developers the Personal Software Process, user.

Attached: PSP.jpg (301x499, 20K)

The same story plays out in a lot of places
One I've seen a few times in my little corner of the air travel industry
>great programmer gets a "can't refuse" tier offer from somewhere else
>goes to management saying he'd love to stay and would be willing to if they gave him a raise, not even to match the offer but just a bit more
>management declare him a disloyal persona non grata and he spends the last few weeks locked out of half the systems
>project grinds to a halt

>I keep running into problems with other people's code CI didn't catch...because I test it
Fix the CI tests and bitch on your coworkers. They clearly didn't write proper tests for their code.

> Yeah, GIMP is light years ahead of Photoshop by now. Oh, wait...

Gimp is the "enterprise" kind of Open Source software. Ever tried to submit a patch against it?

> Sure you are, faggot larper.

May I ask what professional large software project you are working on, user? Or are you just one of the Agile Guild's hired guns who make sure people stick to preaching the gospel on the Internet?

>This is just more proof you're clueless. Just because you and your team haven't the slightest idea what you're doing, doesn't mean there's no proper way of doing things.

But we've got all the boxes on the Joel Test ticked! We have Git and hallway usability testing!

> This is just more proof you're clueless. Just because you and your team haven't the slightest idea what you're doing,

How can you tell? Because I happen not to like your pet project management technique?

> You're relying on automatic tests to improve the quality of your code, when they're really just a small measure to prevent regressions.

Ha, I wish...we have a whole bunch of hoops people need to jump through. I especially like the automatic code quality/complexity checks that impose their style opinions on developers. Both rookie and experienced developers run afoul of these all the time. Then they rewrite their code to comply with The Rules, spending a lot of time on it...and introduce bugs into previously functional code. Sad!

> For instance, do you collect any metrics on your code?

Of course! Useless, the whole lot of them. We've got a whole bunch of deadwood people who argue about what these may mean and whether to do anything about changing them. They might as well be reading tea leaves...

Pointed question for you: have you ever used all these statistics you gathered for more than self-righteous blog posts?

Have you ever developed telcom software? The quality standards are extremely high, both in terms of reliability and speed - not to mention security. Even small bugs can be disastrous and make a lot of people lose their internet access and get their calls dropped. Everything must run in perfect synchrony, otherwise you're fucked.
It's true that a lot of enterprises out there can simply get away very easily and scot-free with shitware, but that's not true of all enterprise software. If you're interested in software quality, then I'd recommend you focus in certain industries where that is an absolute necessity like telcom, aerospace, defense, healthcare, etc. You'll get less frustrated.

>reddit spacing
Ugh...

Attached: AD.jpg (600x450, 78K)

The standard Development environment is a multi VM copy of the production environment. People often don't test in there, though. "CI will find any problems I may have, after all we've got full integration testing for every pull request".

Hahah nice binary joke

Is that any good?

That's a negative. Usenet spacing, youngfag.

>> muh, we need [...] test coverage
>> muh, we need CI
>> muh we need [...] code reviews
if you doubt any of these concepts, you're probably just a junior or a Jow Forums LARPer.

>aerospace, defense
you mean the places where they use Open Source software?
see pic related and connect.linaro.org.s3.amazonaws.com/sfo17/Presentations/SFO17-417-SEL4.pdf

Attached: 2019-05-23-121239_756x776_scrot.png (756x776, 171K)

I am neither. Been working in software development since 2008. Professionally, that is. Programming since 2000.

>metrics are useless
You've outdone yourself. You had said some retarded things before, but this takes the cake. Yeah, let's ignore all the research from Carnegie Mellon's Software Engineering Institute, this random user on an online Persian rug braiding imageboard just announced his massive discoveries!

Attached: brainlet.jpg (645x729, 47K)

You're talking to a redditor, look at the spacing.
Don't feed the trolls: sage, hide and ignore.

>look, they use open sores here
>... after having spent ages redeveloping it internally to put it up to standard
What's that if not a testament to the low quality of open sores?
When they buy proprietary software, they don't have to subsequently "fix it" internally before it's usable!

Attached: lmao.jpg (750x586, 33K)

Shit, that happens to devops guys too. I got poached by a FAANG and the company I was working for punted me out the door so fast it was ridiculous.

> Carnegie Mellon's Software Engineering Institute

My apologies. I bow to your appeal to authority. They can't possibly be a bunch of idiots who keep pulling conclusions derived from metrics out of their arses.

I do note that you haven't answered my pointed question, user. More important to ad-hominem the guy who says things you do not want to hear, is it?

>I don't know the difference between research and dogma, so I'll just call it an appeal to authority

Attached: brainlet.jpg (820x697, 127K)

imagine getting angry at such obvious bait. yet reminder that nu-Jow Forums is a bunch of newfags who hide their complete lack of understanding of the internet with muh edgy racism.

There isn't much of a difference in commercial and open source stuff, quality wise. They're both equally broken. The difference is the open stuff lacking a whole lot of polish. In some cases you can get that if you pay extra for an enterprise version. You usually won't be able to fix either because you don't even have the source code for the commercial stuff and because none of your programmers can spend the time required to familiarize himself with the open source code you technically have but cannot begin to understand under the usual time constraints.

Can you elaborate on where I lack understanding of the Internet? I am genuinely curious how you will try to make that particular case.

>Can you elaborate on where I lack understanding of the Internet?
Reddit spacing.

>see bait
>take it seriously
>call it "drivel"

I am still waiting for you to answer my - rather simple - question about you putting your metrics to good use. You can attempt to distract from it all you like, but that does not exactly cast you in a favourable light.

Me chosing to ignore your pet formatting convention betrays a lack of understanding the Internet. How so?

>see bait
>take it seriously

Did I now? Perhaps I just replied in kind, with the other side's bait which may not have been entirely serious either. After all, what's the point in trying to argue with somebody who throws tired memes at me? The only thing you can do is throw another tired meme back and see whether you can get them to a point where they graduate to uttering an actual opinion. It's worth a shot, isn't it?

>pls respond

Attached: pls.jpg (225x225, 9K)

What "light" do you think you've put yourself under with your ridiculous statements and reddit spacing, faggot?
I'm not forced to answer your stupid questions - especially because this is Jow Forums, I could just be making up bullshit like you did - you have no way of telling I'm not a larper, not to mention it'd just be anecdotal. Which is why I pointed to research. Look up research on software engineering and you'll see how it utterly rebukes your idiotic beliefs - and it won't be just my or your anecdotic evidence, but actual peer-reviewed hard data.
Of course you won't though, because you can't risk being proven wrong.
Confirmed redditor.

>receive criticism
>respond with an essay

see? this is what I'm mean. I'm not even trying to be funny here. you're reddit incarnate.

Bullshit. If CI did not find the bug, you need an extra test. Repeat ad infinitum on new bug discovery.

>What "light" do you think you've put yourself under with your ridiculous statements and reddit spacing, faggot?

One that has you quite agitated, I believe.

> Look up research on software engineering and you'll see how it utterly rebukes your idiotic beliefs

I've worked in Academia before. Believe me, I can easily prove all the points I've made in this thread using published, peer-reviewed literature from Stanford University. Go ahead, look it up! Of course you won't though, because you can't risk being proven wrong.

Do you realize now how strong of an argument your namedropping is? For you haven't made an actual argument. You just claimed there's "actual peer-reviewed hard data out there". If one were so inclined, one could call that "making up bullshit".

> Confirmed redditor.

And again you did not answer the question. You do not have enough data to draw that conclusion, yet you draw it. And it is wrong, I assure you. These empty lines are an old habit from Usenet. I have never used Reddit before. I never liked having to register an account for stuff.

>Bullshit. If CI did not find the bug, you need an extra test. Repeat ad infinitum on new bug discovery.

True believer, are we? We've got a guy like that, too. Causes nothing but trouble and it's never his fault...until I show him the evidence. A bit petty and vengeful, me.

>be simple-minded software engineering-illiterate code monkeys
>be given right tools for the job
>be unable to use them
>get bad results
>blame tools

Classic.

Attached: faggot.png (530x394, 514K)

What does a proper software engineer do then? All I ever see them do is blog about how great this or that methodology is. And then I catch them trying to commit (or even committing because they've got full write access to the repository) code with syntax errors because they are perfect and cannot be bothered to even run a syntax checker. So a proper software engineer does not need CI then?

That website is awful

Imagine inferring high emotion to such a straightforward post. Not everyone is angry like you are.

>Receive succinct opinion.
>Claim it's an essay.
What's wrong with you?

This is actually bullshit. I've worked in those environments and all this shit is just a way to fuck your client out of more money while your team piss away their time enforcing code style manually and watching YouTube on some cunts payroll.
If you want to earn while actively wasting time and writing shitty unmaintainable code then enterprise coding is the way to go. Just admit that you're a shitty programmer that only cares about your paycheck already.

You sound very young.

Are you guys stupid? We use gitlab CI/CD, with statical analysis and everything.

Passing the auto checks is only the first step, each branch/MR has its own staging environment in a docker instance, the code is tested LIVE in this environment by the product owner and or lead dev for the project. Only after that the code gets merges in the feature branch.

We HAD to implement this, when we started 5 years ago we were a small team of 4, all good programmers. The problema began when we became 10x the size during the last 2 years.

You need a way to monitor and review code and you need to do it FAST.

CI is a fucking godsend, you can't believe how much technical debt we accrued because we "trusted" our colleagues... As a coder you are the one that will deal with shit unmantainable code. Management only cares about code quality once it becomes apparent that the short term strategy of "just make it werk" isn't mantainable long term.

TLDR: amateur sunday programmers itt

>you guys
It's just one redditor trolling, user. Sage, hide and ignore.
Thank you, I try to stay in shape.

> Are you guys stupid? We use gitlab CI/CD, with statical analysis and everything.

I'm actually tempted to ask you the same question. Nice bondage-and-discipline environment you've got there. Even worse than ours. Lad, I wouldn't want to trade with you.

>TLDR: amateur sunday programmers itt

Funny you should mention that particular weekday. Despite CI we usually have mystery breakage on Mondays because the most senior guy on the team (15+ years with the company, root access to everything) is a workaholic who "fixes" things of the "Why has nobody worked on this all weekend?!" variety at 22:00 on a Sunday night. Same guy who can't be bothered with syntax checkers, yes.

>an actual activity that impacts trillions of dollars worth of products worlwide.
This. Anything that involves multi-million dollar budgets becomes instant bureaucracy. (Though I don't get the whole incel thing this user is talking about)

I'm sorry your experience has been shit with it. Maybe you just have a shitty lead who doesn't enforce the right rules and mentality on his team. It appears you don't use CI to do code reviews, or the people in charge of code reviews don't give a fuck and just merge everything. If it's like this, of course you don't need CI, you're not really utilizing it.

Even tells jokes like a child.

Fuck off, boomer.

Git gud.

Sounds like you and your "team" need to git gud.

Nobody ever said Agile, SCRUM, CI/CD, automated testing, code reviews, static code analysis, metric gathering, und so weiter are a substitute for competent professionals. OP is utterly incompetent and so is his "team", yet they're too affected by Dunning-Kruger to realize they're the problem so they blame the techniques, methodologies and tools being utilized. Far too common in our industry, I'm afraid...

>GAMERS RISE UP!

>The problema began when we became 10x the size during the last 2 years.
Oh no no no no
This is when things get shit, team growing faster than you can integrate the new hires, code quality drops to an all-time low and soon you have massive amount of technical debts.

Either you make your own company and set the rules, or you become a good wagie and follow whatever process your master orders you to follow.
Your choice.

>either opress or be opressed
Those aren't the only choices, user. You can go the ethical route and start a workers' coop with your friends.

>write shit tests that don't actually test your shit
>all green has to be good
>someone reports bug
>b-but it's green
Write better tests and add coverage.

Especially when you have multiple projects and have to start doing changes to a project you haven't looked at in six months having full test coverage is a blessing. Even more so if the project is larger than a hello world or fizzbuzz tier.

> Nobody ever said Agile, SCRUM, CI/CD, automated testing, code reviews, static code analysis, metric gathering, und so weiter are a substitute for competent professionals.

Nope, they're just fashionable, Hans. And the one cast iron rule in this industry is not to criticize the fashionable stuff. Otherwise you get James Damored.

You could also write long emails almost nobody reads about this blog post of a job your master probably hasn't heard about. It usually takes about half a year and even the most batshit stuff will get implemented as The Shiny New Methodology.

s/job/methodology/

He was laid off for being a shit human being, not for criticizing technology.

I dunno but I'm so fucking glad I don't have to deal with any of that bs at my place of work, because I'm the only dev and the only guy who can read/write code, so it's a simple case of getting shit to work however possible.

>> muh, we need full test coverage
>> muh, we need CI

I work on my own side projects for fun, and I have those.
There's just no way to do a cross-platform (Windows, Linux, macOS) project in C++ without continuous integration, because shit breaks all the time. Same thing with testing; I have good coverage and I run with Valgrind and sanitizers to avoid bad surprises later.

I agree that agile is a meme.

But CI is there to test code.