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 - "change management"
-
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex13 -
My boss isn't really a developer. He isn't part of the development team and doesn't know any technical details about the product. He doesn't want to code, "too much effort", he just wants to boss. But he wrote some php in the early 2000's and is really, really proud of his codecademy html/css badge...
And that makes him dangerous.
Today I hear him talk from behind his laptop: "Right, we have this page for creating management groups, but we can't edit them yet. I can fix that!"
This task is literally on the current sprint, but he doesn't know that because he doesn't attend scrum meetings and ignores everything people say to him.
Me: This smells like probable cause, let's look with suspicion over his shoulder.
Boss:
"OK, right-click create.blade.php -> copy.
then right-click directory -> paste.
now just rename file to edit.blade.php!"
I start walking to the office kitchen.
Boss mumbling in the background:
"Now all I need to do is just copy the whole method in the controller, change the post url in the form, and modify the <h4> at the top, so it says edit instead of create."
Boss, looking at me now:
"This is so easy... creating and editing is almost the same thing, you can just copy paste all the code from one template to the other! I don't understand what you developers are always complaining about!"
Me: *Hands him a roll of paper towels*
Boss: "What is that for?"
Me: *points at code*6 -
Biggest scaling challenge I've faced?
Around 2006~2007 the business was in double-digit growth thanks to the eCommerce boom and we were struggling to keep up with the demand.
Upper IT management being more hardware focused and always threw more hardware at the problem. At its worst, we had over 25 web servers (back then, those physical tall-rectangle boxes..no rack system yet) and corresponding SQL server for each (replicated from our main sql server)
Then business boomed again and projected the need for 40 servers (20 web servers, 20 sql servers) over the next 5 years. Hardware+software costs (they were going to have to tear down a wall in order to expand the server room) were going to be in the $$ millions.
Even though we were making money, the folks spending it didn't seem to care, but I knew this trajectory was not sustainable, so I started utilizing (this was 2007) WCF services and Microsoft's caching framework Velocity. Started out small, product lookup data (description, price, the simple stuff) and within a month, I was able to demonstrate the web site could scale with less than half of our current hardware infrastructure.
After many political battles (I've ranted about a few of those), the $$ won and even with the current load, we were able to scale back to 5 web servers and 2 sql servers. When the business increased in the double-digits again, and again...we were still the same hardware for almost 5 years. We only had to add another service server when the international side of the business started taking off.
Challenge wasn't the scaling issue, the challenge was dealing with individuals who resisted change.3 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
At the end of our first podcast (https://devrant.io/podcasts/...) we gave a hint about the featured guest on our second episode. Now, it's time to announce this guest!
For the next episode of The devRant Podcast, we're fortunate enough to welcome David Heinemeier Hansson, also commonly known as DHH!! (http://david.heinemeierhansson.com/) David is the creator of Ruby on Rails and founder/CTO of Basecamp/37signals (project management tool), and a best-selling author know for titles like "Rework." He also drives race cars. We're extremely excited that we'll have the change to interview him as our second featured guest.
Like last time, it's time to take questions from the devRant community! If you have a question you'd like us to ask David, please add it as a comment on this rant or you can email me (david@devrant.io). Thanks everyone!6 -
LinkedIn is an alternative reality unhooked from the rest of the world, where hypocrisy and arrogance meet, creating Leaders, Experts and Analysts.
- Every company is an industry leader globally.
- Every offer is life-changing.
- Every normal person suddenly is an expert in his field
- Each candidate is an expert in time management, customer relationships, and software development priorities.
- They are all happy to share their achievements in a disinterested way
- They all deal with important issues, with great reflections on the meaning of life and reality around us
- Each written post usually starts with a question followed by a life experience
- Companies are dynamic, they change their internal processes on a daily basis
Please shoot me, I've had enough of this shit.
- Few companies are leaders globally
- The offers you make are traps and I always have to look for where the bullshit is.
- You're not an expert in your field if you've been doing the same thing for 10 years without moving your ass out of that chair.
- If you were a time management expert, I wouldn't have to call you every week for unresolved tasks, and I wouldn't even have to do 150 meetings to postpone the goals set. Exactly what is your experience with the customer? Because by heart shutting up and always saying yes is not a good way to get the job done.
- I have great news for you. Nobody gives a shit about your work successes. At most they're envious.
- If you really are such a deep and introspective person... how the fuck is it that working with you is hell?
- Copying a quote from a website and then building a narrative on it doesn't automatically make you a superstar
- Companies, especially the largest ones, take years to change and if they do it is because there is the economic motivation behind it, not because they are visionaries.
This rant was written by scrolling through my LinkedIn feed.15 -
I'm getting ridiculously pissed off at Intel's Management Engine (etc.), yet again. I'm learning new terrifying things it does, and about more exploits. Anything this nefarious and overreaching and untouchable is evil by its very nature.
(tl;dr at the bottom.)
I also learned that -- as I suspected -- AMD has their own version of the bloody thing. Apparently theirs is a bit less scary than Intel's since you can ostensibly disable it, but i don't believe that because spy agencies exist and people are power-hungry and corrupt as hell when they get it.
For those who don't know what the IME is, it's hardware godmode. It's a black box running obfuscated code on a coprocessor that's built into Intel cpus (all Intell cpus from 2008 on). It runs code continuously, even when the system is in S3 mode or powered off. As long as the psu is supplying current, it's running. It has its own mac and IP address, transmits out-of-band (so the OS can't see its traffic), some chips can even communicate via 3g, and it can accept remote commands, too. It has complete and unfettered access to everything, completely invisible to the OS. It can turn your computer on or off, use all hardware, access and change all data in ram and storage, etc. And all of this is completely transparent: when the IME interrupts, the cpu stores its state, pauses, runs the SMM (system management mode) code, restores the state, and resumes normal operation. Its memory always returns 0xff when read by the os, and all writes fail. So everything about it is completely hidden from the OS, though the OS can trigger the IME/SMM to run various functions through interrupts, too. But this system is also required for the CPU to even function, so killing it bricks your CPU. Which, ofc, you can do via exploits. Or install ring-2 keyloggers. or do fucking anything else you want to.
tl;dr IME is a hardware godmode, and if someone compromises this (and there have been many exploits), their code runs at ring-2 permissions (above kernel (0), above hypervisor (-1)). They can do anything and everything on/to your system, completely invisibly, and can even install persistent malware that lives inside your bloody cpu. And guess who has keys for this? Go on, guess. you're probably right. Are they completely trustworthy? No? You're probably right again.
There is absolutely no reason for this sort of thing to exist, and its existence can only makes things worse. It enables spying of literally all kinds, it enables cpu-resident malware, bricking your physical cpu, reading/modifying anything anywhere, taking control of your hardware, etc. Literal godmode. and some of it cannot be patched, meaning more than a few exploits require replacing your cpu to protect against.
And why does this exist?
Ostensibly to allow sysadmins to remote-manage fleets of computers, which it does. But it allows fucking everything else, too. and keys to it exist. and people are absolutely not trustworthy. especially those in power -- who are most likely to have access to said keys.
The only reason this exists is because fucking power-hungry doucherockets exist.26 -
Demoing a new feature in the Dev environment.
Me: The images are just placeholders. The communications team are still coming up with appropriate images.
Management: Can we change that image? It doesn't really fit the theme of what we are trying to achieve.
Me: As mentioned earlier, all images are just placeholders. Continues demo.
Management: That image also doesn't really fit with the theme. Can we change that one too?
Me: 🙄6 -
Last week my company fired 4 people (on top of 15 more over the past few months). This week they silently pushed a change to all of our machines that changed our wallpapers. The wallpaper was a picture of someone in upper management staring at you with wide eyes.
They claimed it was a joke or something but the office didn't see it that way. At best it was incredibly tone deaf and stupid, at worst it was a way to tell employees that they are always watching.
I have no idea how management could be that fucking out of touch.12 -
Wow... this is the perfect week for this topic.
Thursday, is the most fucked off I’ve ever been at work.
I’ll preface this story by saying that I won’t name names in the public domain to avoid anyone having something to use against me in court. But, I’m all for the freedom of information so please DM if you want to know who I’m talking about.
Yesterday I handed in my resignation, to the company that looked after me for my first 5 years out of university.
Thursday was my breaking point but to understand why I resigned you need a little back story.
I’m a developer for a corporate in a team of 10 or so.
The company that I work for is systemically incompetent and have shown me this without fail over the last 6 months.
For the last year we’ve had a brilliant contracted, AWS Certified developer who writes clean as hell hybrid mobile apps in Ion3, node, couch and a tonne of other up to the minute technologies. Shout out to Morpheus you legend, I know you’re here.
At its core my job as a developer is to develop and get a product into the end users hands.
Morpheus was taking some shit, and coming back to his desk angry as fuck over the last few months... as one of the more experienced devs and someone who gives a fuck I asked him what was up.
He told me, company want their mobile app that he’s developed on internal infrastructure... and that that wasn’t going to work.
Que a week of me validating his opinion, looking through his work and bringing myself up to speed.
I came to the conclusion that he’d done exactly what he was asked to, brilliant Work, clean code, great consideration to performance and UX in his design. He did really well. Crucially, the infrastructure proposed was self-contradicting, it wouldn’t work and if they tried to fudge it in it would barely fucking run.
So I told everyone I had the same opinion as him.
4 months of fucking arguing with internal PMs, managers and the project team go by... me and morpheus are told we’re not on the project.
The breaking point for me came last Wednesday, given no knowledge of the tech, some project fannies said Morpheus should be removed and his contract terminated.
I was up in fucking arms. He’d done everything really well, to see a fellow developer take shit for doing his job better than anyone else in [company] could was soul destroying.
That was the straw on the camels back. We don’t come to work to take shit for doing a good job. We don’t allow our superiors to give people shit in our team when they’re doing nothing but a good job. And you know what: the opinion of the person that knows what they’re talking about is worth 10 times that of the fools who don’t.
My manager told me to hold off, the person supposed to be supporting us told me to stand down. I told him I was going to get the app to the business lead because he fucking loves it and can tell us if there’s anything to change whilst architecture sorts out their outdated fucking ideas.
Stand down James. Do nothing. Don’t do your job. Don’t back Morpheus with his skills and abilities well beyond any of ours. Do nothing.
That was the deciding point for me, I said if Morpheus goes... I go... but then they continued their nonsense, so I’m going anyway.
I made the decision Thursday, and Friday had recruiters chomping at the bit to put the proper “senior” back in my title, and pay me what I’m worth.
The other issues that caused me to see this company in it’s true form:
- I raised a key security issue, documented it, and passed it over to the security team.
- they understood, and told the business users “we cannot use ArcGIS’ mobile apps, they don’t even pretend to be secure”
- the business users are still using the apps going into the GDPR because they don’t understand the ramifications of the decisions they’re making.
I noticed recently that [company] is completely unable to finish a project to time or budget... and that it’s always the developers put to blame.
I also noticed that middle management is in a constant state of flux with reorganisations because in truth the upper managers know they need to sack them.
For me though, it was that developers in [company], the people that know what they’re talking about; are never listened to.
Fuck being resigned to doing a shit job.
Fuck this company. On to one that can do it right.
Morpheus you beautiful bastard I know you’ll be off soon too but I also feel I’ve made a friend for life. “Private cloud” my arse.
Since making the decision Thursday I feel a lot more free, I have open job offers at places that do this well. I have a position of power in the company to demand what I need and get it. And I have the CEO and CTO’s ears perking up because their department is absolutely shocking.
Freedom is a wonderful feeling.13 -
I feel the need to take a different approach to this week's rant. I think someone needs to defend teachers, for a number of reasons. Obviously this is probably out of place on devRant but it is a kind of rant against those who think they know everything and have nothing to learn.
1) Teachers are not industry specialists. They do not spend their lives keeping on top of the latest framework or project management methodology or code management tool. They are educators and that brings its own set of out of hours challenges and training exercises.
2) They have a course to teach and have probably used the same one for quite some time. Years probably. They (should) teach the fundamentals of programming not a particular language or syntax or quirk. Those fundamentals don't really change. Logic, problem solving, precision, structures, etc.
3) They need to provide a course which will cater for different skill levels. There are always class members who are bored because it's too easy and others who struggle in any subject.
4) Teaching is like any profession - there are really, really good ones, OK ones and there are shit ones.
5) They have probably never developed a detailed project or solution in their lives. They don't know the pitfalls and challenges that teams face in this kind of environment. Should they - maybe. But the probably don't.
I think that's all... I'm not a teacher (although I did fancy the idea at a time) but just feel they get a rough ride sometimes (particularly on here).4 -
Coding completely changed my life. After roughly 8 years in construction management, and one rough divorce, I decided my life needed a change, so I dropped my high paying construction job and learned web development. 3 years later learning to code was the 2nd best decision I ever made (1st was to get a divorce)2
-
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
I stayed at a hotel called "Crowne Royal Plaza" for a work event in Denver. The TV in the room was a nice new '50 Samsung. Much to my dismay I discovered they had disabled the ability to change the input to HDMI. I called the front desk to compain and the pesent who answered the phone had the nerve to tell me that feature had been disabled because it was "illegal". I laughed histarically and explained the reason was actually to try and force customers to buy shitty pay-per-view content, to which he replied, "Probably".
We must put an end to such blantant disregard for hardware and software freedom. This is beyond uneccaptable. I am completely and utterly disgusted by such slimy business practices.
To the management of the Crowne Royal Plaza, from the bottom of my heart, fuck you and burn in the deapest, darkest part of hell, you scum sucking dick fucks!5 -
I developed a simple scholarship management system for my school using Laravel, MySQL, jQuery and Bootstrap, I did it for free since college students from my country have to pay social service to get their degrees. Everyone in the scholarships department seemed to be really happy with my work and they evaluated my social service with 10/10, but yesterday they asked for one last favor: to go talk to the new social service guy who'll be supposed to maintain my project, a mid 30's dude who was really pissed off from the beginning because he wasn't even able to deploy the project, he wasn't even able to clone the project from Github. Ok, so I tried to explain to him the tools I used and how the project was structured, but everything I said seemed to piss him even more, so I stopped and had a chat like:
Me: "Look man, do you know or at least have basic concepts of PHP and MVC frameworks?"
Guy: "Yes, but I'm a project manager, not just –despectively– any programmer, and you didn't write proper documentation, it's impossible to deploy your project with the manual you wrote, I cannot work like this".
*We go to their computer and I clone and setup the project in 3 minutes.
Guy: "Yes, but I still don't know how the project works, I need everything documented. If I have to change something, I don't know where to look.
Me: "Man, that's why asked you about knowing PHP MVC frameworks".
Guy: "I cannot work like this, nothing is documented, I don't even know what's that software you're using *points at Sublime Text*. Or tell me, can you arrive at a place where they expect you to work with something you don't know and they have no documentation?"
*At this point he was really pissed
Me: "Well... Dealing with non-documented software is what I do for a living"
Guy: "I don't know what companies you've worked for, probably not big ones..."
Me: "Well, I actually work for *I mention one of the biggest music apps in the country*"
*Guy ironically laughs
When I gave my feedback to the lady in charge of the department, I told her that this guy was really pissed off at how things were done and that I wasn't so sure of him being capable of maintaining the system. She told me not to worry, that the guy became a well known asshole in the office only after a few days, and that she'll probably have to find something else for him to do. It'd be hilarious if this guy ends up capturing scholarships in the system I made.4 -
Ask questions during interview.
Ask about trainings - it's usually a good sign when company offers training budget. Ask about specifics - sometimes it's a shared pluralsight account, and nothing else, which means that that had an idea and half assed it into existence.
Ask tech recruiter about overtime, a good sign is when they have no idea or say that it must be budgeted and scheduled - it means that it does not happen often.
Ask if it is possible to select and change projects, and how often it happens - if often, it may be bad low level management, or people learning new things and jumping between projects.
Also make sure to ask about rules for promotions and pay rises. Good company wił have a clear set of rules in place.
All of the above apply to mid to large companies.
For small company, i'm sure it will be different.3 -
So the company I work for had a critical project they needed done in 8 days.
We told our boss it wasn't possible because of the scope of the project but he went on with motivational speeches about how anything is possible. So he hired 12 devs for 8 days.
The scope of the project is already big enough but everyday upper management either add 10 new features, modify 2, or delete some already.
We basically sleep 2 hours a day and today is the last day. 5 minutes ago we just had a meeting that we're supposed to change a core feature. We don't even have a stable system yet and everyone is fucking pissed.13 -
I Quit,
Finally I quit.
This feels good after the countless red flags I raised to management and wishful thinking that this time things will be different. For the past year!
This time I lost the optimistic approach and got myself a couple of interviews, thinking, I'm in this for the long haul, could be 6 months could be a year, evantually I will succeed. and what do you know? It works, I can still pass those.
Then I set down with myself and thought, should I come to managment before signing the contract? Giving another chance for a real change? The answer was a resounding Hell No!
So, yea, if you are in a tough position. Don't give up, think long term, and who knows that "long term" might just be a month.3 -
Recently, one of our passwords was accidently published on a public page for a few minutes before it was noticed and removed. Unfortunately, this password opens nearly every locked account so it's a pretty big deal.
Management was informed of this mistake and told that we should change the passwords as well as implement a few other protocols to make sure this doesn't happen again including things like unique passwords, more secure passwords, using a password manager, etc.
Their response? It wasn't online long, probably no one saw it. There will be no changes in how we handle ours or our clients' secure passwords.6 -
This is something that happened 2 years ago.
1st year at uni, comp sci.
Already got project to make some app for the univ that runs in android, along with the server
I thought, omg, this is awesome! First year and already got something to offer for the university 😅
(it's a new university, at the time I was the 2nd batch)
Team of 12, we know our stuffs, from the programming POV, at least, but we know nothing about dealing with client.
We got a decent pay, we got our computers upgraded for free, and we even got phones of different screen sizes to test out our apps on.
No user requirement, just 2-3 meetings. We were very naive back then.
2 weeks into development, Project manager issues requirement changes
we have a meeting again, discussing the important detail regarding the business model. Apparently even the univ side hadn't figure it out.
1 month in the development, the project manager left to middle east to pursue doctoral degree
we were left with "just do what you want, as long as it works"
Our projects are due to be done in 3 months. We had issues with the payment, we don't get paid until after everything's done. Yet the worse thing is, we complied.
Month 3, turns out we need to present our app to some other guy in the management who apparently owns all the money. He's pleased, but yet, issued some more changes. We didn't even know that we needed to make dashboard at that time.
The project was extended by one month. We did all the things required, but only got the payment for 3 months.
Couldn't really ask for the payment of the fourth month since apparently now the univ is having some 'financial issues'.
And above all: Our program weren't even tested, let alone being used, since they haven't even 'upgraded' the university such that people would need to use our program as previously planned.
Well, there's nothing to be done right now, but at least I've learned some REALLY valuable lesson:
1. User Requirement is a MUST! Have them sign it afterwards, and never do any work until then. This way, change of requirements could be rejected, or at least postponed
2. Code convention is a MUST! We have our code, in the end, written in English and Indonesian, which causes confusion. Furthermore, some settle to underscore when naming things, while other chooses camel case.
3. Don't give everyone write access to repository. Have them pull their own, and make PR later on. At least this way, they are forced to fix their changes when it doesn't meet the code convention.
4. Yell at EVERYONE who use cryptic git commit message. Some of my team uses JUST EMOTICONS for the commit message. At this point, even "fixes stuffs" sound better.
Well, that's for my rant. Thanks for reading through it. I wish some of you could actually benefit from it, especially if you're about to take on your first project.3 -
I work for healthcare client project in a start up, worked two years straight without a break.
Client is very inconsiderate about developers work-life balance, he always wants to release every features yesterday.
Never had a reasonable deadline, worked late nights most of the time. No one had backbone to control this client from our side.
Its only developers team, no project management, scrum masters or anything, everything has to be taken care by Dev's.
I decided to take a week break from work.
The first day of my leave he pinged me 3 times to change an "from email" address for notification email which no one give a damn about.
I never replied or did anything. But the part of myself is dying of guilt.
Now I can't relax myself completely.
Re-thinking of my life choices atm.
I loved programming since high school, I can work on computers 24/7 without tired. That's how much I love it. Now I'm just tired of it.
If anyone who read this till here. Thank you.18 -
Let me tell you how shit flies in Aerospace&Defense companies in certain place in on earth
1. Your dev. PC is isolated from the internet. You can not download any software/library etc directly. "Legal" way takes literally days and you must all effort for it to work. I will not discuss the details of legal way but it is not asking IT team to download it for you, you do it yourself.
2. You use an archaic requirement standard that is somehow used by all other similar companies too. These companies f*ck each other in the arse when they are working on projects together(hiding details from each other which is necessary most of the times etc.) but they were kind to each other when it came to share shitty req. standard.
3. When you try to switch to new requirement standard, you waste weeks only to amend the old one, because everyone is using old one for all projects, so changing it would upset old guards in the company(which are people works in same project for 10 years, no personal development)
4. You came 1 minutes late, you fill the "minutely permission" form.
5. You already work long hours per day and they remove your small breaks during day, because developers use those breaks longer than intended(I wonder what might be the reason...)
6. A technology can not be adopted into current projects even it has objective advantages proven many times in the outer world, because old guards(developers), IT team and configuration management guys(poor man's dev ops role sometimes) can not change their ways.
I hate this shit...6 -
So just finished the presentation for my internship project. I'm free now!(and can sleep normal times too) But I have a few things I need to get off my mind. Dunno if it'll seem a bit stupid to some of you..but yeahh....
Anyway, during my demo yesterday
Lecturer: So this project of yours uses some open-source stuff?
Me: Yeah.
L: And if the company wants to use if for commercialization they need to pay for the license?
M: Thats basically it. Yes.
L: Well, see..thats the problem with your project. You need to think of all this things. If there's no other options then just code the whole shit yourself. Or maybe discuss with the management on this.
Yeah...see, I doubt the management here cares about us anyway. Oh, you're working on your intern stuff. Not important. Just resize the pictures in my powerpoint will you? Oh and you want to use the company computers for your project? No can do..confidentiality stuff. But make sure the thing will work on our system anyway when you're done with it. And even if you use our computers, they restart everytime you open Word anyway..hahaha. You want access to this thing so you can learn a bit on our company's work. Sorry but no. EVERYTHING is confidential so you can't access it since you're interns, eventhough our company is the one that took you inanyway.
Manager: Oh, the thing you're making is pretty cool. You know,all of you can just give your systems to us later.
Friend: Yeah well, maybe we can ask the company for payment? Haha.
Manager: Hahaha well the company can just take your systems for free since you're doing it on our working hours.
Fuck. You. When we ask to do our stuff you said noooo its the company hours. Do our work. And do your stuff back at home or something. Oh, but then we'll drag you around the state to see the clients, and you'll reach home at 8-9pm or something, but of course you're not tired right? So just code then. Or you're not going anywhere today? You're still not allowed to code here eventhough you don't have any work though...so just sit there and be quiet. Or maybe shred my papers for me. Fuck your working hours.
Lecturer: And well, thats the problem with some students *looks pointedly at me* they want to go to non-technical companies so that they can have it easy. Your friends who go to other companies will learn a lot more.
Do you think I fucking want to be here??? This is the only company I got so fuck that. Even when I get different offers and apply to change companies, you go nope. No can do. Stick with your current company eventhough we know that its shit for IT students because its a big company, see? And we have our university's reputation to upkeep. I came here to learn, not make you the No.1 university or something. And its not like you, or the staffs here, help us with anything.
So fuck all of this. We're gonna tell the other lecturers to stop sending students here. You don't learn anything. I'm done with this shit, not gonna think or worry about it anymore..I'll just, go get cake or something. Yeah.3 -
Ok so this happend in the last 3 days, I didn't post it till now because I had to seriously take a rest with all the bullshit and stress that came with it...
(Legacy project I have the lead in called: "Foo")
Monday:
Management decided it would be effective to add a senior and a junior to Foo, which would make (together with me) to be 2 juniors and one senior developer
Well I've spend most of that day helping both the junior and the senior to setup "Foo" on their local development machines... So I could not do any programming myself
tuesday:
The senior wanted to refactor EVERYTHING... and I had to stop him multiple times because we simply do not have the time to do that...
The junior tried to work on other things as much as he could, and after he had run out of things to do, asked me for EVERYTHING... EVEN WHERE TO FUCKING CHANGE SOME GOD DAMN STRINGS!....
Also he did in total 3 commits, two of which existed of my code (because I had to "help" him
wednesday:
Both the junior and senior were removed from the project and I got another senior.. who fucking deleted the production database on accident
god damn rough few days man...7 -
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2 -
Why do people have to lie? I am seriously getting tired of it.
Context: While I was on vacation the company hired some guy we’ll call Bob.
Bob is a senior with 10+ years of experience. 5 of those years in React (supposedly).
I got back from vacation and was told I’d be working on a project with Bob.
I’ve worked in teams before so I thought no problem.
Now I am aware that different people have different styles, so that’s why we agreed on a lint config with some fancy git hooks.
I was excited at first because the project actually seems nice, but my excitement soon turned into terror.
First of all, Bob doesn’t seem to understand Git…fair enough, I’ll give him a quick guide…
Mf calls me at 11pm on a Friday because he can’t push because the tests are failling.
Now tests. Bob doesn’t write those. Great.
We had created a few components to use throughout the project.
Bob seems to consistently forget what components are and why you write them and just imports the defaults from the UI library we’re using.
Bob also has a kink for hardcoding values for some reason.
I talked to Bob multiple times about this and he just tells me he’ll change it but in the end the PR stays open for 5 days, before it’s actually me who goes in and fixes it. Oh and yeah this shit keeps happening over and over again.
Now I know some of us devs hate meetings but for the love of God Bob just show up. You don’t even have to speak. Or at least answer a message that corresponds to the working hours and not in the middle of the night.
I am getting tired of this behavior and am seriously holding back from reporting this to the management. It’s been a month and I am seriously worried about the project. I have my own stuff to do but it takes time for me to clean up his absolute mess that doesn’t even pass the CI.
Call me an asshole I don’t care. It’s been a month and I’m legit worried about the future of the project.20 -
TeamLeader: I need you to stop disagreeing with the decision of the management, the people in there are taking their decision for a reason.
IHateForALiving: When integration tests were failing, the management decided to comment out the ingration tests; god knows how many bugs slipped by.
When users had problems with the idiotic migration process the management designed, the management decided to remove down migrations; it took two weeks before the QA team started screaming, as all their machines were filled with garbage data.
I was writing type definitions for my code, you removed it. You effectively ensured the only person capable of working on that particular piece of code would be me.
I have been proposing for 8 months to make a unified scheduled jobs system, you all decided to create at least 5 different -and incompatible- implementations, at least 4 of them are total garbage with setTimeout, there's no way to ever unify them and God willing they never break, if they do there's NO WAY to find out even where tf they're hidden in the code.
Every time you were making one of those bad decision I was the only one warning you of the problems you were creating. The idiotic change of the day is going MongoDB+Angular: I can keep a low profile if you want, but when this blows up you can be damn well sure I'll handle my 2 weeks notice because there's no way on earth I'll be stuck with the aftermath of you lot taking technical decisions you are clearly unable to manage.11 -
Dev: I need you to do X
IT: Ok we will do Y
Dev: I don’t want Y I want X
IT: Well you’ll need to go through the change request process then since you have just modified your requirements.
Dev: …6 -
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
Hey I got reminded of a funny story.
A friend of mine and me were in internships in the same company. The company was specialized in territory resources management (managing water for agriculture, money to build industrial zones...). He got the interesting internship (water predictory modeling) and I got... The repairs of a reference sheet manager that never happened to work. It was in C# and ASP.NET and I was in second year of CS. I expected the code to be nice and clear since it was made by a just graduated engineer with +5years of studies.
I was very wrong.
This guy may never have touched a web server in his life, used static variables to keep sessions instead of... well... sessions, did code everything in the pages event handlers (even LinQ stuff et al) and I was told to make it maintainable, efficient and functional in 2 months. There were files with +32k LoC.
After 1week of immense despair, I decided I will refactor all the code. Make nice classes, mapping layer, something close to a MVC... So I lost time and got scoled for not being able to make all the modifications as fast as in a cleanly designed code...
After 4 weeks, everything was refactored and I got to wait for the design sheets to change some crystal report views.
At this moment I began to understand were was the problem in this company.
My friend next door got asked to stop his modeling stuff for an emergency project. He had to make an XML converter for our clients to be able to send decentralized electrics bills, and if it was not completed within a week, they would no longer be able to pay until it is done.
This XML converter was a project scheduled 5 years before that. Nobody wanted to do it.
At the same time, I was waiting for the Com Department to give me the design views.
I never saw the design views. Spent one month implementing a golden ratio calculator with arbitrary precision because they ain't give me anything to do until the design were implemented.
Ended with a poor grade because "the work wasn't finished".2 -
The management brought some devs from another outsourcing company into our project to overcome the fact that we, the existing developers, are retarded. We are retarded because they change the scope continously (aka daily) and we can’t keep track with their requests. They want something and after we implement it, they want it changed. Completely.
Instead of getting the project and deep dive into it using the materials (setup, architecture etc.) I prepared along the way, their PM said that we have to make some low level knowledge transfer. This knowledge transfer session happened on Friday.
The presenters were me and one of my colleagues. After 2 hours of training, we found out that the supposed senior devs don’t know how to use GIT, they don’t have a clue about Spring nor Angular (nor any SPA framework), their only questions were ‘why didn’t you use X?’ (where X = bootstrap, jQuery etc.) etc.
What is even funnier: during the presentation we were asked to keep a screen sharing opened during working hours for a couple of days just so the new devs could see how we are working.
Guess what happened with the scope on Friday evening: it changed again because ‘you got new devs so there will be multiple resources to handle tasks’.
2 more weeks and i’m out of there...7 -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Boss: this is different from the old console I don't like it
Me: but this has been approved by product management and the team already made estimates and committed to the feature
Boss: Well this needs to change, our existing users will not like it
Me: This is far from agile to be honest, and the change came from user feedback analysis
Boss: You are not doing your work *swears and curses* this is against the team direction!
Me: then why was this committed on this sprint? All I did was facilitate the needs of the team to proceed development.
Boss: *runs out office and starts calling other bosses to boss around*
Runs in 5 minutes later, saying we are not allowed to destroy a feature with enhancements like this.
Me: *Infinite facepalm*7 -
I've been using microsoft dev stack for as long as i remember. Since I picked up C#/.NET in 2002 I haven't looked back. I got spoiled by things like type safety, generics, LINQ and its functional twist on C#, await/async, and Visual Studio, the best IDE one could ask for.
Over the past few years though, I've seen the rise of many competing open source stacks that get many things right, e.g. command line tooling, package management, CI, CD, containerization, and Linux friendliness. In general many of those frameworks are more Mac friendly than Windows. Microsoft started sobering up to this fact and started open sourcing its frameworks and tools, and generally being more Mac/Linux friendly, but I think that, first, it's a bit too late, and second, it's not mature yet; not even comparable to what you get on VS + Windows.
More recently I switched jobs and I'm mainly using Mac, Python, and some Java. I've also used node in a couple of small projects. My feeling: even though I may be resisting change, I genuinely feel that C# is a better designed language than Java, and I feel that static type languages are far superior to dynamic ones, especially on large projects with large number of developers. I get that dynamic languages gives you a productivity boost, and they make you feel liberated, but most of the time I feel that this productivity is lost when you have to compensate for type safety with more unit tests that would not be necessary in a static type language, also you tend to get subtle bugs that are only manifested at runtime.
So I'm really torn: enjoy world class development platform and language, but sacrifice large ecosystem of open source tools and practices that get the devops culture; or be content with less polished frameworks/languages but much larger community that gets how apps should be built, deployed, monitored, etc.
Damn you Microsoft for coming late to the open source party.11 -
We are a small size product based company. There was a change in management a year back and the new management decided to fire the entire engineering team one by one. I was hired as full time back-end developer (C++). Just after I joined they removed the last 2 engineers from the previous regime and handed over devops and Python API development to me as well.
There was no documentation for the main product which was a sophisticated piece of software. There were no comments in the code as well. I had to go through line by line (roughly 100,000 lines of code).
Then they decide to hire more devs.Turned out to be false hope. They hired interns who had no programming knowledge.
Now they got two clients who are interested in using the service. They lured them using empty promises. The product is not stable. The cloud infrastructure is not at all ready. The APIs are a mess. I don't know which one to work on.
Worst part is that there is no other technical person in the office.
I'm thinking about quitting now. I don't know why I haven't already.😖😖4 -
FML, I hate projects where managers (and other developers, too!) irrationally think that the only thing to do in the codebase is delivering new features and fulfilling change requests.
After 5 years of such approach, the code is bloated, and has hack-on-hack done against the original architecture, and management complains on the time to delivery a change, however asking them to get some time to "refactor" meets a deny every single fucking time because "we don't have budget".
Decided to leave the team. Any reason to stay there longer?7 -
I'm going to kill management.
After a serious migration fiasco at one of our biggest costumers the platform was finally usable again (after two days instead of 10 hours) and, of course, users started to report bugs. So good old po came in ranting that we as qa did a horrible job and basically tried to fault us for a fucked up update (because we produced user pain, which of course not being able to log in didn't do). Among the issues: If the user has more than a hundred web pages the menu starts looking ugly, the translation to dutch in one string on the third submenu of a widget doesn't work and a certain functionality isn't available even if it's activated.
Short, they were either not a use case or very much minor except for that missing function. So today we've looked through the entire test code, testing lists, change logs and so on only to discover that the function was removed actively during the last major update one and a half years ago.
Now it's just waiting for the review meeting with the wonderful talking point "How could effective QA prevent something like this in the future" and throwing that shit into his face.
I mean seriously, if you fuck shit up stand by it. We all make mistakes but trying to pin it on other people is just really, really low.8 -
I am the sole frontend developer in my project. I have only 6 months of professional coding experience. Just got a call from a person who used to lead me (she is still my lead, technically, but not very much involved in the dev process (management’s decision, not hers)).
She said that a concern has been raised that there have been large number of frontend issues which they (she didn’t specify, I am guessing management) haven’t seen before.
What do you think is the “large number”? Let me tell you. It’s 4.
2 of which are minor CSS issues that couldn’t have been anticipated while coding. They are runtime issues.
One of the 4 is a both frontend and backend issue.
And the last one is a fucking change request!
1 player, many responsibilities, slight issues, RAISE CONCERN - That’s management for you.
Fuck them, I guess.
On top of that, a concern I raised in front of the management regarding the management is not so much of a priority for them. I have a feeling that the concern they raised is just them being a jerk because I raised a concern in the first place.
Fuck them, again!
And again!5 -
doNotMessWithITTeamInAFuckingProject();
Last night me with my team have a discussion with my project team. Currently we have a project for our insurance client building a Learning Management System. The project condition already messed up since the first day i join a meeting. Because since its a consortium project with multiple company involved, one of company had a bad experience with another company. It happened few years back when both of company were somehow break up badly because miss communication (i heard this from one of my team).
Skip..skip... And then day to day like another stereotype IT projects when client and business analyst doing requirements gathering, the specs seems unclear and keep changing day by day even when I type this rant I'm sure it will change again.
Then something happened last night when my team leader force our business analyst to re index the use case number (imho) this is no need to be done, and i know the field conditions its so tough for all team members.
So many problems occured, actually this is a boring problem like lack of dev resource, lack of project management and all other stereotype IT projects had. Its sucks why this things is happening again.
Finally my fellow business analyst type a quite long message in our group and said that he maybe quit because its too tired and he felt that the leader only know about push push pushhhhhy fcking pussy, he never go to the client site and look what we've done and what we struggle so far.
I just don't know why, i know this guy earlier was an IT geek also, but when he leading a team he act like he never done IT project before, just know about pushing people without knowing what the context and sound to me like just rage push!
Damnit, i maybe quit also, you know we IT guy never affraid to quit anytime from the messed up condition like this. Even though we were at the bottom level in a project, but we hold the most main key for development.
Hope he (my leader) read this rant. And can realize what happened and fix this broken situation. I don't know what to say again, im in steady mode to quit anytime if something chaos happen nearly in the future.
doNotMessWithITTeamInAFuckingProject();1 -
What I've learned from my boss
-UI is easy to change, it's only css
-It is always low level programmer fault
-Management is never wrong
-You have to be early for them to be extra late
-Complex thing have to be simple
-Being straightforward is only one way
And lastly never ever expect a raise
You guested it, I don't work there anymore! Fuckin cunt4 -
Sometimes, being the only fullstack dev with access to a lot of systems gives you the ability to introduce functionality that:
A) prevents future errors
B) introduces new validations to users to make sure A) is prevented.
C) apply these changes to different projects
But most importantly...
D) without a single person in management getting involved or having to sign it off.
It's like running a company you own, but without owning it.
Granted with such power, comes the trust and responsibility of deploying changes with the adequate testing being done prior and handling change management, but fuck, sometimes I wonder if "god mode" for lack of a better term, is too much, or just enough to get the job done without the politics.7 -
Devs: We fixed a bug, so watch out for some changes.
Management: The new values are too bad, you need to change it back.
Devs: But ... it was a bug?
Management: Rollback ... now!
I swear, the moment shareholders are involved, management is just about who has the best lie.1 -
Our company maneuvered themselves into a classic technical debt situation with a project of a second team of devs.
They then left, signing a maintenance contract and now barely work on the project for exorbitant amounts of money.
Of course management got the idea to hand off the project to the first team, i.e. our team, even though we are not experts in that field and not familiar with the tech stack.
So after some time they have asked for estimates on when we think we are able to implement new features for the project and whom we need to hire to do so. They estimates returned are in the magnitude of years, even with specialists and reality is currently hitting management hard.
Code is undocumented, there are several databases, several frontends and (sometimes) interfaces between these which are all heavily woven into one another. A build is impossible, because only the previous devs had a working setup on their machines, as over time packages were not updated and they just added local changes to keep going. A lot of shit does not conform to any practices, it's just, "ohh yeah, you have to go into that file and delete that line and then in that other file change that hardcoded credential". A core platform is end of life and can be broken completely by one of the many frameworks it uses. In short, all knowledge is stowed away in the head of those devs and the codebase is a technical-debt-ridden pile of garbage.
Frankly I am not even sure whom I am more mad at. Management has fucked up hard. They let people go until "they reached a critical mass" of crucial employees. Only they were at critical mass when they started making the jobs for team 2 unappealing and did not realize that - because how could they, they are not qualified to judge who is crucial.
However the dev team behaved also like shitbags. They managed the whole project for years now and they a) actively excluded other devs from their project even though it was required by management, b) left the codebase in a catastrophic state and mentioned, "well we were always stuffed with work, there was no time for maintenance and documentation".
Hey assholes. You were the managers on that project. Upper management has no qualification to understand technical debt. They kept asking for features and you kept saying yes and hastily slapped them into the codebase, instead of giving proper time estimates which account for code quality, tests, reviews and documentation.
In the end team #2 was treated badly, so I kinda get their side. But up until the management change, which is relatively recent, they had a fantastic management who absolutely had let them take the time to account for quality when delivering features - and yet the code base looks like a river of diarrhea.
Frankly, fuck those guys.
Our management and our PM remain great and the team is amazing. A couple of days a week we are now looking at this horrible mess of a codebase and try to decide of whom to hire in order to help make it any less broken. At least it seems management accepted this reality, because they now have hired personnel qualified to understand technical details and because we did a technical analysis to provide those details.
Let's see how this whole thing goes.1 -
Obvious wisdom from me;
1. HR is not your friend. HR is created to protect companies from employees, not to protect employees from companies. HR serve the company and upper level management.
2. If you are victim of mobbing, keep a mobbing diary with exact quoting. Nothing more, nothing less, no speculation. Create an airtight case for future.
3. If you want to change because of mobbing, just find a new job. Do not, I repeat, DO NOT talk to HR about mobbing before you got another job offer at the ready.
4. Present HR with mobbing diary during your exit, imply that you will talk to CEO and take legal actions if you don't get a satisfactory last laugh on the mobber.
5. Do not accept counter-offer from your company-regardless of mobbing case or not. You considered switching to another company, you are branded now and you will be axed at the first chance. Counter-offer is not a guaranteed employment in your company.9 -
Have you encountered projects that were beyond saving?
Been freelancing for a client via agency for the past year. In the beginning the deal was to maintain identity verification sdk for android maybe 10-15 hours a month or so. Their flow consisted of around 25-30 screens, so I took it thinking it was easy. Boy I was wrong.
Codebase was and still is a complete spaghetti, backend weird and overcomplicated and impossible to talk with someone in backend. Had to reverse engineer their complicated flows many times just to make a small change on the app. There also are lots of issues with capturing/sending camera recordings especially on older devices. The fact that Im the only dev maintaining this doesnt help either.
First few months it was just maintenance, later some small features and soon it become a 40 hour a month gig. I was able to deal with it but then management changed, they started micromanaging me heavily and now they want me to do 60-70 hours a month. Also they asked to implement some unnecessarily complicated features and to be honest without refactoring most of the codebase I cant even begin to think of how to implement them.
Also workload in my main job increased. Started sacrificing my evenings, weekends and basically my wellbeing to work on their product. Tried to relax but then I realized Im just spending my freetime thinking about their project all of the time. Best part is that last few updates fucked up the whole flow and I dont even understand where the problem is anymore: backend, 3rd party integration issues or something else that I did.
Last friday told them that my availability changed and Im quitting. Told them that Im gonna provide support till the end of the month but no big features. Just spent a full shift in my main job and another full shift working on their product, trying to untagle their spaghetti.. Im totally lost and burned out. Meanwhile stupid manager is asking why "simple" stuff according to him is taking too long.
I should receive my last payment from agency this week, also asked them to send it to me earlier but no answer so far. At this point Im so burned out that I dont care anymore about the last payment, even if client complains that everything is broken and doesnt want to pay me. Project is beyond fucked and that SDK as well as their backend is a ticking time bomb. Im done.14 -
So we are implementing a big and very complete localization management system on my company. The system has great features, indeed, but:
1. We cannot use the browser back button, because it is js and it appears no one cared about it (I am not a js Dev, but you can UAE the back button on my site that has js);
2. It is very customizable, but not intuitive. So you have one million options and you never know where to change what you need;
3. It has a save button everywhere, but most options are saved automatically, so you never know when you need to save. Actually, people from the webapp company use the save button as refresh, once we cannot use the browser refresh button;
4. Combo boxes load the elements while you scroll them, so to scroll to the bottom, you need to keep scrolling several times, waiting it to load the elements;
5. It does not allow you to open more than one tab of it at the same time. So if you need to see more than one information from different items, you need to navigate and wait the loading times to see what you need;
6. Emails are not sent in a different thread. So each action that send emails you need to keep waiting until the emails are sent (sometimes there are several emails sent in one action) to continue using it;
7. They not only store and send back your password by email if you loose it, but, as admin, if I click the button to send the user password to him/her, it keeps a copy of the email with the user password in my sent items;
8. To be able to send emails (they are really necessary), I need to include my SMTP info with login and password. So they have not only the system password saved, but everyone email login and password as well.
I am sure there is more, but I can't remember for now, and we are still trying to figure it out how to back our data, as it appears the only possible backup is their own.5 -
Well on my last full-time job, that ware using cookies for authentication (not something new, eh?). The thing is, you see, the cookies had the 'accountId' which if you change to another number, kaboom you're that account, oh but that was not all, there was an option to mark the account type in there 'accountType', which was kind of obvious in VLE (virtual learning environment), 'Teacher', 'Student', 'Manager' put what of those values and boom you are that role for the session
Thing was open of SQL injection from the login form, from said cookies and form every part you can pass input to it, when I raised the question to my TL he said 'no one is going to know about thatt, I don't see what is the problem', then escalated to higher management 'oh well speak to *tl_guy*'
Oh and bonus points for it being written in ASP CLASSIC in 2014+ (I was supposed to rewrite, but ended up patching ASP code and writing components in PHP)
In 2015-2016, in a private college, charging kind-of big money per year1 -
Let’s see I suppose the most pissed off I’ve been at work would be....
Being blamed for a clients mistake when their newsletter email settings where being changed over to a new mailing system but during the change over they wanted to still send out mail using the old list. So a single endpoint was kept in place so they could send one last newsletter out after it was approved as part of the migration and they were to inform us when they were done so we could change that endpoint over.
Several months later when everyone had long forgotten about it, the client tried to send another mass mail out using the old endpoint and complained when no emails had been sent.
I was blamed for making this mistake even though management approved the fucking old endpoint to be left in place at the clients request against my concerns that someone’s going to forgot about this and I was never informed to swap it over.
I quit on the spot and walked out the door after that. -
Delivering next 6 month’s product roadmap to CEO, other directors and senior management.
I know it’s all going to change.
They know it’s all going to change.
I know they know.
They know I know.
No words are spoken. -
Get into management is not a promotion but a career change.
But I saw a salary bump since I'm working as a software development manager.16 -
I work for a web agency.
Over the last 18 months a company asked us about 5 different quotes for rather minimal changes to their website.
While being minimal changes, estimating costs for them still requires several hours of work for research, meetings, correspondance and writing the damn things. They never even gave us a response (neither positive nor negative), except once where they told us that they wouldn't pay for project management because their instructions are so clear that PM isn't necessary.
As a response to the last one, after several months, they send us a 10 pages long pdf with requirements for a new website (or a "restyle" like they call it, even if it has absolutely nothing in common with the current one).
We inform them that we can't permit ourselves to continue studying new solutions for free and therefore tell them that a detailed offer would cost them something like 300$, and that amount would then be discounted from the eventually accepted job. We also roughly estimate a price range of about 15k - 20k for the new website.
We get an email back, from the CEO (until now it was a secretary), with essentially 3 arguments written in condescending form:
1. he brags about his revenue being over 9 billion $$$ a year, and that being a part of a global holding for which "communication is essential" (sic.) means that they need to coordinate and "can't simply accept an offer" [even if it's 400$, for specific change exactly requested by them, I guess...]
2. 15k is too much [... for the website representing this 9 billion dollar holding on the internet, for which the requirements are written in the 10 pages long pdf]
3. He asks for a meeting
We accept the meeting, we go to their office.
When we arrive there, the secretary informs us that the CEO will not participate. So we talk the her and the head of the "Communication Dept" in videoconference.
I explain them that if the sum, which we thought would be appropriate (~15 - 20k), is too high, the Pareto principle would allow us to, theoretically, achieve about 80% of the features and quality for about 20% of the cost. Their genuine response is:
"So your estimate was wrong! You can do it for much less!".
I try to explain them that the most money in a project goes into "attention to detail".
The "Communication Dept." person, who is "doing this job since too much time" (sic.), refuses to believe and insists that "details" don't exist on the web.
I tell her: "In any kind of work, the more effort you put into something, the better it tends to get, with diminishing returns".
She insists: "I don't understand this".
So now I'm here, doing the 6th offer, free of charge, for a 5k website, for a company that generates 9kkk revenue each year, trying to define a "Definition of Done" that works out.
FML I guess.
Sorry for the long post.7 -
Having to do database schema changes manually is HELL. Management seems to not be taking seriously enough the need to stop and implement migrations, my boss/lead dev suggested me to look up how to adopt/implement them in my own free time, instead of stopping all the feature implementing to do this VERY IMPORTANT, CRUCIAL CHANGE. Now I am the retard who takes too much time to do simple changes in the database.
Maybe I am retarded after all.7 -
Project management site, exclusively for use by our team and clients.
- The client creates a new project.
- They list the requirements, supplying all the necessary files and content.
- We challenge any stupid stuff by offering alternative solutions.
- We all sign off on the requirements and no more are allowed to be added or modified. If they forgot anything, it's on record who's to blame.
- We estimate time and cost to complete the build.
- If they accept, we finally begin the work
- At each stage of every requirement, we mark the status as pending, in progress, ready for testing and delivered.
Much less stress due to minimising change requests. Plus easier to follow than an email chain and easier for them to use than a jira portal.6 -
I might be fucked up, but I have a tendency to gravitate towards the shit that everyone else dislikes for the sake of knowing if their bias against is actually because shit is truly fucked up or if shit is legit plain WRONG.
From all technologies that I have worked with professionally I can count:
Java(currently in the form of old JSP services for an "enterprise level application")
Java for Android development - i was the lead engineer for a mobile project
Swift with IOS dev, same gig as the above.
C++ for Android development in the form of OpenCV with Java as well.
Javascript in all possible forms, basic input validation, ajax services, jquery datatables, jquery animations and builders.
Css/sass heavily
Clojure for an ldap active directory application
Python for glue scripts
Classic ASP with JScript and VBScript
VB Net forms
C# For ASP.NET MVC
Bootstrap for multiple intranet frontends
Node+Express for a logistics warehouse management tool
Ruby on Rails freelancing small gigs
Php in all ways possible from complete standalone php apps to Laravel and just php+composer apps aaaaall the way to wordpress
Django consulting
I have found that the one that I dislike the most is wordpress. And the one that I like working with the most is Node. Don't know why, i just do really fucking like messing around with Javascript, the language has changed a fuckload throughout the years and continues to increase and change. It was my first scripting language following a stint in me trying to learn cpp way when i was starting and royally FAILING
Never really got the hate for it, even when I used JScript with classic ASP i just enjoy working with Javascript a lil too much. And from all the above mentioned stacks safe from Php is the one, or one of the ones in which i don't royally suck :V3 -
If anyone has been keeping up with my data warehouse from hell stories, we're reaching the climax. Today I reached my breaking point and wrote a strongly worder email about the situation. I detailed 3 separate cases of violated referential integrity (this warehouse has no constraints) and a field pulling from THE WRONG FLIPPING TABLE. Each instance was detailed with the lying ER diagram, highlighted the violating key pairs, the dangers they posed, and how to fix it. Note that this is a financial document; a financial document with nondeterministic behavior because the previous contractors' laziness. I feel like the flipping harbinger of doom with a cardboard sign saying "the end is near" and keep having to self-validate that if I was to change anything about this code, **financial numbers would change**, names would swap, description codes would change, and because they're edge cases in a giant dataset, they'll be hard to find. My email included SQL queries returning values where integrity is violated 15+ times. There's legacy data just shoved in ignoring all constraints. There are misspellings where a new one was made instead of updating, leaving the pk the same.
Now I'd just put sorting and other algos, but the data is processed by a crystal report. It has no debugger. No analysis tools. 11 subreports. The thing takes an hour to run and 77k queries to the oracle backend. It's one of the most disgusting infrastructures I've ever seen. There's no other solution to this but to either move to a general programming language or get the contractor to fix the data warehouse. I feel like I've gotten nowhere trying to debug this for 2 months. Now that I've reached what's probably the root issue, the office beaucracy is resisting the idea of throwing out the fire hazard and keeping the good parts. The upper management wants to just install sprinklers, and I'm losing it. -
When an application is nearly complete and suddenly there is a recommendation thrown from management to change a technical specifications . Which will change the whole cycle effort meaningless. How does that feel?! Getting it now.
-
More than 2 years ago I alerted management that the default password we use for client accounts (and two of the variations) were pwned in database breaches. Today we receive an all-staff email that management "has reason to believe this password may have been compromised" and that we needed to change it across the 1200+ accounts where it's being used (200+ clients, several accounts per client).
Is it unprofessional to send a few "I told you so" memes and gifs?7 -
!rant
Upper management finally caved in to the endless change requests from business and explicitly made the following statement:
"We won't overpromise and under-deliver. With that, we are reducing the committed scope of development work per sprint, but will continue to deliver the same final deliverables by the delivery dates"
So all our compressed project timetables just got uncompressed, and we finally have the breathing room we've been begging for since 2017. Any change requests from business will be (finally) backlogged.
On the other hand, the number of projects have increased to fill out the new extra dev time, but at least we're now less stressed at work. Priorities!1 -
Just another big rant story full of WTFs and completely true.
The company I work for atm is like the landlord for a big german city. We build houses and flats and rent them to normal people, just that we want to be very cheap and most nearly all our tenants are jobless.
So the company hired a lot of software-dev-companies to manage everything.
The company I want to talk about is "ABI...", a 40-man big software company. ABI sold us different software, e.g. a datawarehouse for our ERP System they "invented" for 300K or the software we talk about today: a document management system. It has workflows, a 100 year-save archive system, a history feature etc.
The software itself, called ELO (you can google it if you want) is a component based software in which every company that is a "partner" can develop things into, like ABI did for our company.
Since 2013 we pay ABI 150€ / hour (most of the time it feels like 300€ / hour, because if you want something done from a dev from ABI you first have to talk to the project manager of him and of course pay him too). They did thousand of hours in all that years for my company.
In 2017 they started to talk about a module in ELO called Invoice-Module. With that you can manage all your paper invoices digital, like scan that piece of paper, then OCR it, then fill formular data, add data and at the end you can send it to the ERP system automatically and we can pay the invoice automatically. "Digitization" is the key word.
After 1.5 years of project planning and a 3 month test phase, we talked to them and decided to go live at 01.01.2019. We are talking about already ~ 200 hours planning and work just from ABI for this (do the math. No. Please dont...).
I joined my actual company in October 2018 and I should "just overview" the project a bit, I mean, hey, they planned it since 1.5 years - how bad can it be, right?
In the first week of 2019 we found 25 bugs and users reporting around 50 feature requests, around 30 of them of such high need that they can't do their daily work with the invoices like they did before without ELO.
In the first three weeks of 2019 we where around 70 bugs deep, 20 of them fixed, with nearly 70 feature requests, 5 done. Around 10 bugs where so high, that the complete system would not work any more if they dont get fixed.
Want examples?
- Delete a Invoice (right click -> delete, no super deep hiding menu), and the server crashed until someone restarts it.
- missing dropdown of tax rate, everything was 19% (in germany 99,9% of all invoices are 19%, 7% or 0%).
But the biggest thing was, that the complete webservice send to ERP wasn't even finished in the code.
So that means we had around 600 invoices to pay with nearly 300.000€ of cash in the first 3 weeks and we couldn't even pay 1 cent - as a urban company!
Shortly after receiving and starting to discussing this high prio request with ABI the project manager of my assigned dev told me he will be gone the next day. He is getting married. And honeymoon. 1 Week. So: Wish him luck, when will his replacement here?
Deep breath.
Deep breath.
There was no replacement. They just had 1 developer. As a 40-people-software-house they had exactly one developer which knows ELO, which they sold to A LOT of companies.
He came back, 1 week gone, we asked for a meeting, they told us "oh, he is now in other ELO projects planned, we can offer you time from him in 4 weeks earliest".
To cut a long story short (it's to late for that, right?) we fought around 3 month with ABI to even rescue this project in any thinkable way. The solution mid February was, that I (software dev) would visit crash courses in ELO to be the second developer ABI didnt had, even without working for ABI....
Now its may and we decided to cut strings with ABI in ELO and switch to a new company who knows ELO. There where around 10 meetings on CEO-level to make this a "good" cut and not a bad cut, because we can't afford to scare them (think about the 300K tool they sold us...).
01.06.2019 we should start with the new company. 2 days before I found out, by accident, that there was a password on the project file on the server for one of the ELO services. I called my boss and my CEO. No one knows anything about it. I found out, that ABI sneaked into this folder, while working on another thing a week ago, and set this password to lock us out. OF OUR OWN FCKING FILE.
Without this password we are not able to fix any bug, develop any feature or even change an image within ELO, regardless, that we paid thausend of hours for that.
When we asked ABI about this, his CEO told us, it is "their property" and they will not remove it.
When I asked my CEO about it, they told me to do nothing, we can't scare them, we need them for the 300K tool.
No punt.
No finish.
Just the project file with a password still there today6 -
We've all had shitty jobs at one point or another, maybe some of us already had software engineering experience while having to work in a different field for a variety of reasons.
Well check this shit.
At one point(during my second year of school) for various reasons I had to work in retail. For those that know, retail can be a soul crushing experience...the trick is not letting management to convince you that it is an actual good job, it is not, and I have respect and sympathy for everyone currently working in it. The mind numbing retarded customers that we get are absolutely fantastic in every sense of the word.
My position in retail was as a phone salesman, for MetroPCS (which for all of y'all european ninjas is one of the low end phone carriers here in the U.S) and the people that we get as customers where I live are normally very poor which apparently in Mexican culture stands for annoyingly ignorant (I am Mexican myself, so I can really vouch for this shit)
One day a customer came in telling me that there was an app that he was using that kept giving him troubles, it was a map application for truck drivers. Now, obviously, this had nothing to do with my line of work(phone salesman) and as such I normally tried to explain that and let them be, but I imagined that it was a settings issue so I reluctantly agreed to help him. I explained to him that the app was no longer maintained and that the reason for it was probably that the developer abandoned it and that he would just have to look into the app, upon closer inspection the app itself was nothing more than a wrapper over google maps with trucker icons and a "trucker" interface, he was using the app as a GPS navigator and he could as well just have been using google maps.
The conversation was like this:
Me: Well this app is no longer supported, it will probably be taken off the google store soon, you can look for something similar or just change to Google maps
Retard: What? no! I came here in order for you to fix it, Metro needs to fix their own apps!
Me (in complete disbelief): We have no control over third party apps, and even for the ones that we provide the store has no control over them. But this app is not ours and so we can't really do anything about it.
Retard: Well WTF should I do? I have been having many issues with youtube and spotify, shouldn't Metro fix their Google store?
Me: Those apps are not ours.....wait, you seem to believe that we own youtube and spotify, those are not ours
Retard: How the fuck they are not yours! its your phone isn't it?
Me: Eh no.....Metro does not(at this point I was sort of smiling because I wanted to laugh) own youtube or spotify or the play store or even this phone, metro does not own Android or Samsung(his phone was a samsung core prime)
Retard: Well You need to fix this
Me: No I do not and I can not, the developer for this app abandoned it and has nothing to do with us
Retard: Well call the developer and tell him to fix it
At this point I was on a very bad mode since this dude was being obnoxiously rude from the beginning and it annoyed me how he was asking for dumb shit.
Me: Did you pay for this app?
Retard: No
Me: So you expect that some developer out there will just go about and get working for something that you did not pay for?
Why don't you just use Google maps as your GPS?
Retard: Don't be stupid, Google has no maps
At this point I show him the screen where there is a lil app that said maps, pressed it and voila! map comes to life
Retard: Well....I did not know
Me: Yeah....but I am the stupid one right?
** throws phone for him to catch
Me: Have a good one bud.
And my manager was right next to me, he was just trying to control his laughter the whole time. I really despised working in there and was glad when I left. Retail man.......such a horrible fucking world.7 -
A rather happy/neutral post this time for a change. Lol
Firstly the good news: I have successfully recovered from the emotional/mental abuse and have been doing really well. My faith in myself has been slowly restored.
Secondly, I have started to pursue my hobbies again and find joy in them. I spend more and more time listening to music and play video games (CS:GO and AoM).
I have started getting more sun and also spend time outside socialising.
I can sense my happiness and joy get restored in my life.
Now on career front, I have started job hunting again as you all know. The interview process for Product Management is absolutely broken and taxing to go through all the loops.
During all my previous job hunts (three times), I was able to nail down at least one offer in a quarter.
This time, I started in October 2021 and still no success. I have much more experience and skill-set this time yet failures.
Fear not. My optimism is back this time. I am aware of where I am going wrong and sometimes I feel the situation is truly out of my control. The two major reasons I forsee are:
1. Relocation: it can take few months for me to relocate to UK/EU and hence, companies are preferring local candidates.
2. My duration with current employer is just 8 months which could be a potential turn off for many HMs. They might think I am a job hopper and maybe one of the reasons why I got so many calls and opportunities at my previous employer (I was stable with them for 7.5 years).
I feel it's just the matter of time for me now where I must hold my horses and keep the momentum without losing hope.
I will win.9 -
1) Read the wiki on git. I probably have enough shorthands and test methods that you won't need much other shit to debug issues.
2) when debugging, remember that if it is there, there's a good reason why I put it there.
3) commented-out code is probably useful for maintenance. I left it there for a good reason. 😛
4) chances are whatever I wrote, was the state of the art at the time I wrote it. There might be better ways to do it now tho.
5) I always work modular. First, understand the structure. (probably also documented on wiki) DO NOT fuck up the structure. If you change it, you document it.
6) If you feel I wrote shit, it's probably because management annoyed the living shit out of me. Pun intended.
7) Your confusion is normal. I don't do dumb shit.4 -
One coworker in my projects now.
I work with her on two projects. One project I'm doing a review on their test scripts and saw a lot of revision is needed on hers. It's fine, she may just need some help. Offered help and did sessions and gave explanations and samples. But she is still not finished. 2nd project I was acting like the project manager until the official PM gets assigned. Her tasks is just to create test data.
Little did I know she has escalated the 1st project to her team lead and manager and requesting for a project change. This is not the first time she did this project shopping bit. But what irks me the most is doing an emergency leave so you don't have to attend the meeting on one project you are failing and then not telling me as the acting PM on the 2nd project that you have an emergency leave. She may likely never thought there is need to tell because she did attend the meeting for the 2nd project later in the day. But for the 1st project I have to pickup her slack and do the test scripts because the PM in that project already was informed about her leave.
This would have gone to daily rant but she is the first one I've encountered who fails and somehow gets away with it and even gets promoted doing the same tactics. But she did that to our junior resources in other projects who may likely got burned out and resigned.
Crappy performance should not be rewarded. I hope this time our management won't look the other way.5 -
I recently quit a job which I excelled at technically, but professionally I struggled. The best way to put it is that I was incompatible with my newly appointed manager. My frustration with that manager led to many inappropriate comments that I made in front of him and a couple of other senior leaders. To be clear, I never cursed at them or called them names or raised my voice, but I did make (multiple) comments about their ignorance of projects or lack of experience in this speciality. I’m sure you can tell that didn’t go over well.
Ultimately, my behavior got me put on a PIP by my manager. He explained that I was excellent at the job, but not mature enough to do well. This obviously greatly upset me, and I quit on the spot. I know what a PIP means and I wasn’t about to get fired. I had been at the company for about three years and have dozens of excellent professional references (at this company and others) from as high up as the C-suite to as low as individual contributing peers who I worked closely with. They can all honestly and passionately speak to my technical and soft skills very highly. However, this doesn’t seem to matter in my situation.
Overall, I excel at interviews. Within days after quitting I had over eight different interviews lined up. I made it to final rounds of five and got two offers already (still waiting to hear back from the other three). The offers were both contingent on passing employment and background checks. Well, I gave my references, have no criminal history and never lied on any part of my background or history (though I did not admit to my emotional issues with my previous management team). Needless to say, I was shocked when both offers got rescinded.
One company claimed it was due to a change in the role, and the other told me frankly that the “manager did some digging on my history and unfortunately doesn’t feel like I would be a culture fit.” I looked up the manager on LinkedIn and lo and behold, they are connected with my former manager. This has me worried as back-channel references are super common in my industry, and my industry is not very big overall. My manager appears to be very well connected with many of the companies I am interviewing with or hope to in the future.
I will admit that my behavior previously was very disrespectful and probably deserved the reprimand, but now I feel that I am not able to move past it and learn from this experience as my reputation in the industry seems to be damaged. I’m still fairly early in my career overall and am learning how to handle office politics. It’s been a big struggle for me, but I do get better with each passing year.
Anyway, I’ve decided to wait for the other three final stage companies that I’m in talks with before I officially decide that this manager is my blocker, but assuming he is, what do you recommend I do to get past this? Should I talk to him? As this is all fresh, I’m not sure I can do that now, but maybe in a few months? Either way, I need a job now and can’t afford to go more than two months without a paycheck (and I don’t qualify for unemployment as I quit). What do you recommend I do?7 -
So when I joined the company 2 months ago I was told they offered flexible working, today I received this email. (I can't help but think it is aimed at me given I often arrive between 9 and 10....I'm always the last to go home)
Oh and yes they have named some of the team DevOps and others just Developers, they haven't quite grasped the concept!
-----------------------------------------------------
Morning All,
I have been noticing the start time for all the team members. Some like to start early while some likes the late start. So before Senior management raises any questions below is the shift pattern I would like everyone to stick to it.
I have assigned name against each of the shift which I am aware of. If you would like to change it please let me know. We need at least one Developer between 08:00- 17:30 and at least one Devops between 07:00 – 17:30.
If we have any emergency issues and takes longer to fix it , I would appreciate if you guys can work after your shift. We can adjust this overtime by leaving early next day or whenever possible.
7:00 – 15:30 - @Michael Smith
7:30 – 16:00 - @Sarah Twist @Jim Bob
8:00 – 16:30 - @Lesley Matthews
8:30 – 17:00 - @Bill Best
9:00 – 17:30- @Jennifer Rowe @me!
9:30 – 18:006 -
God fucking damnit automating a client's "Job applicant form" system is the most boring shit l've ever done.
Get me some damn monkeys to do this
"Oh OK so I just have to take this form and turn it into HTML. Oh shit, 25 check box's, let's just copy paste this shit in over and over. Oh damn, forgot I have to change the name and value fields for each one. God damnit this is boring, I guess I have to"
Fucking hell it's annoying work, Boring, easy, no thought needed. Ended up turning this task into a drinking game. Every time the word "Management" came up, I took a shot. Got me pretty fucked up.
Client emails back; "Oh ya, I forgot to tell you, we have these 3 other forms we want you to automate".
Well fuck at this point I feel like more of an alcoholic than a developer.5 -
Professors today in colleges don't know...
.
1. the proper denominations of outputs of basic shell commands like "ls -l", "cat", "cal" (pronounces linux as laynux)
.
2. how memory management works
.
3. how process scheduling actually takes place and not in the outdated bookish way.
.
4. how to compile a package from scratch and including digital signatures
.
5. cannot read a man page properly, yet come to take OS labs.
.
6. how to mount a different hardware
.
7. how to check kernel build rules, forget about compiling a custom kernel.
.
.
.
n. ....
Yet we are expecting the engineers who are churned out of colleges to be NEXT GEN ?!
It is not entirely because of syllabus, its also because of professors who had not updated their knowledge since they got a job. Therefore they cannot impart proper basics on students.
If you want things to change, train students directly in the industry with versions of these professors UPDATED.6 -
Bluntly telling management that they're wrong, full of shit, and need to quit doing stupid things instead of just smiling and nodding and taking the paycheck. SPOILER ALERT: After 20 years in industry, they're NEVER going to change. They're just going to keep doing stupid shit. The best you can do is smile and politely point out that it's a problem. Then, look out for your own concerns and make sure you don't have to suffer with their bullshit decision as best as you can.
-
I have nothing to play recently so I started playing old games.
Today I launched gta vice city on my old pc. Got more than 200 hours in that game during my childhood. Game from 2002 and I laughed when driving a car. It was so natural and fun. Michael Jackson singing Billy Jean and police chasing my ass when I’m trying to find a bribe in the city. That was fun.
For me most of today’s games can’t compete in gameplay mechanics with that game from 20 years ago.
Maybe we have better graphics but gaming fun got worse.
I think it’s cause most of games are made on commercial engines to save money and game studios focus on graphics cause it’s cheaper than paying software developer.
They focus on games to be competitive between players so ai got worse.
Big studio games became generic like movies, they don’t want you to have fun but they want to give you a story around by delivering lots of content in game, achievements, stars but the gameplay itself is bugged and meh.
They don’t focus on things people want to do but they focus on target groups. Most today’s big title games are meh cause they’re made by people who don’t play them.
They don’t play them cause they don’t have time cause of management that changes requirements cause they asked target groups and that would sell. Well if I play a game I’m not interested in story despite some basic stuff to keep the progress forward, if I wanted a big story I would watch a movie or tv show. I play games to explore, feel the world and have fun. I don’t need a linear deep story for that cause I’m in game so give me good gameplay so I can feel the world.
Most of classic game hits didn’t had tons of text and tons of stuff to do but they somehow wanted you to play more. Cause they were competitive between player and computer, the controls felt natural and while progressing you was eaten by the game mechanics more and more not by the story but by amount of stuff you could do as you progress or difficulty increase or enemies behavior change.
Now we’re getting all at once, mostly pointed and with detailed tutorial what you can do. There’s no explanation there’s no discovery what you can and what you can’t do at start. You get all and you decide to throw game away because the moment you launched it you got everything so you spent money just to get stuff you won’t play cause it’s meh and you go back to cs or other looter shooter to kill people cause you’re pissed off that the game was meh.
Well I’m glad I was a kid in 90s and 2000s cause I could enjoy gaming before it was targeted to broader public and become another shallow mass media industry that don’t give a fuck about gameplay cause they want to tell you so many things, they want you to know them cause they’re so important that they forgot that I can read a book and I came to play game to get a different feeling then reading book.
Modern games are like books filled with small stories and nice graphics where you can open it on every page and read a little piece of shitty crap.
Just take this piece and go to toilet so you can wipe your ass with that story and begin other one, look around, puke and go to toilet to take a dump again. I lost my hope to get something fresh or filled with nice gameplay from gaming industry. It’s dead.4 -
Our project at work goes live in 3 weeks.
The code base has no automated tests, breaks very often, has never had any level of manual testing
will not be releasing with any form of enforced roles or permissions in our first release now due to no time to enforce, however there is a whole admin api where you can literally change anything in our database including roles.
We also have teams in various countries all working separately on the same solution using microservices with shared nuget packages and they aren't using them properly.
Our pull requests are so big - as much as, 75 file changes - in our fe app that I can't keep up with it and I honestly have no idea if it even works or not due to no automated tests and no time to manually test.
We have no testing team, or qa team of any sort.
Every request into the system has to hit a minimum of 3 different databases via 3 different microservices so 1 request = 4 requests with the load on the servers.
We don't use any file streams so everything is just shoved in the buffer on the server.
Most of the people working on the angular apps cba to learn angular, no one across 2 teams cba to learn git. We use git so they constantly face problems. The guy in charge has 0 experience in angular but makes me do things how he wants architecturally so half the patterns make no sense.
No one looks at the pull requests, they just click approve so they may as well push directly to master.
Unfinished work gets put in for pull request so we don't know if the app is in a release state since aall teams are working independently, but on the same code base.
I sat down and tested the app myself for an hour and found 25 fe only issues, and 5 breaking cross browser issues.
Most of our databases are not normalised. Most of our databases make no sense. 99% of our tables have no indexing since there is no expertise with free time to do it.
No one there understands css properly. Or javascript.
Our. Net core microservices all directly use ef in the controller actions so there is no shared code there.
Our customer facing fe app is not dry because no tests so it was decided it was better this way.
Management has no idea on code state, it seems team lead is lieing to them about things like having any level of tests.
Management hire devs that claim to be experts but then it turns out they have basically no knowledge of what they were hired to do, even don't know what json is or the framework or language they are hired for, but we just leave them to get on with it and again make prs too big to review.
Honestly I have no hope that this will go well now but I am morbidly curious to watch. I've never seen anything like the train wreck that we are about to get experience.5 -
So I work for a company that does outsource, this company is pretty nice, but I don't get to see it too often. The one where I'm outsourcing though is the one where I spend all of my time.
Now, this company is a kind of a startup working with AI and Deep Learning (but not if statements :o ), but I came here as a full stack python developer that should implement their AI modules into real apps (mainly web apps).
Everything sounds good untill now, I learn lots and I'm doing what I wanted: python development. The problem is: management + one kiss ass guy.
The amount of work that should be done and the deadlines that should be kept are so messed up that I end up working extra hours, sometimes even in weekend, just to get it done. I'm the only apps developer there, so passing my tasks is not an option. I tried to talk about this, but I was met with a "loser can't keep up even with these few tasks..." kind of attitude.
Moreover, there is a guy that would do anything for the boss's attention, so he speaks everyone there behind their backs (and we all know it, but he's the favorite and he actually knows his stuff so we can't do much about him).
Now the question: what should I do? I only have 5 months here (so leaving would put a hole in my CV, I don't even know what to answer at this interview question "why are you leaving"), plus that the managers from these two companies are highschool friends which means that if I go and ask for a different project, the atmosphere at work will change (maybe this is overthinking already, but I can't help it). Also, last week I could barely get through the days without crying from stress.
TL;DR: I learn a lot from this company, but the deadlines are killing me and my stress level is at an all time high. I want to leave, but I kind of can't because I want my CV to look good.
So yeah, this is my first real rant, feels good to put it out there16 -
I didn’t turn down a dev freelance project when the client decided against going with best practices because the solution I offered was a well-established design pattern but created a need for a financial management change she didn’t like. I stupidly built what she asked for. It worked fine in the 3rd party vendor test environment but failed on production. After hours of analysis of code to ensure no changes happened to my source during test->prod deployment, and the vendor denying they had config differences between them, and the client refusing to pay, all I could do was abandon the project.2
-
Network, talk to people, and get yourself on the spot, document everything and make sure that you take action when others do not.
Kissing ass can take you far, but I ain't about that life, because sooner or later the fucker that promoted you because he liked his pp getting suckd by you will leave or get put in the spot. Or change alleagiances.
Your best bet is to be ANYTHING OTHER THAN A FUCKING NECKBEARD WITH AUTISM and be someone that people likes being around, I know it sounds hardcore, but people around you will ignore the things you don't know if you are a charismatic guy. Dress well, work out or find ways to improve yourself in ways that are noticeable, use human psychology to be fucking likeable.
Work hard, both on yourself and on your craft, study, get better, be social.
Stop being a twat because high chances are that the higher executives of your branch will not give a shit about your knowledge, but how good is to have you around. Join the circle, fuck your opinions about anything else, this is business, and business doesn't care about a lot of things. Don't cut throats, but make yourself a force to be reckoned with.
Source: Upper management, deals with VPs on a daily basis, knows that being a neckbeard will not take you anywhere.9 -
Oh boy I got a few. I could tell you stories about very stupid xss vectors like tracking IDs that get properly sanitized when they come through the url but as soon as you go to the next page and the backend returns them they are trusted and put into the Dom unsanitized or an error page for a wrong token / transaction id combo that accidentally set the same auth cookie as the valid combination but I guess the title "dumbest" would go to another one, if only for the management response to it.
Without being to precise let's just say our website contained a service to send a formally correct email or fax to your provider to cancel your mobile contract, nice thing really. You put in all your personal information and then you could hit a button to send your cancelation and get redirected to a page that also allows you to download a pdf with the sent cancelation (including all your personal data). That page was secured by a cancelation id and a (totally save) 16 characters long security token.
Now, a few months ago I tested a small change on the cancelation service and noticed a rather interesting detail : The same email always results in the same (totally save) security token...
So I tried again and sure, the token seemed to be generated from the email, well so much about "totally save". Of course this was a minor problem since our cancelation ids were strong uuids that would be incredibly hard to brute force, right? Well of course they weren't, they counted up. So at that point you could take an email, send a cancelation, get the token and just count down from your id until you hit a 200 and download the pdf with all that juicy user data, nice.
Well, of course now I raised a critical ticket and the issue was fixed as soon as possible, right?
Of course not. Well I raised the ticket, I made it critical and personally went to the ceo to make sure its prioritized. The next day I get an email from jira that the issue now was minor because "its in the code since 2017 and wasn't exploited".
Well, long story short, I argued a lot and in the end it came to the point where I, as QA, wrote a fix to create a proper token because management just "didn't see the need" to secure such a "hard to find problem". Well, before that I sent them a zip file containing 84 pdfs I scrapped in a night and the message that they can be happy I signed an NDA.2 -
PayPal = GayPal
PHASE 1
1. I create my personal gaypal account
2. I use my real data
3. Try to link my debit card, denied
4. Call gaypal support via international phone number
5. Guy asks me for my full name email phone number debit card street address, all confirmed and verified
6. Finally i can add my card
PAHSE 2
7. Now the account is temporarily limited and in review, for absolutely no fucking reason, need 3 days for it to be done
8. Five (5) days later still limited i cant deposit or withdraw money
9. Call gaypal support again via phone number, burn my phone bill
10. Guy tells me to wait for 3 days and he'll resolve it
PHASE 3
11. One (1) day later (and not 3), i wake up from a yellow account to a red account where my account is now permanently limited WITHOUT ANY FUCKING REASON WHY
12. They blocked my card and forever blocked my name from using gaypal
13. I contact them on twitter to tell me what their fucking problem is and they tell me this:
"Hi there, thank you for being so patient while your conversation was being escalated to me. I understand from your messages that your PayPal account has been permanently limited, I appreciate this can be concerning. Sometimes PayPal makes the decision to end a relationship with a customer if we believe there has been a violation of our terms of service or if a customer's business or business practices pose a high risk to PayPal or the PayPal community. This type of decision isn’t something we do lightly, and I can assure you that we fully review all factors of an account before making this type of decision. While I appreciate that you don’t agree with the outcome, this is something that would have been fully reviewed and we would be unable to change it. If there are funds on your balance, they can be held for up to 180 days from when you received your most recent payment. This is to reduce the impact of any disputes or chargebacks being filed against you. After this point, you will then receive an email with more information on accessing your balance.
As you can appreciate, I would not be able to share the exact reason why the account was permanently limited as I cannot provide any account-specific information on Twitter for security reasons. Also, we may not be able to share additional information with you as our reviews are based on confidential criteria, and we have no obligation to disclose the details of our risk management or security procedures or our confidential information to you. As you can no longer use our services, I recommend researching payment processors you can use going forward. I aplogise for any inconvenience caused."
PHASE 4
14. I see they basically replied in context of "fuck you and suck my fucking dick". So I reply aggressively:
"That seems like you're a fraudulent company robbing people. The fact that you can't tell me what exactly have i broken for your terms of service, means you're hiding something, because i haven't broken anything. I have NOT violated your terms of service. Prove to me that i have. Your words and confidentially means nothing. CALL MY NUMBER and talk to me privately and explain to me what the problem is. Go 1 on 1 with the account owner and lets talk
You have no right to block my financial statements for 180 days WITHOUT A REASON. I am NOT going to wait 6 months to get my money out
Had i done something wrong or violated your terms of service, I would admit it and not bother trying to get my account back. But knowing i did nothing wrong AND STILL GOT BLOCKED, i will not back down without getting my money out or a reason what the problem is.
Do you understand?"
15. They reply:
"I regret that we're unable to provide you with the answer you're looking for with this. As no additional information can be provided on this topic, any additional questions pertaining to this issue would yield no further responses. Thank you for your time, and I wish you the best of luck in utilizing another payment processor."
16. ARE YOU FUCKING KIDDING ME? I AM BLOCKED FOR NO FUCKING REASON, THEY TOOK MY MONEY AND DONT GIVE A FUCK TO ANSWER WHY THEY DID THAT?
HOW CAN I FILE A LAWSUIT AGAINST THIS FRAUDULENT CORPORATION?12 -
!rant
I have been at my current company for seven years. I am in a senior position and I am a senior person in the department with a lot of systems that I am responsible for. Anyway I am getting really tired of my management and getting burned out working basically 24x7 on call. My last two vacations I have been called and worked 6 hours each time.
So, tomorrow I have a second interview at another company, I am worried what will happen if / when I leave. I have a feeling I will probably land a side contract with my current employer.
I think I am sure I am ready to leave, just a little anxious about the change.4 -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
I agree with many people on here that Front-End web development/design isn't what it used to be.
Things used to be simple: a static page. Then we decoupled design from description and we introduced CSS; nice, clean separation, more manageable - everything looks nice up to this point.
Introduce dynamic pages, introduce JavaScript. We can now change the DOM and we can make interactive, neat little webpages; cool, the web is still fun.
Years later, we start throwing backend concepts into the web and bloating it with logic because we want so much for the web to be portable and emulate the backend. This is where it starts to get ugly: come ASP, come single pages, partial pages, templates,.. The front-end now talks to a backend, okay. We start decoupling things and we let the logic be handled by the backend - fair enough.
Even later, we start decoupling the edge processes (website setup, file management, etc.) and then we introduce ugly JavaScript tools to do it. Then we introduce convoluted frameworks (Angular,..). Sometimes we find ourselves debugging the tools themselves (grunt, gulp, mapping tools,..) rather than focusing on the development itself (as per ITIL guidelines; focus on value), no matter how promising today's frameworks claim to be ("You get to focus on your business code"; yeah right, in practice it has turned out differently for me. More like "I get to focus on wasting copious amounts of time trying to figure out your tangled web").
Everything has now turned into an unfriendly, tangled web (no pun intended).
I miss the old days when creating things for the Web used to be fun, exciting and simple and it would invigorate passion, not hate.
<my cents="2"></my>3 -
Currently working on app that is about 10 years old at work. Here’s how today has gone:
Can’t run application locally because the process management engine doesn’t allow access locally, can’t access in development because process management engine doesn’t work here either, can run app in test but waiting on special server access to get the logs.
Make the request to security to access the server - they decline it telling me that the form I submitted is outdated and to submit a new one. Requires three approvals, am still waiting on them.
Every time I make a change and want to test, I have to commit the changes, wait for them to build. Release the changes, build the release project and then deploy it in bamboo.
I can’t wait for my new job to start.1 -
Just now... Got a job to create patch files for a couple of jars, which may or may not have varying class files. In total, I have to decompile, check, add and synchronize about 30 class files in 6 jars with a new functionality (that I didn't write). 🙂
FUCK PRODUCTION! WHY CANT YOU MAINTAIN ONE MOTHERFUCKING JAR?
OH? YOU'RE SUPERSTITIOUS THAT ONE TINY, ANT-SHIT SIZED CHANGE IN ONE SIMPLE FUNCTIONALITY WILL FUCK UP *OUR* PRODUCT?
FUCK MANAGEMENT! YOU DON'T HAVE CONFIDENCE IN YOUR *OWN* PRODUCT!
OH? CUSTOMER COMES FIRST? HAVE THE BALLS TO DEFEND YOUR OWN FUCKING SELF AND PRODUCT TO THE CLIENT OR THEY'RE GONNA MAKE YOU YOUR BITCH AND TIE A GAGBALL DIPPED IN HOT SAUCE AROUND YOUR MOUTH! HOW.. THE FUCK.. DID YOU MISS THAT LOGIC??????
Best part, they want it by tomorrow, and they don't wanna test it. Guess who's gonna get slaughtered after a week? ME! 🙂5 -
*Not a rant, but a very long vent*
I'm 20 and facing the worst dilemma I ever experienced.
Been working at a company for more than half a year, got the job thru a friend and started as an intern to take care of customer problems, crap they do to PC's, printers that wouldn't work, answer emails and phone calls about our point-of-sale software.
Soon everything started to change, on one day my boss asked my what I knew about coding, all I could answer was about some really basic stuff that I learnt on a previous semester at college, just some very basic coding stuff we got for C, how for loops works, conditions, that kind of thing. Soon I was being asked to code a client management software for our company, I was starting to grasp a little of this wonderful world, soon I could write some more complex code in C#, even did a program that in 30 seconds did a 3 day's worth of work, and then I got assigned to develop a mobile POS application, earned a raise, and man, is this wonderful.
I feel that I really found my place in life, found something that makes me jump out of bed every morning.
But here comes the dilemma part: I'm enrolled in a mechanical engineering school for two years now, and it's my second place already (been enrolled at a agronomy school before that) and I'm starting to feel out of place, in all the classes I'm taking, I cant help but feel that this isn't for me, I don't see myself doing that for a future, but I don't know if jumping to another boat would make it any better or just worse, I don't know how good are my odds at a tech oriented course are, I don't really know what to do with the rest of my life.
Guess I'm just afraid of doing something stupid and regret it later, don't know if I should listen to the voice that shouts to me to do whatever I want to with my life or the one that assures me of a stable path... Don't know if anyone will read this much, but if so, thanks a lot, just wanted to put it out of my shoulders and maybe get to know anyone that has been here. I'm new here, but I feel already at home. ☺8 -
That feeling when you’ve got a reputation of preciseness etc, and the code you just submitted for review has so many silly little mistakes you just want to do that ostrich thing. Gosh, how can I suddenly suck at my job this bad?
Okay, the changes affect EVERYTHING in our codebase (a major change in core business logic), and there is no way I could’ve tested every possible case by myself without a decent coverage of automated tests - which we obviously don’t have. So yet another argument for it (damn management, won’t you listen?!)… but still, some of the mistakes found during code review make me seem like a complete idiot.7 -
I just finished designing an entire asset management pipeline and christ on a fucking pogo stick, if it isn't convoluted.
Theres a lot of game engines out there, but all of them do it a little different. They all tackle a slightly different problem, without even realizing it.
1. asset management
2. asset change management
3. behavior change management
4. data management
5. combinatorial design management.
6. Combinatorial Behavior management
7. Feature completion
ASSET MANAGEMENT is exactly what it says on the tin.
ASSET CHANGE management can be thought of handling the import, export, formatting, platform specific packing, and versioning (including forking) of an asset.
BEHAVIORAL CHANGE management is a subset of asset management, because code is a subset of assets (depending on how you define 'assets'). The oldest known example of this is commenting and uncommenting code.
Or worse, printf debugging.
This can be file versioning, basic undo services, graph management of forks and mergers, toggles for features or modules, etc.
DATA management is about anything that doesn't fall into the other categories, everything from mission text to npc dialogues, quests, location names, item stats, the works. Anything you'd be tempted to put in a database, falls under this category. Haven't yet seen many engines offer this as an explicit built in tool as of yet, because the other problems are non-trivial as is, so this is a bit of low hanging fruit that gets handled by external tools, or loaded from formats as simple as json.
COMBINATORIAL DESIGN management is the idea of prefabbing, blueprints of broader object design using nested prototypes of existing game objects, to create more complex, reusable set pieces. Unity did this well. GM does this in part.
COMBINATORIAL BEHAVIOR management is entity-component systems, plus tooling to make it easy to add, remove, and configure components and their values on entity blueprints, also not uncommon. Both stencyl and unity do this. GM has a precursor to this in the form of configurable fields, but these fields are not based on component scripts attached to objects.
FEATURE COMPLETION is that set of gameplay mechanics or styles of design that an engine naturally makes easier to include or build in a game.
I don't think I'm aiming for all that, but I think at minimum a good engine has to do asset management, behavioral change management, prefabs, and entity-component systems with management tools for that. And ideally, asset change management.8 -
So, I had to listen very badly in a scrum about my poor code quality. Just because I haven't used the latest version of the library in my gradle build file, I haven't used DTO in the response of few endpoints in the controller class instead I used entity,... Etc was the mistake.
I admit that I have a long way to improve myself and there is a lot to learn, but there should be a proper way to escalate the situation rather than publicly pointing out mistakes rudely.
He is a senior with 10+ years of experience who badly told me in the scrum and not only that whenever there is a change needed in my PR he takes the screenshot and puts it in our dev team group and shows the mistakes and gives the suggestions instead of writing comments on the github PR.
Not only that, if I inform in the daily updates that I took 2 hours for this and that task, he says it should be done in 20 to 30 minutes.
Upper management has given him a lot of respect because he is knowledgeable and knows the stuff but it doesn't mean he is entitled to behave like this and demoralise other juniors.
The matter is cool now but this incident happened to me a few months back and those days were really toxic for me at work.5 -
Story Time!
Tittle: About Larry.
Fun Game: Tell me if / when in this story you know the plot twist.
Setting: Years ago, non coding job.
I work with Larry a lot, Larry works remote. In technical terms Larry is senior to me and I escalate some technical issues that get assigned to Larry. I've never met Larry in person.
Larry can be hard to work with, but he's plenty good at his job and I don't mind his prickly side. Sometimes it takes telling Larry something a few times before it sinks it, but that's not a big deal. Sometimes it seems like Larry doesn't remember his cases entirely, but he has a lot of cases. Also Larry has good reason for how he works considering the land of scubs who usually escalate to him without any thought / effort.
Larry's escalation team is short staffed and they're trying to hire folks, but that's been like that forever.
So one day I get an email that Larry is going to be out of the office for a few weeks. Nothing unusual there.
My current case that I share with Larry sort of floats in limbo for a while. The customer is kinda slow to respond anyhow and there's nothing that I need Larry for.
Finally I get automated notice that my case has had a new escalation engineer. Laura. Laura is much more positive and happy compared to Larry. Understandably Laura isn't up to date on the case so we go back and forth with some emails and notes in the case.
The case is moving along just fine, we're making progress, but it's slow because of the customer's testing procedures. Then we hit a point where this customer's management pushes on sales for a solution (this customer's management is known for doing this rando like for no reason).
Down the management chain it goes and everyone wants a big conference call to get everyone up to date / discuss next steps (no big deal).
Now I really don't want to do this with Laura and throw her into the deep end with this customer, she doesn't have the background and I'd rather do this call with Larry & Me & Laura. Also according to the original email Larry is due back soon.
I start writing an email to Laura about "Let's try to schedule this for when Larry gets back."
Then I stop ... I don't really know why I stop but when it is a "political case" I want some buy in on next steps from management so I go talk to my manager.
-Plot Twist Incoming-
Long story short, my manager says:
"Laura IS Larry..."
O
M
G
I had no idea. Nobody told me, nobody told ANYBODY, (except a couple managers).
Back up a few months Larry apparently went to his managers and told them he was going to transition, surgery and all, in a few months.
Managers wondering how to address this went to HR and some new hire very young to be a manager HR manager drone logiced out in her bonkers head that "Well it shouldn't matter so don't tell anyone."
ARE YOU FUCKING KIDDING ME!!??
Thank god I didn't send that email...
I did send an email to Laura explaining that I had no idea and hoped I didn't say anything stupid. She was very nice about it and said it was all good.
After that incident made the management rounds (management was already fuming about being told not to tell anyone) things came to another critical point.
Laura was going to visit the company HQ. Laura had been there before, as Larry, everyone knew her as Larry... nobody (outside some managers) knew Laura was Larry either. With nobody knowing shit Laura was going to walk in and meet everyone ...
One manager at HQ finally rebelled and held a meeting to tell his people. He didn't want Laura walking in and someone confused, thinking it was a joke or something horrible happening.
HR found out and went ballistic. They were on a rampage about this other manager, they wanted to interview me about how I found out. I told HR to schedule their meeting through my manager (I knew they didn't want my manager to know they were sniffing around).
Finally the VP in our department called up the HR head and asked WTF was going on / kind of idiots they had over there (word has it legal and the CEO were on the call too).
HR had a change in leadership and then a couple weeks later there were department wide meetings on how to handle such situations and etc.27 -
During one of our visits at Konza City, Machakos county in Kenya, my team and I encountered a big problem accessing to viable water. Most times we enquired for water, we were handed a bottle of bought water. This for a day or few days would be affordable for some, but for a lifetime of a middle income person, it will be way too much expensive. Of ten people we encountered 8 complained of a proper mechanism to access to viable water. This to us was a very demanding problem, that needed to be sorted out immediately. Majority of the people were unable to conduct income generating activities such as farming because of the nature of the kind of water and its scarcity as well.
Such a scenario demands for an immediate way to solve this problem. Various ways have been put into practice to ensure sustainability of water conservation and management. However most of them have been futile on the aspect of sustainability. As part of our research we also considered to check out of the formal mechanisms put in place to ensure proper acquisition of water, and one of them we saw was tree planting, which was not sustainable at all, also some few piped water was being transported very long distances from the destinations, this however did not solve the immediate needs of the people.We found out that the area has a large body mass of salty water which was not viable for them to conduct any constructive activity. This was hint enough to help us find a way to curb this demanding challenge. Presence of salty water was the first step of our solution.
SOLUTION
We came up with an IOT based system to help curb this problem. Our system entails purification of the salty water through electrolysis, the device is places at an area where the body mass of water is located, it drills for a suitable depth and allow the salty water to flow into it. Various sets of tanks and valves are situated next to it, these tanks acts as to contain the salty water temporarily. A high power source is then connected to each tank, this enable the separation of Chlorine ions from Hydrogen Ions by electrolysis through electrolysis, salt is then separated and allowed to flow from the lower chamber of the tanks, allowing clean water to from to the preceding tanks, the preceding tanks contains various chemicals to remove any remaining impurities. The whole entire process is managed by the action of sensors. Water alkalinity, turbidity and ph are monitored and relayed onto a mobile phone, this then follows a predictive analysis of the data history stored then makes up a decision to increase flow of water in the valves or to decrease its flow. This being a hot prone area, we opted to maximize harnessing of power through solar power, this power availability is almost perfect to provide us with at least 440V constant supply to facilitate faster electrolysis of the salty water.
Being a drought prone area, it was key that the outlet water should be cold and comfortable for consumers to use, so we also coupled our output chamber with cooling tanks, these tanks are managed via our mobile application, the information relayed from it in terms of temperature and humidity are sent to it. This information is key in helping us produce water at optimum states, enabling us to fully manage supply and input of the water from the water bodies.
By the use of natural language processing, we are able to automatically control flow and feeing of the valves to and fro using Voice, one could say “The output water is too hot”, and the system would respond by increasing the speed of the fans and making the tanks provide very cold water. Additional to this system, we have prepared short video tutorials and documents enlighting people on how to conserve water and maintain the optimum state of the green economy.
IBM/OPEN SOURCE TECHNOLOGIES
For a start, we have implemented our project using esp8266 microcontrollers, sensors, transducers and low payload containers to demonstrate our project. Previously we have used Google’s firebase cloud platform to ensure realtimeness of data to-and-fro relay to the mobile. This has proven workable for most cases, whether on a small scale or large scale, however we meet challenges such as change in the fingerprint keys that renders our device not workable, we intend to overcome this problem by moving to IBM bluemix platform.
We use C++ Programming language for our microcontrollers and sensor communication, in some cases we use Python programming language to process neuro-networks for our microcontrollers.
Any feedback conserning this project please?8 -
Today during a follow-up meeting of the grand project I'm workng on...
TL: ... and I want to start working on the production environment and have it ready by next month.
Me: (interrupts) hold up! We are not ready, we have a huge backlog of technical tasks that need to be addressed and we are still not in possession of the very crucial business and functional requirements that you are supposed to provide. The acceptation environment is just set up on infra perspective but does not have anything running yet! The API we depend on is still not ready because you keep adding change tasks to it. We have a mountain of work to do to even get to a first release to integration yet and there is still the estimations on data loads and systems... your dream will not be possible until at least Q2 of 2024.
TL: stop being so negative @neatnerdprime and try to be more customer friendly. I want it by the end of the next month.
Me: remember what I said to you about moving prematurely. Remember I don't take any responsibility if things break because you rush the project. Please, reconsider!
TL: I just want it, please do it
FUCK YOU YOU SORRY EXCUSE OF A PEOPLE PERSON KNOWING JACK SHIT AND JUST LICKING THE MIDDLE MANAGEMENT ASSHOLE TO RECEIVE ATTABOY PETS ON YOUR UGLY ASS BALD HEAD AND CROOKED TEETH. YOU SHOULD FUCKING DIE IN A FURNACE AND LEAVE NO TRACE BEHIND.4 -
PTSD flashbacks of the 🤡s wanting us to change every subscription price less than 24 hours before a major release that would be the live version after we aired on national television...
management at its best folks. remember, your time doesn't matter, only theirs, it's way more "important"
🤡🤡🤡🤡🤡🤡🤡3 -
So sick of my pessimistic, paranoid supervisor. She's always accusing everyone of being spies and has opinions on everyone.... Complains abt management and everything under the sun.... But when management comes in the room... Quiet as a mouse, because in her words ,'I don't wanna fix anything'
THEN WHY THE FUCK ARE U COMPLAINING!?!?
U clearly see nothing wrong and that's why u don't wanna change it
Fucking hate people who endlessly complain1 -
Not really a rant (?)
I started my first programming job in January this year. I went there staight after Highschool, so i had no real experience, knew only the basics of software development and my written code was quite a mess. So one of my first real tasks (after 2 months) was to write a business logic for batch handling (for a warehouse management system). I invested quite some time to develop a suitable architecture, talked with some other developers and wanted to cover the whole thing with unit tests (which really nobody at the company uses). So I spent about 3 weeks to write the whole thing, test it and improve it many times. It worked perfectly and I got pretty good feedback from the code-review.
1 month ago - the code worked perfectly and was multiple times testet (also by the client) - the client came with some totally new requirements for the batch handling. I tried to impelemt them, but soon found out, that the architecture doesn't supported them, it was not build for the required handling and would soon become a totally mess, if i tried to make it work.
So I was pretty mad, because I had to change the whole fucking thing, but I also wanted to make it better. I hab gained some experience and decided (with some help of a senior dev) to make a completely new try with a different architecture, that can be easily expanded, if needed. I build my concept, wrote and tested the whole new code in 3 days. Fucking 3 days compared to the initial 3 weeks, and it worked, better and even faster.
I was quite pissed to delete the old code, and especially that i had wasted 3 weeks for it and had to struggle with many different things. But I lerarned so much from it and also in the months between, that I was also really glad that I had the opportiunity to write it again.
This whole thing made me now realize that this is, what I really like to do and what I'm good in. I really enjoy learning new things and for me, programming is the best and easiest way to do it. Despite alle the cons and annoying side effects of it, I really found my dream job here.1 -
Storytime!
(I just posted this in a shorter form as a comment but wanted to write it as a post too)
TL;DR, smarts are important, but so is how you work.
My first 'real' job was a lucky break in the .com era working tech support. This was pretty high end / professional / well respected and really well paid work.
I've never been a super fast learner, I was HORRIBLE in school. I was not a good student until I was ~40 (and then I loved it, but no longer have the time :( )
At work I really felt like so many folks around me did a better job / knew more than me. And straight up I know that was true. I was competent, but I was not the best by far.
However .... when things got ugly, I got assigned to the big cases. Particularly when I transferred to a group that dealt with some fancy smancy networking equipment.
The reason I was assigned? Engineering (another department) asked I be assigned. Even when it would take me a while to pickup the case and catch up on what was going on, they wanted the super smart tech support guys off the case, and me on it.
At first this was a bit perplexing as this engineering team were some ultra smart guys, custom chip designers, great education, and guys you could almost see were running a mental simulation of the chip as you described what you observed on the network...
What was also amusing was how ego-less these guys seemed to be (I don't pretend to know if they really were). I knew for a fact that recruiting teams tried to recruit some of these guys for years from other companies before they'd jump ship from one company to the next ... and yet when I met them in person it was like some random meeting on the street (there's a whole other story there that I wish I understood more about Indian Americans (many of them) and American engineers treat status / behave).
I eventually figured out that the reason I was assigned / requested was simple:
1. Support management couldn't refuse, in fact several valley managers very much didn't like me / did not want to give me those cases .... but nobody could refuse the almighty ASIC engineers. No joke, ASIC engineers requests were all but handed down on stone tablets and smote any idols you might have.
2. The engineers trusted me. It was that simple.
They liked to read my notes before going into a meeting / high pressure conference call. I could tell from talking to them on the phone (I was remote) if their mental model was seizing up, or if they just wanted more data, and we could have quick and effective conversations before meetings ;)
I always qualified my answers. If I didn't know I said so (this was HUGE) and I would go find out. In fact my notes often included a list of unknowns (I knew they'd ask), and a list of questions I had sent to / pending for the customer.
The super smart tech support guys, they had egos, didn't want to say they didn't know, and they'd send eng down the rabbit hole. Truth be told most of what the smarter than me tech support guy's knew was memorization. I don't want to sound like I'm knocking that because for the most part memorization would quickly solve a good chunk of tech support calls for sure... no question those guys solved problems. I wish I was able to memorize like those guys.
But memorization did NOT help anyone solve off the wall bugs, sort of emergent behavior, recognize patterns (network traffic and bugs all have patterns / smells). Memorization also wouldn't lead you to the right path to finding ANYTHING new / new methods to find things that you don't anticipate.
In fact relying on memorization like some support folks did meant that they often assumed that if bit 1 was on... they couldn't imagine what would happen if that didn't work, even if they saw a problem where ... bro obviously bit 1 is on but that thing ain't happening, that means A, B, C.
Being careful, asking questions, making lists of what you know / don't know, iterating LOGICALLY (for the love of god change one thing at a time). That's how you solved big problems I found.
Sometimes your skills aren't super smarts, super flashy code, sometimes, knowing every method off the top of your head, sometimes you can excel just being more careful, thinking different.4 -
Very conflicted about ProductHunt.
On one hand, love seeing all the new little productivity tools and SaaS tools with really nice UI. Fairly inspiring.
On the other hand, sometimes they can be complete cringe over there. It almost seems like a cult sometimes and they are way too enthusiastic about even the most boring things
ProductHunt: "This new productivity tool 🚀 will absolutely 🎉 change your life 😛. it is DISRUPTING 💪🏼 team management."1 -
The day we had to have an app ready for an upcoming demo. Management said everything needed to be done by the end of the day. My change was done, but was dependant on another change being merged first. I had been in the office since 8am. It didnt get merged until 5pm. I was in the office until 8pm trying to fix the insane merge conflicts. In the end i gave up and went home. The next day we discovered that the "deadline" was made up anyway so we still had time. I wanted to flip every single table in that office.1
-
Tl;Dr Im the one of the few in my area that sees sftping as the prod service account shouldn't be a deployment process. And the ONLY ONE THAT CARES THAT THIS IS GONNA BREAK A BUNCH OF SHIT AT SOME POINT.
The non tl;dr:
For a whole year I've been trying to convince my area that sshing as the production service account is not the proper way to deploy and/or develop batch code. My area (my team and 3 sister teams) have no concept of using version control for our various Unix components (shell scripts and configuration files) that our CRITICAL for our teams ongoing success. Most develop in a "prodqa like" system and the remainder straight in production. Those that develop straight in prodqa have no "test" deployment so when they ssh files straight to actual production. Our area has no concept of continuous integration and automated build checking. There is no "test cases", no "systems testing" or "regression testing". No gate checks for changing production are enforced. There is a standing "approved" deployment process by the enterprise (my company is Whyyyyyyyyyy bigger than my area ) but no one uses it. In fact idk anyone in my area who knows HOW to deploy using the official deployment method. Yes, there is privileged access management on the service account. Yes the managers gets notified everytime someone accesses the privileged production account. The managers don't see fixing this as a priority. In fact I think I've only talk to ONE other person in my area who truly understands how terrible it is that we have full production change access on a daily basis. Ive brought this up so many times and so many times nothing has been done and I've tried to get it changed yet nothing has happened and I'm just SO FUCKING SICK that no one sees how big of a deal this. I mean, overall I live the area I work in, I love the people, yet this one glaring deficiency causes me so much fucking stress cause it's so fucking simple to fix.
We even have an newer enterprise deployment. Method leveraging a product called "urban code deploy" (ucd) to deploy a git repository. JUST FUCKING GIT WITH THE PROGRAM!!!!..... IT WAS RELEASED FUCKING 12 YEARS AGO......
Please..... Please..... I just want my otherwise normally awesome team to understand the importance and benefits of version control and approved/revertable deployments2 -
Don't you just love customers?
It al began when they showed us the flyers they were printing for their new products, an some one at our company who doesn't work here anymore had the brilliant idea of copying it to their webshop, as a fucking gimmick... Ooohh man the customer didn't seem to understand it was only visually
They wanted the 3d layering effect to be dynamic, so each product would have its own with custom colours
So it was made
A few weeks later they didn't want the informational text, they wanted links to each product that the layer uses
Sounded like logical so it was made
Again some time later, they noticed that the layers were not textured, but just plain
I argued against it because it would add unnecessary loading time for some 300 by 400 px element but they insisted
So they got what they wanted
A few days later they said that the textures were of low quality, and that we had to create ones with higher quality
Again our management said, yes
We made ~ twice the size of the element in image pixels to create a higher definition image
Then the customer wanted that the layers should change based on some selection menu above it
(At this point we realized that it would no longer be just a fun little gimmick)
So we tried to refactor/rebuild it to remove most if not all the hacks we did just to make the customer happy, that took too long for them (the customer) so we had to revert back to the hacked together version because otherwise we would not be done on time (commanded by management)
But again, we ... I say 'we' as in the company but realistically I've been the only one who has worked on the fucking abomination
But I digress...
A few stupid requests later, some layer images are almost fully transparent PNG images that are almost 1mb in Filesize each (some products have 5 or even more layers) and the god damn thing now has to account for optional layers...
I AM FUCKING SPENT... I'VE JUST CAME BACK FROM VACATION BUT I ALREADY NEED IT AGAIN... FUCKING WORKING 60 HOURS A WEEK JUST TO KEEP ONE CUSTOMER HAPPY WHILE OTHER PROJECTS BREATH ON MY NECK1 -
@lazyDev reminded me of the time my bid for a project was rejected because I'm a white man. Never mind the fact that I have built my career around data management, visualisation and modelling and the only other competing bid was from someone who had experience in mobile development and little else. I checked up on the company and the project just now, and they've posted the project up again. I've made a bid just like I did before, only this time I've tripled my price. Let's see if they change their minds.3
-
I'm considering quitting a job I started a few weeks ago. I'll probably try to find other work first I suppose.
I'm UK based and this is the 6th programming/DevOps role I've had and I've never seen a team that is so utterly opposed to change. This is the largest company I've worked for in a full time capacity so someone please tell me if I'm going to see the same things at other companies of similar sizes (1000 employees). Or even tell me if I'm just being too opinionated and that I simply have different priorities than others I'm working with. The only upside so far is that at least 90% of the people I've been speaking to are very friendly and aren't outwardly toxic.
My first week, I explained during the daily stand up how I had been updating the readmes of a couple of code bases as I set them up locally, updated docker files to fix a few issues, made missing env files, and I didn't mention that I had also started a soon to be very long list of major problems in the code bases. 30 minutes later I get a call from the team lead saying he'd had complaints from another dev about the changes I'd spoke about making to their work. I was told to stash my changes for a few weeks at least and not to bother committing them.
Since then I've found out that even if I had wanted to, I wouldn't have been allowed to merge in my changes. Sprints are 2 weeks long, and are planned several sprints ahead. Trying to get any tickets planned in so far has been a brick wall, and it's clear management only cares about features.
Weirdly enough but not unsurprisingly I've heard loads of complaints about the slow turn around of the dev team to get out anything, be it bug fixes or features. It's weird because when I pointed out that there's currently no centralised logging or an error management platform like bugsnag, there was zero interest. I wrote a 4 page report on the benefits and how it would help the dev team to get away from fire fighting and these hidden issues they keep running into. But I was told that it would have to be planned for next year's work, as this year everything is already planned and there's no space in the budget for the roughly $20 a month a standard bugsnag plan would take.
The reason I even had time to write up such a report is because I get given work that takes 30 minutes and I'm seemingly expected to take several days to do it. I tried asking for more work at the start but I could tell the lead was busy and was frankly just annoyed that he was having to find me work within the narrow confines of what's planned for the sprint.
So I tried to keep busy with a load of code reviews and writing reports on road mapping out how we could improve various things. It's still not much to do though. And hey when I brought up actually implementing psr12 coding standards, there currently aren't any standards and the code bases even use a mix of spaces and tab indentation in the same file, I seemingly got a positive impression at the only senior developer meeting I've been to so far. However when I wrote up a confluence doc on setting up psr12 code sniffing in the various IDEs everyone uses, and mentioned it in a daily stand up, I once again got kickback and a talking to.
It's pretty clear that they'd like me to sit down, do my assigned work, and otherwise try to look busy. While continuing with their terrible practices.
After today I think I'll have to stop trying to do code reviews too as it's clear they don't actually want code to be reviewed. A junior dev who only started writing code last year had written probably the single worst pull request I've ever seen. However it's still a perfectly reasonable thing, they're junior and that's what code reviews are for. So I went through file by file and gently suggested a cleaner or safer way to achieve things, or in a couple of the worst cases I suggested that they bring up a refactor ticket to be made as the code base was trapping them in shocking practices. I'm talking html in strings being concatenated in a class. Database migrations that use hard coded IDs from production data. Database queries that again quote arbitrary production IDs. A mix of tabs and spaces in the same file. Indentation being way off. Etc, the list goes on.
Well of course I get massive kickback from that too, not just from the team lead who they complained to but the junior was incredibly rude and basically told me to shut up because this was how it was done in this code base. For the last 2 days it's been a bit of a back and forth of me at least trying to get the guy to fix the formatting issues, and my lead has messaged me multiple times asking if it can go through code review to QA yet. I don't know why they even bother with code reviews at this point.18 -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
This senior engineer had this kid spend most of a day tracing down all of the instances of a certain variable so they could make heavy changes to the software. We work under a change management system of course and all of this led to two weeks of work outside of any of this. The senior engineer ended up 🔥 and the kid very close.
I'm still trying to figure out what makes someone do something like that knowing the outcome. -
So happy about being about to convince management that we needed a large refactor, due to requirements change, and since the code architecture from the beginning had boundaries built before knowing all the requirements...
pulled the shame on us, this is a learning lesson card.. blah blah blah
Also explained we need to implement an RTOS, and make the system event driven... which then a stupid programmer said you mean interrupt driven ... and management lost their minds... ( bad memories of poorly executed interrupts in the past).... had to bring everyone back down to earth.. explained yes it’s interrupt driven, but interrupt driven properly unlike in the past (prior to me)... the fuck didn’t properly prioritize the interrupts and did WAYYY too much in the interrupts.
Explained we will be implementing interrupts along side DMA, and literally no message could be lost in normal execution.. and explained polling the old way along side no RTOS, Wastes power, CPU resources and throws timing off.
Same fucker spoke up and said how the fuck You supposed to do timing, all the timing will be further off... I said wrong, in this system .. unlike yours, this is discreet timing potential and accurate as fuck... unlike your round robin while loop of death.
Anyway they gave me 3 weeks.. and the system out performs, and is more power efficient than the older model.
The interrupting developer, now gives me way more respect...4 -
I stop doing things I don't care about.
If it's low motivation to do my job, I look at why. Am I tired? Do I dislike the kind of work? Does it feel like it's not going to help?
First, I make sure I'm actually doing alright. Usually, I'm just tired or maybe sick. Then I'll raise my concerns to management. There's a good chance that I'm not working on something meaningful and that we should change that. -
!dev.rant
So in just a matter of minutes my job security has crashed and any week could be my last again all because my jobs head office decided to change everyones positions in management...
So once again I'm back to square one in yet another useless fucking job search with barely anything to offer other than 5 years of retail experience and 3 years of IT support... Fan-fucking-tastic, would almost be more survivable to just go on centre link at this point -,- -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.9 -
I haven't felt an urge to post on here in a while just because things have been going so well. But this month, is just not that kind of month anymore.
I'm upset. I'm upset by how I've been uprooted from my routine. I know I shouldn't be that bothered by it and things always change. But what the fuck is this company thinking to be using it's own fucking home baked ticketing system!
WHAT THE EVER LIVING FUCK IS THIS SHIT!
Let's go over the issues it has
1. I can't fucking email my clients through it
2. all emails are not recognized automatically. In other words each new email creates a new ticket if it does not have the tracking number attached to it.
3. I have to fucking hunt around in my inbox that is now bombarded by every email that is created for this ticketing system. Slap on a fucking tracking number. And then HOPE TO FUCKING GOD that the person on the other end doesn't erase the subject and cause the system to create a new ticket just for it.
Let's go over Zendesk which they've decided to decomission.
1. I. DON'T. HAVE. TO. DO. ANY. OF. THAT. FUCKING. SHIT.
2. That's it. It's fucking simple
Seriously. They forced me off of my original platform because this company already had a "ticketing system", if you can even fucking call it that, working.
And just if you weren't aware, all of this change happened because my company got bought out. It got bought out by this behemoth company that isn't willing to let me continue using a system; that has been very efficient, mind you, and instead make me use their system.
I. FUCKING. HATE. THIS.
Every fucking day! I have to do this stupid bullshit of emailing clients from my personal work email instead of on the direct ticketing system.
When I first started using this thing I actually thought I could use it to email the clients. For a solid two weeks I was "communicating" to clients through their ticketing system. Only to find out that the entire time those clients were not getting my actual fucking email! WHAT THE ACTUAL FUCK?
Then these guys tell me after the fact. "Oh that's strange... We never noticed that you can't send emails through it... We always just had used our work emails."
Are you fucking jerking my chain! You guys have literally been sitting in this slimy pit of hell for so long that you don't even know there are better options out there!
You don't have to fucking live this life!!
I don't think I'm going to make it. Something needs to change. And I know upper management isn't going to do it, because I fought hard to try and keep Zendesk. They are not keeping it. After this next quarter it is officially gone.
I'm trying to think of coding solutions to make my situation better... But I shouldn't have to fucking do that! There are perfectly good working solutions out there, and this company doesn't want to budge because "that's the way we've always been doing it"
I'm going to fucking rip out my hair. -
So I work for an IT consulting firm (web development) and was hired by a customer 7 months ago for coaching Git, implementation of VueJS on the front-end and fostering teamwork with devs who'd been in their solo comfort zone for the last 15 years.
I asked for confirmation multiple times on whether they were sure they wanted to go through with a bigger investment in front-end. Confirm they did, multiple times.
After half the team's initial enthusiasm faded (after 1 month), the 'senior' of them who's worked there for 18 years on a single -in the end, failed- project got a burn-out after half a week of showing up (without doing actual work) from the stress, and started whining about it with management that has no technical clue whatsoever. This and other petty office politics lead to the dumbest organizational and technical decisions I've seen in my short 5-year career (splitting a Laravel app that uses the same database in two, replacing docker container deployment with manual ssh'ing and symlinking, duplicating all the models, controllers, splitting a team in two, decreasing productivity, replacing project management dashboards with ad-hoc mail instructions and direct requests).
Out of curiosity I did a git log --author --no-merges with the senior's name on the 2 projects he was supposed to help on, and that turned up... ZERO commits. Now the dept. hired 3 new developers with no prior experience, and it's sad to see the seniors teach them "copy paste" as the developer's main reflex.
Through these 7 months I had to endure increasingly vicious sneers from the IT architect -in name only- who gets offended and hysterical at every person who dares offer suggestions. Her not-so-implicit insinuation is that it's all my fault because I implemented Vue front-end (as they requested), she has been doing this for months, every meeting at least once (and she makes sure other attendees notice). Extra background: She's already had 2 official complaints for verbal abuse in the past, and she just stressed another good developer into smoking again.
Now I present her my timesheet for January, she abuses her power by refusing to sign it unless I remove a day of work.
Earlier this week I asked her politely to please stop her unjust guilt-tripping to which she shouted "You'll just have to cope with that!", and I walked out of the room calmly (in order to avoid losing my nerves). She does this purely as a statement, and I know she does it out of bad faith (she doesn't actually care, as she doesn't manage the budgets). She knows she wields more power over me than the internal devs (I am consultant, so negative reviews for me could delay further salary raises).
I just don't know how to handle this person: I can't get a word in with her, or she starts shouting, and it's impossible to change her (completely inaccurate technological) perception.3 -
I used to love my job, the guy that looked forward to mondays, there was always something new to learn, I was passionate about clean code and learning new languages like Elixir. As a software engineer I thought my occupation had a special significance in this world, I saw possibility and potential of creating something so impactful on the world that it would become my legacy.
Now after 5 years I’m realising that none of this stuff really matters to the world, software engineers aren’t special and it’s evident from our salaries how valuable we are compared to other professions in sales, medicine or law. My friend who works as in customer success management makes more than me.
While some of us will be in the lucky few whose work will change the world, most of us will just be another cog in the wheel, all that matters is how many product/features you ship out, nobody gives a shit about code quality, concurrency and architecture design other than us5 -
FUCKING SYSTEMD PIECE OF CRAP.
*Punches a wall or something*
Ugh, newest version of PHP-FPM apparently has a dependency on a Systemd package. The package doesn't change the system's init daemon to systemd, but just the fact that it has that, that more and more stuff is becoming dependent on that crap of a bloated piece of software is driving me crazy.
I hate systemd from the bottom of my soul, not for being a bad piece of software by any means. The systemd environment is quite well fitted together, but for being a monolithic monstrosity that is taking over more and more of the traditionally independent system services.
It would be absolutely good in my book, if it allowed a user or admin to choose which parts of SystemD they are going to install, and so, in the core, it would be a mere init daemon.
But noooooo, systemd has to take over cron, system dns resolver, home and user management and I bet its not the end.
GNU/Linux is becoming GNU/SystemD/Linux...9 -
Why is so hard to find engineers that actually care? It feels like the majority of people always want to do the bear minimum, no one wants to fix their shitty code even when it clearly violates the project or company standards. Everyone constantly comes up with shit about why they can't do things properly or how they'll fix it later and then get their mates to push their shit through review. The majority of lower management usually care equally as little so there's no point explaining the situation to them and the lack of care probably goes much higher. It seems like so many people go from job to job getting bump after bump in salary, which granted is absolutely fine and probably advised, but have nothing to show for it. Usually very little skills but alleged mountains of experience and a lazy piece of shit attitude. I hear all the time people saying you'll never change anything so why try and it feels like that most of the time but more because everyone keeps saying it. If everyone pulled their fingers out their arse, maybe we would stand a chance. I'm sure a lot of people on here have a real passion for computer science, whichever division you're in and love to learn and improve and reflect. What I really want to know is how you deal with people who are just taking their paycheck and enjoying the ride but don't actually care and how you discover these people as early on as possible to get shot of them.14
-
Funny how people freak out when I offer free stuff (in exchange for feedback) as I introduce myself as the CEO.
But when I tell them that I'm a developer, they all accept it without a single doubt.
Since I'm doing both, I can call myself whatever, but this just shows how little trust people have towards management of ANY company. So I can't really blame them.
CEOs, please stop being fucking greedy and do something that can change the life of at least one person in a positive way.
My vision for this startup is to produce as many opportunities for people so that they can feed their family and have a place to call home.
Edit: I've seen this one CEO buy an expensive car on company lease when he received an investment. Guess what his employee told me next. I fucking LOL'd.3 -
So where I work now, there is this developer in my team who I feel like doesn't know how to do any kind of tests for web apps. I was given the task of testing some of their additions to the application we develop and, I swear, it's like they never even made a dent in the application according to what they were supposed to do.
So instead of testing the "changes", I basically had to rewrite the entire part of the application that was their responsibility! It was like they didn't even know what was going on at all and this developer has been working at the company for two decades!
I'm kind of tired of dealing with this developer at this point because project management is constantly pushing some of their tasks on to me because they can't seem to finish it for some reason. :-/
Obviously, I will continue to work with this co-worker of mine because they are a member of the team and respect them as a member, but seriously, they should do more research on their own time of modern web development languages and frameworks to save us all a headache. They came from the world of desktop app development so I feel they haven't adjusted to the industry change very well. -
Hi ranters. We need to talk.
I've been thinking, I'm lately getting tired of code everywhere. Suppose one is a software engineer / senior developer. What is one's career path from this point on?
Tech lead? Architect? And then what? Is that all? A dead end?
Management would be also a possibility I guess. But is that a horizontal career change or are there any spots in vertical plane?22 -
Why can't PMs do a basic user research before wasting the engg effort on building a product they don't even know what to build?????
Everytime my team completes a feature, request comes in to change it because end user does not want this. And when I take a stand to not proceed further without proper UXR, upper management forces me to go ahead without it.
I am fed up of these folks sitting at the top and being childish just to satisfy their own ego. -
*Be project manager/most senior developer*
*Higher up tells you there is only enough money to hire recent graduates/internees, the cream of the pie, and that I can't hire fewer developers with more experience*
*Code is shit as result*
*Feels anger towards the developer that did it*
*Feels sorry because that developer is actually trying really hard and is diligent even if he is inexperienced*
*Change anger object to higher management*
*Repeat* -
Don't you just love it when there is no formal spec. you get a few mspaint slides and told a delivery date, scope and slides are changed by management weekly, not necessarily informing you of it. Then when your failing, deadlines pass you by you still have no clear spec 2 weeks before release, partial backend because core business devs are busy doing support on the legacy systems. No frontend cause it's been changed, redesigned and you've been forced to change frameworks and technology so many times due to corporate policy and legacy systems with another dev group holding your balls with what they allow you to do and use. Id complain but at least we've been told to be agile. This is my life now, we lost all hope and stopped caring. And management wonders why the deadlines and estimates are all off.2
-
First off i'll try and describe my game in as little words as possible, think your typical survival game but crossed-over with a town management/village management game and in VR.
So this is a little old since i posted it on twitter a couple weeks back but I made some progress on a game i'm working on.
https://twitter.com/Arcticfoenix/...
Sorry that it's a link to twitter for those that do not like twitter, i can give you a run-down of what it shows and ill figure out a way of linking the videos somehow.
I decided that I should show some progress on the game I started working on before I joined the company that I'm with now, my only issue is the amount of free time I don't have to work on it.
First video shows resource gathering, we (as in me and my brother) wanted to go with more realistic tree chopping something you would see in the forest or stranded deep, you chop a tree at the base and it will fall down, where you then can chop it into logs and planks.
The next video shows the blueprint system which is how you will craft your items like the forge, crafting table, etc. By picking the blueprint from within your book (which doubles for your UI/Menu/way to exit the game) and placing it on the ground. You then take a hammer and hit it in place to confirm the placement - I definitely want to be able to have the object be rotatable and such which i'll do in the future.
Last one shows tool dismantling system, where you can take tools/weapon apart when put on a crafting table, the idea behind this is so you can change up parts of your tool/weapon brcause individual bita will degrade and visually show wear, axe head will show chips that will get bigger and eventually break, which will leave you with just a handle. You can also jusy generally improve one piece of your weapon/tool.
Last thing that I left out as an actual video was that the map generation is all procedurally generated, all thanks to Sebastian Lague's tutorial, I managed to finish it and will definitely be exploring ways to create awesome maps to play on.
Everything is mostly from when I worked on this game in december with a few things that I did recently when I get the chance I will do lots of overhauling and work to making a demo version of the game! -
I manage the infrastructure of an application. Responsible for setup, maintenance and upgrades of all the associated servers, databases, filesystems and tuning. The business area is responsible for maintaining the content and structure of the app.
A couple of weeks ago, the business area started asking me for the system admin passwords in an attempt to integrate a remote service. The reason was because he didn't want to store his own credentials in Jenkins. Imagine the shock when they were told no.
Then a week ago, they asked for the password again so they could update a properties file. Again, the answer was no.
We sent them an email yesterday asking for their change management number so we could make the change to the properties file. They were absolutely shocked to find out that we hadn't already updated the file because they had already deployed their code changes to go with the properties file last Thursday. They submitted the request to us on Friday.
Getting real tired of people screwing up and pointing the finger back at me. -
You ever had a boss that made you feel like his bitch but he never really earned the title
You also know from a technical skill perspective you’re more competent.
And the only job he seems to do is micromanaging you. He just puts things under a microscope looking for a flaw. He always finds a flaw so in the off chance it breaks he’s always in the clear.
He’s the guy who sticks with the programs the he was taught when he was still at school and never really tried something new out of the box. He gives the reasons the he wasn’t formally trained in the other programs . I’m not talking cinema 4 here. I’m talking Matlab preference over python. Using lab-view as a production level development platform instead of going to something more approved by the industry.
He doesn’t take risk but he pushes those risks on you so if you fail he can say it wasn’t him
He’s never wrong but he’s never right either.
You’re sitting there doing the cunt work and breaking the sweat and he passes the achievements as under his management. You never really get the credit because “he guided you “. You go through hell fixing bugs and he disappears. He says he’s always a call away when what you really needed is someone taking the heavy tasks not throwing the entire project on your back.
I never call that piece of shit bcz he just throws some other bullshit that doesn’t make sense and emphasizes that might be the problem.
I once had a problem with the com port on a pc and was trying to figure out the problem. I asked him and he said that it might be bcz I’m connecting to the PC via VNC. I was like what the hell. What does that have to do with anything. I just ended up restarting the port and it bloody worked.
The saddest part is that I’m scared is that I might end up like him. In the same dead end job. Even though he guides me we work in a place where the job title doesn’t really change. Funny thing is that officially I have the same job title as him .
He’s been in the place for 5years when I came. Can someone imagine that? To work and work and then to be seized up with another brat who’s the same as you title wise.
You’re close the age of 40 and you work in a place where a 20 something year old walks in with the same Position as you.
I worry that I might end up the same if I stay long enough. That I’ll learn everything I can learn and just stop progressing and the only thing I can do is say how shit can break but wouldn’t know how to fix .
Pointing out problems because they are easier than fixing. Just plomonting into existential nihilism with no purpose.
I once told him I wanted to quit. He pretended he didn’t hear it. He then then said what do you see in this job in 5 years
I told him me not in it.
He said “seriously what do you want in this place “
I said “if I’m still her in 5 years I’ll be missing a toe because I would have shit myself in the foot”
I now realize that by convincing me to stay he might have convinced himself that staying for that long wasn’t a bad idea. He was looking for justification that he’s decision wasn’t that bad at all.
You give your life to a job and at the end it takes one away.
I don’t want to be like that and I think that’s what bugs me the most. That I’m so close to this individual that I feel sooner or later if I’m not careful I’ll end up in the same place. The same dread3 -
!rant
I've got a question for everyone as we are all in the same realm. How do you handle working for a company who provides no motivation, very little challenges, horrible pay, incompetent developers, and completely useless management?
Also, no other opportunities in the area. Literally. So, "change companies" wouldn't really be a viable option.12 -
So in my company there few small teams all with lead devs. One team is leaded by a girl who changed her profession. She's good at architecture/Dev stuff. But one thing she's terrible at is her leading role. She won't confront any bad behavior, she won't ask about any problem with the tasks. She won't ask her tram how long will the tasks take, so she puts her own valuations.
But the killer is she's whining everyday to the management about her team members. That they didn't do their tasks/don't want to cooperate. Never looking in the eyes even when she whines about a person in the same room.
Another thing is that our CTO is always doing her leading job, confronting team members, giving them reprimends. She lost all her authority by this. Nobody respects her. And after a slight note about her behavior you just gonna get a big talk with CTO and nothing will change.
Another thing is that, she Nevers connect with her team. Don't talk together, won't go with them for the coffee, never at the integration parties.
That CTO connection is another topic...
Oh and I'm by the next month I'm gonna be throwed into her team, so wish me luck...1 -
Just moved flats with a last minute confirmation, sadly the flat in question is not eligible for fibre broadband (high-rise) so had to settle for good old ASDL.
Find a good deal (as all providers are offering the same speeds/technology, all ASDL broadband is provided in the UK through BT landlines) to discover there is a mandatory 2 week waiting period to switch over ownership...
Fine, will wait 10 days for internet (torture except from dev rant on mobile internet, thanks for being text only), box arrives 3 days ago stating not to plug it in until activation date...
Fine I shall wait, today I get impatient and setup the router without connecting it to the landline so I can use the WiFi to connect to my Nas etc, login to WiFi navigate to Nas IP .... Automatic reroute to "login" page "We have detected your router is not connected to the landline, ensure your router is properly connected". Try logging into management site, works, change admin password etc. No setting to disable "self heal" functionality. No setting to setup static routes for my lab router, No setting to switch to modem only mode for when I inevitably buy a new wireless router for when this piece of crap can't handle the internal network traffic...
All this for a pitiful 10/? Mbps average, I want my fibre connection back :'(1 -
First job while in college... Was working for web dev team lamp set up before lamp was lamp (year was 2000).
Had deadline one week after summer vacation. Worked non stop a couple of days to get shit done and didn't make it. Got in a conflict with my manager in front of the team and I blew my steam off. Quit on the spot.
Lessons learned:
1. Don't be a fucking idiot when estimating work.
2. Be cool with other teammates, nobody cares about drama and nobody has to feel sorry for you.
3. Uhm, plan? Had entire fucking vacation to get work done. I was a fucking moron.
4. Burning out is stupid and unproductive.
5. Your manager can be as poor in management as you are. Your job is to try to make them better at it, as they have less visibility in the details.
Next job in grad school. Worked for a security company. Direct manager had the bright idea to make execs sign the change requests. WTF. Code was in Perl/php, a mess. Team rewrote back end DB access , taking over six months, or more, failing twice the deadline. After a final 48 hour burn out, we ship and get laid off the week after.
Lessons learned:
1. Don't work for dicks.
2. Don't be a dick yourself.
3. Don't work for dicks.
Third job was in silicon valley. It was a great company, and I stayed there for five years. -
I spent 4 months in a programming mentorship offered by my workplace to get back to programming after 4 years I graduated with a CS degree.
Back in 2014, what I studied in my first programming class was not easy to digest. I would just try enough to pass the courses because I was more interested in the theory. It followed until I graduated because I never actually wrote code for myself for example I wrote a lot of code for my vision class but never took a personal initiative. I did however have a very strong grip on advanced computer science concepts in areas such as computer architecture, systems programming and computer vision. I have an excellent understanding of machine learning and deep learning. I also spent time working with embedded systems and volunteering at a makerspace, teaching Arduino and RPi stuff. I used to teach people older than me.
My first job as a programmer sucked big time. It was a bootstrapped startup whose founder was making big claims to secure funding. I had no direction, mentorship and leadership to validate my programming practices. I burnt out in just 2 months. It was horrible. I experienced the worst physical and emotional pain to date. Additionally, I was gaslighted and told that it is me who is bad at my job not the people working with me. I thought I was a big failure and that I wasn't cut out for software engineering.
I spent the next 6 months recovering from the burn out. I had a condition where the stress and anxiety would cause my neck to deform and some vertebrae were damaged. Nobody could figure out why this was happening. I did find a neurophyscian who helped me out of the mental hell hole I was in and I started making recovery. I had to take a mild anti anxiety for the next 3 years until I went to my current doctor.
I worked as an implementation engineer at a local startup run by a very old engineer. He taught me how to work and carry myself professionally while I learnt very little technically. A year into my job, seeing no growth technically, I decided to make a switch to my favourite local software consultancy. I got the job 4 months prior to my father's death. I joined the company as an implementation analyst and needed some technical experience. It was right up my alley. My parents who saw me at my lowest, struggling with genetic depression and anxiety for the last 6 years, were finally relieved. It was hard for them as I am the only son.
After my father passed away, I was told by his colleagues that he was very happy with me and my sisters. He died a day before I became permanent and landed a huge client. The only regret I have is not driving fast enough to the hospital the night he passed away. Last year, I started seeing a new doctor in hopes of getting rid of the one medicine that I was taking. To my surprise, he saw major problems and prescribed me new medication.
I finally got a diagnosis for my condition after 8 years of struggle. The new doctor told me a few months back that I have Recurrent Depressive Disorder. The most likely cause is my genetics from my father's side as my father recovered from Schizophrenia when I was little. And, now it's been 5 months on the new medication. I can finally relax knowing my condition and work on it with professional help.
After working at my current role for 1 and a half years, my teamlead and HR offered me a 2 month mentorship opportunity to learn programming from scratch in Python and Scrapy from a personal mentor specially assigned to me. I am still in my management focused role but will be spending 4 hours daily of for the mentorship. I feel extremely lucky and grateful for the opportunity. It felt unworldly when I pushed my code to a PR for the very first time and got feedback on it. It is incomparable to anything.
So we had Eid holidays a few months back and because I am not that social, I began going through cs61a from Berkeley and logged into HackerRank after 5 years. The medicines help but I constantly feel this feeling that I am not enough or that I am an imposter even though I was and am always considered a brilliant and intellectual mind by my professors and people around me. I just can't shake the feeling.
Anyway, so now, I have successfully completed 2 months worth of backend training in Django with another awesome mentor at work. I am in absolute love with Django and Python. And, I constantly feel like discussing and sharing about my progress with people. So, if you are still reading, thank you for staying with me.
TLDR: Smart enough for high level computer science concepts in college, did well in theory but never really wrote code without help. Struggled with clinical depression for the past 8 years. Father passed away one day before being permanent at my dream software consultancy and being assigned one of the biggest consultancy. Getting back to programming after 4 years with the help of change in medicine, a formal diagnosis and a technical mentorship.3 -
rant && !rant
so my company just relocated to another part of the city.
it took about 2-3 months of searching for a space till the management found a suitable place. then about one more month for settling on the details (price, when we move, etc). then another month of just waiting for the space to be ready ...
the actual move took 1 day ... just one day ...
so the new place
- is better placed (for me at least)
- has lots of nice pubs / restaurants around for lunch or just relaxing after work
- has great views from every office
- lots of extra space for everyone
- ok people (so far) working at the other companies in the same space
- everyone seems so much more relaxed and easygoing and happy at the new place
But:
- the ac is still not working (32 degrees Celsius outside, and our office is facing the sun almost all day)
- for the first days we were lacking blinds at the windows
- office was full of little stinky bugs and they still keep showing up when we open up the windows
So, overall pretty great ... so (rant part??) WHY DID IT TAKE SO LONG TO MOVE HERE ??? (both before it was decided to move, about 4 years at the old place, and after)
also, relating to the topic of the week ... nothing code related was learned, much was gained, and a life lesson was obtained: if you don't like something, just change it as soon as you can -
Story of my first successful project
Being part of a great team, I've shared in a lot of successes, one I am particularly proud of is my first attempt to use agile methodologies in a deeply waterfall-managment culture.
Time was June/July-ish and we applied for a national quality award where one key element in the application stated how well we handled customer complaint resolution.
While somewhat true (our customer service is the top-shelf good stuff), we did not have a systematic process in resolving customer complaints. Long story short,
the VP lied on her section of the application. Then came the 'emergency', borderline panic meeting (several VPs, managers, etc) to develop a process to better manage
complaints before the in-house inspection in December.
As most top priority projects go, the dev manager allocated 3 developers, 2 DBAs, and any/all network admins we would need (plus all the bureaucratic management that wanted their thumb in the pie).
Fast forward to August, after many, many planning meetings, lost interest, new shiny bouncing balls, I was the only one left on the project. The VP runs into the dev manager in the hallway and asks "Is my program done yet? If its not ready before December with report-able data, we will not win the award."
The <bleep> hit the fan...dev manager comes by...
Frank: "How the application coming along? Almost done?"
Me:"No, haven't really started coding. You moved Jake and Tom over to James's team, Tina quit, and you've had me sidetracked helping other teams because the DBAs are too busy."
Frank: "So, it's excuses. You really think the national quality award auditors care about your excuses? The specification design document has been done for months. This is unacceptable."
Me: "The VP finished up her section yesterday and according to the process, we can't start coding until the document is signed off."
Frank: "Holy f<bleep>ing sh<bleep>t! No one told you *you* couldn't start. You know how to create tables and write code."
Me: "There is no specification to write to. The design document is all about how they plan on reporting the data, not how call agents will be using the application to serve customers."
Frank: "The f<bleep> it isn't. F<bleep>ing monkeys could code against that specification, I helped write it! NO MORE F<bleep>ING EXCUSES! This is your top priority from now on!"
I was 'cleared' to work directly with the call center manager and the VP to develop a fully integrated customer complaint management system before December (by-passing any of the waterfall processes that would get in the way).
I had heard about this 'agile' stuff, attended a few conference tracks on the subject, read the manifesto, and thought "I could do this.".
Over the next month, I had my own 'sprints' and 'scrums' with the manager (at the time, 'agile' was a dirty word so I had to be careful of my words and what info I shared) and by the 2nd iteration had a working prototype.
Feature here, feature there (documenting the 'whys' and 'whats' along the way), and by October, had a full deployed application.
Not thinking I would get a parade or anything, the dev manager came back from a meeting where the VP was showing off the new app to the other VPs (and how she didn't really 'lie' on the application)
Frank: "Everyone is pleased how well the project turned out, except one thing. Erin said you bothered him too much with too many questions."
Me: "Bothered? Did he really say that?"
Frank: "No, not directly, but he said you would stop by his office every day to show him your progress and if he needed you to change anything. You shouldn't have done that."
Me: "Erin really seemed to like the continuous feedback. What we have now is very different than what we started with."
Frank: "Yes, probably because you kept bothering him and not following the specification document. That is why we spend so much time up front in design is so we don't waste management's time, which is exactly what you did."
Me: "We beat the deadline by two months, so I don't think I wasted anyone's time. In fact, this is kind of a big win for us, right?"
Frank: "Not really. There was breakdown in the process. We need better focus on the process, not in these one-hit-wonders."
End the end, the company won the award (mgmt team got to meet the vice president, yes the #2 guy). I know I played a very small, somewhat insignificant role in that victory, I was extremely proud to be part of the team. -
Head of PM and head of UI/UX at my company today expressed to me that they are going to change how user created content is displayed because they know what looks better. I don't think they understand what user created content actually is. I can't believe these people are in charge of anything. I swear they just belong to a club of management types that read the same blogs and follow each other from job to job destroying everything in their wake like a locust swarm.
-
Another rant got me thinking about this.
There must be plenty of us on here who have worked as part of or with a customer support department at some point in our careers.
What is the stupidest idea you've ever heard with regards to support?
To start things off my last place had problems with support, over worked, under staffed and expected to support 12+ versions of the same software, some clients were running installations over 15 years old without ever having applied an upgrade.
The management decided that they would get rid of the conventional triage system for tickets, you know the sort priority 1 would be system down etc.
Instead we had to log tickets at whatever priority the client said it was. Customer report written by the client has a spelling mistake? Yep that's a P1.
Client wants to change the colour of their menu? Yep P1
As you can imagine that went down like a shit sandwich1 -
Sigh Im getting depressed from going to work whilst a few weeks ago it gave me a bunch of happines.
I think its due that management is approaching a triple deadline (?!?!?!) project in an agile/scrum way (?!?!??!)..
We can not change our data model completely when we have to be in acceptance in 3 weeks and do a demo in a few days..
Yes we can work around that but fuck database design theory and lets ignore all primary keys and foreign keys, great idea
We have to create and prioritise user stories on our own? We have two product owners and a scrum master.
Scrum master offers to deal with organising and creating tickets to organise Infrastructure without having a laptop of the client, so no Service Now access or any other system..
Guess who has to do it in the end..
Many question marks about this project -
I hate this feeling.
Changing stuff with a greamripers scythe around my neck called doubt because the available data isn't too convincing.
Then having to go big or nothing as it is an ecosystem change (e.g. changing the cipher suites of TLS, changing protocol - e.g. HTTP 1.1 to 2) so it needs to be consistent as otherwise fun stuff could happen (fun as in the grim reaper cuts off my neck except a few centimeters and plays "now your head is off, now your head is on" ).
To top it off - just few seconds after the change has happened people coming up in the support channel.
My hands are - mysteriously - not sweaty then. Rather cold.
Lil prayer to the heavens and getting the whiskey bottle...
Opening an ongoing discussion in support channel....
And they're discussing whether the page needs to have an additional arrow for going back to the last page or if the default page navigation is enough.
Constantly using @all so everyone gets pissed off due to being pinged every few seconds in a channel that was meant for emergency support.
Now my hands go from a dark red to a bright red, my nostrils flare out, my adrenaline goes through the roof and I literally wanna murder people....
Those days.
I hate those days.
And I hate the timing of some people...
Like they're deliberately fucking with me without knowing it, like the universe told them explicitly to do so just to fuck with me.
*gooozfraba*
And of course, everything else is fine and running smooth like butter, except that said discussion now goes on in a total flamewar so I get even more pings.
Sucks to be in management.
You have way to many rooms where people can annoy you.
To top it off - after being grumpy and pissed and angry for people just annoying the fuck out of me, I have to mediate.
Yeah. Cause the usual person is on vacancy.
*slowly strangling the whiskey bottle like homer does with bart*
Turns out after 15 mins listening to enraged UX designer vs Frontend Team Lead that UX designer meant a completely different thing - uploaded wrong screenshot, whole discussion was unnecessary.
*Nah. Fuck it. Drinking whiskey*
Reminding everyone what the fucking frigging support channel is meant for and that penis fights aka who got the longest schlong don't belong there....
"Yeah it was a mistake, but it wasn't so bad"
...
You pinged fucking 32 people like it was the end of the world, you ignorant fucktwads.
For over 5 mins.
For fucking frigging nothing except your tiny dicks and shitty egos.
*Second round of whiskey*
Back to work after a wasted half hour.
What says monitoring?
Ah. Everything's working.
At least luck hasn't failed me.
Good server. Brave server.
Then I hear this lil voice in my head: no.
The servers know your personality.
They're afraid. Terrified.
Somehow that thought makes me giggle always...
Childish? Maybe. But it helps on those days.... Funnily enough, remaining 3 hours noone said anything in any chat channel.
"I wonder why, I wonder how...."... *hum* -
When I first started down the path to becoming a developer, I was a "business analyst" where I managed our departments reports and ended up migrating all the reports from daily query run in MS Access with Task manager and emailed out to all the managers including the VP of the entire business unit, I created
Views in the database and sent out the same spreadsheet with the view in excel daily since management didn't want "change". Granted this was at a large health care company in the US and didn't want to invest in a real dashboard for their reports. The only thing that was changed in the email and file was the file name with the current date. I left the company a while ago and recently applied for a similar position for the shits and gigs. Interviewed with the It manager and they're still using the same excel macro I wrote 3 years later.2 -
Our owner's other company sells products online (or has the ability to anyways). Their current site is 7+ years old WordPress/Woocommerce and is seriously outdated because the site breaks if you update anything so we've been told to make a new site (finally). They also said they were going to release a whole new line up of products. So the first thing I tried to do was get them to nail down their product line and how shipping was going to be configured. I was told to just use the shipping from the previous site.
Turns out those shipping rates don't use any sort of math or automation at all, there is literally a manually set shipping value for every single product for every single shipping location (30*60) and even values for different quantities. And there's no way to export these rates into a readable table because the plugins they use shove all the data into the postmeta table, I'm forced to go through and put the data into a spreadsheet so that I can attempt to organize it and hopefully find someone way to automate it. Owner claims at one point that he has a similar spreadsheet that's more up to date but for some reason refuses to send it over or put me in touch with the right people in the shipping department.
I've gone through the shipping rates with the old products and the new products and organized them as best I can and each time I've gotten done and shown them the spreadsheet with their products and shipping, they add or change something which requires me to basically wipe the slate clean and start over eating another 50 or so hours of my time, which with everything else really means another month+ to find time to work on it between other projects.
After about a year they finished their products and I finally finished the planning and got approval to build it out for the site. Small victory!!
After about 60 hours plugging these values into the database (only about 1/3 done) I get an email from their head of shipping who tells me the values in my spreadsheet are "terribly inaccurate, in some areas by $100+" and that the data should not be used anywhere.
So after something like a year and a half and 200+ hours of work, the data I've been using to plan all this isn't even accurate. I'm trying not to go crazy here but this kind of shit is unacceptable. When we're done with this I'm going to send the owner an invoice to show him how much money he wasted on this because nothing was planned and he just wanted it built. There's a fucking process for a reason, when you don't follow the process you fuck everything up. If a client had pulled this shit and turned their simple site into this much work they would have been dropped. I get constant emails asking when the new site will be done and every time my answer is "I'm still waiting for x items that I asked for last time you asked where we were." He gets a couple things on the list and sends them back and then goes unresponsive for weeks at a time.
Management has been telling me that I seem more stressed lately but only one of them understands what's going on here when I explain it. The rest say stupid shit like "why don't you automate it" or "make an intern do it." You won't let me hire an intern and even if I did, I'm not sure I could explain how the shipping works now to even trust someone else to do it. I'm hoping when the shipping guy gives me the new sheet that maybe there's some easier solution here because I'm ready to start shooting people.2 -
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
So I started a new job back in April with a the developer on a government project being developed by a reputable international organization, lets call them R. Once the project reaches a an acceptable release stage, maintenance, changes and integration into the eco system falls to me. This project started about 3 years ago and the original team from R was "changed" because they claimed the product was ready for go live when it wasn't.
My job since then has mostly been analyst and QA work identifying issues with conversations like this:
Me to Client: I don't think this feature is working as it should be.
Client: You're right.
R.dev: This feature is working according to signed off SRS and assumptions register.
Client: Yes but the SRS and assumptions are wrong.
Me: Facepalms. Oh this other feature isn't working correctly either, this should generate A according to SRS but I'm getting G.
R.dev: Yes but that would take a major change to the system.
Me: [Blank stare]
R.dev: Ok, we can give you E.
Client: OK we corrected the errors in the SRS and the assumptions register we've signed off on this, please use these going forward.
R.dev: OK we reviewed and made changes.
Client: Um, these are wrong the calculations are off.
R.dev: We did it according to your SRS and assumptions register.
Client: Oh, wait, these formulas are wrong.
Me & R.dev: [Blank stares furiously]
Client: The sponsor won't pay the next stage until you reach an acceptable release. Fix these critical issues and we can worry about the rest in support.
R.dev: ... OK, we will deliver by X date.
[7 Days to delivery of changes]
R.dev: We postponed development till (deliveryDate + 8) when we meet with the sponsor.
Me: But that's when we should start the next UAT for go live for the New Year...
I left a management job for this so I could code more. 180 issues later I still haven't seen the source code... fml
Silver Lining: Still gettin' paid though -
Garbage collection incentivizes shit and cuckold programmers. Change my mind.
Reason is basically, it's easy to design a bad architecture, potential bugs are just delayed and waiting to happen later. There are still resources like databases, whose management is more or less like memory that you never learn to do properly because of GC15 -
I swear.
I will find the person who realized the category-management and the arrangement of items inside Woocommerce.
And when I'll find you, I'll make you change all the categories inside every single fu***n item.1 -
Can someone explain to me the need of a "technical management"? I know my question is naive, but try to explain it like to kindergarten kid.
Case 1. When team is good, and has a good tech leader(s) then the software director/manager makes more harm with his silly ideas, pompous cliche "calls to arms" etc.
Case 2. On the other hand, when software team is shit, it means that the management is responsible for assembling such team. Then it further means that they can't distinguish impostors from really good talents, which leads to bad quality, missed deliveries, bugs, frustrations, etc.
I saw many times when good technical lead (aka architect, staff, principal) made a positive difference. But I NEVER EVER saw that things were bad and "manager/director" made a positive change. This concept is soooo flawed....
... any one explain please?5 -
TLDR: I wanted to change email to new one, but I could not remember which one I have
currently. I found out an API in DevRant JS files for email verification and used
it to find it out.
So, I am moving from Gmail to Protonmail Pro, absolutely love their service.
I wanted to do same on Devrant but I could not figure out my current mail for
"I lost my password" form. My Password Manager have only login saved, and profile does
not show email address.
I thought that this user information is stored on server so it have to be some way to retrieve it. I dug
in source code and I've found:
`<div class="signup-title">Verify Your Email</div>`
Which has event assigned to function which uses jQuery.ajax (love it btw :D) to call:
`url: "/api/users/me/resend-confirm",`
This seems like worth a shot. Few copy-pastes and one ajax call later:
*Ding*
From: support@devrant.io
To: dawid@dawidgoslawski.pl
"Welcome to Devrant"
Got it :) So I have already changed in march when DevRant on previous layout.
This is what I love in this profession - problem solving. AI will not replace human
in any way, we will just stop coding array iterations and data manipulation - we will focus
on real problem solving and human touch (like design, convincing management for changes).1 -
The PM is trying to dump the responsibility of change management onto me
What the absolute fuck im your developer and you want me to spend my time filling in data on spreadsheet? Everytime I update an environment I send out emails by fucking hand already because ya'll to cheap for change management software, fill your own damn spreadsheet. You know, do management, your job?
For fucks sakes2 -
Stupid timeline, there is this company I was working for. It was sub-contracted by another company to do a government project. Government only pays after you deliver in my country. It was a complex system I must say. We were to work with my buddy on this project...now the timeline we were given were not feasible since another company had been given the same project and were not able to deliver. We had a meeting and discussed with our CEO about the project timelines. From the workload the feasible timelines were around 8months if we were to work as two devs. My CEO said that was not going to happen.. The only timelines that was allowed was not more than 3 months. So we suggest use an existing system to customize. .The meetings with the clients were to be weekly demos. So we choose to go with google docs api for the document management part. We were working around 20hrs a day to be able to achieve the target deadline..we management to complete the project within the given timeline..on the commissioning date of the project we faced a government panel and this was my worst disappointment. At the point of login we had to use Google email for business to obtain the API. Just as I was logging in the guy noticed and yelled. "Is that google account ?" and I replied yes..and he said "no need of proceeding since it will be of no use and they won't approve the system". That was my lowest moment in programming. I thought I had done the best project in my life as a programmer only for stupid man to declare my project as null. I felt like calling him son of a bitch but I knew that would have made me more angry...i just walked out. I went to the toilet and all I did was cry for the first time as I can recall.. My question was I was doing weekly demos. Why didn't they raise any questions by then so as to change the entire system??? Later after that demo we went and discussed about the issue and there was time extension. I redid the project using 'open office' but just before deploying the system I got a better job. I wasn't feeling like working on that project anymore. I want to release that project as open source. Recently after one year they haven't yet deployed the system. They are calling for my help. And I don't feel like helping after the humiliation...
-
a thing I heard from ops: installing this library update breaks how we manage updates. so let us not update. and use the old libraries that have security issues and don't work with code. we can not change our configuration management tool or update it either. because we have been using it for 15 years.4
-
I have an idea for a fun little web game... A small little learning project.
So of course the first thing I do is write a CLI database change management tool. -
There is this local cloud service provider I used to like, since the promise was "it's from Africa" woi, they don't know shit. We tell then to open port 8888 ssh and 8899 since firewall is configured on their side, they close all ports then you can't ssh into the server. They take another 2 hours to fix that. Later on we change our ports and then tell them to change some ports, they open and close all ports (we discovered again because we were locked out again and had to d an nmap to see what was happening). Apparently the staff we we're talking to didn't know much about configuring servers only the senior management knew (I think to cut down costs), then we tell then to terminate services but they decide to bill us for another month (bullying) and gave us a warning letter from their lawyer for not paying for that month and since we are a small startup, we can't afford a court case which will drain us cash so we had to pay for shitty service and some month arr angry
-
"All Tech Projects Run Over Budget"
https://medium.com/@team_96861/...
I was on a nice streak of being calm for a while and then this article just dropped today. Fuck management and fuck whichever dumbass wrote this piece of shit.
Is anyone else pissed off at this? It makes it sound like software engineers are slow and never on time, and the main reason for a project's failure is the inability of programmers to meet deadlines. I find this a little sus, especially as it's written by someone in a management position.
I would argue that projects fail because:
1. Management takes the very feasible timeline given to them and throws it out the window, opting to impose impossible deadlines instead, because FUCK your employees right?
2. Clients have requirements that can't be met (I agree w/ this from the article, but not the part about developers not accounting for issues--I always do this and everyone I know does this)
3. Technical Debt arising from when management tells the software engineers to *just do it this way because it's cheaper*
The calculator they made is nice but it's also quoting estimates that I and everyone I've spoken to agree with, so this is clearly not a software engineer problem, it's a fucking management problem. "Budget" = accounting's job.
/rant
That being said, the "take their quote and triple it" part had me dead...1 -
Am I right? Is this micro management?
So, in my new team, I have another coworker is my buddy, we are same level and I doubt here coding techniques as I have seen very bad code written by her.
The thing is, whenever I need to pick up a new jira, she starts telling me what code I need to change, without me understanding the ticket or the code.
She forced a code change which was obviously a bad one.
She asked me what did I do yesterday and said that I could have worked on this jira.
Although this is a start but I don't want yo waste my time working with someone who is trying to micromanage when I clearly have the potential to be working without her micro-managemnt.
The problem I see is that her priority is not learning but I don't know what is that but she worked on the tasks which are clearly not our teams work, in the initial informal chat she was too concerned with people being young in the company like who is married who is not etc.
I don't see her as a good developer.
Should I move to other project? or am I overreacting?7 -
Anti climactic story time (as in there's no promotion in this story):
Sometime ago there were some organizational changes happening in my company that put me in a very tricky place. Theoretically, I was put on a level that was supposed to be an upgrade from my previous level. Practically, it didn't come with any benefits and it was actually a downgrade because anyone who joined the company in the six months before these changes was in the same level as me (who'd been in for roughly 2 years).
It felt really insulting because I was about to be actually promoted. My manager and his manager tried to gaslight me into believing that I'm not at all affected in any way, before giving in and agreeing that a mistake was made. I was promised that next year it'll be corrected and I'll be promoted two levels. Even the HR assured me of that. I knew it was too good to be true but I was too demotivated to find another job.
Fast forward one year. My bosses are all praises for the work I put in. But, no two level promotion. Reason? They tried but couldn't get the management to agree. The boss apologized to me and asked me if I wanted him to try again. What an insolent arse!
Fast forward one more, extremely glum year.
This time I am part of a different team so the team lead is different but the manager is same. The team lead really went all out with showing appreciation for me. He talked for almost an hour(!) about how I exceeded his expectations and went on to claim that his app's release would have been impossible if it weren't for me, the new team member. It was really humbling and satisfying. But what did I get? A limp handshake from the manager with fucking loose change.
Silver lining. At least the manager did away with the 'well wisher, on your side' pretense this time. No mentions of failed promises, just regular empty promises for the future.
Fast forward 3 months.
Still here. Recovering. I am mulling over a much better offer than what my current boss can give me. Thinking about how long it takes before I'm in the dumpster again. I have stopped giving any fucks about anything here. I try to do the minimum required unless it benefits me in some way.
The end.4 -
Had to face the music and make the jump from Ubuntu 22.04 to Fedora 36. Am I have to say it’s been night and day so far. Everything is snappier. Yeah dnf is very slow in comparison to apt but there’s changes you can make to speed things up and the nifty terminal interface is a great change and helps to make up for the speed issues.
Came with Python 3.10 installed, Gnome and gtk4 apps are nice, fluid and up to date and the random slowdowns, freezing and restarts of Ubuntu running the version of Gnome are nonexistent.
For the life of me I can’t see why Ubuntu would drop the ball like this. I have a Dell XPS 13 developer edition and this is the best it’s ever ran. Even wifi connectivity is better despite of the crap WiFi card that ships with this machine.
I want to love this version and while it is the most graphical appealing and functional version of Ubuntu I’ve ever used. The memory management issues make it damn near unusable.9 -
My new boss has such a sensitive ego. The latest is he asked me not to make big changes to 'his' code so whilst attempting to fix a bug in 'his' code I realised a big change was needed. I tell him at standup that he might want to take a look first and he agrees. A few days later he emails me to ask why I haven't finished work on the bug. When I reply he ccs other members of management to ensure he is deflecting any blame from himself (I dont even play the blame game to begin with).
The next day I email him that some tests are broken (he broke them but I just emailed him to bring his attention to it since he doesn't want me touching his code. And because it means he isn't testing properly - not that I would say that).
His reply - "are you going to fix them?"
Me - "ok"
The next morning be brings me into a meeting to ensure I agreed he wasn't to blame and that it was my fault and that he didn't understand my email response as it just said "ok".
I really can't stand such petty bs...2 -
Project has been in flight for months. Solution design complete. Last minute major scope change by management. And I'm about to start rewriting a high level solution design doc to reflect their sudden change now. Due first thing in the morning. Its almost 12:30am local time.
Kill me!1 -
The whole windows server + ms sql server ordeal is the biggest fucking joke I've ever seen in my time being a dev.
The ms sql dashboard uses a hidden user to access files and stuffs, so I spent 1 hour trying to make the dashboard's explorer to find the database dump file, only to find out that the file need to be owned by the hidden user. So
I spent about 1 hour trying to set the correct owner of the dump file, but to no avail, the explorer still couldn't pick it up. Then I spent another hour to set the correct owner for the containing folder. Finally, a 6 years old answer on SO point out that I should just put the fucking .bak file in their default folder, and voilà, the fucking thing works like a charm.
I can't get why Microsoft has to go out of their way making permission management on their os so fucking convoluted. The fucking usernames are a fucking mess, you have to go through a bunch of form to change just the owner of a file (please don't start me up with that running some command on powershell bullshit, I would rather deal with bad GUI than a badly designed CLI)
If I were to being positive though, Microsoft is actually one of a few tech companies having a good technical decision of moving their shits over Linux. -
With the current economy in its rocky state, it is no surprise that firing levels have reached new highs in the world. According to a recent study conducted in the UK, former managers and workers who lost their lifelong jobs were able to get past their problems simply by keeping a positive attitude in mind. The theory of “mind over matter” is more applicable here than it is in many other situations as workers strive to get back a life they once had. If you have recently lost your job, you may want to focus on getting your spirits up, for instance, you can ask for help with resume writing services such as this one https://resumebros.com/, rather than spiraling into depression. By separating yourself from your former life, you may be able to see better success.
This study was published in “Organization Studies,” a journal that circulates in the UK. Researchers found that people who were able to see their job loss as a new start in life were much more capable of moving on and seeing success again. These patients viewed the change as a way to become self-employed or an excuse to volunteer and better their lives. Taking on a positive step led them to a reduced amount of trauma when compared to those that dwelled on the job loss.
The study consisted of men and women between the ages of 49 and 62 who were once senior workers in their industries with highly successful careers before them. I realize that most of the people reading this will be younger than that, but the theories from the study can resonate in any age group. The men and women in the study all suffered devastation after being laid off, and they coped with that devastation in different ways. Those that were able to separate themselves from their old jobs found it much easier to separate themselves from the pain of the loss.
All of these participants were enrolled in a program for older managers that recently encountered unemployment. The program was government funded and designed to allow out of work individuals to pick up with their lives and start again. The participants that were least successful with the program were the ones that saw their job loss as the end of their working time altogether, as if it was going to be the sole destruction of their lives. They did not handle emergency management well. Their negative attitudes forced them to cope worse than the positive attitudes of other participants.
As a whole, the study aimed to show that coaching, over the course of time, can help unemployed men and women find ways to get past their financial stumbles and get back into the work force again. Those who are willing to embrace the coaching can find themselves back into a state of financial success much faster than those who wallow in their situation. As long as these individuals can see themselves as capable, driven, and intelligent people who happen to be unemployed, they are usually able to make it back to where they need to be in life.
You can apply all of this to your own life and your path toward the future. If you lose a job that you assumed would help you after graduation, move on to something else. You may end up in a better place in the end. I recently lost a huge client of mine that paid me roughly $4,000 a month. I was devastated and a little panic stricken after the loss, but that allowed me to apply for new work with new clients. I now make twice the money from about half the work, all because I wasn’t reaching out to all my opportunities in the past. You may experience the same revelation if you keep a positive attitude. -
So, apparently my client was about to demo the web app that I've just built to many potential users. The audience/users however is an top notch CEO's, and management from various companies.
Oh god, I hate working with them. They just so lousy and perhaps ocd or smtg idk. They literally changed the concept in the middle of development, and event CHANGE THE NAME of the company days before the demo. God, I hate it.
Should I update the repo with dickbutt pics and deployed it asap? I've prepared the branch btw. Its just a matter of click now lol -
Everyone here rants about clients, and as far as I understand frustration, I understand client's side too.
For 2 years I have developed a tool for our company, my manager was responsible for outcome and was directly accountable to company's management, which made him a client for our product. Of course requirements changed many times, he pressured us much, but he is nice guy and gave us knowledge why we had to change things again. We had meetings with him, HRs, PMs and others to gain requirements for features to implement and that made me better understand client's point of view.
My point is that when you work for external companies, you only see changing requirements, pressure, deadlines, etc, but don't think that your work is just a part of process - your client is responsible for your delivery, wants to make good impression on superiors or company needs some feature ASAP. He does not have to know tech stuff, he wants outcome to be good and to be fast and cheap - that is business.
And yes - we had to tell people that X is impossible many times, had to tell Y people how things work over and over. It may seem easier when it is your own company, but note that every single employee knew that you developed that tool and you have answers for his questions. -
Holy shit why does change management have to be such garbage? I've never worked anywhere with a formal change process that felt remotely like it adds value. It seems like it's even WORSE when there's a dedicated change/process team. They just get super edgy and jaded, likely because no one wants to follow their ridiculous requirements, and bitch at people whenever the real world happens and things have to happen "out of band".2
-
Want to change distro and wanted your advice. I'm moving away from Kubuntu mostly due to tons of issues on power management (hibernation either not actually hibernating and depletes battery or not waking up afterwards)
I'm thinking of Pop OS or MXLinux, mostly for checking out something new. Do you have any experience of these? -
When your replacement that your training didn't understand configuration management and just makes changes on one server instead of making a change set and deploying it to all the servers 😭