Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "gripes"
-
Alright people, I'm gonna be blunt here, which is something not often seen from me. Thankfully this platform is used to it.
I am absolutely sick of people hating Windows/MacOS just because of the fucking practices of the companies. Let's take a look at a pro/con list of each OS type respectively.
Windows:
Pro - Most computers built for it
Pro - Average consumer friendly
Pro - Most games made for it
------------------------------------------
Con - Proprietary
Con - Shady info collection (disableable)
Con - Can take some work to customize
~
Linux:
Pro - Open source
Pro - Hundreds of versions/distros
Pro - Incredibly customizable on all fronts
------------------------------------------
Con - Can have limited modern hardware support
Con - The good stuff has a steep learning curve
Con - Tends to have unoptimized programs or semi-failed copies of Windows programs
~
MacOS:
Pro - Actually quite secure in general
Pro - Optimized to all hell (on Apple devices)
Pro - Usually just works
------------------------------------------
Con - Only (legally) usable on Apple devices
Con - Proprietary
Con - Locked down customization
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See? None of them are perfect. Fucking get over it already. Maybe I want to use Windows because it works for me, and it actually does what I need it to. I can disable the spying shit through a few nice programs. Just because I work in IT doesn't mean that I HAVE to hate Windows and LOVE Linux! I mean, Linux is absolutely SPECTACULAR for all of my servers, but as a Desktop OS? Not there for me yet. Check one of my other rants: https://devrant.com/rants/928935/... and you'll see a lot of my gripes with Linux that Windows actually executes well. FUCK!38 -
When your boss asks you and the senior dev, “how do we get the overseas contractors to stop writing lazy code and feel like they’re part of the team?” And you both respond with “we don’t, they won’t stop and don’t care. This is just a contract. Stop expecting them to love the project”. And then the boss agrees that he gets what he pays for.
...and then promptly says, “but HOW do we change their attitude about this?”
The senior told me he keeps a resignation letter in his drafts folder. He sometimes opens it and updates it with the latest gripes. He’s over 70 years old. The approach of DGAF is ever closer for him.12 -
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.11 -
This is more of a wishful thinking scenario......but language/tech stack/whatever bashing.
Look, I get it, we like development, we would not be here if we didn't like it. But as my good friend @Stuxnet has mentioned in the past, making this a personality trait is fucking retarded, lame, small, and overall pathetic. I agree with this sentiment 100%
Because of this a lot of people have form some sort of elitist viewpoint concerning the technologies that people use, be it Java, C#, C++, Rust, PHP, JS, whatever, the same circle jerk of bashing on shit just seems completely fucking retarded. I am hoping for a new mentality being that most of us are younger, even if you are a 50+ year old developer, maturity should give you a different perspective, but alas, immaturity and a bitchy attitude carried throughout years of self dick sucking implications would render this null.
I could not give two fucks if the dude next to me is coding his shit in whatever as long as best practices are followed, proper documentation is enforced, results are being brought to our customers(which regardless of how much you try to convince us, none of your customers are fucking elite level) and happiness is ensured, then so fucking be it.
Gripes bitches and complaints are understandable, I dislike a couple of things about my favorite tools, and often wish certain features be involved in my particular tech stacks, does this make stuff bad? no, does it make me or anyone else less of a developer,? no so why give a fuck? bitch when shit bites you in the ass when someone does not know what the fuck they are doing with a language that permits writing bullshit. Which to be honest ALL of them fucking allow. Not one is saved from this. But NOT knowing how to work a solution, or NOT understanding a tech stack does not give you AUTOMATIC FULL insight on how x technology operates, thinking as such is so fucking arrogant and annoying.
But I am getting tired of looking at posts from Timmy, a 18 year old "dev" from whothefuckcares bitch about shit when they have never even made a fucking penny out of their "development" endeavors just because they read some dickhead's opinion on the internet regarding x tech stack and believes that adopting their bullshit troll ass virgin ideas makes them l337.
Get your own fucking opinion on things, be aggressive and stand fucking straight, maybe get some fucking pussy(or dick, whatever) and for fucks's sake learn to interact with other fucking human beings, take a fucking run, play games, break out from your whinny bitch ass shell, talk to that person that intimidates you, take a run, do yoga, martial arts anything that would break you out from being such a small little bitch.
Just fucking do something that keeps you from shitting on people 24/7 365/ a year.
We used to bitch about incompetent managers, shit bosses, fucking ludicrous assignments. Retarded shit that some other dev did, etc, etc. Seems like every other fucking retard getting into this community starts with stupid ass JS/PHP/Python/Java/C#/ whatever jokes and you idiots keep upvoting that shit. Makes those n00bs gain credability. Fuck me shit is so pathetic.
basically, make dev rant great again.
No fuck off and have a beer, or tea or whatever y'all drink.13 -
A lot of the string operations in Python, because they are named like shit.
First you have startswith. No underscore. Just two words glued together. No case notation, nothing. So ugly and difficult to remember when Python isn't your only language.
And then there's tolower. Wait, no, it's actually just lower. If we're gonna stick with the shitty naming, can we at least keep the two-words, no underscore thing? No, I guess it's easier to save those two characters.
And isupper, the function to get supper from your iPhone.
Yeah, it's small. But aren't most of our gripes about languages tiny anyways.3 -
I just tried to sign up to Instagram. I made a big mistake.
First up with Facebook related stuff is data. Data, data and more data. Initially when you sign up (with a new account, not login with Facebook) you're asked your real name, email address and phone number. And finally the username you'd like to have on the service. I gave them a phone number that I actually own, that is in my iPhone, my daily driver right now (and yes I have 3 Androids which all run custom ROMs, hold your keyboards). The email address is a usual for me, instagram at my domain. I am a postmaster after all, and my mail server is a catch-all one. For a setup like that, this is perfectly reasonable. And here it's no different, devrant at my domain. On Facebook even, I use fb at my domain. I'm sure you're starting to see a pattern here. And on Facebook the username, real name and email domain are actually the same.
So I signed up, with - as far as I'm aware - perfectly valid data. I submitted the data and was told that someone at Instagram will review the data within 24 hours. That's already pretty dystopian to me. It is now how you block bots. It is not how Facebook does it either, at least since last time I checked. But whatever. You'd imagine that regardless of the result, they'd let you know. Cool, you're in, or sorry, you're rejected and here's why. Nope.
Fast-forward to today when I recalled that I wanted to sign up to Instagram to see my girlfriend's pictures. So I opened Chromium again that I already use only for the rancid Facebook shit.. and it was rejected. Apparently the mere act of signing up is a Terms of Service violation. I have read them. I do not know which section I have violated with the heinous act of signing up. But I do have a hunch.
Many times now have I been told by ignorant organizations that I would be "stealing" their intellectual property, or business assets or whatever, just because I sent them an email from their name on my domain. It is fucking retarded. That is MY domain, not yours. Learn how email works before you go educate a postmaster. Always funny to tell them how that works. But I think that in this case, that is what happened.
So I appealed it, using a random link to something on Instagram's help section from a third-party blog. You know it's good when the third-party random blog is better. But I found the form and filled it in. Same shit all over again for info, prefilling be damned I guess. Minor convenience though, whatever.
I get sent an email in German, because apparently browsing through a VPS in Germany acting as a VPN means you're German. Whatever... After translating it, I found that it asks me to upload a picture of myself, holding a paper in my hands, on which I would have a confirmation code, my username, and my email address.. all hand-written. It must not be too dark, it must be clear, it must be in JPEG.. look, I just wanted to fucking sign up.
I sent them an email back asking them to fix all of this. While I was writing it and this rant, I thought to myself that they can shove that piece of paper up their ass. In fact I would gladly do it for them.
Long story short, do not use Instagram. And one final thing I have gripes with every time. You are not being told all the data you'll have to present from the get-go. You're not being told the process. Initially I thought it'd just be email, phone, username, and real name. Once signed up (instantly, not within 24 hours!) I would start setting up my account and adding a profile picture. The right way to ask for a picture of me! And just do it at my own pace, as I please.
And for God's sake, tackle abuse when it actually happens. You'll find out who's a bot and who isn't by their usage patterns soon enough. Do not do any of this at sign-up. Or hell, use a CAPTCHA or whatever, I don't fucking care. There's so many millions of ways to skin this cat.
Facebook and especially Instagram. Both of them are fucking retarded.6 -
After having spent countless hours of my life in tech, enough hours to be years..
I can safely say:
No technology will ever beat the frustration that is having to deal with people.
Code might be horrible, work might be an endeavour at times. But NOTHING..NOTHING beats having to deal with customers that are rude, impolite, disrespectful..downright abusive at times, condescending et.c.
It becomes this gnawing sensation that never just goes away..the first ones don't matter, after a couple of months you get gripes but bite down.. sometimes it just makes you feel psychotic.
and all you can do is laugh about it.
I don't have a problem with tech, I have a problem with the nature of people.3 -
Hello everybody. First time ranter, so please be nice.
Starting off with a classic: text editors.
I'm mainly a .net developer, so I mostly use Visual Studio (with vim key bindings), and (g)vim for everything else. However, visual studio code is slowly winning me over. It's sleek, it's pretty, and does a lot of cool stuff. It doesn't do all that vim does though (or does it in ways I don't yet know), and is slightly less customizable. On the other hand, vim sometimes feels like too much overhead for what I use it for.
What do you guys think? What do you use, and what personal gripes do you have?10 -
So, it's time to fucking rant!
Location: A small startup where direct contact with C-Level members is frequent.
A while back we had a customer using our SaaS product who had gripes about the way it worked.
He contacted our CEO and made a bunch of claims based on bad assumptions.
In the end, he wanted all images removed from his site. I was pulled aside by the CEO and asked if I could handle this for him and make a new screen for them without images.
So I did. I tried to discuss and get deeper into the problem by saying "this seems like a symptom of a problem and not the actual problem. What do you think?" He responded with "That was his request so it must be the problem if it won't take long then let's fix it for him.
- a week later
The problem is fixed and in the wild. No more images. Now he has another request :/
He does not like the pagination on his site. He says " I shouldn't have to click a button when I scroll so I want the be able to scroll and see all my products!"
This time the CEO asks me if this can easily be done and I take him aside and say "no, this will be a big change to our system and will need to be discussed with the team."
The main point I make is that we should go down and spend some time with this customer to find out what the real problem is.
After a half hour of discussion about the real issue he decided to bring in the CTO.
In the end, we implemented infinite scroll, dropping our current product building tasks to service one customer (yeah, it's a bad scene). But we got infinite scroll built and shipped.
- 2 Weeks later
This time he demands that infinite scroll isn't good enough. "If I scroll fast then I have to wait for them to load, they should all load at once!"
This time I have had enough. I can see the CEO is coming over to me to as me how much work is in this. I tell him there are 3 things I have to say...
1. I'm going to implement exactly what he asked by the end of the day.
2. We will only release it to him because it is going to be a shit-show loading everything at once, the load times will be mental!
3. We should fire this customer, right now.
So, I built it. Customer hated it (of course, who the fuck wants to wait 30s for loading. That's basically a lifetime). We changed it back and he was still mad.
- 2 weeks later
Customer leaves. Good riddance.
- sometime later
I am in the customer's store on a road trip. I get a feel for how their store works and they have a different system for making things operate.
It turns out that they did not know what the real problem was. They actually needed a completely different system (from a UX perspective) for accessing their data.
To top it all off, the system would have taken less time to build than the shitty fixes we made over weeks of work. FFS
I guess the moral of the rant is to find the problem, not a symptom of the problem.2 -
Top gripes about getting older as I'm about to turn 40:
5. Actually starting to have moments at home after work where I'm contemplating saying 'Hey babe, wanna bang?' but before I can get the words out my body pipes in with 'Dude, cool your jets, we're wiped out today; check back tomorrow.' Women say they like older guys because <insert character trait here> but I'm now convinced it's just because they know there's less work involved. =/
4. Friends with young children. I hardly ever see them anymore, and when I do, all they talk about are their kids and their shitty relationship with their co-parent. The circle continues to get smaller...
3. Having to go get glasses in order to renew my driver's license. How do we not have a heads-up display in every vehicle by now that shows the street numbers of buildings as I'm perpendicular to them as well as the names of upcoming cross streets? That way I'd fix the problem the way I do for everything else: notch up the font scaling on my display a point or two. Elon, you're slipping...
2. Realizing that the "American Dream" isn't worth the paper it was printed on. (Anyone else remember paying 97¢ for a gallon of gas or $2 for a pack of Marlboros?) Concurrent realization: It's not easy to find work in another country without moving there first, even if you speak the language. Any devs in Portugal that read this, ligue-me.
1. Being too busy to just chat with new people I meet except on rare occasion. Mostly referring to work time here, when it seems I'm always needing to find the shortest route to the objectif du jour. If I could tell my teenage self just one piece of advice, it'd probably be "start your career in Europe, not the USA" but I really want it to be "treasure the time you spend on IRC talking about anything and everything with people that always have time for you and vice versa, because it's going to be over before you know it." -
0: Monitors and Graphic's Cards become affordable for us poor graduates
1: Node bloat becomes a thing of the past with WA or has auto-minimize functionality to keep only essential code
2: North American internet companies all go out of business due to free super high speed infrastructure maintained by a trust of communities and elected delegates
not all "dev" related per se, but my current day to day gripes answered6 -
Switched back to windows because I needed IIS for work and I did miss having a touch screen (could not get driver working on Linux).
A few gripes.
I mean, the standard "oh great, half a day downloading and updating my machine" applies.
The thing I forgot about Windows is that after everything I do it wants to restart. Updating itself forced the computer to restart several times, wtf.
Powershell (ironically) holds a shadow of bash's power
So many "power user" actions are done with a gui, dear lord give me a terminal command and a man page any day over the convoluted way to do some actions. Changing permissions for IIS was several layers of gui dialogues, where it would be a couple of commands in bash.
Sorry to be unoriginal and moan about an OS, as an end user windows is great and a lot more streamlined and arguably prettier, but as a programmer it doesn't make life half as easy as the realm of *nix1 -
Devils Advocate moment: A proper PM can assist greatly on projects.
Don't get me wrong, you have all for the most part been faced with the incompetence of glorified quasi manager positions. But a proper PM can be a gift really.
I absolutely despise generalizations, I do get that percentages matter, but shitting on professions when the realm of possibilities have yet to be touched to the full extend of capabilities seems like child's play really.
remember, y'all think you are all God's gift to the world through coding experience, but a solid network engineer might have as much gripes about developers as y'all do about managers, project managers, sys admins etc, and the same shit can be applied vice versa.
Software engineering is magic, in the sense of the tv show "The Magicians" where you can make an incantation and suddenly your penis/tiddys explode: inexact science.
Be a tad bit open minded, learn enough about their shit to tell them that they are fucktards, and run from the ones that know but don't fix shit.
Peace pendejos1 -
"Do what you love and you'll never work a day in your life" is probably the truest statement, but there's a lot of people who get the definition muddled.
They think "Oh well that means there wont ever be hard days and there'll never be times where I'll struggle or get frustrated, and it means I'll go home at the end of the day feeling refreshed and ready to do it forever ad infinitum"
There absolutely will be days where you're fuckin done with semicolons or that you've had it with other devs, but the saying doesnt mean any of that. What it means is that while you may dislike the corporate environment or the fact that you dont really care for it after work hours, while you're doing your tasks in their purest form, you're not really feeling all too bad.
I know a lot of people have gripes with this statement. Pull your finger out of your ass and admit that either you don't love it anymore or that you didn't really understand exactly what it was you were loving all that much in the first place.2 -
I've spent a lot of time messing around with C, having struggled with object-oriented programming (due to not really knowing how best to structure things, not knowing when to apply certain design patterns).
When writing C code, I'd write OOP-esque code (pass around a struct to routines to do things with it) and enjoyed just making things happen without having to think too much about the overall design. But then I'd crave being able to use namespaces, and think about how the code would be tidier if I used exceptions instead of having every routine return an error code...
Working with Python and Node over the past couple of years has allowed me to easily get into OOP (no separate declaration/definition, loose typing etc.) and from that I've made some fairly good design decisions. I'd implemented a few design patterns without even realising which patterns they were - later reading up on them and thinking "hey, that's what I used earlier!"
I've also had a bit of an obsession with small executable files - using templates and other features of C++ add some bloat (on Windows at least) compared to C. There were other gripes I had with C++, mostly to do with making things modular (dynamic linking etc.) but really it's irrelevant/unreasonable.
And yes, for someone who doesn't like code bloat, working with Node is somewhat ironic... (hello, node_modules...)
So today I decided to revisit C++ and dust off my old copy of C++ in a Nutshell, and try to see if I could write some code to do things that I struggled with before. One nice thing is that this book was printed in 2003, yet all of its content is still relevant. Of course, there are newer C++ standards, but I can happily just hack away and avoid using anything that has been deprecated.
One thing I've always avoided is dynamic_cast because every time I read about it, I read that "it's slow". So I just tried to work around it when really if it's the right tool for the job, I might as well use it... It's really useful!
Anyway, now I've typed all this positivity about C++ I will probably find a little later on that I hit a wall with what I'm doing and give up again... :p7 -
New day. New legacy project that needs triage.
The project has existed since before 2000 so it all "works" and has no known business logic bugs. It does however have performance issues which sure I can have a look. It can actually be quite fun and rewarding to optimize performance.
This is a titanic dotnet framework leviathan consisting of over 12,000 cs files using razorpages, entity framework, and... nhibernate? I have my gripes with both EF and NH but they are both fine if used correctly, like any other tool. I've never seen them used together however.
As It Turns Out™, NH was implemented first and at a time when NH did not support async operations. It made sense if you look it up and it's meant to delegate commands via a separate layer, but different story.
Then for... reasons... EF came in and gradually took over.
Because of the way this is all set up, everything will faceplant if you try doing anything async, even if it has nothing to do with calling the db. Any attempt in making this work leads you down a slippery slope of having to rewrite the entire thing, which is out of the question in terms of their budget and expectations.
Sometimes it's a detriment when it works in spite of its issues.1 -
Today I got hit in the balls by finding out that my idea of a videogame already existed in the form of a game called Phantom Dust, originally released for the first Xbox series, before the end of turn into the Xbox 360 series.
What adds insult to injury: The game is absolutely beautiful, fantastic and I have no gripes about the gameplay. It is everything I was hoping to develop.
This just makes my venture into game development in the land of Vulkan C that much more interesting.
If you LOVE card games(read Trading Card Games) like MTG, Pokemon, YugiOh etc, then you owe it to yourself to play this game6 -
(I'm not completely sure of what I'm saying here, so don't take this too seriously)
Settling on a language to write the api for ranterix is hard.
I'm finding a lot of things about elixir to be insanely good for a stable api.
But I'm having a lot of gripes with the most important elixir web framework, phoenix.
Take a look at this piece of code from the phoenix docs:
defmodule Hello.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :email, :string add :bio, :string
add :number_of_pets, :integer
timestamps()
end
end
end
Jesus christ, I hate this shit.
Wtf are create, add and timestamps. Add is somehow valid inside the create, how the fuck is that considered good code? What happens if you call timestamps twice? It's all obscure "trust me, it works" code.
It appears to be written by a child.
js may have a million problems. But one thing I like about CJS (require) or ESM (import) is that there's nothing unexplained. You know where the fuck most things come from.
You default export an eatShit() function on one file and import it from another, and what do you get?
The goddamn actual eatShit function.
require is a function the same way toString is a function and it returns whatever the fuck you had exported in the target file.
Meanwhile some dynamic langs are like "oh, I'll just export only some lang construct that i expect you to specify and put that shit in fucking global of the importing file".
Js is about the fucking freedom. It won't decide for you what things will files export, you can export whatever the fuck you want, strings, functions, classes, objects or even nothing at all, thanks to module.exports object or export statement.
And in js, you can spy on anything external, for example with (...args) => debugger; fnToSpyOn(...args)
You can spoof console.log this way to see what the fuck is calling it (note: monkey patching for debugging = GOOD, for actual programming = DOGSHIT)
To be fair though, that is possible because of being a dynamic lang and elixir is kind of a hybrid typed lang, fair enough.
But here's where i drop the shit.
Phoenix takes it one step further by following the braindead ruby style of code and pretty DSLs.
I fucking hate DSLs, I fucking hate abstraction addiction.
Get this, we're not writing fucking poetry here. We're writing programs for machines for them to execute.
Machines are not humans with emotions or creativity, nor feel.
We need some level of abstraction to save time understanding source code, sure.
But there has to be a balance. Languages can be ergonomic for humans, but they also need to be ergonomic for algorithms and machines.
Some of the people that write "beautiful" "zen" code are the folks that think that everyone who doesn't push the pretty code agenda is a code elitist that doesn't want "normal" people to get into programming.
Programming is hard, man, there's no fucking way around it.
Sometimes operating system or even hardware details bleed into code.
DSLs are one easy way to make code really really easy to understand, but also make it really fucking hard to debug or to lose "programming meaning".7 -
Complain about your build systems/pipelines here please! I want to hear about it.
----
I'm finally ready to publicly say I've been designing a build system. It's a culmination of around a decade of studying, thought, ideas and prototypes.
If you have any sort of build step in your project (any language, any compiler) that is unusual, custom, weird, or has a lot of requirements, extensive, etc. - anything even slightly outside the box - please let me know about it below. I want to know as much as possible about it.
Any strong opinions, hateful comments, gripes or annoyances, etc. please don't hesitate. I'd love to hear what issues you face with build systems. I want to make sure such cases are covered.
I'll also answer any questions for the curious.6 -
One of my big gripes about PyQt5 in particular is lack of info, especially on advanced topics. This includes books. I found this on Amazon today:
Qt5 Python GUI Programming Cookbook: Building responsive and powerful cross-platform applications with PyQt https://amazon.com/dp/B079S4Q9T2/...
It was just published in July. I’m thinking I might buy the Kindle book.
On reviewer complained about lack of info on how to handle child dialogs (after fighting with child dialogs that had their own children and dialogs with threading and all that, I feel you, brother). But the 2 reviews it’s gotten look fairly positive.
I wonder how advanced the book gets. Going to read the sample later.4 -
Fellow ranters I have a question.
Do any of you have experience of going from a consultant job to working as a developer for a product company, where the thing you're developing is the actual product and not just some side thing (like a infrastructure company having a website for example).
If so, how did the experiences differ from one another?
I'm considering switching positions to a SaaS company and I'm just wondering how much of all the consultant based BS that I'm constantly stressing over will be erased if I go there.
My biggest gripes about work in my few years of developing have been the lack of team work, really ill formed requirements, low knowledge of the codebase among coworkers and just badly written code bases.
I wonder how much of this stuff is just the nature of the work and how much could be traced back to developers pushing out shitty stuff due to hourly billing, people leaving several times a year.6