Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "release day"
I am an indie game developer and I lead a team of 5 trusted individuals. After our latest release, we bought a larger office and decided to expand our team so that we could implement more features in our games and release it in a desirable time period. So I asked everyone to look for individuals that they would like to hire for their respective departments. When the whole list was prepared, I sent out a bunch of job offers for a "training trial period". The idea was that everyone would teach the newbies in their department about how we do stuff and then after a month select those who seem to be the best. Our original team was
-One sound guy(because musician is too mainstream)
I did coding, concept art(and character drawings) and story design, So, I decided to be a "coding mentor"(?).
We planned to recruit
-One sound guy
-One artist (two if we encountered a great artstyle)
When the day finally arrived I decided to hide the fact that I am the founder and decided that there would be a phantom boss so that they wouldn't get stressed or try flattery.
So out of 7, 5 people people came for the "coding trial session". There were 3 guys and 2 girls. My teammate and I started by giving them a brief introduction to the working of our engine and then gave them a few exercises to help them understand it better. Fast forward a few days, and we were teaching them about how we implement multiple languages in our games using Excel. The original text in English is written in the first column and we then send it to translators so that they can easily compare and translate the content side by side such that a column is reserved for each language. We then break it down and convert the whole thing into an engine friendly CSV kind of format. When we concluded, we asked them if they had any questions. So there was this smartass, who could not get over the fact that we were using Excel. The conversation went like this:(almost word to word)
Smartass: "Why would you even use that primitive software? How stupid is that? Why don't you get some skills before teaching us about your shit logic?"
Me:*triggered* "Oh yeah? Well that's how we do stuff here. If you don't like it, you can simply leave."
Smartass: "You don't know who I am, do you? I am friends with the boss of this company. If I wanted I could have all of you fired at whim."
Me:"Oh, is that right?"
Smartass:"Damn right it is. Now that you know who I am, you better treat me with some respect."
Me: "What if I told you that I am not just a coder?"
Smartass:"Considering your lack of skills, I assume that you are also a janitor? What was he thinking? Hiring people like you, he must have been desperate."
Me:"What if I told you that I am the boss?"
Smartass:"Hah! You wish you were."*looks towards my teammate while pointing a thumb at me* "Calling himself the boss, who does he think he is?"
Smartass:*glances back and forth between me and my teammate while looking confused* *realizes* *starts sweating profusely* *looks at me with horror*
Me:"Ha ha ha hah, get out"
Me:"I said, get out"
Smartass:*gathers his stuff and leaves the room*
Me: "Alright, any questions?"*Smiling angrily*
Newcomers: *shake heads furiously*
For the rest of the day nobody tried to bother me. I decided to stop posing as an employee and teaching the newcomers so that I could secretly observe all sessions that took place from now on for events like these. That guy never came back. The good news however, is that the art and music training was going pretty well.
What really intrigues me though is that why do I keep getting caught with these annoying people? It's like I am working in customer support or something.16
I’m a senior dev at a small company that does some consulting. This past October, some really heavy personal situation came up and my job suffered for it. I raised the flag and was very open with my boss about it and both him and my team of 3 understood and were pretty cool with me taking on a smaller load of work while I moved on with some stuff in my life. For a week.
Right after that, I got sent to a client. “One month only, we just want some presence there since it’s such a big client” alright, I guess I can do that. “You’ll be in charge of a team of a few people and help them technically.” Sounds good, I like leading!
So I get here. Let’s talk technical first: from being in a small but interesting project using Xamarin, I’m now looking at Visual Basic code, using Visual Studio 2010. Windows fucking Forms.
The project was made by a single dev for this huge company. She did what she could but as the requirements grew this thing became a behemoth of spaghetti code and User Controls. The other two guys working on the project have been here for a few months and they have very basic experience at the job anyways. The woman that worked on the project for 5 years is now leaving because she can’t take it anymore.
And that’s not the worse of it. It took from October to December for me to get a machine. I literally spent two months reading on my cellphone and just going over my shitty personal situation for 8 hours a day. I complained to everyone I could and nothing really worked.
Then I got a PC! But wait… no domain user. Queue an extra month in which I could see the Windows 7 (yep) log in screen and nothing else. Then, finally! A domain user! I can log in! Just wait 2 extra weeks for us to give your user access to the subversion rep and you’re good to go!
While all of this went on, I didn’t get an access card until a week ago. Every day I had to walk to the reception desk, show my ID and request they call my boss so he could grant me access. 5 months of this, both at the start of the day and after lunch. There was one day in particular, between two holidays, in which no one that could grant me access was at the office. I literally stood there until 11am in which I called my company and told them I was going home.
Now I’ve been actually working for a while, mostly fixing stuff that works like crap and trying to implement functions that should have been finished but aren’t even started. Did I mention this App is in production and being used by the people here? Because it is. Imagine if you will the amount of problems that an application that’s connecting to the production DB can create when it doesn’t even validate if the field should receive numeric values only. Did I mention the DB itself is also a complete mess? Because it is. There’s an “INDEXES” tables in which, I shit you not, the IDs of every other table is stored. There are no Identity fields anywhere, and instead every insert has to go to this INDEXES table, check the last ID of the table we’re working on, then create a new registry in order to give you your new ID. It’s insane.
And, to boot, the new order from above is: We want to split this app in two. You guys will stick with the maintenance of half of it, some other dudes with the other. Still both targeting the same DB and using the same starting point, but each only working on the module that we want them to work in. PostmodernJerk, it’s your job now to prepare the app so that this can work. How? We dunno. Why? Fuck if we care. Kill you? You don’t deserve the swift release of death.
Also I’m starting to get a bit tired of comments that go ‘THIS DOESN’T WORK and ‘I DON’T KNOW WHY WE DO THIS BUT IT HELPS and my personal favorite ‘??????????????????????14
🔥 🔥 Release day! 🔥 🔥
devRantron has reached v1.0.0 today! Here is what you can do with devRantron:
1. @mention someone when posting comments
2. Filters rants with keywords
3. Add emoji when posting rants and comments
4. Get notifications
5. Browse rants, collabs and stories
6. Browser user profiles
7. Post rants
8. Create custom columns of your own choice
Thank you so much to all the contributors, especially @Dacexi for designing the app and @sirwindfield for setting up our build infrastructure.
We plan to add more features in future. For example, searching rants, edit/delete rants or comments and most importantly, themes. Right now it has a dark theme by default.
Thank you to the users to opened issues on GitHub during development. Your feedback has helped a lot.
Whenever you find a bug or want a new feature, please open a new issue on GitHub and we will look into it.
Contributors are always welcome. I am still working on writing a article about the structure of the application, I will let you guys know when that is done. It will be easier for you to contribute when you have a bigger picture.
Relevant collab: https://devrant.io/collabs/420025/46
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 ...
DEALING! ... WITH! ... IDIOTS!
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:
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,
I’m going to fucking kill my boss.
He’s known about how I’ve been writing this fucking ticket (screwdriver followup) for four fucking weeks, and on the last fucking day (yesterday) he tells me it’s not the correct fucking architecture and to rewrite basically all of it using <unknown bullshit> instead, and that i must have it done by today — by this fucking morning — so it can make the release.
WHY THE FUCK DIDN’T YOU TELL ME ABOUT THIS AT ANY POINT IN THE LAST FUCKING MONTH WHILE YOU WERE BUSY NITPICKING MY FUCKING CODE YOU FUCKING CUNT?!31
Before iPads took over the general population of home computing, I used to do house calls to help people with their computers for some extra folding money. One day I get a call from a regular saying that ever since I last worked on his computer it won't stay on.
He says it comes on for a few seconds, then just shuts down. It never did that before I upgraded the RAM.
So I drive over to his house and turn on the computer. He says, "See, it starts fine, but in a few seconds it'll just shut off. Just watch"
The computer boots up without any issues.
He says, "Well, of course it doesn't do it now that you're here!"
I reboot it a few times, boots fine every time. Suddenly I realize what's going on. I say to him, "Hey, why don't you try turning it on for me?"
He says, "What difference will that make?"
I say, "Just trust me, turn it on."
He bends down, presses the power button, looks up at the monitor and watches it boot. But he doesn't release the button! He just keeps holding it down until it shuts off.
"See!" he says, "why does it only do that when I turn it on!"
I then have to explain to him how holding down the power button forces a shutdown.
But, it never did that before I worked on it!16
This week I quit the corporate life in favour of a much smaller company (60 people in total) and i never felt so good.
After 3 years in 2 big corporations, I began to hate coding mainly because of:
- internal political games. It's like living inside House of Cards everyday.
- management and non-tech people choosing tech stacks. Angular 4 + Bootstrap 4 alpha version + AG-Grid + IE11. Ohhh yeah. Not.
- overtime (even if it was paid double). I never did a single minute of OT for fixing something that I caused. I spent days fixing things caused by others and implementing promises that other people made.
- meetings. I spend 50-60% of the time in pointless meetings (I tracked them in certain time intervals) but the workload is same like I was working 8 hours / day.
- working in encapsulated environments without access to internet or with limited access to internet (no GitHub, no StackOverflow etc.)
- continuously changing work scope. Everyday the management wants something new introduced in the current sprint/release and nobody accepts that they have to remove other things from the scope in order to proper implement everything.
- designers that think they are working for Apple and are arguing with things like "but it's just a button! why does it take 2 days to implement?"
- 20 apps installed additionally on my phone (Citrix Receiver, RSA Token, Mobile@Work Suite etc.) just to be able to read my email
- working with outdated IDEs and tools because they have to approve every new version of a software.
- making tickets for anything. Do you want a glass of water? Open a ticket and ask for it.
- KPIs. KPIs everywhere. You don't deserve anything because the KPIs were not accomplished.
The bad part of the above things is that they affect your day-to-day personality even if you don't see it. You become more like a rock with almost 0 feelings and interests.
This is my first written "rant". If anyone is interested, I will post different situations that will explain a lot of the above aspects.13
Why are job postings so bad?
Like, really. Why?
Here's four I found today, plus an interview with a trainwreck from last week.
(And these aren't even the worst I've found lately!)
Ridiculous job posting #1:
* 5 years React and React Native experience -- the initial release of React Native was in May 2013, apparently. ~5.7 years ago.
* Masters degree in computer science.
* Write clean, maintainable code with tests.
* Be social and outgoing.
So: you must have either worked at Facebook or adopted and committed to both React and React Native basically immediately after release. You must also be in academia (with a masters!), and write clean and maintainable code, which... basically doesn't happen in academia. And on top of (and really: despite) all of this, you must also be a social butterfly! Good luck ~
Ridiculous job posting #2:
* "We use Ruby on Rails"
* A few sentences later... "we love functional programming and write only functional code!"
Cue Inigo Montoya.
Ridiculous job posting #3:
* 100% remote! Work from anywhere, any time zone!
* and following that: You must have at least 4 work hours overlap with your coworkers per day.
* two company-wide meetups per quarter! In fancy places like Peru and Tibet! ... TWO PER QUARTER!?
Let me paraphrase: "We like the entire team being remote, together."
Ridiculous job posting #4:
* Actual title: "Developer (noun): Superhero poised to change the world (apply within)"
* Actual excerpt: "We know that headhunters are already beating down your door. All we want is the opportunity to earn our right to keep you every single day."
* Actual excerpt: "But alas. A dark and evil power is upon us. And this… ...is where you enter the story. You will be the Superman who is called upon to hammer the villains back into the abyss from whence they came."
I already applied to this company some time before (...surprisingly...) and found that the founder/boss is both an ex cowboy dev and... more than a bit of a loon. If that last part isn't obvious already? Sheesh. He should go write bad fantasy metal lyrics instead.
* Service offered for free to customers
* PHP fanboy angrily asking only PHP questions despite the stack (Node+Vue) not even freaking including PHP! To be fair, he didn't know anything but PHP... so why (and how) is he working there?
* Actual admission: No testing suite, CI, or QA in place
* Actual admission: Testing sometimes happens in production due to tight deadlines
* Actual admission: Company serves ads and sells personally-identifiable customer information (with affiliate royalties!) to cover expenses
* Actual admission: Not looking for other monetization strategies; simply trying to scale their current break-even approach.
I find more of these every time I look. It's insane.
Why can't people be sane and at least semi-intelligent?18
Dear Indian Companies,
Why do you hire for a role and then say: "We dont have that role but then we want you to grow up to be a Generalist"!
6 years as a build, release and SCM guy at Moto and Nokia back then, I shifted to this big Indian IT corp coz Nokia was shutting down...
A week into my orientation (which is a crazy weirdness inducing ritual in and of itself), the new manager I'm supposed to be working with comes up and says- "Here's the code repo, there are 2 open jQuery issues, fix them!"
I'm not really sure what to say at this point because jQuery is nice and all but thats not who I am.. I'm the infra / DevOps guy. And this is circa 2012 when DevOps as a term was just hotting up...
Tell me to setup a multi-stage pipeline and automated test cycles, I'll do it drunk, but oh no! bug fixing on a jQuery script? Noooo!!!!! I just dont have the chops for it.
So long story short, I get reported to HR for insubordination - Yeah, Go Figure!
Cue: HR meeting
HR: You wont work?
Me: I cant work on jQuery. I am a sysadmin / devops guy... Give me a project that involves those skills and I'll work.
HR: But we hired you to work on jQuery.
Me: But you did not mention jQuery / UI / UX in the job description - Pulls up email and shows JD for interview which says Symbian, Build, Release, Configuration Management but NOT jQuery.
HR: But we want you to be a generalist.
HR: We want an engineer to be able to do anything he is tasked with!
Me: Can I know my last working date here?
And thats how my career at a glorious IT corporation just went poof!
When I think back on it, I feel good that I chose to do what I wanted to get better at and what I loved working on...
And this is the problem with IT companies in our country - They play with people's aspirations and passions... To the point that all thats left of a software engineer is the looking forward to pay day so he can start the damn cycle all over again.11
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 practiseSafeHex14
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?30
Product sending an email: Can I confirm feature A is all set for its release on April 30th?
Me: ... what? no that feature is going out with Feature B, that was pushed back to June because of the server issue.
Product: No, the release plan document says April 30th for this.
Me: ... theres 6 copies of this doc now. Someone is after deleting my comments saying "releasing with Feature B". Oh look heres a link to another doc that says this. See Feb14th "Will go out with Feature B". This is because they are touching the same code, we can't separate them now without re-writing it.
*Me to myself*: Ha product are going to hate this, their shitty processes have finally caught up with them.
Other manager: So heres my plan for the app release x, y, z.
*Me to myself*: ... his plan? this is my app, I mange this. What the hell is this?
*reads email thread*
*Me to myself*: ... oh so product really didn't like my reply, took me off the thread, sent a response to all the other managers asking for alternatives, CC'ing upper management. The same upper management I had a private conversation with yesterday about how shit our product team are.
I'm going to enjoy writing this reply.12
Confession of the day:
1. I work in release mode
2. I work on the main branch only
3. I test on production13
Spent most of the day debugging issues with a new release. Logging tool was saying we were getting HTTP 400’s and 500’s from the backend. Couldn’t figure it out.
Eventually found the backend sometimes sends down successful responses but with statusCode 500 for no reason what so ever. Got so annoyed ... but said the 400’s must be us so can’t blame them for everything.
Turns out backend also sometimes does the opposite. Sends down errors with HTTP 200’s. A junior app Dev was apparently so annoyed that backend wouldn’t fix it, that he wrote code to parse the response, if it contained an error, re-wrote the statusCode to 400 and then passed the response up to the next layer. He never documented it before he left.
Saving the best part for last. Backend says their code is fine, it must be one of the other layers (load balancers, proxies etc) managed by one of the other teams in the company ... we didn’t contact any of these teams, no no no, that would require effort. No we’ve just blamed them privately and that’s that.
1. I wish that people start taking back their device ownership. Right to repair is an extremely important thing. Like that Nexus 6P that I've recently repaired by jamming another battery into it, now it's at 110-ish% health according to AccuBattery. And it cost me.. €10 or so? All the while if I wasn't able to get in there, it would've been a €120 paperweight (and that's not even considering the €300-ish (? Someone please fill me in on that) price it retailed at back in 2015 when it was a flagship).
(edit the so many'th: according to https://express.co.uk/life-style/... the base model was apparently £449 at release, haven't been able to verify it though.. point is, a paperweight at such prices would've been quite a bummer, I mean for me it was even one given that it failed a mere few months after purchase for €120.. €40/m for a phone ain't nothing :/)
Right to repair is an extremely important thing, and the ability to do so shouldn't ever be impeded. Users should become able again to service the devices that they own.
2. I wish that people start caring about their privacy again. Google and Facebook and the likes are large companies, but at the end of the day, that's all they are. Large companies. And they're hungry for your data, not because they're selling it, rather because they're collecting it to an extent which they shouldn't. Over at DDG (https://spreadprivacy.com/duckduckg...) they explain a very much viable alternative revenue model pretty well. Additionally, there's several tools which you can use to limit the amount of data that's being collected about you. These include but are not limited to Firefox, NoScript, ad blockers (I personally use uBlock), a trustworthy VPN (ideally one of your own), and Tor.
3. I wish that software would become less inefficient. It really pains me to see that applications with functionality that could be implemented in a couple of MB at most come at a size of several hundreds of MB. 1% efficiency, even the inefficient as fuck tungsten light bulbs weren't that awful!!! Imagine what could be done with all the hardware we have available nowadays, if every piece of software would be around 80% efficient as is a common norm in electronics. Just looking at Linux which is still in many ways convoluted, modern desktops with a couple hundred MB of RAM usage? You've got it! So why can't OS's like Windows (although I have to say, huge improvements have been made there over the last few years) and browsers like Firefox and Chrome be more like that? I really don't understand.
There's several more wishes I have of course, but those are the most important ones.. hopefully I'll be able to see at least one of them come true during my life.12
This one is about the SJWs in the software development community.
SJWs in general are a bunch of crying assholes.. software developers who are activists in online software dev sites are even worst.
Days ago, my visual studio 2019 RC notified me of a new version so I decided to look at the release notes. It was then when I read the most stupid fix ever included in a change log: "Visual Studio installer welcome image contains offensive element for Chinese."
Do you wanna know what that super offensive element in that image was? A GUY ON A BIKE WEARING A GREEN FUCKING HAT. Apparently in China this means someone's wife or sister is a prostitute.
I clicked on the link to read the actual feedback... and holy shit isn't that Chinese idiot an actual raging cunt.
In his stupid OP he is quoted saying: "this is serious".. FUCK YOU... your entire existence CAN NOT and SHOULD NOT be considered SERIOUS at all you whining dick sucking asshole.
And to make matters worst: a "fix" was released for this within days and immediately made available to everyone.
Motherfucking assholes in Microsoft took this guy's shit seriously and were scared shitless not to offend a snowflake abomination of an excuse of a human being.
Who gives a crap.. if you are offended and you publicly announce it, you are telling everyone that you are a pathetic child who can't control his feelings and wants everyone else to do it for him/her.
Well assholes at Microsoft and the Chinese offended by this shit, removing the green hat is offensive to the Irish people... would you re-instate it? NO YOU WON'T.
Why? well this is easy to answer: Irish people are white. White people, by standards of SJW cucks, can't be offended and reverse racism doesn't exist towards white people.
I hope that Chinese cunt, and if he has a girlfriend which I very much doubt since he had time to make that stupid feedback in the first place, to die slowly, bleeding from every hole and some newly created ones too, while watching his girlfriend get fucked by a high-ranking member of the ruling communist party of his Chinese gov and she is enjoying it and with a big smile on her face just so he can die feeling like the shit human being he is.
People on that feedback thread have urged MS to revert the change, asked MS to direct resources at fixing things that are as trivial as this but yet to be addressed... only MS didn't give a fuck.
Here's the link to the feedback thread for those interested: https://developercommunity.visualstudio.com/...
If that asshole is here on devRant, here me out you raging cunt: I couldn't give a fuck less about you shit feelings or your stupid activism but I do care when idiots like you influence great software (incl. open source projects) just to feel good about yourself, to feel like you've accomplished something this week.
FUCK YOU all the way to hell.
For all other assholes (AKA SJWs) in the software community: software/computers don't give a fuck about your feelings. I'll beat you down to the depths of hell if you come at me with your progressive/equality/political correctness crap any day of the week... you just pick the day and I'm happy to oblige.49
- My client on regular day.
U can manage your tasks by your own. App looks stable and you are doing well.
- Same client when I'm on Vacation
This thing is not working, that thing is not working. This is do or die situation for us. you have to cancel your vacation plans.
- Same client after I come back from vacation in which I wasted precious hours of my vacation time and fixed all the bugs.
I didn't release your changes yet coz I wanted to release it together with you. I was like "THEN WHY THE FUCK YOU RUINED MY VACATION" -_-4
So this chick has been super nice to me for the past few months, and has been trying to push me towards a role in security. She said nothing but wonderful things about it. It’s easy, it’s not much work, it’s relaxing, etc.
I eventually decided I’m burned out enough that something, anything different would be good, and went for it. I’m now officially doing both dev and security. The day I started, she announced that she was leaving the security team and wouldn’t join any other calls. Just flat-out left.
She trained me on doing a security review of this release, which basically amounted to a zoom call where I did all of the work and she directed me on what to do next, ignored everything I said, and treated me like an idiot. It’s apparently an easy release. The work itself? Not difficult, but it’s very involved, very time consuming, and requires a lot of paper trail — copying the same crap to three different places, tagging lots of people, copying their responses and pasting them elsewhere, filing tickets, linking tickets, copying info back and forth to slack, signing off on things, tagging tickets in a specific way, writing up security notes in a very specific format etc. etc. etc. It’s apparently usually very hectic with lots of last-minute changes, devs who simply ignore security requests, etc.
I asked her at the end for a quick writeup because I’m not going to remember everything and we didn’t cover everything that might happen.
Her response: Just remember what you did here, and do it again!
I asked again for her to write up some notes. She said “I would recommend.. you watch the new release’s channel starting Thursday, and then review what we did here, and just do all that again. Oh, and if you have any questions, talk to <security boss> so you get in the habit of asking him instead of me. Okay, bye!”
No handoff doc?
Not willing to answer questions after a day and a half of training?
• She was friendly.
• She pushed me towards security.
• She said the security role was easy and laid-back.
• I eventually accepted.
• She quit the same day.
• The “easy release” took a day and a half of work with her watching, and it has a two-day deadline.
• She treated (and still treats) me like a burden and ignores everything I said or asked.
• The work is anything but laid-back.
• She refuses to spend any extra time on this or write up any notes.
• She refuses to answer any further questions because (quote) “I should get in the habit of asking <security boss> instead of her”
So she smiled, lied, and stabbed me in the back. Now she’s treating me like an annoyance she just wants to go away.
I get that she’s burned out from this, but still, what a fucking bitch. I almost can’t believe she’s acting this way, but I’ve grown to expect it from everyone.
But hey, at least I’m doing something different now, which is what I wanted. The speed at which she showed her true colors, though, holy shit.
“I’m more of a personal motivator than anything,” she says, “and I’m first and foremost a supporter of women developers!” Exactly wrong, every single word of it.
God I hate people like this.21
6 am: 2yo woke up
8:30 am: start work (from home)
11 am: go get breakfast/lunch
11:30 am: work call. while driving. Learn nothing new.
12:00 noon: infuriatingly slow errand
12:30 pm: work call. Learn nothing new.
1 pm: finally get to eat. It's cold. And terrible.
6 pm: 2yo finally goes to sleep (missed nap)
9:20 pm: 2yo wakes up screaming.
9:30 pm: find 3 or 4 tablespoons of leftover tuna in the fridge. No bread.
10:45 pm: I finally finish my work (super-urgent friday-morning release of a next-Wednesday-morning deadline... Yeah idfk.)
11:29 pm: 2yo stops yelling and screaming and goes back to sleep
11:39 pm: finish writing this while in bed.
11:40 pm: Sleep?10
I might start naming our release tags as Kraken-x.x
That way on launch day I can legit order the team to RELEASE THE KRAKEN.2
We called it "Project Hindenburg".
A huge planning and logistics app with hundreds of screens and dozens of interwoven subfunctions, suddenly needed to be able to support multiple time zones. Our project was to retrofit every area that touched on dates or times, to allow the user to specify, and work in, any time zone.
At this point in the story I can tell whether you have had to work with time zones in code. People who haven't are butting in with something that begins, "that should be fairly simple, you just need to..." followed by some irrelevant noise that betrays their ignorance.
People who have worked with time zones are nodding in shared pain, like fellow attendees of a survivors meeting.
You see, programmers tend to think of time zones as arithmetic; in reality, they are confusing, ambiguous, chaotic, and individual. You can't translate everything into a central time zone (eg UTC) because you lose the user's intent. For example, if you schedule a meeting for 3pm and then move it to the next day, you want it at 3pm even if the clocks have changed.
Project Hindenburg ended up using the entire development staff of the company for well over a year. It smashed our release projections to rubble, made an already tangled code base completely unmaintainable, introduced mind-bending edge case bugs that reduced staff across the company to tears (literally), and led to most of the mid-level and senior developers eventually quitting (including me).
I am @fuckfuckityfuck, and that was the story of Project Hindenburg.11
I was offered to work for a startup in August last year. It required building an online platform with video calling capabilities.
I told them it would be on learn and implement basis as I didn't know a lot of the web tech. Learnt all of it and kept implementing side by side.
I was promised a share in the company at formation, but wasn't given the same at the time of formation because of some issues in documents.
Yes, I did delay at times on the delivery date of features on the product. It was my first web app, with no prior experience. I did the entire stack myself from handling servers, domains to the entire front end. All of it was done alone by me.
Later, I also did install a proxy server to expand the platform to a forum on a new server.
And yesterday after a month of no communication from their side, I was told they are scraping the old site for a new one. As I had all the credentials of the servers except the domain registration control, they transferred the domain to a new registrar and pointed it to a new server. I have a last meeting with them. I have decided to never work with them and I know they aren't going to provide me my share as promised.
I'm still in the 3rd year of my college here in India. I flunked two subjects last semester, for the first time in my life. And for 8 months of work, this is the end result of it by being scammed. I love fitness, but my love for this is more and so I did leave all fitness activities for the time. All that work day and night got me nothing of what I expected.
Though, they don't have any of my code or credentials to the server or their user base, they got the new website up very fast.
I had no contract with them. Just did work on the basis of trust. A lesson learnt for sure.
Although, I did learn to create websites completely all alone and I can do that for anyone. I'm happy that I have those skills now.
Since, they are still in the start up phase and they don't have a lot of clients, I'm planning to partner with a trusted person and release my code with a different design and branding. The same idea basically. How does that sound to you guys?
I learned that:
. No matter what happens, never ignore your health for anybody or any reason.
. Never trust in business without a solid security.
. Web is fun.
. Self-learning is the best form of learning.
. Take business as business, don't let anyone cheat you.20
tl;dr; I've worked 117.5h/week for a month because of a project lead that doesn't understand what I do despite countless attempts at explaining
So, once a year I do this large project for a voluntary organization, it takes me about 80h (and this is of course on top of my normal work and voluntary engagement (60-80h/week))
This year, I realized I don't have as much spare time as I used to, so I emailed the project lead several months in advance like "hey, you know that I do all my work on this before the rest of you start working on it, and you know I need you to sit down for about an hour and put together the list of things I need to know to get this done properly. Could you please do that a bit earlier than usual, a week or two extra would make a big difference", they replied "absolutely, no problem!"
Time went by, and about two weeks before I wanted that info I emailed a small reminder. Shit me not, a month later, after a countless amount of reminders I finally get a half finnished version of the list I need, note that this is two weeks before I'm supposed to be done. Which is fine, it's the usual timespan, not what I hoped for as I hoped for an extra two weeks, but not too late either.
Then shit starts to happen
I reply to the list I've gotten with some requests for the project lead to complete some of the information, to which I receive multiple replies with different answers to the same questions, okay, that's fine, I'll just use the last answer.(?)
So, I finnish the thing on time, clocking out on a total of 117.5h of work per week, two weeks in a row. Still fine, it's just two weeks.
I arrive at the release meeting, and is greeted by the project lead handing me two papers with the words "we haven't been able to look through your work yet to make sure it's like we want it, but we sat down yesterday and here's a list of how we want things to be". So I remind them that the thing is supposed to be done that day, and that it takes me 80h to redo, and those papers will require me to redo everything from scratch. To which the project lead responds "but it doesn't have to be finnished until December, right?"
That is not true, not at all, in any way.
See, there are 600 people that depend on this project, and they need, yes, need to be able to access it from the day it's launched every year. That is an absolute requirement.
So after trying to tell this project lead, for multiple years, how much time I devote to this project (for free) every year, during a short period of time, and after trying countless times to explain why it has to be done when the project is released, I became quite irritated.
So, during the two weeks that have passed since, I've been receiving about 200 emails from people wondering why the thing isn't finished yet and why they can't use it. (forwarded every single one of them to the project lead) and have been redoing it all during the past two weeks, from scratch.
I'm finally done, I released it yesterday, finally! I accompanied it with a bitter email to the project lead.
Because seriously, this is the worst respect for both my time and the people that should use the project's time in all of those years I've been doing this. This year, I've been ignored multiple times; they've shat on my work because it didn't live up to their expectations, even tough they never told me their expectations; I've been misinformed etc.
And now it's starting to get to me, this is the first weekend in a month when I've been able to shut down my laptop, sit down, drink a cup of tea, read a fricking book, chat with some friends etc, and most importantly, sleep. Signs of the stress I've had for a month now is starting to remind themselves.
And there's this little though nagging me in the back of my head: if the project lead would've worked for an hour in September I would've had to do half the job I ended up doing, on double the time. I hate realizing that they don't give a shit about my part of this, even tough I do half the work.
Then why do I continue, year after year? Because I feel that those 600 people that benefit from this really deserve it! But why does there have to be a dick project lead in the middle that makes me feel sick working on the thing I love the most!
So, as I'm not really used to ranting like this, i have to add that I really have no point with this rant. Just had to get it off my chest!13
I just recently started my first job as a full stack programmer (still studying at university). I got assigned one month to code a complete front end to our api. Now, 4 days before release day the owner of the company makes breaking changes to the api.
Root has a deadline
I've been working on this CCPA ticket for awhile. Admittedly too long, but I'm new to the codebase and it's fucking sprawling. There has also been a lot of back-and-forth on the ticket.
Anyway, I've had a few blockers, such as how mailers work, the legal copy, where to put a admin-facing link to the dashboard, how to build the jira integration (and its creds), etc.
Quite awhile ago I asked Mr. Product, "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" Awesome. Except he didn't. That day came and went without a peep. So, the next day I ask again: "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" And that day comes and goes, too. I ask again, and you guessed it: "I'll get you the answer today." Repeat ad nauseam.
I also asked about the Jira integration and credentials. I got about the same treatment as above, but with a tiwst: they tell me to talk to / continue to bug Mr. H instead. Except Mr. H had been on PTO for weeks. Every time I ask, they keep referring me to him. A little over two weeks later (yesterday), I finally got a response from him. Yay! I was preoccupied with finishing the dashboard (which wasn't in the original ticket for some reason) so I didn't get a chance to look into it yet. After asking his boss three times, Mr. Product also finally (!!!) gave me a response on the link placement today, too! Though not directly: he discussed it with said boss in a group chat that I'm a part of, but never tagged me or told me directly. So, now I know where to put it (I think), but I have no idea how that area of the site is built (it's dynamic based on domain, login, and roles), so adding it will still be difficult.
The best part:
Today during standup, some lady I've only rarely seen before attends the meeting, doesn't say anything until the very end, and then announces that everything must be code-complete by tomorrow for release, and then promptly signs off.
For fuck's sake. I've had blockers on this for weeks, and now I need to finish it by fucking tonight?
I still don't know how to build the mailers (because translations and formats), nor how to actually send emails using them. I don't know how to modify the footer (dynamic, complex), how to add the admin-facing link (dynamic, complex), nor how build a Jira integration (haven't even looked yet). I just got unblocked on two of these fucking today. and it needs to be done and code reviewed by tomorrow?
No bloody way.
Maybe I should go back to my previous job. 😡19
In our company the estimation is done by customer / PO. Usually, the deadline is set to the day before yesterday after the issue arrived. Always highest prio.
Oh, almost forgot: when a developer does his estimations, the resulting number gets divided by 7 by the PMs. Buffers? Who needs that. QA? Pfff. We are EFFICIENT.
Deadline not met? Bugs in the release? The developer must be bad.8
Got really pissed off writing a stored procedure the other day because the reason behind it is absolute bullshit.
Gave sproc to QA for peer review before release.
QA: why are the variables called @FuckThisShit and @ThisIsBollocks?
Whoops, guess I was more angry than I thought 😂3
The "new guy" just merged master into a release branch.
The build server started bumping versions on the release branch and build "corrupted" installers.
Another developer had to spend a whole day trying to remove all the invalid commits.14
Yes, Mr. Client. It is extremely wise of you to demand changes on release-day. Of course it won't go smoothly, untested and buggy as it will be.
Yesterday (or the day before that depending on your timezone and day-night schedule - this Friday) my OnePlus 6T arrived. After only 2 days of time between placing the order and actually getting the phone, quite impressive!
The DHL guy asked me upon receipt - is it the OnePlus 6T? - Yes it is!! - "An amazing device it is!", he said. And honestly.. he couldn't be more right.
I might be a bit biased on this because after all I did just spend €630 on this phone. But it feels so snappy, high quality, the 8GB of RAM is just.. it blows my mind. But I'm sure that the other reviews did this sort of jazz already.
The things that set this phone apart for me though were the following.
When I get a new phone or tablet, usually the first thing I do is rooting it. This one was no different, about an hour after receipt it was successfully rooted and loaded with Magisk. Currently I'm still in the phase of "getting to know the phone", wherein fuckups are usual. This time again being no different - I removed some apps and apparently did something to it that the search engines - both Google and DuckDuckGo - didn't quite like, as both of them would crash upon application launch. Me in full panic mode of course, desperately trying to find the stock ROM (which doesn't seem to be present in its usual form) or a new set of GApps (which didn't resolve the issue). OnePlus does seem to offer its OTA updates in zip archives though. So I downloaded its latest update (same as what was on the device) and applied it.
That's when the nerdgasm happened.
The "update" was simply a matter of going into the settings, tapping this and that and applying the update. No recovery, no unrooting, no nothing. The update just went like that despite the phone being rooted and just having had TWRP flashed to it. I always wanted this sort of thing, which even the Nexus couldn't offer - having the cake and eating it too. Being able to root the device and muck around with it while still being able to update the device timely without too many hurdles. This fucking thing does it!!!
That is to say, after my initial nerdgasm I did find that it bulldozed over my su binary (effectively unrooting the thing), custom emoji I've set (iOS 12 because fuck Google's most recent emoji set) and some other things. But those are easy to install back, much more so than it would've been to download a whole Android release and dirty flash it, as it was on the Nexus.
Other than that, battery life, dash charging (edit: on that topic, it does remain cool like a cucumber despite getting 15-20W of power jammed into it, quite impressive!), snappiness, the usual jazz.. eh, as I said earlier that's the usual reviewer stuff. But this feature of being able to upgrade the phone while it's modified, that's something which seems to be severely underrated by those.
Oh and during kernel builds, I couldn't quite get the source to work - probably due to my lack of experience with builds of Android kernels - but I did find that this phone actually exposes its kernel config through /proc/config.gz as it should. None of my MediaTek devices do this, so that's something that I found really appealing. Always nice to see when a manufacturer exposes this information to give you a stock sort of config that you can be rest assured will work configuration-wise. And it allows you to see what the stock kernel is actually built with, which again is really nice. I quite like this! It really encourages further development.11
PM: Ok Android, i've reviewed the latest build, you are good to release. Waiting on iOS's build to test.
Me: ... are we not holding all builds until we hear back from backend about that bug?, as we likely have to change something on our side?
PM: Which bug?
Me: ... the only one we discussed yesterday in the team meeting.
PM: How many customers is it affecting?
Me: that we know of, one ... the CEO of our company
PM: oh that one, yeah were not doing that anymore.
Me: WHAT? i've been waiting all day / night to hear back. Why are we not doing this?
PM: ¯\_(ツ)_/¯ ... Everything is too messy at the minute anyway, the release plan is changing every day. Need to keep it back in line.
Me: ... the plan has changed exactly once. We had a plan at the start of last week for the last release, we changed it YESTERDAY to include 2 critical bug fixes. The only issue with the plan changing is nobody telling us these aren't bugs anymore
PM: We can discuss tomorrow in the team meeting.
CEO: oh hey guys, yeah we pulled that bug fix. Its not really a bug, more like a missing feature. No way it will get done before xmas. Going to live with the way it works for now and fix it properly next year.
Me: Ok, fair enough, but we really need to be told these decisions.
CEO: sure, sorry, didn't think anyone was blocked by this. What was the blocker?
Me: ..... you asked me yesterday to get this bug fix in the build ... you asked for the final build to be made today so we can go through the app store review. As we all discussed yesterday, today is kind of the last day we can really do this.
CEO: ok, its late, we can discuss this tomorrow in the team meeting.
Me: ..... ..... ..... ..... sure7
This fucking idiot at work needs to use the pre release version of the iOS app for a training programme, and I swear I have tried my best to best to help him get the app on his phone.
I use Fabric and I chose because of how easy it is to install on a persons phone, but this is the situation so far. Also he lives a couple cities away so I can't do it myself.
I had to waste time waiting for him to call me, beforehand I sent the email, maybe 5 minutes before his call and told him that he needs to find the email, he says oh okay alright well I'll contact you if I have any problems.
I waited a day and sent a follow-up email on what the subject, from email, and even what the email looks like with screenshots.
No response for 3 weeks, and I bring it up in a meeting that I need to help him again.
So it's a literal fucking repeat of the first step, wait for his call, this time close to the end of my work day and he's 30 minutes late for his own fucking schedule, I thought whatever so I say the exact same thing BUT expecting him to get it out of the way while I'm on the phone...
Waited two days and sent him an email today and since I forgot to mention it, I've told him that this is to REGISTER to get the app. Guess what his reply was.
Sorry I can't get it on my phone!
He can't get what a fucking email to open on his phone and follow instructions a small bipedal animal could figure out?
It's literally follow the fucking icon moving they have gifs showing exactly what to click...
So tomorrow I have to somehow not blow up and get this app on his phone, honestly I understand some people can have issues with technical things but I got a guy at work that has trouble with his computer all the time to follow my same instructions without me needing to say more than I'll send an email all you need to do is follow the instructions, he actually enjoyed going through it.
...I swear this guy is just not even bothering, and I made sure I sent it to the right email, also second call he told me he found the email..4
Ah, new feature submission to app store day.
- Tests passing = check!
- App built = check!
- App manually tested = check!
- App store content = check!
- Boilerplate answers to the same 6 questions from PM, every time we go through this = check!
Ready to go baby!!
Breakdown of a casual work day:
50%- typing the same commands over and over again in my terminal and watching things build.
10% - lunch, coffee, attending nature’s calls, staring into space enjoying the headphone music.
10% - googling solutions. Only to find that 3 minutes later you’re reading a wikihow page on how to moonwalk.
10% - talking to fellow humans
10% - typing my password to unlock my computer. Mac users exclusive -typing keychain passwords
5% - contemplating what will happen if you suddenly get up and start dancing. Will you start a flash mob?
5% - random thoughts continue...why am I here? Why am I not partnering with Daft Punk to release a single?8
Attempting to access my colleague's NFS directory on his VM, don't know the VM's IP address, hostname or password:
- 2 minutes with nmap to narrow the possible IPs down to ~30
- Ping each and look for the one with a Dell MAC prefix as the rest of us have been upgraded to Lenovo. Find 2 of these, one for the host and one for the virtual machine.
- Try to SSH to each, the one accepting a connection is the Linux VM
- Attempt login as root with the default password, no dice. Decide it's a lost cause.
- Go to get a cup of tea, walk past his desk.
- PostIt note with his root password 😶
FYI this was all allowed by my manager as he had unpushed critical changes that we needed for the release that day.6
If programmers became musicians we would see
- Wake me up when my build ends, 21 cores, Boulevard of broken CI pipelines by Blue Screen Day
- Smoke from my cabinet by Deep For-Loop
- This is how you debug me by Loopback
- Post-release rhapsody by debug queen
- Another bug in the code by Programmer Floyd
- Smells like bad code by Coders from Botswana
- A place for my code, Cure for the bug by Likin to code at dark
First day of a week long vacation and this series of emails comes in (no I didn’t reply to any of these)
Random new QA: “Why does this 5 year old functionality behave this way?”
(10 minutes later)
QA: Okay I saw your out of office message but I really need to know why this behaves this way or else I’m opening a defect because I don’t believe it should behave this way.
Internal me: Heh that’s great kid but you didn’t make the requirements.
(Another 10 minutes pass)
QA: Defect opened, please resolve this before Wednesday.
Oh the joys of enterprise development, I guess if it’s a big enough deal they’ll actually forward it on to the people I put in my away message. I’d love to see that defect holding up the release when I get back on Monday.10
Really ugly to release it a day after telling AMD about it10
This is a friend's story:
So I've been trying to upload a free sticker pack for iMessage to AppStore for a while now. Why "trying"? because it keeps getting declined for the silliest reasons. It's nothing complex: just a bunch of our company's stickers about dev life. "Stickers for devs, from devs."
The first time Apple has declined the app because of the overall design, the second time it was because we used iMessage in the title. But this time it makes no sense at all. This is the message I got from Apple:
"Your app contains references to test, trial, demo, beta, pre-release or other incomplete content.
Specifically, some of your app’s stickers have “beta” references."
Huh? Check out the pic - one of our dev-related stickers says "still in beta". I guess Apple took that way too literally. Good thing they didn't tell me my app was too buggy because it has a sticker of a bug which says "it's not a bug, it's a feature"...
On second thought, what if AppStore is a modern-day Genie? Maybe I should add a sticker that says "Apple owns me $20 million in stock"? Or just one that says "Apple approves this sticker pack".
#Thisneverhappens_on_googleplay #appstore_make_a_wish #rookout8
Once I've worked in a start-up located in an engineering university "incubator", so we had a lot of engineer-to-be students applying for part-time jobs.
One of these kids was hired by my boss who labeled him "highly technical, very skilled in IT".
One day, while very busy with my own upcoming release, I had to help him finding a bug in his (horrible) code.
Me: Oh, that's easy, you need to load the image from the parent directory
Me: You know how to do this, right? You're 1 exam away from being a computer engineer
Me: Ok, ok, don't worry. Just type "../" right before the path
The guy starts typing, literally, "dotdotslash" into the path.
I immediately stopped him, almost crying. Then, I asked him to go for a walk.
"Don't mind about your bug, I'll take care"3
Let me paint you a picture.
It's the day after code freeze. Code has been branched. It's time once again to verify tickets and run smoke check so we can begin our 3 days of blitz testing before we deploy.
As a team we all have roles to play in this process. Yet, every stinking release it is like pulling teeth to get everyone to take the initiative and verify tickets and run smoke check. Our principled engineer even reached his limit this morning and blew up on everyone.
When you are being paid good money to do a job, you need be an adult, be responsible, step up and do your job!2
So the story start like this, 6 months ago i left my job in a big company for an oportunitiy to work on a new one without all the bureocracy and shit and with better benefits , the first months were wonderful we were using a nice stack of technologies and the team that was assembled was a nice one with smart and hard working people with a few exceptions, but overall very good. One day out of the blue the manager started to presure us to release a project that was on time and wanted us to make extra hours and work on saturdays, sadly we blindly did because we cared for what we were creating, fast forwarding to yesterday, the whole team was called to a meeting and our contracts were terminated without previous advice because the company could not afford to pay us for more time and blahblahblah..., soo here i'm feeling used and sad but with renowed feelings about starting my own business!!20
Normal day on Arch:
Start the PC and update the system because you are a good boy and you have GUI package manager with notifications.
After 1 minute:
Notification: Update for 2 packages
After 3 minutes:
Update for 10 packages.
After 30 minutes:
Update for 154545451564135646817846462684 packages.
Nah just joking but you get the idea.
Thats what i love about Arch. You are up to date with every release of package.8
I have to confess. I'm a distro hopper. I've been a distro hopper ever since last year, and it got me tired. I spend entire hours checking distrowatch, partitioning, setting up hardware and drivers and passwords... I've tried to stop, I swear, but every time I do, there goes a new Solus release, an Openbox Debian based new branch, a forensic floppy disk that I know that I won't ever use for real. I just love assigning swap, fighting with rEFInd icons, testing modules, navigate trough different configs... Oh God, I even set up a virtual OpenBSD, just to see what it can do.
My friends have been telling me to stop, because I don't take care of our relation, that I'm becoming a monster. It's shameful and embarrassing to me when they ask me about my day and I say "you know, installing Manjaro on my desktop, and Lubuntu to that crappy old Asus I have for backups" I think I'm going to lose my head some day, this sickness is driving me straight down to the Slackware pits. I should stop it before I try Ratpoison environment but truth be told; I mean not to stop. I'm a distro hopper.
I ride my way live, unstable and restless.6
Worst dev disaster
I was responsible for allowing users to purchase a six month premium plan in our app for free.
Only way we got to know about this was that a customer himself emailed us saying we are allowing users to get premium access for free.
Thankfully he emailed us within a day of the release and we didn't incur massive losses.5
You know it's going to be an interesting day when you see a release note containing "migration" and "cross your fingers" in the same sentence 😅2
Getting tired of certain co-workers under-delivering. They commit an entire release to one feature and my team plans our release expecting we'll be able to use his changes by the end and then on the last day of development he decides more testing is needed and it won't be finished until next release. Come on, man!
WOOOO!!!!! I BUILT MY FIRST FULLY FUNCTIONAL REACT NATIVE APP! Including the release apk that needs to be signed. Took an entire day and more like an advanced HelloWorld.
But the core functionality works... Though not pretty...3
One day after the release of the website of a medium sized travel company, I made a big mistake by accidentally taking it offline for 1 hour during peak usage (~150 simultaneous visitors).
Turns out deleting the wrong image transformation cache folder in production can hang up the PHP process for taking too much load on regenerating image transformations.
The designer of PHP probably took a big load too while creating the first draft.9
We started a project in January for which I was the sole developer, to automate tedious interaction with a vendor's ticketing system. We have a storage environment with about 400,000 commodity disks attached(for this vendor-- there are other vendors too), in sites around the US and Canada. With a weekly failure rate of about 0.0005%, that means about 200 disks a week need to be replaced.
This work-- hardware investigation through storage appliance frontends, internal ticket creation, external ticket creation, watching the external ticket for updates to include in our internal ticket --was all manual, and for around 200 issues a week, it was done by one guy for two years. He was hopelessly behind. This is all automated now, and this morning, I pushed this automation from dev/test to production.
It feels great to see your work helping people around you.8
I have been creating mods for Skyrim and Fallout for a few years now. One day another modder wanted to make his own game using Unreal Engine 4. I wanted to learn UE4 anyway and the other members have made many mods before, so I joined in.
Well, it turned out I was the only one with a professional programming background (this is where I should have run). The others were all modders who somehow got their shit working. "It works, so it's good enough right?" On top of that UE4 has a visual scripting system called Blueprint. Instead of writing code you connect function blocks with execution lines. Needles to say that spaghetti code gets a whole new meening.
There was no issue board, no concept, no plan what the game should look like. Everyone was just doing whatever he wants and adding tons of gameplay mechanics. Gameplay mechanics that I had to redo because they where not reusable, not maintainable or/and poorly performing.
Coming from a modding background, they wanted to make the game moddable. This was the #1 priority. The game can only load "cooked" assets when it got packaged. So to make modding possible, we needed to include the unpacked project files in the download. This made the download size grow to 20+ GB. 20 GB for a fucking sidescroller. Now, 1 year after release we have one mod online: Our own test mod.
Well we "finished" the game eventually and it got released on Steam. A 20 GB sidescroller for $6.99. It's more like a $2.99 game in my opinion. But instead of lowering the price they increased it to $9.99, because we have spent so much time creating the game. Since that we selled less than 5 more copies. And now they want to make it work on mobile. Guess who will definetly NOT help them.
I have spent ~6 month of my freetime for this project, my rev share is < 100€ and they got me a lot of headaches with all their dumb decisions. Lesson learned. But hey, I am pretty good with UE4 now.4
There was this uni project where the teacher gave us a project to work as a team (the entire class, 17 people). We were meant to use Scrum, and deliver the first release in 1 week.
Turns out no one except me did the work, and this went on in the upcoming sprints, even with me telling the teacher what was going on.
Then, one day, a girl (let's call her Rose) did a commit to git, and I thought that something as going to change...She committed and push a new line at the end of a file.
After 2 months, the project was done. I had done 4k+ lines of Java EE + Hibernate + JSP code (which was very difficult to me) and the grading came out. I got a 7... most of the rest of the class got an 8 or 9. They did nothing.
When questioned by me, teacher said (it was a group project...)
TL;DR: I did the work of 17 people in a university project, got the worst grade of them all.12
warning: huge ass rant, language.
sooo, i’ve been away from too long from here but in my defence i had nothing to rant about.... LOL YOU WISH.
this yeah and part of the last one were a huge dumpster fire. i had terrible and stupid clients, but this time, oooh my. i had the kind of client that puts you in the state of taking drugs to talk with him.
so, basically my job is to use IT to run businesses and part of it is going paperless and bringing intelligence to their DMS. I have 5 years experience on the field, not a senior, but let’s say i do know my way around the job. this involves a lot of windows services, scripts (in vbscript..), powershell tasks, i basically lick Microsoft boots for a living :D
So, huge part of the job is taking “physical” (on paper) processes, taking them to digital, then making them better, once they are used to the system. (nothing secret I work with M-Files)
But this guy. Dude. this is the kind of person that needs to look good towards his boss. it’s the guy that says his words are “cartesian”, with a “precise meaning”. My, Fucking, Ass.
When it comes to structure (folders, flows, trees, whatever) it’s important to think about design, you want to touch it the least at the end. i have to modify workflows and objects countless times. and yes, i had with him a long and extensive design phase. the dude basically says “yes” without reading what’s been done, and then changes mind and asks “who the fuck approved this shit”. the problem comes when you write services to process huge amounts of data to be saved idk, on the FS, and decide that it was wrong, and that it needs to be changed and retroactively. then change it back. then change the process. then make it bigger, so big your staff gets confused as fuck. then you want to impose stuff to your suppliers, which they don’t give a fuck about your requests.
then. THEN. then you come to me, say it’s my fault you might lose your job because release must be pushed further because you didn’t want to lose your fucking pride by admitting that you were wrong about something it’s my fucking expertise, something your 15 years experience accountant also told you, as well as half of your accounting department (the way VAT is treated basically). get fucking fired already. for real. and guess who had to implement something wrong on purpose knowing It would be a fucking nightmare to properly reverse?
without mentioning that some stuff makes so 0 fucking sense, jesus, get wrecked by a horny duck dude. who the fuck needs to store e-mails in public folder for each fucking email in the company? take a cryo backup solution. no, each email that comes into each mailbox needs to be assigned to a working site. without exception. why would an email to order pizzas for the dinner be assigned to a working site?
also, thanks a lot for making me writing a huge service the other way around because you didn’t read my emails. thank you. because how the fuck am i supposed to know that i need X data from Y and not Y from X? (over, over simplifying here). the number of hours spent there , uuugh.
but hey, don’t worry, I hopefully got to spend the morning of my birthday, which was also a day off, helping you out because your staff is basically overwhelmed.
god, they aren’t the brightest stars in the sky, but I can just understand them. poor souls.
but hey besides all this. it would’ve been nice acknowledging the many mistakes done on your side my dear client. no, while being 100% e-mail backed, somehow the error is in our side. (my boss knows it isn’t don’t worry he covers me).
like, a couple of days ago he asked me to solve a huge bug on an invoice validation workflow that must’ve been a bug because was designed in a shitty way. it wasn’t a bug, it was his “cartesian” specification. which i told him btw wasn’t that clever, but never mind.
hopefully client will have a 3 weeks leave. i will enjoy every day of work without him. every hour.
i will do excel macros for what I care.
once already my boss stepped in to calm down the dude, shit was going south and I was going to basically fire myself because if a phone call I finally didn’t do. i was ready to insult the shit out of his face with his boss. god thank my boss for that.
sorry for the slightly long rant
have a good day y’all2
After three hours of emailing with a customer I can confirm that programmers are the worst customers.
Customer: We've found a bug in the system... <details>
Me: Thank you for letting us know, a ticket has been created and the issue is most likely to be fixed in the next release.
Customer: Please grant me UPDATE privileges in the live(!) database so I can fix it myself
Me: I cannot allow that. You have to use the client software for maintaining your data.
Customer: No, I don't want to spend my day clicking. I want to write queries.
We didn't reply to the last one yet...
If we give him access, then I would charge them at least 3x for fixing issues caused by him.1
MacRant: was waiting for a new macbook pro release for awhile to upgrade by old laptop (not mac). Watched the release, had very mixed feeling about it, but still ordered (clinching my teeth and saying sorry to my wallet). Next day looked into alternatives, cacelled the orded to have more time to think, now deciding... I mean cmon, no latest 7th gen processor, no 32gb memory option, 2gb video is ok for non gaming, the whole "big" thing is TouchBar that I DON'T F* NEED. They should drop the "Pro" and name it "Fancy Strip".
So I looked into alternatives, and Dell XPS 15 with maxed spect is twice as juicier, and has not a touch bar, but the whole touch freakin 4k screen, for the less price :/
Just wanted to rant about the new macbook's spec and price and see what you all think of macbook vs alternatives?16
PM: "so I need you to deploy this new application to some new server. The deadline is in 2 days"
Me: "yeah I can do that, is the application ready and has been tested? Have the servers been set up properly by the IT guy?"
PM: "yep, all is set up and good"
Couple of hours later I try locating the server, only to find it didn't exist.
Me: "the server you mentioned earlier, is doesn't appear to exist?"
PM: "it definitely does, IT guy said he set it all up"
I dig around a little more, but this server definitely doesn't exist. The IT guy was on holiday for a week, so we had to wait for him to get back; delaying the release. On the morning the IT guy got back,
PM: " I though you said you set up that server for the application, we've had to delay it now!"
IT: "I just set it up this morning. Like I said in the email to you before I Ieft, I will have to do it first thing when I get back after holiday"
Turns out the PM had asked the IT guy to spin up the server, but never bothered to read his response. Assuming it was done he told the client he'd have it deployed in a couple of days.
The application was deployed successfully later that day, but not before the PM blamed us two for its delay.1
There is this minor problem that won't affect any user in thousand years...
But then a developer notices it one day before release
Agreed to work on a mobile app project on Android. No contract signed, just was given what the client wanted from this sub-contractor.
No specific details given, had to figure out a lot of the minute details of how they wanted the application to behave. We would deliver a working part of the product before getting a % of the pay. We charged $30 /hr on a mobile app, low as heck.
It was me and another developer, neither of us had any contact with the clients to ask questions, all questions had to go through the sub-contractor. Many arguments and months later we find that what they're asking for only a phone manufacturer can do. Sub-contractor blames us for not doing our "research" when she/he was the only one able to contact the client to get requirements.
Sub-contractor wanted us to refund money. We declined but offered solutions.
Sub-contractor goes to client and manages to get approval of what we were able to do. Finally a light in this dark tunnel spanning 7 months.
On the day of releasing to the client the finished app, we get notification from Google that the app won't be published due to a recent policy change that came into effect in January. WTF.
Go back to sub-contractor, tell the bad news. Once again he/she says it's our fault for not doing the "research". Yeah as if we knew what Google is going to change. Asks for paid money back. We refuse.
We lastly suggested that we remove what Google wants removed on the app and release it that way.
We had billed 300 hours cumulative divided among 3 people (including the sub-contractor who didn't appear to do anything), and just 2 months of development. It's been 7 months and we were only paid for 240 hours, the rest was unpaid, and the sub-contractor still wants to make us give it back. /rant13
Fuck that shit once again. Spent an entire day releasing micro-patches because nobody listened to me, because "I am a developer but I don't do that full time".
Because you might think that I didn't fuck my ass with a giant bottle-shaped dildo studying development to get this fucking place maybe?
And what, I was right, once again. Because maybe I know the fucking project I work in, linked to the fucking product I'm certified for, you dumb cumfilled assface.
For those that doesn't know it, i do manage, maintain, develop stuff on our ECM infrastructure for our clients. I do basically everything as we have few clients and are a small company we can do this that way.
Anyway, had to release "urgently" 3 fucking features to a custom module to export stuff from the ECM to a client's ERP system. Tests? No time for this, don't lose time on this. I smell the "why didn't you test?" in two days. I fucking smell it.
Plus, the client is a fucking retarded mess. The kind of guy that is unable to check his previous e-mails and asks again the same thing, four times. Should I do a fucking tutorial on how to fucking use a fucking search bar? And you want to be informed on the technical details about the features? Come on, I have to explain you how to do your fucking CFO job.
And if it wasn't enough, My boss replied to the client while I was on holiday to explicitely tell the client that I'm the only one that can take care of that. That gives us a very professional image, doesn't it? And when I asked to train someone to at least do the administration job when I'm away, it's always a "we'll check that, we need that" but then nothing.
Anyway fuck it. if I resign I will laugh. 2 months to train someone else and get them on the export modules (which are commented and documented) in a company where in the office I'm possibly the only developer (we have one in the second office but he's a web developer).
Hopefully I'm at a bar drinking a fucking beer while continuing my golang "getting started" project. That's the only thing that makes me happy of coming back from holiday
p.s.: I want the fucking raven, make me dream.7
My first project at the job was implenting a website, designed by the same company we mostly worked with.
It was very stressful because half of the 2 months calculated for finishing the project, these genius designers needed for their design. Until then, I had almost no tasks to do...
When the designs finally came, I worked on it and two weeks later was a meeting for review and to decide about some details.
These fuckers then concluded, that the whole design did not fit the page and that they would rework it.
Two weeks later, on the planned release day, we finally received it. A completely fucking different design! Wow!
My boss was pretty angry and so was I. We had to move the release 4 weeks ahead, the client was pissed like a stinking hobo and it needed a lot of convincing to keep that client...
It's fucking nerve-wracking as well that we always have to wait in most projects for weeks for clients or designers to add the content before we can publish a website.
They don't seem to care if they have 2 months or 2 weeks, we never were able to release one single project on time, because of these lazy fuckers...3
This is my first post. I felt like if I'm wrote this I'll just be a big fat crybaby, but i need to release this pressure from me.
I've been pretty burnt out past 6 month.
So a little bit backstory here, I've come from broken family, and currently on my 7th semester of college. But I've been part of small startup as mobile apps developer for a year and a half now.
6 month ago, it just a year of recovery from a toxic relationship that basically ruins my college life. I have really bad GPA (bad score for being absent from classes), basically no friends, and a barely passable (or even bad) skill in Android Dev. Then I got new girlfriend that really supportive for me. But after 2 months, her parents ask me if I would marry her or not. because if not, I have to broke up with her (We're in Indonesia and both of us is Muslim, so outside marriage relationship is kinda in "grey area" depend on who you ask). So I have to choose to marry her or not, and I choose the marriage. I think I have enough saving and just enough income to support both of us.
Then it's been a downward spiral from there.
The startup that I've been working on were in a pretty bad shape. I've been underpaid since the beginning (and that's not really a problem for me at that time, that's my choice and I blame no one) but abysmal growth and some miss management force us to scale back and makes me basically in a non-paying jobs.
So I take college break for a semester and been trying to find projects here and there for marriage savings, but because the weak employee protection here, lots of the projects I have completed have yet to pay the fee (even until today). And even if they paid me, most of it were really low paying jobs (we're talking $200 per 3 weeks project here, to be fair, for our average GDP, it's not bottom-low).
And the deadline is approaching, our marriage date is settled in (very) early January 2019, and i've been in this "not yet graduated but needs job" limbo. Most of employer here still has the old "Degree Based" Job specs, and not "Skill Based" one. so because de-jure I've still a "College Student" no Job listing is willing to take me in. I've apply to almost 30 Job Listing and just get interview once, and still failed because I can't move to the company area, too far and have too expensive living cost vs the salary ($300 living cost vs $450 salary, while i need to give money to my girlfriend back home for a living).
So I switch my direction to Competitions with Extra Job offering as a Bonus, and I've been pretty close to winning one, held by CIMB Bank, but still failed. It's little bit better now because CIMB came interested with me but there is red flag which I need to graduate with decent GPA before July 2019, and in current GPA? it's practically impossible.
Can it getting worse? oh it can. Remember I come from broken home family? it's inherently hard to keeps communication with both of my parents that to this day still despise each other. And while my mother is still supportive to my marriage, my father isn't. He even basically disowned me last week because my one-sided decision to marry my girlfriend, and blame my mother for being the "bad influence" for me.
And now, today, December 16th, and I'm still in this weird Limbo and have nowhere to go. with $0 in my pocket (have spent all of my savings for marriage preparation) And our marriage is approaching. I almost given up.23
I dont work weekends ever. And I dont bring my work home with me, once I finish for the day, Im finished. Even if there is a deadline looming or something is due for a weekend release. I will only work when Im in the office. And I wont work extra unpaid hours. All that does is create unrealistic expectations from your employer and clients. I did it once and learned that there was no point and I could have just gone home and it would have been fine. Im never doing it again.3
I am calling this a premonition rant, of more rants to come.
I have a feeling in my bones.
We have a newly acquired fat cat customer with bucks to blow who we have done some digital work for already and swag bag of marketing perkiness.
I will call the CEO of this whale "The Porcupine"
The Porcupine has a business degree and industry experience, nothing to do with websites or applications.
It claims to be a visual perfectionist yet never delivers an overall coherent review.
It likes to fixate on minor brand style differences in websites and apps we have built.
The Porcupine seems to be always busy with policy and legal and other things rather than participating in their own projects.
Procrastination on feedback or reviews until the day before release is common.
Many overtime hours worked, not a sliver of thanks. The haughty attitude indicative of somebody who thinks web development is like desktop publishing.
"It's just code" in response to a crash production server change they were warned was a risk that borked all of our responsive templates and took 3 hours to fix.
Their entire brand is shades of pea green, grey and lime. No serif fonts because they are suck. Arial and Helvetica are boss.
Anyway. They pay on time and the cost estimates for all the upcoming work are juicy.
We have shitloads going on for an upcoming hard date conference and everything is already compressing.
Therefore I can already smell doom and feel those porcupine quill getting closer to my ass as I beg their AD today if we have any feedback on the 10 or so project reviews yet?
When I got the current job I started to work on an Android app that a coworker which left the company was doing.
The app was ready at about 40% and was barely usable, it lacked a lot of features and multithreading so with a huge amount of data it used to crash (Android doesn't allow you to make the app freeze for more than 2-3 seconds, it considers that the app is not responding anymore).
After a week or two the work to do was still huge, but one day one of my coworkers came in and ask me if I was able to release a beta for a client the same day... Unexpected deadline.
I spent 8 hour fixing as many bugs as possible and adding multithreading in the most weak parts.
I did it but it was so stressful and the result wasn't even great. In fact I finished the stable version 7 months later.4
Has been a long time since I'm appreciating working with GRPC.
Amazingly fast and full-featured protocol! No complaints at all.
Although I felt something was missing...
Back in the days of HTTP, we were all given very simple tools for making requests to verify behaviours and data of any of our HTTP endpoints, tools like curl, postman, wget and so on...
This toolset gives us definitely a nice and quick way to explore our HTTP services, debug them when necessary and be efficient.
This is probably what I miss the most from HTTP.
When you want to debug a remote endpoint with GRPC, you need to actually write a client by hand (in any of the supported language) then run it.
There are alternatives in the open source world, but those wants you to either configure the server to support Reflection or add a proxy in front of your services to be able to query them in a simpler way.
This is not how things work in 2018 almost 2019.
We want simple, quick and efficient tools that make our life easier and having problems more under control.
I'm a developer my self and I feel this on my skin every day. I don't want to change my server or add an infrastructure component for the simple reason of being able to query it in a simpler way!
However, This exact problem has been solved many times from HTTP or other protocols, so we should do something about our beloved GRPC.
Fine! I've told to my self. Let's fix this.
A few weeks later...
I'm glad to announce the first Release of BloomRPC - The first GRPC Client GUI that is nice and simple,
It allows to query and explore your GRPC services with just a couple of clicks without any additional modification to what you have running right now! Just install the client and start making requests.
It has been built with the Electron technology so its a desktop app and it supports the 3 major platforms, Mac, Linux, Windows.
Check out the repository on GitHub: https://github.com/uw-labs/bloomrpc
This is the first step towards the goal of having a simple and efficient way of querying GRPC services!
Keep in mind that It is in its first release, so improvements will follow along with future releases.
Your feedback and contributions are very welcome.
If you have the same frustration with GRPC I hope BloomRPC will make you a bit happier!3
So, it's time to fucking rant!
Location: A small startup where direct contact with C-Level members is frequent.
A while back we had a customer using our SaaS product who had gripes about the way it worked.
He contacted our CEO and made a bunch of claims based on bad assumptions.
In the end, he wanted all images removed from his site. I was pulled aside by the CEO and asked if I could handle this for him and make a new screen for them without images.
So I did. I tried to discuss and get deeper into the problem by saying "this seems like a symptom of a problem and not the actual problem. What do you think?" He responded with "That was his request so it must be the problem if it won't take long then let's fix it for him.
- a week later
The problem is fixed and in the wild. No more images. Now he has another request :/
He does not like the pagination on his site. He says " I shouldn't have to click a button when I scroll so I want the be able to scroll and see all my products!"
This time the CEO asks me if this can easily be done and I take him aside and say "no, this will be a big change to our system and will need to be discussed with the team."
The main point I make is that we should go down and spend some time with this customer to find out what the real problem is.
After a half hour of discussion about the real issue he decided to bring in the CTO.
In the end, we implemented infinite scroll, dropping our current product building tasks to service one customer (yeah, it's a bad scene). But we got infinite scroll built and shipped.
- 2 Weeks later
This time he demands that infinite scroll isn't good enough. "If I scroll fast then I have to wait for them to load, they should all load at once!"
This time I have had enough. I can see the CEO is coming over to me to as me how much work is in this. I tell him there are 3 things I have to say...
1. I'm going to implement exactly what he asked by the end of the day.
2. We will only release it to him because it is going to be a shit-show loading everything at once, the load times will be mental!
3. We should fire this customer, right now.
So, I built it. Customer hated it (of course, who the fuck wants to wait 30s for loading. That's basically a lifetime). We changed it back and he was still mad.
- 2 weeks later
Customer leaves. Good riddance.
- sometime later
I am in the customer's store on a road trip. I get a feel for how their store works and they have a different system for making things operate.
It turns out that they did not know what the real problem was. They actually needed a completely different system (from a UX perspective) for accessing their data.
To top it all off, the system would have taken less time to build than the shitty fixes we made over weeks of work. FFS
I guess the moral of the rant is to find the problem, not a symptom of the problem.2
Got fucking graduated, a whole day wasted, fucking ass hole literally trapped us cannot even got to release some water.
To get a fucking degree you have to bear with fucking teacher who don't shit about privacy, security.
And answering fucking theroy questions which has fucking string Match with the fucking textbook paragraph.
Do a fucking report which will be fucking 100 pages and take fucking 2 copy (10 rough copies)
The register to fucking leaky placement centre. Who leak you data to all hiring companies as well as your co-students.
Then fucking attend the fucking ass hole ceremony where some old guy lectures for fucking long time about some civil infrastructure , road and other stuff.
And I have not mentioned other fucking ass hole slutty stuff.i don't know fucking until what time I can hold on.
This Fucked the fuck out of me10
I had code waiting in review for ten days, blocking other work. On the eleventh day, the final reviewer (who was standing behind me as I wrote it) says "I'm not sure that I agree with the design, here."
I get you, man, I can re-write the algorithm, but I am so not in that context anymore and you've just delayed release of the feature by at least a week. Ugggh.5
//Worst day ever.
Everything just broke today. I'm making an app for a website. Of course the site is down and it may not get back up, rendering my work useless.
I wanted to play a game this morning to relax...aaand servers down.
Later I updated the amd drivers on my laptop and now everything is just so slow that I can't use it so I'll be reinstaling windows tomorrow.
And stupid me I thought I could release the app this week.4
Multiple all-nighters (all day every day):
1) Working, studying and developing an Android game as pet project. Last few weeks before release (yup, I've set a deadline for a pet project) my day consisted of uni, work, more work and 4-5h sleep.
2) Having worked on my thesis (Development of a CPU/SoC + Firmware + Linux kernel) and actual paid work. In parallel. Because, you know, I need to eat and pay rent and shit while I'm writing the thesis. And debts at that moment were not an option (still made some). All-day all-night all-week. After submitting the thesis I went to the doc and enjoyed 2 weeks of doing nothing.
3) Sometimes on my main open-source project after regular work hours. If I have the motivation and ideas that I want to check out or prove it gets late/early too fast.
Next week I'm starting a new job and I kinda wanted to give you guys an insight into my dev career over the last four years. Hopefully it can give some people some insight into how a career can grow unexpectedly.
While I was finishing up my studies (AI) I decided to talk to one of these recruiters and see what kind of jobs I could get as soon as I would be done. The recruiter immediately found this job with a Java consultancy company that also had a training aspect on the side (four hours of training a week).
In this job I learned a lot about many things. I learned about Spring framework, clean code, cloud deployment, build pipelines, Microservices, message brokers and lots more.
As this was a consultancy company, I was placed at different companies. During my time here I worked on two different projects.
The first was a Microservices project about road traffic data. The company was a mess, and I learned a lot about company politics. I think I never saw anything I built really released in my 16 months there.
I also had to drive 200km every day for this job, which just killed me. And after far too long I was finally moved to the second company, which was much closer.
The second company was a fintech startup funded by a bank. Everything was so much better than the traffic company. There was a very structured release schedule, with a pretty okay scrum implementation. Every team had their own development environment on aws which worked amazingly. I had a lot of fun at this job, with many cool colleagues. And all the smart people around me taught me even more about everything related to working in software engineering.
I quit my job at the consultancy company, and with that at the fintech place, because I got an opportunity I couldn't refuse. My brother was working for Jordan Belfort, the Wolf of Wallstreet, and he said they needed a developer to build a learning platform. So I packed my bags and flew to LA.
The office was just a villa on the beach, next to Jordan's house. The company was quite small and there were actually no real developers. There was a guy who claimed to be the cto of the company, but he actually only knew how to do WordPress and no one had named him cto, which was very interesting.
So I sat down with Jordan and we talked about the platform he wanted to build. I explained how the things he wanted would eventually not be able with WordPress and we needed to really start building software and become a software development company. He agreed and I was set to designing a first iteration of the platform.
Before I knew it I was building the platform part by part, adding features everywhere, setting up analytics, setting up payment flows, monitoring, connecting to Salesforce, setting up build pipelines and setting up the whole aws environment. I had to do everything from frontend to the backest of backends. Luckily I could grow my team a tiny bit after a while, until we were with four. But the other three were still very junior, so I also got the task of training them next to developing.
Still I learned a lot and there's so much more to tell about my time at this company, but let's move forward a bit.
Eventually I had to go back to the Netherlands because of reasons. I still worked a bit for them from over here, but the fun of it was gone without my colleagues around me, so I quit last September.
I noticed I was all burned out, had worked far too much, so I decided to take a few months off and figure out what I wanted to do with my life. I even wondered whether I wanted to stay in programming.
Fast forward to last few weeks. I figured out I actually did want to work in software still, but now I would focus on getting the right working circumstances. No more driving 3 hours every day, no more working 12 hours every day. Just work close to home and find a company with the right values.
So I started sending out resumes and I gave one recruiter the chance to arrange some interviews too. I spoke to 7 companies in the span of one week. And they were all very interested. Eventually I narrowed it down to 2 companies and asked them for offers. And the company that actually had my preference offered me significantly more than I asked for, which settled the deal.
So tomorrow I'm officially signing with them, and starting next week I'll be developing in Kotlin, diving into functional programming and running our code in serverless environments. I'm very excited!
i was hired to join a team of old devs (40+) in an unnamed European country "yay goodbye 3rd world it's time to enjoy the quality of life" assist with enhancing already existing software and creating new solutions.
prior to my arrival most things were slow and super buggy, looking at the code base it shouldn't be a surprise, amateur hour everyone, logic implemented that is not needed, comment driven development, last time code review was done back in 1996. lots of anti patterns.
i swear there is a for loop that does nothing but it loops through a 100+ elements list, trunk based development with tfs since git is "not really needed"
test projects are not there.
>enter me an educated fool, with genuine passion for the craft and somehow a decent amount of knowledge.
>spent the last year fixing stuff educating people on principles and qualities.
> countless hours of training and explaining. team is showing cooperation, a new requirement comes in to develop with react.
> tear my ass creating reusable shit and self explanatory code with proper naming etc using git with feature branching, monday is first deployment day.
> today a colleague was working on an item submit a pull request and self approve it
> look at the code..... WTF the dumb fuck copied and pasted the whole code from different kendo components but somehow managed to refractor the name to test component, commented out all the code that he didn't use did the api call directly from the component, has 2 useeffects that depends on the a fucking text box changes for no reason, no redux implementation, the acceptance criteria is not achieved, and it doesn't work it just look right.
> first world country shit cannot scold, cannot complain, lead by example.
>asked him why you did this, the response was yeah probably i shouldn't have done that, i really didn't understand anything in the training but didn't want to waste time!!!!
> rest of the team created a different styled disaster with different flavors they don't even name their shit the same way.
fellow developers I'm stuck in a spaceship with a bunch of imposters, seriously i never cried in my entire life now I'm teary and on the verge of a break down.
talk with management "improving needs time" and offers me to join a yoga session to release the stress as if reaching nirvana would deliver shit on monday.
i really don't know what do is this a rant, is this a cry for help, I'm not sure, any advice is welcomed.9
Fuck fridays, fuck releases and especially s big fuck you to releases to productions on fridays.
So to give a little back story to my nightmare, we are working on a big system that are pretty complex for a big client. So 2 days ago we did get new feature requests/change how some of main things works (that would require big api/backend changes) So i am the app guy, so the chances were not that big for me, but due to the api changes i could first test it today, that started out to be fine everything worked, but like around 2 hours before our work day ended, i had to implement very simple thing. But everything went wrong, So i had to make some quick hacks, due to how i had designed it earlier. So the last 2 hours were a fight with errors in the api, and me getting pissed asf. 15 min overtime, the endpoint finally works as it should. At least it works now, i know everything else for that feature should work execpt from one option that i didnt get to test. (Its 50/50 if that part works). But i had to release it and have it ready for monday. So fuck me, now i need weekend and some time to relax.
I am sorry for my sins, for pushing some untested code :( (but the api is out of my hands)2
Literally spent the whole day debugging a race condition that only showed up in the release build. Resolved it with a Sleep(0).
Where is my beer.5
My current job at the release & deploy mgmt team:
Basically this is the "theoretically sound flow":
* devs shit code and build stuff => if all tests in pipeline are green, it's eligible for promotion
* devs fill in desired version number build inside an excel sheet, we take this version number and deploy said version into a higher environment
* we deploy all the thingies and we just do ONE spec run for the entire environment
* we validate, and then go home
In the real world however:
* devs build shit and the tests are failed/unstable ===> disable test in the pipeline
* devs write down a version umber but since they disabled the tests they realize it's not working because they forgot thing XYZ, and want us to deploy another version of said application after code-freeze deadline
* deployments fail because said developers don't know jack shit about flyway database migrations, they always fail, we have to point them out where they'd go wrong, we even gave them the tooling to use to check such schema's, but they never use it
* a deploy fails, we send feedback, they request a NEW version, with the same bug still in it, because working with git is waaaaay too progressive
* We enable all the tests again (we basically regenerate all the pipeline jobs) And it turns out some devs have manually modified the pipelines, causing the build/deploy process to fail. We urged Mgmt to seal off the jenkins for devs since we're dealing with this fucking nonsense the whole time, but noooooo , devs are "smart persons that are supposed to have sense of responsibility"...yeah FUCK THAT
* Even after new versions received after deadline, the application still ain't green... What happens is basically doing it all over again the next day...
This is basically what happens when you:=
* have nos tandards and rules inr egards to conventions
* have very poor solution-ed work flow processes that have "grown organically"
* have management that is way too permissive in allowing breaking stuff and pleasing other "team leader" asscracks...
* have a very bad user/rights mgmt on LDAP side (which unfortunately we cannot do anything about it, because that is in the ownership of some dinosaur fossil that strangely enough is alive and walks around in here... If you ask/propose solutions that person goes into sulking mode. He (correctly) fears his only reason for existence (LDAP) will be gone if someone dares to touch it...
This is a government agency mind you!
More and more thinking daily that i really don't want to go to office and make a ton of money.
So the only motivation right now is..the money, which i find abhorrent.
And also more stuff, but now that i am writing this down makes me really really sad. I don't want to feel sad, so i stop being sad and feel awesome instead.1
Hmm...recently I've seen an increase in the idea of raising security awareness at a user level...but really now , it gets me thinking , why not raise security awareness at a coding level ? Just having one guy do encryption and encoding most certainly isn't enough for an app to be considered secure . In this day an age where most apps are web based and even open source some of them , I think that first of all it should be our duty to protect the customer/consumer rather than make him protect himself . Most of everyone knows how to get user input from the UI but how many out here actually think that the normal dummy user might actually type unintentional malicious code which would break the app or give him access to something he shouldn't be allowed into ? I've seen very few developers/software architects/engineers actually take the blame for insecure code . I've seen people build apps starting on an unacceptable idea security wise and then in the end thinking of patching in filters , encryptions , encodings , tokens and days before release realise that their app is half broken because they didn't start the whole project in a more secure way for the user .
Just my two cents...we as devs should be more aware of coding in a way that makes apps more secure from and for the user rather than saying that we had some epic mythical hackers pull all the user tables that also contained unhashed unencrypted passwords by using magix . It certainly isn't magic , it's just our bad coding that lets outside code interact with our own code .
Yesterday was release day for a project, never been too nervous like I am now, why? Because of the amount of chaos in this project, I cannot predict the behavior of the system, anything might just break T_T5
Dev gets told in the morning there's an emergency fix needed due to a critical issue with the app that's in production and that the fix needs to be in the release that will be cut this evening.
Dev drops everything he/she is working on, works frantically all day to get it in 2 minutes before the deadline.
Release gets cut.
Next day release gets trashed because some exec did not like the size of the font used in some obscure part of the app even though it's been this way for 6 months...1
Why the fuck these managers can’t understand that you can’t build a full blown system with in a week. After building a demo driven application to show the client you can tell the client we are fucking ready to launch the damn thing . I FUCKING MENTIONED BEFORE GOING TO THE MEETING ITS NOT RELEASE READY GOD DAMN IT.
Now when I say we can’t launch this app we need to fix things . THE FUCKING MANAGER HAS THE GUTS TO SAY “one day is enough to fix the issues right ? Shouldn’t be a big deal for you to fix this” .
Kill me now 🤬🤬🤬🤬🤬7
Today is release day...big sprint (complete UI redesign) ... Already 1 and half month late ... fingers crossed (specially for in house clients)3
I don't understand this day to day windows bashing. Been using Win10 since release and didn't had a single problem.10
I am either the most responsible or the biggest idiot in the team
TODAY.. oh boy.. fuck today. Like literally tuck this day and this shit. We ware doing releases for an integration we ware working on for ~1.5 months ... Aaand things went wrong - I guess we didn't make a sacrifice to the release gods - finally at around 8:30pm, being pretty much the last in the whole fucking office after a few last minute fixes I get my skinny ass on my way to grab a Corona and enjoy the public holiday tomorrow ...
Aaaaand I wish that was it, it turns out some things ware forgotten by.. well everyone aaaaand shit doesn't work (ofc ffs, why should it).. I see a slack notif and the feeling of dread gets me a couple of messages back I promise I'll be there in a couple of hours tops..and here I am ranting doing shit covering my desk with "food", hating my fucking self...
Me and the Head of Dev are literally the only ones working ATM...
A project I've been a part of for two years finally exited beta this morning! It was so exciting watching it grow and and change into what it is today. The project in question is Storj.io. A decentralized cloud storage. When I first joined the project, literally all it did was create junk files to take up space. Now it is a thriving network storinf over a petabyte of data without the possibility of it ever going offline.8
Rant against a new religion: the Agile Religion, started by the Agile Manifesto: https://agilemanifesto.org
This manifesto is as ambiguous and open to interpretation as any religious text. You might as well get advice from a psychic. If you succeed, you'll start believing in them more. If you don't, then they'll say you misinterpreted them. The whole manifesto just re-states the obvious with grandiloquent words.
For example: "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale." What does this say REALLY? To me, it just says "deliver software, try to be fast." Great, thanks for re-writing my job description. Of course, some features take "a couple of weeks", while others "a couple of months". Again, thanks for re-stating the obvious.
"Value *working software* over _comprehensive documentation_"
Result => PHP
"Welcome changing requirements, even late in development."
I'm okay with this one as long as the managers also `welcome the devs changing deadlines, even the night before the release date`. We're not slaves; we're more like architects. If you change the plans for the building, we're gonna have to demolish part of what we've already built and re-construct. I'm not gonna spring just because you change your mind like a girl changes clothes.
"Business people and developers must work together daily throughout the project."
Daily? Fine. ONCE a day, sure. But this doesn't give you the right to breathe down my neck or break my concentration by calling me every couple of mintues.
"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."
- Not if you could've summed up that meeting in an email.
- Whereas that might be true for clarity, write that down.
"Working software is the primary measure of progress."
... is how you get a tech debt the size of the US's.
"The sponsors, developers, and users should be able to maintain a constant pace indefinitely."
Have you heard of vacations?
"Continuous attention to technical excellence and good design enhances agility."
So you're telling us "do good". Again, thank you for re-writing my job description.
It's just a bunch of fancy babble, more suitable in poetry than in the dev world. It doesn't provide any scientific evidence for any of its supposed suggestions, so I just won't use it4
Story && rant && dev && linux
I was using linux mint for a while... more like 5 months for work, there's this Touchpad/mouse issue in it that was driving me crazy, so basically the mouse stops responding out of nowhere in the middle of my coding and I have to restart the fucking laptop to get it back. Yeah, I tried all the solutions I could find on the Internet and nothing works.
This issue likes to fucking mess with me so much, it seems to only happen when I absolutely mustn't restart the laptop or I'm working on a task and have a tight deadline and I don't have time to waste restarting my pc.
A couple of days ago, I had this major feature I needed to release to production and the time I estimated for it and shared with my team turned out to be insufficient, so I had to work extra hours from home to finish it ... while I was working, the mouse issue returned and I had to restart my pc like 20 times that day. It was fucking frustrating and It was already midnight and all you can hear are keyboard sounds and fucks flying.
I made a promise to myself that once i finish this task, I'm gonna fucking migrate to another distro, I'm fed up with linux mint's BS. I've been putting up with it for so long it's time to move on.
Yesterday I installed Manjaro and I'm happily working on it today xD.6
I had spent about 3 months working on a feature for a CAD software in a company where I was an intern.
The day it was ready I commited everything to the main branch and asked a senior dev to check it.
It didn't work… we spent 30 minutes, tried almost eveything, but the software kept crashing (even if "it worked on my machine").
At that point he said "ok, we won't include this feature, it's ok"... even if I worked really hard for months to make it work, I felt so bad.
A few hours later I found out that for all this time I was trying it in debug mode, and a few types of errors were ignored, something which of course wasn't happening in release mode. Worst day in that company.
The reason I wasn't testing it on release mode was the fact the solution was so big it took about 45 minutes to compile it (using IncrediBuild, compiling it using more than 10 machines at the same time), so I always used the debug mode to compile every small change in less than 2 minutes.1
Managers at my jobs for the most part leave me be. Though I often have no clue whether I'm doing OK. I guess no news is good news right?
My worst experience isn't that bad. At one place, I was the only tester working on things coming from 20-30 devs. After about a year+, the company finally hired more testers, but it was still only 3 of us.
We were in the final stages of releasing a build to prod. It was going smoothly, or so we thought. At the last minute, I found a buried bug that was a showstopper.
A lot of hatred on me that day, that once it was fixed, and the release was finally deployed, I just shut off my laptop and left. I took all the blame because I was the one who found it rather than blaming the team as a whole for not finding it earlier. Oh well. Stuff happens.
Let's knock on wood that I don't run into worse higher up stories.
Today is release day
Today is also the day we add couple of features for the release that will take a week to implement
Life is just won-fuck-erful
Ex boss bought Embarcadero Delphi, Tokyo release and showed me how the environment looks like.
Say whatever you want. The dude would shred out large af projects and soultions from delphi faster than anything else I would have seen in other places.
The bad thing about it is that be was the only one that could do it because he was the only one that knew how to use it...the docs for it suck(imho) although reading code for Delphi was easy, tedious since it was literally a top bottom like a book sort of deal, but easy.
Kinda miss it to be honest. It was an interesting experience and people do look for delphi developers and pay them a lot, wonder if I would get another chance at it one day. We were designing some rather large systems with it and it was not web oriented(for web he used ASP :P my boi was unique eh?)
Oh well, well see
Follow up to previous rant:
Now after I realised that I'm a stupid motherfucker, today was release day. Or so it was planned.
Because turned out my colleagues/supervisors didn't tell me to test the app on Android 6 devices and I was sure that if it ran on the device they gave me (which I assumed was the only device of our clients) it'd be sufficient.
Now it was tested on an android 6 device and crashed constantly.
Wow... I mean... Just wow... Now because I don't have a working android 6 device (a colleague of mine is on vacation and locked our development devices for a different app into a drawer) I have to get the emulator working which took me about 2 hours because that dumb shit face of a laptop first didn't have the android-sdk-root set (took me a good hour to realise) and then the kernel for the avds was missing.
Also: windows updates.
(PS: yeah I should have tested it on various devices and made sure it worked on at least most of them without being told so. Another example for my stupidity.)
EDIT: Now I don't have enough disc space for the kernel I need to install. Absofuckingfantastic1
A dev life in Queen songs:
„A Kind of Magic“ - Build successful
„A Winter’s Tale“ - Key Account Manager visits customer
„Action This Day“ - Release day
„All Dead, All Dead“ - System down
„Another One Bites the Dust“ - kill -9 4711
„Breakthru“ - 10 hour debuging session
„Chinese Torture“ - Microsft Office
„Coming Soon“ - Client asks for delivery date
„Dead on Time“ - shutdown -t 10
„Doing All Right“ - How's the progress on the new feature?
„Don’t Lose Your Head“ - git push -f
„Don’t Stop Me Now“ - In the zone
„Escape from the Swamp“ - Hand in resignation letter
„Forever“ - while(1)
„Friends Will Be Friends“ - friend class Vector;
„Get Down, Make Love“ - No rule to make target "Love"
„Hammer to Fall“ - Release day
„Hang on in There“ - 2 weeks until release
„I Can’t Live With You“- Microsoft
„I Go Crazy“ - Microsoft
„I Want It All“ - Google
„I Want to Break Free“ - free( (void*) 0xDEADBEEF );
„I’m Going Slightly Mad“ - Impossible feature requested
„If You Can’t Beat Them“ - Impossible feature promised by sales
„In Only Seven Days“ - Impossible feature ordered
„Is This the World We Created...?“ - Philosphic moments
„It’s a Beautiful Day“ - Weekend
„It’s a Hard Life“ - Weekday
„It’s Late“ - Deadline was last week
„Jesus“ - WTF?
„Keep Passing the Open Windows“ - Interprocess communication
„Keep Yourself Alive“ - Daily struggle
„Leaving Home Ain’t Easy“ - Time to get up and go to work
„Let Me Entertain You“ - Sales meets customer
„Liar“ - Sales
„Long Away“ - Project start
„Loser in the End“ - Dev
„Lost Opportunity“ - Job ad
„Love of My Life“ - emacs/vim
„Machines“ - Computer
„Made in Heaven“ - git
„Misfire“ - Unhandled exception at Memory location 0xDEADBEEF
„My Life Has Been Saved“ - Google drive/Facebook
„New York, New York“ - Meeting at customer
„No-One But You“ - Bus factor = 1
„Now I’m Here“ - Morning rush hour
„One Vision“ - Management goals
„Pain Is So Close to Pleasure“ - NullPointerExcption
„Party“ - Delivery completed
„Play the Game“ - Customer meeting inhous -
„Put Out the Fire“ - Support hotline
„Radio Ga Ga“ - GSM/GPRS/UMTS/LTE/5G
„Ride the Wild Wind“ - Arch Linux
„Rock It“ - Linux
„Save Me“ - CTRL-S/CTRL-Z
„See What a Fool I’ve Been“ - git blame
„Sheer Heart Attack“ - rm -rf /
„Staying Power“- UPS
„Stealin’“ - Stack Overflow
„The Miracle“ - It works
„The Night Comes Down“ - It doesn't work
„The Show Must Go On“ - Project cancelled
„There Must Be More to Life Than This“ - Philosophic moments
„These Are the Days of Our Lives“ - Daily routine
„Under Pressure“ - 1 day until release
„Was It All Worth It“ - Controlling
„We Are the Champions“ - Release finished
„We Will Rock You“ - Sales at customer
„Who Needs You“ - HR
„You Don’t Fool Me“ - Debugging session
„You Take My Breath Away“ - rm -rf /
„You’re My Best Friend“ - emacs/vim4
I hate my life
fuck this shit
Oh I used the wrong list
*jumps from the top of the mountain*
Stupid pipeline bullshit.
Yeah i get it, it speeds up development/deployment time, but debugging this shit with secret variables/generated config and only viewable inside kubernetes after everything has been entered into the helm charts through Key Vaults in the pipeline just to see the docker image fail with "no such file found" or similar errors...
This means, a new commit, a new commit message, waiting for the docker build and push to finish, waiting for the release pipeline to trigger, a new helm chart release, waiting for kubernetes deployment and taking a look at the logs...
And another error which shouldn't happen.
Docker, fixes "it runs on my machine"
Kubernetes, fixes "it runs on my docker image"
Helm, fixes "it runs in my kubernetes cluster"
Why is this stuff always so unnecessarily hard to debug?!
I sure hope the devs appreciate my struggle with this... well guess what, they won't.
Anyways, weekend is near and my last day in this company is only four months away.2
Ok, time to start working on things
*Twenty One Pilots casually release 2 new songs, a music video, album release date, tour dates*
Fuck that let's just fanboy all day3
My team and I are working on a huge project that's been in development for years.
First deadline was in the fall last year. We were never going to make that.
Then we were supposed to be ready just after the summer holidays (months ago). We didn't make that either.
Then we were supposed to launch last week. Didn't happen, still too many critical errors and unfinished, untested features.
Now we are having daily meetings to discuss whether we'll be ready to release... that day!
Meanwhile, stability issues and other critical errors keep popping up. The product is barely finished and has not been through rigorous testing with all the latest features and bug fixes. Not to mention that we don't really have a deployment pipeline either.
And here's the kicker: The customers don't know this is coming. It's highly anticipated, but only internally. It is a replacement for an existing product, which strives towards not changing the frontend too much.
Why do we rush it so? I get that a deadline can help motivate you to reach your goal, but how motivated will we be if the launch fails and we get buried in bugs and missing features?
Would it not be better to launch it with at least the confidence of knowing that we've tried to test it properly?9
So in the project I’m working on we were about to do a push to live, no major functionality just minor adjustments and nice to have stuff. One of the things I did was a reminder, nothing special just sends an email out if something hasn’t been done for 3 days and then sends an email every day following. Push to live and every thing goes fine with no issues. Day 1 there are no issues. Day 2 there are no issues. Day 3 and I’m inundated with people telling me that the emails are getting sent to practically everyone, shit. What have I done? What have I missed?
So I start looking at the live database hoping for a data problem, no such luck. I look at my code looking for something blatantly obvious but nothing. I start replicating the data but I can’t reproduce this bug and it’s annoying the hell out of me. I checked one of the emails that the client sent to us more thoroughly and seen that it was sent at 07:01. This is odd as our webjob runs at 1am so I start looking at environmental factors and started looking at release management, more out of hope than expectation. I check the staging environment and see that the webjob ran at 7:00. Coincidence I thought, the webjob gets packaged on the release pipeline and everything in the database was dummy data anyway but I’d better check anyway. The database was an exact copy of the live database, turns out a “senior developer” wanted to sanity check everything by running live data through the code so he copied the database over. It was fine for the first couple of days but the data was now 3 days out of date triggering my email code and I get hit with the shit storm. I’ve never met such an incompetent developer in my fucking life, functions 700 lines long, classes that are over 20000 lines, repetition every where and the only design patterns he’s used is when he picks up a child’s colouring book. I can live with the fact that he writes code like someone on their first day of University But copying a database because he wants to “visualise” the fucking data is absolutely farcical. No wonder the project is fucked with a “developer” (in the loosest possible use of the word) is at the helm.
I am pissed at the way the our current SDLC is happening . i have been giving builds every 2 or 3 days since last week and their have been no major bugs. but just today, thursday, a day before final build, we get a million bugs, most of which are as follows, alongside my inner thoughts:
- requirement changes : "The design showed that there is a new ui for textbox, it didn't showed how much lines should it take. I am not an idiot to change it to 1 instead of 2 from the old design, out of my own mind QA karen!"
- lack of requirement understanding of the requirement : "Dear QA dave, I made the code using same ticket that you used for testing. how come i understood and made it and you couldn't? Why should you be asking me about this and not the PM?"
- lack of understanding of old behavior: "Dear QA dave, I spend fucking 2 days licking the boots of seniors to understand how the code work. I had just 3 days to provide first build. you had 7 days to understand the story. you should have licked someone's dick too to understand the story!
- miscommunication: "Deary karen. i appreciate your female balls to get even the story changed , even though you are a QA and not PM, and the way you did it oh so strongly by calling me 2 hours after the office hours with PM kim in the meeting. I will gladly do the changes now you got so many witnesses. but its not my fucking job to inform other devs to make changes. you or kim should be doing that and informing ios/web/embedded or all the fucking townhall !"
- bugs from old code: "dear karen, that's very nice of you to revisit old code and suddenly find a bug. but keep in mind that yours and dave's stupidity has also causes my ticket numbers to flood. I have to identify the valid bugs out of these, comment on your stupid shit , break out of all the current logics and stuff running in my mind in regards to current sprint and then i could look into this"
- reporting same bug again and again : "Deary karen. that's a very good thing that you caught an already known bug , clappings!! but we have said it once and we will say it again: if you wanna get it fixed, keep it for 1 particular sprint where i will be focusing on researching the root cause and possible solution. if i couldn't , then fuck this bug. STOP acting like a sales person trying to reach your targets by raising stupid shit as bug , before the release"
- lack of better testing and validation of code before merging: Dear TL John ,I respect you as the most awesome, reliable person of this ... company. you have been in this game for years before i even got my computer. i am just a humble out of school guy in front of you, with a tiny inch of knowledge. I took all the knowledge from you regarding the code, but i may have missed some paritcular thing, that you already would know.then why are you not mentioning those in review? even I, the guy with just an year of experience building apps, will politely inform you that you missed setting a fallback image while making this call, but you won' tell me that i missed updating my list somewhere? are you trying to intentionally get me into QA's shit??
- someone else's bugs on me: ugh.. senior bro randy... you seem so calm, and i always have peace when we are both working on some stuff. but why the hell team tries to discuss your bugs with me? can't you jump in even after i try to tag you a million times? and once again dear TL john, I am making PR to randy, not vice versa. i don't know any shit he added in code, don't think i can handle his bugs when he is celebrating holiday for their local festival . even you would know more as you reviewed both of our codes as a single branch before merging.
Now if i have to play blame games , i can easily point 1 finger at our QA team, 1 finger at our reviewer and remaining fingers at myself for getting into this situation. But I am lowly junior fresher dev who just started seeing decent money for the first time in life.
So instead i yield and show up my bare ass to them to fuck and make me sit on laptop for 14-15 hours even after the office hours10
Funny how I can go all day not being able to think of anyone that bad, but then when I remember THAT ONE GUY from a group project in college, I can't stop ranting.
- He micromanaged our group without adding any value on his end
- Scheduled 2 hour meetings on Friday evenings to show us his work so we could "learn and take notes"
- when the group finally reached out and asked if we could work differently, he completely shut down. like stopped replying and working completely.
- last night we were putting together our presentation, he bailed because he had an 8-HOUR date with someone he just met....nevermind that we had our calendar set a month prior
- prior to that date, he submitted code to our final release that was riddled with bugs, so I stayed up all night debugging and rewriting his parts
I HATE the idea of only releasing on pre-determined schedules despite work being completed and just waiting for that day to arrive.
I'm a co-founder of a small software company. We have partnered with another particular company that also writes software. Some of our clients have access to paid content of that company's services through our application.
Every once in a while, our clients will report issues with that company's service to us, because they access it through our application. They think it's our issue.
We then pass the report on to the partner company, telling them that their stuff is broken. Their reply goes like this:
"Ok. We'll get the bug fix scheduled, and we'll release it next Thursday."
"Next Thursday? The issue is now, they can't use the service."
"That's our scheduled release date."
We voluntarily walked away from our safe, cushy jobs working for other people, taking enormous pay cuts to start this company. Now, we're 6+ years in, disrupting established fat-and-happy competitors in this space. I GUARANTEE you that if we had that same attitude, we would have been absolutely obliterated early on.
We are quick. Guided by kanban boards, our suite of unit tests and integration tests is vast and kick-ass. With continuous integration and the click of a button we know if we broke something or if the piece we're working on is ready to be pushed to production, IMMEDIATELY. Our "release schedule" is when the damn thing is complete.
It isn't all bad. Our integration with them has been beneficial for both of us. I just loathe their snail's pace which negatively affects our mutual customers. It can make us look bad, and we can do nothing about it.
am i getting grumpy and old? what the fuck does PRE_ORDER mean to you? you see, i thought it meant i ordered something - and it'd be sent to me on the release date. back in mYyYyyYYyy day - you paid for something, suppliers had it in stock before the release date, and then on release date you would get what you paid for. amazon (of course it's amazon, fuck amazon. fucked me over so many times in the past 2 years) says they dont have my item in stock. then WTF DID I PREORDER IT FOR? to top it off, even though they've been horrible 50% of the time for the past couple years, they offer me $10 off on my "order". ya, sure, okay. nope : $10 off future order. i don't wana fucking order from you! i actively avoid you!
fuck this world. why is everything shit anymore? why can't something just fucking work as fucking in-fucking-tended?
am i cursed? i've been good for a while. it's not karma. complete bs, why bother.4
-----------Jr Dev Fucked by Sr Dev RANT------
Huge data set (300X) that looks like this :
( Primary_key, group_id,100more columns) .
Dataset to be split in records of X sized files such that all primary_key(s) of same group_id has to go in same file.
Sde2 with MS from Australia, 12 years of 'experience' generates an 'algo'. 70% Test case FAILED.
I write a bin packing algo with 100% test case pass, raises pull request to MASTER in < 1 day. Same sde2 does not approve, blocking same day release.
|-_-| What the fuck |-_-| Incompetent people getting 2x my salary with <.5x my work2
We are gating release of each sprint.
Today before 10:00AM I identified a major performance problem and asked devs to fix it (single if() will be enough as a hotfix). We're blocked until we have the fix deployed.
It's 5pm and we're still waiting for that 1 `if` clause to be added and deployed :)
A long day it was. Full of hopes and expectations, waiting for things to happen
Release on Monday === almost 10h of code today... Though it's just an internal release, so not that serious really. Though it's be fun to have something we've been working on for half a year working decently the first time people actually get to try it... Well, well...
When I was an apprentice in a small company, ...
my boss told me that his company would never ship release builds, because the "evil optimization option" is responsible for breaking his code.
My first thought was that it wouldn't make any sense at all. The default option for code optimization is always set to zero.
After investigating his code, I found out that he didn't care to properly initialize his variables. The default compiler option for debug builds did implicitly initialize all variables to zero. After that I've confronted him with the fact that implicit null initialization does not conform to the standard of C and C++. He didn't believe me what I was saying and he was questioning my knowledge about C and C++. He refused to fix his code to this day, so he keeps building his libraries and applications always in debug mode.
Bonus fact: He would never build 64-bit applications, because his serialization functions do get incompatible with exisiting file formats.
!rant && story
tl;dr I lost my path, learned to a lot about linux and found true love.
So because of the recent news about wpa2, I thought about learning to do some things network penetration with kali. My roommate and I took an old 8gb usb and turned it into a bootable usb with persistent storage. Maybe not the best choice, but atleast we know how to do that now.
Anyway, we started with a kali.iso from 2015, because we thought it would be faster than downloading it with a 150kpbs connection. Learned a lot from that mistake while waiting apt-get update/upgrade.
Next day I got access to some faster connection, downloaded a new release build and put the 2015 version out it's misery. Finally some signs of progress. But that was not enough. We wanted more. We (well atleast I) wanted to try i3, because one of my friends showed me to /r/unixporn (btw, pornhub is deprecated now). So after researching what i3 is, what a wm is AND what a dm is, we replaced gdm3 with lightdm and set i3 as standard wm. With the user guide on an other screen we started playing with i3. Apparently heaven is written with two characters only. Now I want to free myself from windows and have linux (Maybe arch) as my main system, but for now we continue to use thus kali usb to learn about how to set uo a nice desktop environment. Wait, why did we choose to install kali? 😂
I feel kinda sorry for that, but I want to experiment on there before until I feel confident. (Please hit me up with tips about i3)
Still gotta use Windows as a subsystem for gaming. 😥3
when the release date is may 31 and the client thought it's a good idea to request a bunch of new features and changes in friday afternoon :)
Tomorrow is gonna be a fun birthday...
If any of you have been following my last few rants, you'll know I've been working on a project with a particularly difficult client, trying to meet wholly unrealistic deadlines with only one other developer.
The situation has reached the climax. The client had a call with our project manager and boss on Monday to discuss things. Despite them still not having paid a single bill since October, they've demanded the release date be moved to the 6th April. Apparently we'd agreed to release on this date, despite making no such promises, the (optimistic) deadline we were working towards has always been, since it was set about 2 weeks ago, the 16th April.
Apparently AWS migration won't take as long as we think it will, because the designers that do the CSS for this project say so, despite knowing nothing about the architecture of the requirements of the system once live (like if backups are required and what of).
The bottom line is that client is ending development with us the day after the project goes live to give it to their own in-house team. If they want us to work more after the date, they have to buy blocks of days.
To make things better, a large part of new functionality relies on an external API we can't even begin to do learning tests with, let alone integrate due to back-office errors on their end. They've had since Friday to give us our token, yet here we are.
Something tells me my holidays booked for for the first week of April are going by the wayside.4
Steven Hawking dies one of the words greatest minds but suffering one of the worlds worst diseases died yesterday... around half a day later, release the code for his ACAT software on github ffs. https://github.com/intel/acat/...4
Oh what's that? You merged trunk into RC the day before the release? Nice one.
Now go roll it back and think about what you've done.1
When I talk about release a personal project to GNU/GPL license (when it's finished, some day) people looks at me like "wow, be careful". It makes me think about the mythology around silicon valley and how the idea of writing a killer app or a nice machine and instantly grow rich became a standard, even when it's terribly wrong and false...2
Yesterday we released this huge refactoring/rewrite I did alone so it was my task to release and fix any upcoming problems. Not that I would have died to refactor a huge part of the codebase but technical debt was waiting to kill us on upcoming features.
Deployment is done by ssh'ing into prod and pulling from git. I'm happy I could convince them to track a dedicated release branch... Why would we want to build anything? What is automation?
Debian 8 with MySQL 5 community edition... Throws some internal error on my use of JSON functions. Thankfully I was allowed to switch prod to MariaDB but updating packages caused segfaults with the PHP MySQL connector. This is why you need NixOS!
Prod is a 4 core 4 GB VM that would take forever to run migrations. Also no disk space. Had to copy the whole db to staging (which is much more powerful and on Debian 9? diverging environments in the same data center...), migrate there and and pipe back mysqldump directly into ssh while in my neck I feel another client's project that I have about half a week left to finish.
It's Monday night. Customer has a full office of over 50 users at 8 AM.
Almost fell asleep in the car the next day, and I think I have RSI in my enter finger now.
"Imposter Syndrome" - We are living in the 21st century! Here in Germany there are 124.000 free jobs. And even if you are the last creep out of the basement, you are still better than nothing! :D
With these motivating words I release you into the day!7
I had to build a few packages today from a git source.
Everything just plain text or shell scripts - so no fancy shit, no buildsystem... Nothing.
I was painfully reminded why I had forgotten a lot about dpkg package builds.
- seems like impossibro to define an output directory for debuild (../ from source which must be pwd/cwd)
- i used /opt/<vendor_name>... Purging the deb from system deletes opt too, as it is empty
- reprepro (or whateva it is called) fails with an "uncommon GPG error" instead of saying "I don't know which key to use"
- creating rolling release numbers (as the packages won't have a real versioning system...) is fun - when you remember that date isn't sufficient, as the time part is necessary to build multiple packages (versions) per day
Compared to an Gentoo ebuild, this was really rocket science....
Guess as soon as someone does not follow the debian way, he must be shunned and exiled. At least it felt like this ....
But it works now. Woohoo. *cries internally*
Mozilla, can you release your stupid UI updates once they're actually out of beta? The UI seems fine I guess, I don't care.
But why the fuck is the browser freezing up at least twice a day now? And why the fuck does it then restart with 1-2 fewer tabs but an additional tab that I had open half a week ago?
Maybe next time don't fire a quarter of your employees and then pay out the gain to your shitty CEO. If I wanted crashing browsers by shady companies there would be enough competition.1
When Icriticize a paid service for taking away or not providing functionality for all users equally but then a user comes back defending them with some BS reason...
Ok... I'll just continue helping myself only...
1. Can you put the New books tab with back in the bottom, scrolling down into the New section in the front page is annoying. At least make it a setting?
2. Where's the # of books read stat in Android?
Blinkist: Hi thanks for your message! The best way to view the newest titles on Android is to do just as you mention – scroll down to reveal the New section. As for BiB stats on Android, we're working on releasing this feature (it's only live on iOS at the moment).
Me: Hm... I liked the older way better. Faster and can tell when it was added. The problem is sometimes still new books don't refresh and I need to login out to get it to update. Also I notice sometimes the list changes randomly I think. One day a new book is there. The next day it's gone.
BiB stats have been in iOS for a year now? How hard is it to put it in Android. Personally it only took me a day to find out what my total is as I can write a program to do it so to me I don't understand how this could be taking so
Some user: Priorities and often it’s strategy for future features...
Me: you take away useful functionality and and can't release a feature that's been on the iOS version for a year already... fine,,, I'll just take it as a challenge... that I've mostly solved... for myself...3
Hotfix asap. Hotfix still in progress.
An ehancement that also needs the hotfix to be release at live in two days. One day for pre-live testing, and another for live testing.
I pray that nothing else will break.2
Updated to iOS 12.1.2 (sleazy release 2) after previously getting fucked up the ass by iOS 12.1.2 first release. Yes boys and girls, they tried to cover up their latest fuckup by re-releasing the same release with a modification.
The first time I updated, it knocks my Apple ID out on all my Apple devices when I upgrade my iPhone to 12.1.2. Mother fuckers... gotta log back in for every device, iPads, iPhones, Apple TVs, Macs. And for each service iTunes Store, Messages, FaceTime on each device supporting. Oh yea, it knocks out my Wi-Fi calling and I have to reestablish that too. Then to really ice me, it knocks out my HomeKit system as the Apple ID is knocked out on the Apple TV.
Now after updating just my iPhone to the second 12.1.2 "sleaze release", the thing knocks all my devices out again.
Apple has taken away that which I loved; impeccable engineering and design that could be used as the model for an entire industry. The industry guru. (teacher, leader) Apple has become the new Microsoft.
October 5, 2011, the day Apple died.4
When your in a sales meeting and the sales manager says "we release new client features in as soon as the next day"
............ I'm already the only software engineer1
When your Comapny uses way to many certificateS, .p12 and .msc files so Everyone's local breaks after each package release.... It's like building a house of cards on a windy day
Reading through one of my posts I’ve realized how much ego programmers can actually have. Guys, some of you have already mastered or grasped more than just the foundations of the industry standard languages, as well as developed a very solid intuition behind some design patterns and a solid understanding of some frameworks and libraries, say NumPy, say React... we get it.
You don’t have to be such condescending assholes and be offended by some of the jokes we, programming beginners, make to release stress or just to have fun.
You already have some amazing developer and engineering skills. Do not ruin it with such a detrimental attitude; I make this post because I myself have made this mistake, and I still do to this day. But if what I’ve felt reading your comments is what non-programming people feel when around me, I wouldn’t be surprised if I found that some people hated me or just wanted to kill me.
I don’t know if this will get downvot’d or if more people think like this. But I needed to share this, even just as a reflection of my very own attitude.
Thank you for your time,
My tl sits in The room next to me.
Today he came in to me and asked me how it looked with The release.
I asked him What he meant by that.
"Well, we had release on friday, but you never contacted me about it."
Me: "What? Friday? Since when did we have releases with two weeks inbetween? And why havent I gotten this news?"
Tl: "Well, we don't usualy, but you know... Any way, can you have it done by today?"
Me, 10sec away from a cardiac arrest: "NO, are you insane? You have to tell me about this earlier than the same day."
Tl: "Yeah, but there's been so much work recently.. Well, we'll talk later."
Open source or closed? Convince me.
So you spent 200k of your hard earned cash and two years of your life coding away day in and day out. Finally you have a viable product ready for release.......22
My first dev job was for a .net shop. Until then, I had only worked in Java and PHP. This place didn't have the normal team structure, and I soon found that I was going to be working solo on the projects I was responsible for. I'm my first week there, I was tasked with making make revisions to an application in a new language, with a new toolkit, solo. A few weeks later was the most intense day I've had as a dev, as I put in the change control to release my update to production.2
make some projects that keep me going so I can quit job and really focus on them without weird pressure from outside. If its not my day, it happenes. If I have **that** idea at 2AM Im not bothered to wake to job and just write it, than refactor it so it's more of "proper" thing and release new feature/thingy
I have so much ideas piled up and so little time ;-;
E: forgotten to add wk176 tag :/2
!Worst, being put on the project a day before release
!Best, finding and fixing all the data model issues before release, so that the next time I have to pull stats about the system, everything actually makes sense, as all foreign keys and indexes would be explicitly defined for once.5
One week ago I've made a work plane to divide features development day by day, obviously procrastinating
This morning I realized the project release was today
I made an entire mobile app with a plethora of features without bugs in an afternoon.
Never worked so hard in a so limited time without problems.
I have just slept for a minimum of 5 hours. It is 7:47 PM atm.
We have had a damn stressful day today.
We have had a programming test, but it really was rather an exam.
Normally, you get 30 minutes for a test and 45 minutes for an exam.
In this "test" we have had to explain what 'extends' does and name a few advantages of why one should use it.
Read 3 separate texts and write the program code on paper. It was about 1 super class and 1 sub class with a test class in Java.
Task 3: Create the UML diagram of the code from above. *internally: From above? He probably means my code since there is no other code there. *Checks time*. I have about 3 minutes left. Fuck my life.*
Draws the boxes. Put the class names in each of them. A private attribute for the super class.
Teacher: Last minute!
Draw the arrow starting starting from the sub class to the super class.
Put my name on each written paper. And mentally done for the day. Couldn't finish the last task. Task 3.
During this "test", I heard the frustrations of my classmates. Seemed like everyone was pretty much pissed.
After a short discussion with the teacher who also happens to be the physics professor of a university nearby.
[If you are reading this, I hope that something bad happens to you]
The next course was about computer systems. Remember my recent rant about DNS, dhcp, ftp, web server and samba on ubuntu?
We have had the task to do the screenshots of the consoles where you proof that you have dhcp activated on win7 machine etc. Seemed ok to me. I would have been done in 10 minutes, if I would be doing this relaxed. Now the teacher tells us to change the domain names to <surnameOfEachStudent>.edu.
I was like: That's fine.
Create a new user for the samba server. Read and write directories. Change the config.
Me: That should be easy.
Create new DNS entries in the configs.
Change the IPv6 address area to 192.168.x.100-200/24 only for the dhcp server.
Change the web server's default page. Write your own text into it.
You will have 1 hour and 30 minutes of time for it.
Dumbo -ANGRY-CLIENT-: Aye. Let us first start screenshotting the default page. Oh, it says that we should access it with the domain name. I don't have that much time. Let us be creative and fake it, legally.
Changes the title element so that it looks like it has been accessed via domain name. Deletes the url and writes the domain name without pressing Enter. Screenshot. Done. Ok, let us move to the next target.
Dhcp: Change lease time. Change IP address area. Subnet mask. Router. DNS. Broadcast. Optional domain name. Save.
Switches to win7.
Holy shit it does not work!
After changing the configs on ubuntu for a legit 30 minutes: Maybe I should change the ip of the ubuntu virtual machine itself. *me asking my old self: why did not you do that in the first place, ass hole?!*
Same previous commands on win7 console. Does not work. Hmmm...
Where could be the problem?
Check the IP of the ubuntu server once again. Fml. Ubuntu did not save when I clicked on the save button the first time I have changed it. Click on save button 10 times to make sure it really is saved now lol.
Same old procedure on win7.
Alright. Dhcp works. Screenshot.
Checks time. 40 minutes left.
DNS:It is your turn. Checks bind9 configs. sudo nano db.reverse.edu.
sudo nano db.<mysurname>.edu.
Alright. All set. It should work now.
Ping win7 from ubuntu and vice versa. Works. Ping domain name on windows 7 vm. Does not work.
Oh, I forgot to restart the bind9 server on ubuntu.
sudo service bind stop
" " " start
Check DNS server IP on win7. It looks fine.
It still doesn't work. Fuck it. I have only 20 minutes left. Samba. Let us do this!
10 minutes in. No result. I don't remember why. I already forgot why I have done for it. It was a very stressful day.
Let us try DNS again.
Oh shit. I forgot the resolver!
sudo nano /etc/resolv.conf
The previous edits are gone. Dumb me. It says it in the comments. Why did not I care about it. Fuck it.6 minutes left. Open a yt video real quick. Changes the config file. Saves it. Restarts DNS and dhcp. Closes the terminal and opens a new one. The changes do not affect them until you reopen them. That's why.
Change to win7.
Ping works. How about nsloopup.
Does not work.
Teacher: 2 minutes left!
Saves the word document with the images in it. Export as pdf. Tries to access the directories of the school samba server. Does not work. It was not my fault tho. Our school server is in general very slow. It feels like they are not maintained and left alone like this in the dust from the 90s.
Friend gets the permission to put his document on a USB and give the USB to the teacher.
Sneaky me: Hey xyz, can you give me your USB real quick?
Gets bombed with "do you want to format the USB?" pop-ups 10 times. Fml. Skips in a fast way.
Transfers the pdf. Plug it out. Give it back.
After this we have had to give a presentation in politics. I am done.6
This one resumes every single day
Spent most of this week busting my ass working on a hotfix that came out of nowhere with mega high priority. This annoys me greatly because the hotfix wasn't even fixing a bug, it was adding new functionality because certain customers were being blocked from testing without this specific feature. In my humble opinion, given that we release every weekend, hotfixes should be reserved for actual critical bugs. But anyway, as I probably could have predicted, the code got to QA and exploded. Literally nothing works.
This is what happens when you try to rush out features to satisfy customers. If you try to rush something that is late, you WILL make it later.
Meanwhile there's an issue I'm supposed to be fixing for our next release which goes out this weekend and I've had no time to even look because of this hotfix. And now it's the end of the day and I just feel worn out from stress, tomorrow will no doubt be similar.1
What a fucking day.
Half a day looking for functionality on github that was lost in some branch and not merged to master. All remotes was pruned. Finally restored it from some remote on production and merged to master before Saturday release. Yeah !!!!
Month saved fuckers, pick some more hardcore shit to surprise me. To strong to fail.
It is always great when I download a major release of a software I love and it only gets better.
1Password new version is exactly that. It took a great product and made it better integrated with the laptops I use every day.
Not really ranting... but I wish this happened more often.
My manager asks, in Slack, if we can change the auto-tagger to update the patch instead of the minor version. I respond by saying, "Yes, it's in the Jenkisfile. Really we should switch to just <major.minor> and drop patch."
My manager asks why and I go on to say the last number is useless (unless you ship software externally and need to hotfix or security patch a minor release; internally they serve little purpose).
At my last job we dropped three numbers for two, and most other teams here only use two numbers.
He sends a link to the semantic versioning website.
The next day one of the other developers sends it to me in a private chat as a joke. 😂😅 I'm glad I'm not the only one who thinks our manager shouldn't be a manager.
Does anyone else's job just hate documentation? I have wasted most of the day trying to get our new build to work because I keep hitters snags that aren't documented. Hour release was delayed 6 hours because our QA doesn't have any kind of written procedure or checklist and missed bugs in something that is usually problematic, and I am being forced to stay online by a micromanaging boss that needs to realize he's not an engineer anymore. And I am supposed to have a feature done by today, but this clusterfuck consumed all of the resources I need. I'm polishing the ol' resume. Anyone looking for a remote .net dev?1
Monday morning after working whole weekend to finish for release at Tuesday tidying everything up, optimizing, when I ask myself
"why did I wrote in ES5?"
*Checking the time*
"17 hrs left of this day, I should be able to make it!"
As if I didn't have enough problems with procrastination in my life. I sure can find more things to do
*Locking the door and turning phone off*
I took a few days off to move and when I came back, my manager had posted a message in chat about how horrible one of the naming conventions was (an implementation I made). One of my co-workers then defended it and defended something else I wrote that he was complaining about.
We had a 1:1 the day I got back and holy shit ... I did loose my cool and I'm not proud of it, but the guy went totally bat shit. He said I was the problem with them team, screaming about going off and writing rouge things, how he was my boss and I needed to do what he fucking told me to.
In my 20+ years in tech, I have never had to deal with a psycho. He served work release for assault and witness tampering last year and he told us a story that made it seem like it was his all his "crazy ex-girlfriend" who made trumped up charges. After that conversation, I doubt that's the case.
He's still under house arrest for something else until the end of May too. The entire team told me not to do any 1:1 calls with him and our project manager, who is really amazing, will probably be on any calls we need to do in the future.
I've also all confidence in him as a manager. Even when our PM tried to do a retro for the team, he still passively aggressively bitched about things that obviously related to my projects and the entire team could see it.1
So here I am coming to the end of the week after getting The Porcupines big web project into production. Pulled a 38 hour straight from Sunday to Monday chopping wood to make the thing fly. Pulled in other programmers and content creators to get the site full of something we did not have a week before. The fun part was having the account manager right there for 30 plus hours and actually seeing what it take to save a project when the client just thinks "it's just code". Now the boss has is asking for a list of all the work out of spec as they are bitching about the extra cost. These were the clients who did not read the functional spec and raked me over the coals after release that the home page did not match the design (the home page matched the design). I warned my team this would happen. They get all swept up in the hype and We can win! frame of mind and you can bet when the bitching starts it will come back to the paperwork you did at the beginning and the change requests and productions systems reports so you can wave it in front of ungrateful clients and not end up sad. Make sure you keep notes and document all of the requests and changes from internal and external even if you do not have to. one day it will save your ass and you will be able to whip it out and be a smiling motherfucker.
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks...
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...
Today I released the next versions two of my company's Android projects. Today was a good day.
Also, releasing on a Friday afternoon FTW! (they are beta releases, so I'm good).1
Worked from 09:00-00.00+ every day for 6 days straight, then for about 4 hours that Sunday (including over public holidays which were that week).
Clients agreed release date based on some interviews with publications, which meant the previous target date was moved up 2 weeks as they were pushing marketing for this new date.
Aside from having to implement a new 3rd party API which touched ~35% of the system there was a lot more that needed to be finished before release (including an entire user flow that was at the mercy of a 3rd party).
Safe to say I took a day or two off the week after.
4 hours to a major release, decided to remove a web service from the app, instead do whatever that service was supposed to do in a DB query, as just realized that the foresaid service will be called only once to fix some data discrepancy !!!
Today is release day!
Got a whole set of new features to deploy on production!
Also, internet at the office has been dead since 6am.
I'll take a coffee break.
Just joined a new company and can only describe the merge process as madness.....is it or am I the one that is mad?!
They have the following branches:
UAT#_Branch (this kicks of a build to a machine named UAT#)
Each developer has a branch with the # being a number 1 to 6 except 5 which has been reserved for UAT_Testing branch.
They are working on a massive monolith (73 projects), it has direct references to projects with no nuget packages. To build the solution requires building other solutions in a particular order, in short a total fucking mess.
Branch from master with a feature or hotfix branch
Make commits to said branch and test manually as there are no automated tests
Push the commits to their UAT#_Development branch, this branch isn't recreated each time and may have differences to all the other UAT#_Development branches.
Once happy create a pull request to merge from UAT#_Development to UAT#_Branch you can approve your own pull request, this kicks off a build and pushes it to a server that is named UAT#.
Developer reviews changes on the UAT# server.
QA team create a UAT/year/month/day branch. Then tell developers to merge their UAT#_branch branches in to the previously created branch, this has to be done in order and that is done through a flurry of emails.
Once all merges are in it then gets pushed to a UAT_Testing branch which kicks off a build, again not a single automated test, and is manually tested by the QA team. If happy they create a release branch named Release/year/month/day and push the changes into it.
A pull request from the release branch is then made to pre-live environment where upon merge a build is kicked off. If that passes testing then a pull request to live is created and the code goes out into production.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh it's a total mess. I knew when I took on this job it would be a challenge but nothing has prepped me for the scale of the challenge!! My last place it was trunk based development, commit straight to master, build kicks off with automated testing and that just gets pushed through each of the environments, so easy, so simple!
They tell me this all came about because they previously used EntityFramework EDMX models for the database and it caused merge hell.9
Not a productive day. I wanted to restore part of database from test server but downloading data using reat api was getting timeouts.
I made simple app that dumps data and I launched process in screen and started watching Dragon ball
I like those old first series with young Songo looking for his grandpa.
After about 2 hours and partial backup still not finished I started to cut crap data from backup script will finish it tomorrow.
Looks like my ux is still ok and views got almost all approved.
Need to fix some shit on backend but I need those backups to work for more complicated customers.
Luckily frontend developer is back so he will handle visual parts.
Maybe we will release new features on the beginning of February.3
I had a colleague, who built a bunch of smaller systems for the company I'm working in. He didn't want to waste his time building a "perfect" system (which I generally agree with, the question is just where to draw the line).
But because it took him so long to build the prototype, usually it went into production without being hardened (like basic input validations were missing. It wouldn't allow anything malicious, but instead of a validatiom error it'd just 500).
When he left, literally less then a week later, one of his systems, which was a prototype and nobody except him could maintain, because it was done in a fancy new technology, which wasn't even v1 at that time and their documentation said, it's production ready when we release v1. Anyway, that one system started crashing just few days after him leaving. Another Dev and me tried to fix it, but every time we touched it, it just got worse.
At some point, we gave up and just configured a cron job to reboot it every 12h. He could have probably fixed it, but to us it was just black magic.
Anyhow, this rent isn't about him, AFAIK all the systems still working, as long as you provide the correct input. Nor is it about the management decisions, which lead to this Frankenstein service on live support, which we had to increase, to be restarted every 8 hours, 6h, 4h, 3h, .....
It's about the service itself, which I'm looking forward to every day, when the rewrite will be done and I can nuke the whole git repository.
I was even thinking about moving all the related files onto a USB stick and putting that on 🔥, once we're done rewriting it....
Maybe next month or in 2. Hopefully before we'll have to configure the cron job to restart the service every couple minutes....1
I have a dream, that one day, a major update of my app will have no bugs and/or crash reports within 24hrs of its release. ;_;1
LOL XCode....I think they meant "X"tra useless, resembling such as a bag of dicks without handles!!!!
Also, being fucking buried because there's aren't any devs anywhere to be found near me makes me extra cranky!
Ive been hammering away at this Flutter, Java, Swift, Python, and Google maps for just about 36 hours on 3.5 hrs sleep. I just can't stop, I fuckin love this shit!!!
Considering the fact that I'm self taught and just started writing code for real about 7 months ago, I'd say I'm handling this alright for now. Every bit of tech is getting shot out of a cannon at this one- maps, real time tracking, state level auth/Id verification, custom components like ID scans/native desktop applications on custom linux machines, body cams, SIP trunking... all in 3 apps which are 100% multi-platform and scaled up to high end enterprise levels and being groomed for national release. I'm writing the code and doing the tech for ALL of it- even down to custom painted barcode scanners, a wallet system built from scratch, GPS integration, location/geofence based document querying... holy fuck guys I'm gonna fuckin die haha!!!
I went from barely getting websites made in late summer to this very moment, where I am pumping shit out in Flutter, Dart, Python, CPP, Js, Swift, Java, Kotlin, Obj-C, SQL/noSQL, and who knows what else.
I don't even know what the hell I just said haha I hope everyone has a great day!
That shitty moment when you are finally about to release your code, after about one month of developing and testing, and making sure everything is OK, imagining: "Oh we're finally releasing this feature, I have worked so hard on it, it's going to kick some ass!" but surprisingly things get fucked up on production server... I mean seriously? Stupid middleware I killed myself to get to work messed up. Where the hell have you been in staging, you stupid little bug? You happy now? My CTO giving me awkward looks and shit like: "I'm sorry but you have to come fix it, during weekend." The best way to fuck up my mood, today is the last day of week for god's sake!
I hate releasing like this. seriously SAG in this release!1
How stupid do you have to be to schedule a release day where you deploy every environment. Just to realize that it collides with your scheduled training sessions.
Angular 2 has had a rough year. Team announced that they "won't have breaking changes for 6 months" the day of 2.0.0's release. I just started studying it. I'm concerned about the adoption rate at this point...4
So here it is. Apple release, second round.
This time, uploads to AppStoreConnect took 3 hours and 40 minutes. Submission of the app was at 0.04, just after the planned launch day. Android submission tomorrow.
Tomorrow, and Friday are public holidays.
I'll have to work those, at best being able to not work on the weekend. The client has already told me he's calling me tomorrow morning to talk about things.
I don't want praise, but I'd like him to respect that while I may just be a lowly developer, I would like to have a life.
When are the happy times coming?
Everything works fine locally and at *herokuapp.com. Push to prod on release day and random bits of the HTML starts missing. Goes to senior developers, everyone scratches their heads. Finally inspect missing element.
Turnes out optimizely was still running an experiment in the background adding display:none to different HTML elements.
Ok, now seriously. Am I the only one bothered with all those fancy congresses and cool events that first open up the speaker list, rush you on buying the tickets, raise prices, and... AGES later, weeks before the event day maybe, they finally release what the heck they'll be speaking about?
I totally understand those who go to events mostly for networking, but c'mon event organizers, focus on the topics, no the person on the stage. They're just the mean to spread knowledge, NOT its own embodiment.
I was so bored the other day, that I wrote a fat client in C# to calculate happy numbers. I used BackgroundWorker class, because I was hoping to be able to cancel the calculation process. It turned out I couldn't. Rats.
Out of pure frustation, I wrote the same program in Java using Swing and SwingWorker. Here, the cancel feature worked just fine.
And then I had this "Wait ... What?!" moment, when I realized, that one of the programs was incredible slow. So I rewrote both codes, so that they used the same algorithm and similar classes. I compiled the C# program as release and ran it stand-alone, while I started the Java application from within the eclipse IDE.
The C# program needed 42.681 seconds for 100,000 happy numbers, while the Java application completed the same task after 0.986 seconds. The result sets of both programs are the same.
Maybe I need a new PC (2007, 64 bit, 8 GB RAM, Windows 10). Or I'll get rid of C#.9
Doing production release on Wednesday is kind of pointless. Someone is going to override the world a day after due to Last Thrusdayism - https://letmegooglethat.com//...1
Two architectures to support, on one everything went smoothly, other one I spend since Monday till yesterday 2am to make it work. Now time for half-day meeting and if it compiles in the meantime, I can release today before leaving work. Sounds like a solid plan, Friday afternoon release. What could go wrong? And I hoped it will work nicelly on Monday, latest Tuesday.
OpenSource is fun they said. I being a bored teen thought, ah, another chance to experiment. Discover something new. Now I am into piracy, movies, music, software. If I can get it for free I ain't paying for it. So I went on to GitHub to see what exciting new Repos I could contribute to. I hate already implemented plenty of algorithms in GO for GitHub.com/TheAlgorithms so I was looking something more practical, more beneficial to society. Then I saw it, the perfect repo, not too complex and not amateur. SpotDL/spotify-downloader for downloading songs from Spotify, a grey area coz it's technically piracy. Well not from Spotify, we fetch the info from the Spotify API and search for the songs on YouTubeMusic. They were just about to release v3, a complete rewrite of the codebase stressing code readability and stuff. I spend about a day studying the codebase, trying to findout just where I could make my contribution. I can see outright that there's a huge problem with implementation.
First of all the script spawns 4 processes for downloading songs though you might be downloading only one song. Which means for everytime you run the script you have to wait for 4 other processes to be spawned before any downloading can happen. Sure this is faster when you are downloading more than like 4 songs, but it's actually slower when downloading a single song. But I ignored that coz I assumed that most users download playlists and albums. Anyway we talked with the like lead developer and he was all like, make those PRs anytime you feel like. So I made a really minor first contribution.
I introduced download from Spotify URI functionality, modified like 10 lines of code. I was half expecting that the PR would be merged within hours at most 24 hours coz of how minor of a contribution it was, 5 days in it was pending. So I tagged the lead Dev and he was all appreciative of the PR, calling it real 'clean code' and stuff. 3 more days, the PR is still not merged. I have now stacked 4 more commits to the same PR, I tag the dev and he's like he's waiting to see if my 'feature' will get atleast 10 upvotes so that it can be merged, he links an issue. I go to the issue and my feature is not there, So 11 days after I made my PR I have to write a comment explaining the 'feature' introduced in my PR and then wait for 10 upvotes.
I was like f**k this, I'll just develop on my fork if you want the features on my fork, you will make your own PR! I am so done with OpenSource, development is slow. I have no idea how you guys do it. I can't handle development where I don't have write access.7
I've spent the whole day writing editing a proposal a partner sent as docx. I've tested out writing revisions and saved the file to be sure, and I could re-open it just fine. After some hours, I've sent the file to the partner and he said he couldn't open it. Looks like Libreoffice broke the document.xml file beyond repair when I edited my last comments. Will need to work until midnight because this piece of shit software is incapable of handling the basic document structure it is written for. IF YOU SUPPORT DOCX FILES HOW ABOUT YOUR RELEASE VERSIONS DONT LEAVE BROKEN CORRUPTED MESSES YOU PIECE OF SHIT. HOW MANY HOURS DO YOU THINK HAVE YOU COLLECTIVELY WASTED??1
Release team was recently disbanded, they handed off release management to the Dev scrum masters. The other day we had a weekly release for a product that uses a network service that is shared with other products. The devs didn’t know how to set up the build correctly. They had a purge setting on that removed the network service for products that weren’t being touched in the release. The end result was that the other products were inaccessible for an hour and a half! They eventually found their mistake, but we were lucky that it was outside of core business hours.
These devs need to learn how to work the build tools! Or maybe we should rethink getting rid of the release team.
About 2 months ago, my company wanted to build a micro service that will be used to integrate 3 of our products with external ticketing systems.
So, I was asked to take on this task. Design the service, ensure extendability and universality between our products (all have very different use cases, data models and their own sets of services).
Two weeks of meetings with multiple stakeholders and tech leads. Got the okay by 4-6 people. Built the thing with one other guy in a manner of a week. Stress tested it against one ticketing service that is used in a product my team is developing.
Everyone is happy.
Fast forward to last Thursday night.
“Email from human X”: hey, I extended the shared micro service for ticketing to add support for one of clients ghetto ticketing systems. Review my PR please. P.S. release date is Monday and I am on a personal day on Friday.
I’m thinking. Cool I know this guy. He helped me design this API. He must’ve done good. . . *looks at code* . . . work..... it’s due... Monday? Huh? Personal day? Huh?
So not to shit on the day. He did add much needed support for bear tokens and generalized some of the environment variables. Cleaned up some code. But.... big no no no...
The original code was written with a factory pattern in mind. The solution is supposed to handle communication to multiple 3rd parties, but using the same interfaces.
What did this guy do wrong? Well other than the fact that he basically put me in a spot where if I reject his code, it will look like I’m blocking progress on his code...
His “implementation” is literally copy-paste the entire class. Add 3 be urls to his specific implementation of the API.
Now we have
The latter 3 are his additions... only the last one should have been added in reality... why not just add a type to the payload of the post/put? Is he expecting us to write new endpoints for every damn integration? At this rate we might as well not have this component...
But seriously this cheeses me... especially since Monday is my day off! So not only do I have to reject this code. I also have to have a call now with him on my fucking day off!!!!
What's the most insane deployment scheme you've had to work with? One client has a release schedule that deploys all major projects once a month(!). Bugfixes get deployed once a day (systemwide), so any issue that can't be verified until it's in production has at least a days delay when iterating.
Worked on a little project which now is on tests by application team. They waited until the last day before final release to report some issues found a week ago.
I'm not working during nights, sorry.
Fellow Ansible developers. I'm talking to you.
Are you freaking high or simply your morning pills have some serious side effects?
How do you manage to introduce a number of regressions in every fucking major release? How on earth you feel comfortable in breaking API in a minor and even bug fix releases?
You need to get me right. I really like Ansible project but those things... I imaging you every other day as a bunch of hamsters trying to find an exit in a shitty labyrinth which you call the codebase.
If you will not stop to eat and smoke those things this would became a lot worse indeed.3
Great start to a day when a new release of code has performance degrade over time. Turns out some concurrent collection was causing lock contention.
Follow up sorta...
So I got pulled into a support issue on a day off. Some system was facing timeouts on our servers so had to investigate.
Over the weekend as part of the release, I released the ELK stack I built and today I used that to help.
Pretty much immediately pinpointed which machine was hanging though still had to investigate and confirm so split between KQL and checking the server logs.
One thing I've always griped about is how no one created schema docs for it mongo collections so can't easily figure out what they do or your to get the document needed.
Well guess it's my turn.... Because only I know the schema :)