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
Volguus
Mar 3, 2009
There is only one rule that is true always in software development: Never ever have blanket rules, unless you're dealing with drunken monkeys that absolutely need them. For the rest, use common sense. If the developers don't seem to have common sense, then you put them in the drunken monkeys category.

Adbot
ADBOT LOVES YOU

Volguus
Mar 3, 2009

Keetron posted:

I must say, in a project where I was the only one who wrote unit tests it quickly went down like
code:
mvn clean compile -DskipTest
A different project was found.

They skipped the tests because they broke them? The tests that you wrote?

Volguus
Mar 3, 2009

Hughlander posted:

"Them tests take too drat long, I just want it to compile drat it!"

That is a valid problem though and the only solution is to not do too much poo poo, or too complicated poo poo in normal unit tests. In integration tests, sure, go a bit more crazy, but the tests taking a long time do have such an "skipTests" effect.

Volguus
Mar 3, 2009

ChickenWing posted:

Machete order or bust





Someone convince me why I should or should not switch from a windows work PC to a mac.


Pros: Macs get away from domain restrictions, meaning I won't have lovely enterprise mcafee and mandated bitlocker making my builds take 3 years and intellij hang all the drat time (allegedly. current coworkers on macs say they do not have these issues)

Cons: Windows4Lyfe
You should switch to a Linux box and get everything macs have plus a usable UI.
While some desktop environments on Linux do tend to go the idiotic Mac way, you can run whatever you want
And make it look and behave however you want.

Volguus
Mar 3, 2009
The only problem I would have with a company-wide coding standard would when it conflicts (or is too different) than the most common coding standard for that language. When you leave that company, you take the knowledge and the habits (good or bad) with you. If you're used to writing code in a weird (to others) way, is not going to be fun outside.

And saying: "but way X improves readability" is bullshit. If you're familiar with that style, of course it does, it is the only way. If you're not familiar with that style, it will look alien and will cause errors.

Volguus
Mar 3, 2009

Pollyanna posted:

Genuine question. Without looking, what would you guess I work on?

very high level scripting where the scripts are at most 100 lines long. For that, an IDE is definitely not needed, nano does the job quite well. For anything more, one needs to be a special kind of masochist to enjoy it and keep at it.

Volguus
Mar 3, 2009

vonnegutt posted:

Does SublimeText count as an IDE?
I've been annoyed with devs before who couldn't read a diff on GitHub or a code snippet because they didn't have their precious IDE handy...I guess I'm a carpenter who refuses to use power tools...

SublimeText counts as nano not an IDE. A tad better than writing code using butterflies. As for developer's ability to read a git diff without a git UI ... that's a different issue altogether. One should be able to write C code with nano, but one cannot argue that it is more efficient than a full featured IDE (well, they can argue of course, but they'd be obviously wrong).

Volguus
Mar 3, 2009

Ghost of Reagan Past posted:

Nobody's hamstringing themselves because they use SublimeText instead of a Jetbrains product or Visual Studio--even if they'd be perfectly fine with those (and I do love Visual Studio)!

Rocko Bonaparte would have to disagree:

Rocko Bonaparte posted:

However, I remember having this IDE chat with a coworker ~6 years ago when they were working on tens of thousands of lines of C# and says, "Vi's all the IDE I ever need" :smug: and wheels around to show a virgin vi terminal. IIRC he had contributed something like double-digits of code to that project. Either that's all he needed personally because that's all he had to do, or that's all he was capable of doing.


The point is: use the tools that actually help you do the job, not the tools that make you look cool in the eyes of the co-workers. I used Borland C++ 3.0 back in the day. No, I do not want to use Borland C++ 3.0 ever again if I can help it.

Volguus
Mar 3, 2009

Taffer posted:

Can anyone explain to me why anyone uses vim for any reason? If you're doing normal coding why would you not use an IDE or at least a good editor like sublime? Even when I'm in CLI I use nano, because gently caress vim and all its byzantine nonsense.

You have to use vi when working on a freshly installed *NIX os as most do not install nano by default, even if the extent is to change the config files just enough so that you can install packages. Nowadays is no longer that much of a problem as it has sane defaults and one can kinda do without vi, but 20 years ago it was mandatory. Plus EDITOR is set by default to vi so even a simple crontab -e gives you vi.

But that's all. Learn to edit & save & exit and you're golden.

Volguus
Mar 3, 2009

Skandranon posted:

The additional formatting capabilities provide a much more solid foundation for creating easily read and maintainable code. I don't know why more people don't write code this way.

Plus it makes it easy to obfuscate code, simply by using a symbols font. Genius.

Volguus
Mar 3, 2009

metztli posted:

I would ask them for examples of how the company promotes work life balance and how they’ve taken advantage of it themselves.

Basically take that approach to everything important to you. “Can you give me specific examples of foo? How have you personally experienced foo while at bar co?”

A nice side benefit of that approach is that the interviewers tend to see you as more personable and engaged, which translates into liking you, and can influence an offer.

I usually ask in an interview about the various policies of the place, including vacation days and so on. One time, one interviewr told me that they offer 10 days per year vacation (minimum mandatory in Canada) and that sick days count towards your vacation days. Say what? Hahaha, good bye.

It didn't help that during the interview he let it slip that they have reinvented hibernate internally. Phew, dodged that one.

Volguus
Mar 3, 2009

Keetron posted:

At the moment, I get hired into projects where a raging dumpster fire is going on in terms of testcode and when asked in interviews, management lies about it or is ignorant with regards to the height of the flames. Maybe only these projects hire contractors to put out the flames?

Most of the projects that hire QA contractors, do so only to put out the flames that are killing everyone and everything. The most important tool/skill to have as a contractor in shitholes like that is to have a very (and I mean very) thick skin. For $200/hour it is very much worth it.

Volguus
Mar 3, 2009

Pollyanna posted:

As far as I can tell, high software dev wages are a US-only thing.

I was just prepared to post how in Germany in 1997 some developers were making 15,000 DM (Deutschland Marks) per month. Enormous salary. But then I realized that it essentially comes to 180,000 DM per year, which comes to approx 90,000 Euro per year. And those people that were making that much were relatively rare. Yeah, high wages is an US-only thing.

Volguus
Mar 3, 2009

Roll Fizzlebeef posted:

Limiting to 80 chars is good because it makes it easy to have two files open side by side. I also find that the code ends up being easier to read when it doesn’t do too much on one line.

I guess I am the legacy graybeard. Get off my lawn kids.

You can have 2 files open side by side with 120 chars per line too. Of course, that would require a monitor larger than 600x480, which if you'd actually be a graybeard you would have the nickel for.

Volguus
Mar 3, 2009

Roll Fizzlebeef posted:

Lol. I think you meant 640 x 480 young one.

I actually use 2x 1920 x 1080 monitors and 80 chars fits perfectly with a nice sized font. If you have too many chars on one line the font needs to be smaller for them to fit. Wrapping the lines sucks so I avoid that if possible.

72pt font is a bit big to be honest. If I were you i'd try to replace my eyeglasses.

Volguus
Mar 3, 2009

leper khan posted:

using Nonsensical.Extraneous.Overly.Verbose.Names.Is.a.Social.Construct.Of.Java.Developers.Not.Required.By.The.Language;

You are right. neovniscjdnrbtl is so much better variable name. Everyone knows and will know until the end of times what that stands for, what it does and what's its purpose.

Volguus
Mar 3, 2009

Rocko Bonaparte posted:

I've trained my ears to the word "complicated." I like to know what people think that means. If it means Enteprise Fizzbuzz, sure, whatever. If it means a 10,000 LOC file, great! If it means "objects" then hell to the loving no.

I define "complicated" as something that one would not be able to explain or reason about with a BAC of 0.1% or greater.

Volguus
Mar 3, 2009

Blinkz0rz posted:

There's the ability to do a thing and then there's the desire. I just don't want to deal with a remote worker. Full stop.

A.K.A.

the talent deficit posted:

that's lovely management

Volguus
Mar 3, 2009

Blinkz0rz posted:

Lol there are so many reasons a team may not want remote workers. Attributing it to lovely management is lazy as hell and makes you look completely out of touch.

There are indeed many reasons. the talent deficit listed a few. There is only one valid reason though: legal/compliance. Even that one can probably be taken care of if there's a will, but usually is probably not worth the effort. The rest are easily dismissed without a second thought.

Volguus
Mar 3, 2009

Taffer posted:

How stupid of an idea is it to quit my current job before I have a new one lined up? I'm extremely miserable all the time and my work environment is really unhealthy. Also lining up meetings, interviews, practice for interviews, etc, is really hard when you're also working full-time. Apparently it's common at many places to have interviews that are 2 hours or more.

I was advised by some people with good intentions to wait, but I don't know if I can.

Apparently it is easier to find a job if you already have one. Saw that on some online article.

Volguus
Mar 3, 2009

Everyone knows that a worker that's not at his/her assigned location on the assembly line is not productive. Duh, they taught us that in the business school, class of 1910.

Volguus
Mar 3, 2009

Pollyanna posted:

Partly, but also partly because that’s a major way that knowledge transfer is done here. Better than no knowledge transfer at all, of course, but since I’m a lazy piece of poo poo I have to wonder if we really need an hour long meeting over a single 80 line sql query. Not my place to speak though.

Don't argue. If that's what they feel is best then that's what you do. Maybe there's a reason. Most likely there isn't but you definitely don't know any better, yet.
What do you do at the new company? Same back-end programming like before? Or something else? New technologies/languages?

Volguus
Mar 3, 2009

xiw posted:

Yeah I love it when an API basically demonstrates for you how to SQLI the database at the far end in its own error messages.

The worst longterm hack I've had with APIs is an ecommerce job where I'm regularly updating price and special price data at my end. There's a getProductInfo call to make, but it doesn't include special price info because they've been implemented as a loyalty discount if you're a customer.

So the only way to get the special price we could find is, roughly,

* call createGuestCart, get a cartID1
* call addProductToCart(cartID1,SKU)
* call getCartTotal(cartID)
* call createCustomerCart(customerID) where this is a magic customerID we keep around for this
* call addProductToCart(cartID2,SKU)
* call getCartTotal(cartID2)
* if the total for cart2 is lower than cart1, then we know the product's on special!

Repeat for 30k SKUs each day. Hope they never delete the magic customer.

I was on the phone with the vendor for hours over months trying to determine a better way of doing this and they couldn't think of one.

This sounds like a classical service to service calls using client credentials. Nothing new here, and there are standards and libraries in all languages and platforms to help with implementing this. What's new is that neither service supported it or had any clue about what they were doing.
Sorry, I take that back. It is normal that no service had any idea of how to implement this. Would have been crazy otherwise.

Volguus
Mar 3, 2009

Keetron posted:

So how racist am I on a scale of zero to Hitler if, upon seeing a question asked on some open source mailing list and the asking party has an Indian name, I immediately assume this question to be of low quality and the asker to have zero to none understanding of programming and software development?

Being racist and being realistic are not mutually exclusive. You are probably right. You are also hitler+2.

Volguus
Mar 3, 2009

Shirec posted:


I agree on the rude and toxic angle. We actually don't have a Product Owner, it's a very small startup. How abnormal is it that there isn't someone to handle that interaction?

For a small startup is normal to not have dedicated people for this kind of thing.

Volguus
Mar 3, 2009

Keetron posted:

I guess the older one as the only thing we have with React in it is the front end. But you mean this is old? It feels so new and shiny and like such a huge leap forward compared to the Java 1.7 Spring monolith I worked on the previous project.

Well, Spring Boot is the same thing as spring, just with sane defaults and dependencies added in there for your convenience. The only thing it does is make life easier (which is no small feat). You can have a spring boot monolith or a plain spring micro service. That's the old part of Spring Boot (which has been there since its inception). Since spring boot 2.0 we have Reactive Spring (https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes) which provides a lot of reactive libraries: WebFlux, Reactive Spring Data, Reactive Spring Security.

Volguus
Mar 3, 2009
Well, there are people out there who only know how to copy & paste answers from Stack Overflow having no clue what it is that piece of code does or how does it work. So, maybe they had experience with that kind of people and now they went full retard mode to look down on SO entirely. I know, I know, it doesn't excuse them, but it could provide some reason to the madness.

Volguus
Mar 3, 2009

Rubellavator posted:

Who takes screenshots of code?

The people who print their email, scan the resulting paper and send you the PDF.

Volguus
Mar 3, 2009

vonnegutt posted:

Can anyone give me insight on the switch from small startup -> giant tech multinational? I've been given a pretty serious invitation to apply at said giant multinational from a former manager who is now a team lead over there, with assurances that most bureaucracy will be bypassed and interview process streamlined. Naturally I'm interested but the largest company I have ever worked for had like 20 employees, not thousands.

I guess what I'm mainly concerned about is how these places operate. I've only worked at startups because I like building things out and feeling like I'm an actual contributor, and I feel like that's impossible once you are just one of a hundred on a team.
The interview process can be streamlined. That's not usually where the red-tape is. Once inside though ... it all depends. There will definitely be jobs/places in that big organization where your contribution will feel insignificant. But there are also jobs where you can go home and say: "I just made them 50 million $ this year. Thanks for this $100 gift card. And $10000 bonus at the end of the year.". There is bureaucracy. Always will be. No, you cannot just spawn a new database in the datacenter, you will have to file a ticket, provide the relevant information, and wait for IT (DBAs) to do it for you and give you credentials. No, you cannot just push the app that you've worked on in production, not until after it goes through their process (whatever that may be).

Volguus
Mar 3, 2009

Shirec posted:

It can't be worse than my current boss, who just shouted "Sieg Heil" as an apparently hilarious joke.

edit: Insert Illinois Nazi joke here

Jesus. That explains things. You can't really be a lovely rear end in a top hat without being a Nazi now, can you.

Volguus
Mar 3, 2009

Shirec posted:

Real talk question for y’all:

would I be worse off job searching if I quit? Just got out of my therapy appointment and my therapist thinks my boss is escalating rapidly. And my ability to handle it is stretched as thin as it could be.

Normally yes. You're gonna be desperate for money, you're gonna accept whatever comes your way. And I've heard that recruiters look more favorably towards those that already have a job (why ? beats me). But, in your case, given the stress that this puts you through .. I don't know. How long can you live off your savings? Can you find a job in the meantime? Will that stress (being jobless) be better than this lovely boss? These questions only you can answer.
If I'd be in your position I'd have quit a long time ago and would have taken a poo poo on his desk and punched him in the nose, but that's me and I am not you.

If you think not having to work for him would make you happier, then by all means.

Volguus
Mar 3, 2009

Janitor Prime posted:

ORMs normally filter in the DB and not in app right?

Only if you tell them to. You can do stupid poo poo with ORM as well.

Volguus
Mar 3, 2009

Taffer posted:

Don't put in 2 weeks. Tell them you quit then walk out.

A notice is for 2 reasons: 1) Simple professional courtesy to your employer, to allow them to prepare etc 2) to get a good reference for your resume.

That's it. Neither of those apply at all in your current situation, and staying there an extra two weeks will only make you way more miserable. And giving a notice will likely make your boss way more abusive and cruel - just get the hell out, and report them for HIPPA violations

She would miss on 2 weeks pay too. It may or may not be relevant though.

Volguus
Mar 3, 2009

Shirec posted:

Right???? It was so obvious. He kept telling me that I’ll never get a better place and when I said I wanted a job that gave positive feedback, he said that would never happen anywhere

Edit: it was eerie how much it was like my abusive ex

Lol. Jesus. While it is possible to find another abusive boss, it is definitely not the rule. There are human beings out there. Few, not many, but there are.

Volguus
Mar 3, 2009

bvj191jgl7bBsqF5m posted:

My soon to be ex boss is on vacation right now and just called everybody at 2pm on a Friday before a long weekend one after another on their cell phones to make sure everybody was still in the office and wanted everybody to give updates about what we are doing at the moment.

Surely you replied: "I am at the beach. You should check it out some time, is quite nice".

Volguus
Mar 3, 2009

Ghost of Reagan Past posted:

All legacy code is bad.
All code is legacy code.

All code is bad.

If I wrote it in the last 6 months, it's good code and everything makes sense.
If I didn't write it or I wrote it in the times of the dinosaurs, it's bad code that should be replaced asap.

Volguus
Mar 3, 2009

Ape Fist posted:

We got an internal e-mail basically saying all of our development roles (including my job) were being outsourced to India in the new year. They announced this via e-mail, in the most spineless way possible, then basically begged us not to start looking for new jobs until we've all trained our replacements.

edit: The contract for the current major project is a Government Contract. Which stipulates that a certain non-trivial percentage of development must occur in the UK.

Management has not yet told the client what they plan to do.

This will go well.

But ... why would they tell you? Incompetence? Or is there something else going on?

Volguus
Mar 3, 2009

Rubellavator posted:

What do you call a modernization effort that replaces maintainable and performant code/technology with unperformant and unmaintainable code/technology? Cause that's what I'm part of right now.

Hipster.

Volguus
Mar 3, 2009

Clanpot Shake posted:

In my experience, confusing code is confusing usually as a result of some arcane business rule people have forgotten about. It should be easy enough to follow what the code is doing, but the why of it can be pretty elusive.


Does SO have a rule about bringing up politics? Could probably report that user if they do.

Not to mention that the thing is copyrighted and the author doesn't allow those idiots to use it. That alone is probably ban-worthy.

Adbot
ADBOT LOVES YOU

Volguus
Mar 3, 2009

My Rhythmic Crotch posted:

The way I'd explain it is: if the ORM is writing your sql for you, what do you do when you have a performance problem? (Throw hardware at it, rather than tune or restructure!) Or requirements change and now you need to do something that probably should be done in sql, but don't know how? (Write a ton of crusty, slow application code rather than use a join!)

Knowing SQL is required when working with a relational database that "talks" SQL. Employing an ORM to write the SQL for you doesn't preclude one from knowing SQL. The two things are not related in the slightest. So, what do you do when the SQL generated by the ORM is not performant enough? You write native SQL, that's what you do.

Now, what do you do if you wanna be a programmer but you don't know how to write code? You pack your things and go home. That has nothing to do with ORM, UI Designers, or any other tool that programmers have created to help other programmers. Just because one can write ASM, doesn't mean that one should keep on writing ASM.

qsvui posted:

I have just started using Entity Framework 6 on this new app I'm working on. Is this a mistake?

As with anything: it depends. Most likely it'll be fine, don't worry about it. When yo have to worry, then "write native SQL".

Volguus fucked around with this message at 04:44 on Sep 14, 2018

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