Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "it’s a feature"
-
Yesterday: Senior dev messages out a screenshot of someone using an extension method I wrote (he didn’t know I wrote it)..
SeniorDev: “OMG…that has to be the stupidest thing I ever saw.”
Me: “Stupid? Why?”
SeniorDev: “Why are they having to check the value from the database to see if it’s DBNull and if it is, return null. The database value is already null. So stupid.”
Me: “DBNull is not null, it has a value. When you call the .ToString, it returns an empty string.”
SeniorDev: ”No it doesn’t, it returns null.”
<oh no he didn’t….the smack down begins>
Me: “Really? Are you sure?”
SeniorDev: “Yes! And if the developer bothered to write any unit tests, he would have known.”
Me: “Unit tests? Why do you assume there aren’t any unit tests? Did you look?”
<at this moment, couple other devs take off their head phones and turn around>
SeniorDev:”Well…uh…I just assumed there aren’t because this is an obvious use case. If there was a test, it would have failed.”
Me: “Well, let’s take a look..”
<open up the test project…navigate to the specific use case>
Me: “Yep, there it is. DBNull.Value.ToString does not return a Null value.”
SeniorDev: “Huh? Must be a new feature of C#. Anyway, if the developers wrote their code correctly, they wouldn’t have to use those extension methods. It’s a mess.”
<trying really hard not drop the F-Bomb or two>
Me: “Couple of years ago the DBAs changed the data access standard so any nullable values would always default to null. So no empty strings, zeros, negative values to indicate a non-value. Downside was now the developers couldn’t assume the value returned the expected data type. What they ended up writing was a lot of code to check the value if it was DBNull. Lots of variations of ‘if …’ , ternary operators, some creative lamda expressions, which led to unexpected behavior in the user interface. Developers blamed the DBAs, DBAs blamed the developers. Remember, Tom and DBA-Sam almost got into a fist fight over it.”
SeniorDev: “Oh…yea…but that’s a management problem, not a programming problem.”
Me: “Probably, but since the developers starting using the extension methods, bug tickets related to mis-matched data has nearly disappeared. When was the last time you saw DBA-Sam complain about the developers?”
SeniorDev: “I guess not for a while, but it’s still no excuse.”
Me: “Excuse? Excuse for what?”
<couple of awkward seconds of silence>
SeniorDev: “Hey, did you guys see the video of the guy punching the kangaroo? It’s hilarious…here, check this out.. ”
Pin shoulders the mat…1 2 3….I win.6 -
As a long-time iPhone user, I am really sorry to say it but I think Apple has completed their transition to being a company that is incompetent when it comes to software development and software development processes.
I’ve grown tired of hearing some developers tell me about Apple’s scale and how software development is hard and how bugs should be expected. All of those are true, but like most rules of law, incompetence and gross negligence trumps all of that.
I’m writing this because of the telugu “bug”/massive, massive security issue in iOS 11.2.5. I personally think it’s one of the worst security issues in the history of modern devices/software in terms of its ease of exploitation, vast reach, and devastating impact if used strategically. But, as a software developer, I would have been able to see past all of that, but Apple has shown their true incompetence on this issue and this isn’t about a bug.
It’s about a company that has a catastrophic bug in their desktop and mobile platforms and haven’t been able to, or cared to, patch it in the 3 or so days it’s been known about. It’s about a company, who as of a view days ago, hasn’t followed the basic software development process of removing an update (11.2.5) that was found to be flawed and broken. Bugs happen, but that kind of incompetence is cultural and isn’t a mistake and it certainly isn’t something that people should try to justify.
This has also shown Apple’s gross incompetence in terms of software QA. This isn’t the first time a non-standard character has crashed iOS. Why would a competent software company implement a step in their QA, after the previous incident(s), to specifically test for issues like this? While Android has its issues too and I know some here don’t like Google, no one can deny that Google at least has a solid and far superior QA process compared to Apple.
Why am I writing this? Because I’m fed up. Apple has completely lost its way. devRant was inaccessible to iOS users a couple of times because of this bug and I know many, many other apps and websites that feature user-generated content experienced the same thing. It’s catastrophic. Many times we get sidetracked and really into security issues, like meltdown/spectre that are exponentially harder to take advantage of than this one. This issue can be exploited by a 3 year old. I bet no one can produce a case where a security issue was this exploitable yet this ignored on a whole.
Alas, here we are, days later, and the incompetent leadership at Apple has still not patched one of the worst security bugs the world has ever seen.81 -
EDIT: devRant April Fools joke (2019)
-------------------------
Hey everyone!
Today, @trogus and I are very happy to announce a devRant feature that we’ve been working on for many months. After extensive time and money investment, it’s finally here! Introducing, pixelated avatars!
@trogus came up with this awesome idea about a year ago, but we couldn’t get it just right so we had to tons of work/research to make those pixelated avatars give the full sense of retro and ULTIMATE pixelation. We think everyone will appreciate how this effort turned out.
Anyway, let us know what you think, and we hope you enjoy!
p.s. here is @trogus’s avatar - the model we used to make sure the feature is perfect!51 -
Frack he did it again.
In a meeting with the department mgr and going over a request feature *we already discussed ad nauseam* that wasn’t technically feasible (do-able, just not worth the effort)
DeptMgr: “I want to see the contents of web site A embedded in web site B”
Me: “I researched that and it’s not possible. I added links to the target APM dashboard instead.”
Dev: “Yes, it’s possible. Just use an IFrame.”
DeptMgr: “I thought so. Next sprint item …what’s wrong?…you look frustrated”
Me: “Um..no…well, I said it’s not possible. I tried it and it doesn’t work”
Dev: “It’s just an IFrame. They are made to display content from another site.”
Me: “Well, yes, from a standard HTML tag, but what you are seeing is rendered HTML from the content manager’s XML. It implemented its own IFrame under the hood. We already talked about it, remember?”
Dev: “Oh, that’s right.”
DeptMgr: “So it’s possible?”
Dev: “Yea, we’ll figure it out.”
Me: “No…wait…figure what out? It doesn’t work.”
Dev: “We can use a powershell script to extract the data from A and port it to B.”
DeptMgr: “Powershell, good…Next sprint item…”
Me: “Powershell what? We discussed not using powershell, remember?”
Dev: “It’s just a script. Not a big deal.”
DeptMgr: “Powershell sounds like a right solution. Can we move on? Next sprint item….are you OK? You look upset”
Me: “No, I don’t particularly care, we already discussed executing a powershell script that would have to cross two network DMZs. Bill from networking already raised his concern about opening another port and didn’t understand why we couldn’t click a link. Then Mike from infrastructure griped about another random powershell script running on his servers just for reporting. He too raised his concern about all this work to save one person one click. Am I the only one who remembers this meeting? I mean, I don’t care, I’ll do whatever you want, but we’ll have to open up the same conversations with Networking again.”
Dev: “That meeting was a long time ago, they might be OK with running powershell scripts”
Me: “A long time ago? It was only two weeks.”
Dev: “Oh yea. Anyway, lets update the board. You’ll implement the powershell script and I’ll …”
Me: “Whoa..no…I’m not implementing anything. We haven’t discussed what this mysterious powershell script is supposed to do and we have to get Mike and Bill involved. Their whole team is involved in the migration project right now, so we won’t see them come out into the daylight until next week.”
DevMgr: “What if you talk to Eric? He knows powershell. OK…next sprint item..”
Me: “Eric is the one who organized the meeting two weeks ago, remember? He didn’t want powershell scripts hitting his APM servers. Am I the only one who remembers any of this?”
Dev: “I’m pretty good with powershell, I’ll figure it out.”
DevMgr: “Good…now can we move on?”
GAAAHH! I WANT A FLAMETHROWER!!!
Ok…feel better, thanks DevRant.11 -
I wanted to post a note on devRant community etiquette and rule-breaking behavior we’ve been seeing lately to make clear it will not be tolerated. This is pretty much a rehash of this rant, https://devrant.com/rants/609739/... and also our official rules which I highly encourage people to read: https://devrant.com/rules
I’ve noticed an influx of a select group of members, mostly older users, expressing a distain towards other users or declaring content they dislike “shouldn’t be posted”, “please stop”, etc. If you find yourself about to post that, as per our rules, please don’t. It blatantly violates our rules and we are going to start cracking down on it much more. Whether you have 30k+ points or 10, we will apply the rules fairly to everyone and not give breaks to specific people, which admittedly I’ve done in the past.
If we see this behavior in rants/comments first we will give a warning (and the rant/comment will be deleted) and the next offense is a ban.
A valid question (even though I’ve answered it before) might be why does this need to be a rule? Simply put, it’s a rule for a number of reasons: posts like described try to inflict one’s will upon the entire community (even though we have a Democrat voting process...), they create confusion (almost every time they try to sound official, ex. “Stop doing this”), and beyond those two main reasons, they literally accomplish nothing because they offer no constructive methods of achieving what’s being requested, and only a fraction of the community will actually see it.
Here’s an example of what’s not allowed and what is allowed:
- Allowed: posting an issue on our GitHub issue tracker saying “I really dislike seeing this type of rant in my algo feed, here’s some ideas I have to improve the algo and add more personalization so I can see what I want.”
- Allowed: posting on GitHub issue tracker: “I found this awesome image similarly algo that I think can improve the ‘repost check feature’ - you guys should check it out and see if it might be good”
- Not allowed: “Omg stop shitposting windows update rants and Linux rants I hate them. Go post this type of rant because that’s what everyone really wants to see.”
One is constructive an the other is merely an opinion expressed as an enforcement of a self-made rule on the community and tries to tell other people how they should use devRant.
I cringe when people tell others how to use devRant because without fail when I see those posts, I go through that person’s rant/comment history and I nearly always see them using devRant in some kind of way I disagree with or isn’t exactly what I like to see. But that’s OK. I understand I’m not going to enjoy everything posted and I’m also not going to agree with everything posted. But I think it’s fair for those same people to then lecture on what isn’t appropriate to post on devRant, and it’s even more silly when their posts are sometimes irrelevant to development and the posts they are complaining about are relevant.
In the end, based on the large majority of feedback we get, we want to make devRant a place where everyone feels comfortable expressing themselves and doesn’t have to think about possibly getting ridiculed every time they post and that don’t have people trying to dictate what kind of ideas they are allowed to post. We also realize there’s types of content people don’t enjoy, but telling others not to post it is not the solution. We will soon be launching post type filters that will make filtering rants by post type possible.
Please let me know if you have any questions and thanks for reading.64 -
Client: Why is this not working?
Me: Because the feature expect a...
Client: I sure hope you won’t expect your client to want to know all these teach behind this feature, as a client, I just expect it to work.
Me: Ok...
Client: So why isn’t it working now? WHY?
Me: 🤦🏽♂️
Client: I need a response!
Me: It is not working because...
Client: Stop telling me logics!! I just want it to work. Why isn’t it working...
Me: It is not working because I fucked up. It will work after I fix it.
Client: Why isn’t it working though... I don’t understand why...
Me: Just let me fix it and it will work...
Client: Why can’t you tell me why... it’s not good communication... (hangs up)12 -
GUESS WHAT? HE WANTS ANOTHER FUCKING FEATURE!
AND WHEN I SAID I DIDN’T HAVE TIME BECAUSE CODE-COMPLETE IS TOMORROW, HE SAID HE’LL PUNT IT TO NEXT YEAR INSTEAD OF RELEASING IT THIS WEEK SO I CAN “BUILD IT RIGHT.” MAN, FUCK YOU AND YOUR ENDLESS CHANGES!
THIS WAS GOING TO BE A TWO WEEK TICKET UNTIL HE STARTED ADDING ENDLESS FEATURES AND CHANGES AND SURPRISES. IT’S BEEN FUCKING MONTHS! I AM SICK OF THIS SHIT!
ANSDFKAWHOALIKWEGJFADIO;UGJT;
There goes my Q4 performance review.
> “Accomplishments? Oh, there’s lots of room here. Accomplished: Basically nothing. How embarrassing.”
Hate hate hate hate hate hate hate20 -
Manager: So great news, we will also be building a new app this year!!
Dev: We only have 2 devs and we already struggling to maintain/build our current portfolio of applications. I don’t think we have the resources to support another.
Manager: Nonsense, this is a very small project management app that was requested by the CEO himself!
Dev: …We already have MS project, why can’t they just use that?
Manager: The executive team isn’t interested in learning MS Project, it’s way too complicated. They want us to build an internal version of MS Project one feature at a time so they can pick it up over time instead of getting overwhelmed with learning MS Project all at once. It also needs to have loads of customizable automation features so leadership doesn’t ever have to get “in the weeds” having to work with it. It needs to basically run itself!
Dev: …What about this is small?
Manager: Well that is the requirement.
Dev: …18 -
I’m surrounded by idiots.
I’m continually reminded of that fact, but today I found something that really drives that point home.
Gather ‘round, everybody, it’s story time!
While working on a slow query ticket, I perused the code, finding several causes, and decided to run git blame on the files to see what dummy authored the mental diarrhea currently befouling my screen. As it turns out, the entire feature was written by mister legendary Apple golden boy “Finder’s Keeper” dev himself.
To give you the full scope of this mess, let me start at the frontend and work my way backward.
He wrote a javascript method that tracks whatever row was/is under the mouse in a table and dynamically removes/adds a “.row_selected” class on it. At least the js uses events (jQuery…) instead of a `setTimeout()` so it could be worse. But still, has he never heard of :hover? The function literally does nothing else, and the `selectedRow` var he stores the element reference in isn’t used elsewhere.
This function allows the user to better see the rows in the API Calls table, for which there is a also search feature — the very thing I’m tasked with fixing.
It’s worth noting that above the search feature are two inputs for a date range, with some helpful links like “last week” and “last month” … and “All”. It’s also worth noting that this table is for displaying search results of all the API requests and their responses for a given merchant… this table is enormous.
This search field for this table queries the backend on every character the user types. There’s no debouncing, no submit event, etc., so it triggers on every keystroke. The actual request runs through a layer of abstraction to parse out and log the user-entered date range, figure out where the request came from, and to map out some column names or add additional ones. It also does some hard to follow (and amazingly not injectable) orm condition building. It’s a mess of functional ugly.
The important columns in the table this query ultimately searches are not indexed, despite it only looking for “create_order” records — the largest of twenty-some types in the table. It also uses partial text matching (again: on. every. single. keystroke.) across two varchar(255)s that only ever hold <16 chars — and of which users only ever care about one at a time. After all of this, it filters the results based on some uncommented regexes, and worst of all: instead of fetching only one page’s worth of results like you’d expect, it fetches all of them at once and then discards what isn’t included by the paginator. So not only is this a guaranteed full table scan with partial text matching for every query (over millions to hundreds of millions of records), it’s that same full table scan for every single keystroke while the user types, and all but 25 records (user-selectable) get discarded — and then requeried when the user looks at the next page of results.
What the bloody fucking hell? I’d swear this idiot is an intern, but his code does (amazingly) actually work.
No wonder this search field nearly crashed one of the servers when someone actually tried using it.
Asdfajsdfk.rant fucking moron even when taking down the server hey bob pass me all the paperclips mysql murder terrible code slow query idiot can do no wrong but he’s the golden boy idiots repeatedly murdered mysql in the face21 -
Well. My life is over. I got punchy and accidentally deleted a client’s entire site. Backups and all. Wasn’t paying attention to which specific delete feature I was using and POOF. It’s all gone.
The worst part? I was actually just trying to delete a staging site where I was trying out some stuff to try to win a site redesign contract. Now it looks like I’ll be paying THEM for damages and/or building them a new site for FREE.
I’m so done.27 -
The stupid stories of how I was able to break my schools network just to get better internet, as well as more ridiculous fun. XD
1st year:
It was my freshman year in college. The internet sucked really, really, really badly! Too many people were clearly using it. I had to find another way to remedy this. Upon some further research through Google I found out that one can in fact turn their computer into a router. Now what’s interesting about this network is that it only works with computers by downloading the necessary software that this network provides for you. Some weird software that actually looks through your computer and makes sure it’s ok to be added to the network. Unfortunately, routers can’t download and install that software, thus no internet… but a PC that can be changed into a router itself is a different story. I found that I can download the software check the PC and then turn on my Router feature. Viola, personal fast internet connected directly into the wall. No more sharing a single shitty router!
2nd year:
This was about the year when bitcoin mining was becoming a thing, and everyone was in on it. My shitty computer couldn’t possibly pull off mining for bitcoins. I needed something faster. How I found out that I could use my schools servers was merely an accident.
I had been installing the software on every possible PC I owned, but alas all my PC’s were just not fast enough. I decided to try it on the RDS server. It worked; the command window was pumping out coins! What I came to find out was that the RDS server had 36 cores. This thing was a beast! And it made sense that it could actually pull off mining for bitcoins. A couple nights later I signed in remotely to the RDS server. I created a macro that would continuously move my mouse around in the Remote desktop screen to keep my session alive at all times, and then I’d start my bitcoin mining operation. The following morning I wake up and my session was gone. How sad I thought. I quickly try to remote back in to see what I had collected. “Error, could not connect”. Weird… this usually never happens, maybe I did the remoting wrong. I went to my schools website to do some research on my remoting problem. It was down. In fact, everything was down… I come to find out that I had accidentally shut down the schools network because of my mining operation. I wasn’t found out, but I haven’t done any mining since then.
3rd year:
As an engineering student I found out that all engineering students get access to the school’s VPN. Cool, it is technically used to get around some wonky issues with remoting into the RDS servers. What I come to find out, after messing around with it frequently, is that I can actually use the VPN against the screwed up security on the network. Remember, how I told you that a program has to be downloaded and then one can be accepted into the network? Well, I was able to bypass all of that, simply by using the school’s VPN against itself… How dense does one have to be to not have patched that one?
4th year:
It was another programming day, and I needed access to my phones memory. Using some specially made apps I could easily connect to my phone from my computer and continue my work. But what I found out was that I could in fact travel around in the network. I discovered that I can, in fact, access my phone through the network from anywhere. What resulted was the discovery that the network scales the entirety of the school. I discovered that if I left my phone down in the engineering building and then went north to the biology building, I could still continue to access it. This seems like a very fatal flaw. My idea is to hook up a webcam to a robot and remotely controlling it from the RDS servers and having this little robot go to my classes for me.
What crazy shit have you done at your University?9 -
Stupid bloody PM.
I asked him for two images a long time ago: a 1x and a 2x ‘0’ monogram for Apple wallets, since we currently have monograms for glyphs 1-9 and a-z. And this is in production, so any merchant whose name starts with a ‘0’ will cause a crash. We’ve been fortunate thus far.
But this PM. He lied about who needed to make the images for three weeks, saying it’s up to the designer, when he actually made them himself. He also said he was going to take care of handing the task off, and never did, and then said designer when on FTO. When I asked the designer about it after he came back, he had no clue what graphics (and even the feature) I was talking about, or even what the requirements for the graphics might be. I had to confront the PM before he admitted he made the originals, and (begrudgingly) said he would make the new ones.
When said PM did finally make the images, the colors were all wrong. They’re not the light teal from our branding, they’re dark blue and the font is different, making them pretty ugly.
Also, after assuring me that the naming convention for the new images is the same, I discover that they’re neither organized into folders nor even named properly. (And yes, he is aware of how it should be.) I can rename and move them around easily enough, but come on, don’t say you did the work and then give me a mess to clean up!
And to top it all off, he completely spaced making the ‘u’ monograms, so I’m still short a fucking glyph!
Asdfjskldf.
How do you do every single thing wrong? Like, how!?1 -
Week 278: Most rage-inducing work experience — I’ve got a list saved! At least from the current circle of hell. I might post a few more under this tag later…
TicketA: Do this in locations a-e.
TicketB: Do this in locations e-h.
TicketC: Do this in locations i-k.
Root: There’s actually a-x, but okay. They’re all done.
Product: You didn’t address location e in ticket B! We can’t trust you to do your tickets right. Did you even test this?
Root: Did you check TicketA? It’s in TicketA.
Product guy: It was called out in TicketB! How did you miss it?!
Product guy: (Refuses to respond or speak to me, quite literally ever again.)
Product guy to everyone in private: Don’t trust Root. Don’t give her any tickets.
Product manager to boss: Root doesn’t complete her tickets! We can’t trust her. Don’t give her our tickets.
Product manager to TC: We can’t trust Root. Don’t give her our tickets.
TC: Nobody can trust you! Not even the execs! You need to rebuild your reputation.
Root: Asks coworker a simple question.
Root: Asks again.
Root: nudges them.
Root: Asks again.
Coworker: I’ll respond before tomorrow. (And doesn’t.)
Root: Asks again.
Root: Fine. I’ll figure it out in my own.
TC: Stop making it sound like you don’t have any support from the team!
Root: Asks four people about <feature> they all built.
Everyone: idk
Root: Okay, I’ll figure it out on my own.
TC: Stop making it sound like you don’t have any support from the team!
Root: Mentions multiple meetings to discuss ticket with <Person>.
TC: You called <Person> stupid and useless in front of the whole team! Go apologize!
Root: Tells TC something. Asks a simple question.
Root: Tells TC the same thing. Asks again.
TC: (No response for days.)
TC: Tells me the exact same thing publicly like it’s a revelation and I’m stupid for not knowing.
TC: You don’t communicate well!
Root: Asks who the end user of my ticket is.
Root: Asks Boss.
Root: Asks TC.
Root: Fine, I’ll build it for both.
Root: Asks again in PR.
TC: Derides; doesn’t answer.
Root: Asks again, clearly, with explanation.
TC: Copypastes the derision, still doesn’t answer.
Root: Asks boss.
Boss: Doesn’t answer.
Boss: You need to work on your communication skills.
Root: Mentions asking question about blocker to <Person> and not hearing back. Mentions following up later.
<Person>: Gets offended. Refuses to respond for weeks thereafter.
Root: Hey boss, there’s a ticket for a minor prod issue. Is that higher priority than my current ticket?
Root: Hey, should I switch tickets?
Root: Hey?
Root: … Okay, I’ll just keep on my current one.
Boss: You need to work on your priorities.
Everyone: (Endless circlejerking and drama and tattling)6 -
Stakeholder: There’s a bug on the site.
Me: That’s not a bug. The site is supposed to do that. Your team asked for that feature and we implemented it last summer.
SH: They did?
Me: Yes, they did.
SH: You sure it’s been like this since last summer?
Me: YES!!!5 -
I know that I should stop mindless scroll through devRant when it suddenly crashes 😎
It’s a feature at this point.
⭐️⭐️⭐️⭐️⭐️4 -
I have a college that never seems to answer anything fully, just the bare minimum to make it seem like he did.
Regular conversations with him goes like this:
Me: “hey, I have a problem with this feature you added, I’m getting an error *insert error*”
Him: “yeah theres a script for that...”
Me: *wait for the script he mentioned*
Me: “whats the script?”
Him: “it’s FixIssues.sh”
Me: *looks for the script in the project*
Me: “hey, I can’t find it, where is it?”
Him: “here it is” *pastes a script into chat*
Me: “Oh, where can i find that in the project?”
Him: “you can’t”
Me: “???”
Him: “I have it in my OneDrive”
WHY CAN’T YOU JUST SAY THAT IN THE FIRST PLACE? Why this song and dance every time I ask something? This conversation could have been over in 1 minute but instead we both have to waste 15 minutes of our time to get this far.6 -
Not really a bug, but once I tried to learn building function ajax per table asynchronously instead of calling all of them at once. Spend like couple of hours of trial of error. It wasn’t needed at the time, but suddenly I need to fetch something separately because of a new feature. Just write a couple and line it’s done
-
The nightmare continues.
Currently dealing with a code review from a “principal” dev (one step above senior), who is unironically called a “legendary dev” by some coworkers. It’s painfully obvious he didn’t read the code, and just started complaining and nitpicking.
It’s full of requests to do things that make absolutely no sense, and would make the code an unmaintainable mess.
• Ex: moving the logic and data collection from the module’s many callers into the module instead of just passing in the data.
• Ex: hiding api endpoint declarations by placing them in the module itself, and using magic instance variables to pass data to it. Basically: using global functions and variables instead of explicit declarations and calls.
• Ex: moving the logic to determine which api endpoint to use, for all callers, into the view.
More comments about methods being “too complex” (barely holds water) right next to comments saying “why are these separate? merge them together!”
Incredulously asking how many times I’m checking permissions and how ridiculous it all is. (The answer? Twice.)
Conflating my “permissions” param and method names with a supposedly forthcoming permissions system overhaul, and saying I shouldn’t use permissions because my code will all have to get rewritten. Even if that were true, and it’s likely not, the ticket still needs to use the current permissions. I can’t just ignore them because they might be rewritten someday.
Requests to revert some code cleanup because the reviewer thought the previous heavily-nested and uncommented versions (with code duplication) were easier to read. Unsurprisingly, he wrote them.
On the same ticket, my boss wants me to remove all styling and clientside validation, debouncing, and error messages from a form. Says “success” and “connection failed” messages are good enough. The form in question sends SMS and email using arbitrary user input for addresses. He also says it shouldn’t be denounced on the server, and doesn’t want me to bother checking permissions. Hello, spam!
Related: the legendary dev reviewer says he can’t think of a reason why we would want to disable the feature for consumers, so I should remove the consumer feature flag.
You can’t make this stuff up.7 -
Be me, new dev on a team. Taking a look through source code to get up to speed.
Dev: **thinking to self** why is there no package lock.. let me bring this up to boss man
Dev: hey boss man, you’ve got no package lock, did we forget to commit it?
Manager: no I don’t like package locks.
Dev: ...why?
Manager: they fuck up computer. The project never ran with a package lock.
Dev: ..how will you make sure that every dev has the same packages while developing?
Manager: don’t worry, I’ve done this before, we haven’t had any issues.
**couple weeks goes by**
Dev: pushes code
Manager: hey your feature is not working on my machine
Dev: it’s working on mine, and the dev servers. Let’s take a look and see
**finds out he deletes his package lock every time he does npm install, so therefore he literally has the latest of like a 50 packages with no testing**
Dev: well you see you have some packages here that updates, and have broken some of the features.
Manager: >=|, fix it.
Dev: commit a working package lock so we’re all on the same.
Manager: just set the package version to whatever works.
Dev: okay
**more weeks go by**
Manager: why are we having so many issues between devs, why are things working on some computers and not others??? We can’t be having this it’s wasting time.
Dev: **takes a look at everyone’s packages** we all have different packages.
Manager: that’s it, no one can use Mac computers. You must use these windows computers, and you must install npm v6.0 and node v15.11. Everyone must have the same system and software install to guarantee we’re all on the same page
Dev: so can we also commit package lock so we’re all having the same packages as well?
Manager: No, package locks don’t work.
**few days go by**
Manager: GUYS WHY IS THE CODE DEPLOYING TO PRODUCTION NOT WORKING. IT WAS WORKING IN DEV
DEV: **looks at packages**, when the project was built on dev on 9/1 package x was on version 1.1, when it was approved and moved to prod on 9/3 package x was now on version 1.2 which was a change that broke our code.
Manager: CHANGE THE DEPLOYMENT SCRIPTS THEN. MAKE PROD RSYNC NODE_MODULES WITH DEV
Dev: okay
Manager: just trust me, I’ve been doing this for years
Who the fuck put this man in charge.11 -
"Y’all talk about UX like it’s just another feature. For a user, it literally is the product. Full stop. Everything else is inside baseball." - Startup L. Jackson2
-
Sick.
Worst sleep of my life last night.
Freezing cold, weak, sore, can’t think, starving but can’t eat or drink, as low energy as a dead Chinese “heavy duty” battery.
Finished some changes to my feature today anyway; everything should be done now. Refactored some specs, and got them all to pass.
Falling asleep on my closet floor. Heavy winter coat, fuzzy pants, space heater. It’s warm in here and there’s a shelf for my lappy. Floor is uncomfortable but idc. I’m so tired and out of it I don’t even notice.
This sucks.
At least I have the rest of the week off.21 -
Manager: I don’t understand what is so complicated about this feature. Under a certain set of conditions do one thing, under a separate set of conditions do another. It’s just an if else statement! Those take seconds to write!
Dev: The problem is the memory required to calculate the conditions is quite cumbersome
Manager: Well then find a faster way! It’s just an if else!
Dev: …11 -
Long rant!!!
Let me give you a little back story first
So I was building a mobile app for a client who is to say the least a big PAIN IN THE ASS!
And once I completed the final edits he requests and sent him the app for approval, he calls me and starts asking about some features in the app if it has does or not (which the app does). The main reason for this rant is the feature about the app being able to open the links of the website inside the app without going to the browser first.
But what was happening when the client clicked on the link, since it’s a newspaper type of app, he got asked in which browser he wanted to open the link and after the browser was opened it returned him to the app and asked if he wants that link be opened in the app or browser again. So I can understand his confusion and anger with this problem so I started to debug to see what is happening since I now this featured worked before and had it on video to show it does. After a few minutes I noticed that the links were being added as google.com/url?q={CLIENT_URL}/something_else instead of just www.client_url.com/article
Obviously not my fault as I don’t do content for the website but some other person. But once I called him back and explained the situation to him, he started yelling at me for not being able to create the feature and not notifying him of the mistake his author was making. After about 10mins of him yelling I snapped and just angrily told him “I don’t hear any problems with the app, as far as I’m concerned it can be published as is, as there is not problem on my side”. Then he got even more angry and started talking more shit about how this is all my fault and how I’m a bad programmer and how his users are gonna just delete the app once they see this and I should find a way to fix those links.
And to clarify some more, if there was like 5-10 articles I would do it, just so that I don’t have to listen to him, but there are more than 1 or 2k articles with about 2-5 links per article that were added like that.
After his call I called my boss and told him what happened, and he said he will talk to the client and explain to him how he will be able to communicate with me from now on and in what tone. As I’m not allowed to tell clients anymore to go fuck themselves, since I did it once. But I can call my boss and he does it for me :D
//END RANT !!!4 -
Business: we need feature x in two
Days, highly urgent!
Me: fine, here’s a shitty implementation we can live with until you decide how to Actually make this work in the future.
2 days pass...
Me: where’s the content for feature x?
Business: awaiting approval
5 more days pass...
Me: I’m guessing this super urgent request wasn’t needed after all?
Business: it’s still awaiting approval
Me: so... I’ll just go and remove this feature, and revisit when its actually needed.
Business: no, it’s needed now, we are just waiting on approval
Me: 🤷♂️
Duck my life sometimes.
I could have built a full fledged system of this shitty hack job instead in the time taken to approve a useless piece of content.6 -
“If it happens once, it’s a bug.
If it happens twice, it’s a feature.
If it happens more than twice, it’s a design philosophy.”1 -
When managers look at my code, it’s shit, it’s over complicated, it’s overly difficult to read, it took too long, it’s too much for a simple ticket, i handled too many edge cases, we’ll never need most of it, why did I bother making it extensible when it’ll never need to change, how dare I use “unless”, why did I bother writing all these comments, why did I update the documentation that nobody reads because it’s outdated, etc. They say I should be more like the legendary devs and push janky code quickly, and complain that I don’t have any flops (problems in prod) like those are a good thing.
When my coworkers look at my code, they say it’s clean, amazingly easy to read, a monster feature that’s somehow still a joy to review and work on, it makes their lives easier, that it does exactly what it should in all cases, that they learned something from reading it, and thank me for the comments and documentation. And marvel that I finished it so well in so little time.
Am I bragging? Not intentionally; I’ve heard these things repeatedly since I started here, and the contrast between the above is so stark.
In reality, the managers are just idiots who were promoted far above their competence, and make everything worse. (Gee, who woulda thought?) It’s just so frustrating.19 -
A colleague named Sam was really pissed off today at an out sourcing firm from India.
My Boss outsourced an application to India based firm. Sam was the one handling the project after the handover. Sam coded a feature 2 weeks ago and moved to staging server for approval. After the sign off from the lead developer of the outsourcing firm, he moved the feature to production. For the past 2 days the application was crashing over and over again so Sam went to check and found out that the feature he coded was causing the issue. When he pulled the feature to his computer and had a look at the code, it wasn’t his code. The code he wrote was commented out and the lead developer of the outsourcing firm wrote new code.
When Sam emailed to him regarding this he replied that he re-wrote his code to fix issues with the feature. Sam and outsourcing firm lead developer had heated argument about this. It’s turns out that the outsourcing developer re-wrote the code without anyone’s approval and on production server.
The lead developer of the outsourcing firm was fired.7 -
It was when I ditched React. I replaced it with raw JavaScript, with frontend being built with Gulp and Twig (just because HTML has no includes). Here are the results:
1. Previously, a production frontend build took 1.5 minutes. Build time became so fast that after I push the code, the build was done before me going to Netlify to check build status. I go there, and it’s almost always already done.
2. In a gallery with a lot of cards, with every card opening a modal, the number of listeners was reduced from N to one. With React, I needed 1000 listeners for 1000 cards. With raw JavaScript, I needed just one click listener with checking event target to handle all of the cards.
3. Page load time and time-to-interactive was reduced from seconds to milliseconds.
4. Lighthouse rating became 100 for desktop and 93 for mobile.
But there is one more thing that is way better than all of the above: cognitive complexity.
Tasks that took days now take hours. Tasks that took hours now take minutes.
Tasks that took thousands of lines now take hundreds. Tasks that took hundreds of lines now take tens.
In real business apps, it is common to build features and then realize it’s not needed and should be discarded. Business is volatile, just because the real world is volatile too. With this kind of cost reduction per feature, it became way less painful to discard them. Throwing out something you spent time and emotional resource on doesn’t feel good. But with features taking minutes to build, it became easier.23 -
➡️You Are Not A Software Developer⬅️
When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
According to the universal law of software development, more code leads to more bugs:
e = mc²
Or
errors = (more code)²
The number of bugs grows with the amount of code. You have to prioritize, reproduce and fix bugs.
The more code you write, the more your team and the team after it has to maintain. Even if you split the system into micro services, the complexity remains.
Writing well-tested, clean code takes a lot of time. When you’re writing code, other important work is idle. The work that prevents your company from becoming rich.
A for-profit company wants to make money and reduce expenses. Then the company hires you to solve problems that prevent it from becoming rich. Confused by your job title, you take their money and turn it into expensive software.
But business has nothing to do about software. Even software business is not about software. Business is about making money.
Your job is to understand how the company is making money, help make more money and reduce expenses. Once you know that, you will become the most valuable asset in the company.
Stop viewing yourself as a software developer. You are a money maker.
Think about how to save and make money for your customers.
Find the most annoying problem and fix it:
▶️Is adding a new feature too costly? Solve the problem manually.
▶️Is testing slow? Become a tester.
▶️Is hiring not going well? Speak at a meetup and advertise your company.
▶️Is your team not productive enough? Bring them coffee.
Your job title doesn’t matter. Ego doesn’t matter either.
Titles and roles are distracting us from what matters to our customers – money.💸
You are a money maker. Thinking as a money maker can help choose the next skill for development. For example:
Serverless: pay only for resources you consume, spend less time on capacity planning = 💰
Machine Learning: get rid of manual decision-making = 💰
TDD: shorter feedback cycle, fewer bugs = 💰
Soft Skills: inspire teammates, so they are more productive and happy = 💰
If you don’t know what to learn next — answer a simple question:
What skills can help my company make more money and reduce expenses?
Very unlikely it’s another web framework written in JavaScript.
Article by Eduards Sizovs
Sizovs.net17 -
Highlights from my week:
Prod access: Needed it for my last four tickets; just got it approved this week. No longer need it (urgently, anyway). During setup, sysops didn’t sync accounts, and didn’t know how. Left me to figure out the urls on my own. MFA not working.
Work phone: Discovered its MFA is tied to another coworker’s prod credentials. Security just made it work for both instead of fixing it.
My merchant communication ticket: I discovered sysops typo’d my cronjob so my feature hasn’t run since its release, and therefore never alerted merchants. They didn’t want to fix it outside of a standard release. Some yelling convinced them to do it anyway.
AWS ticket: wow I seriously don’t give a crap. Most boring ticket I have ever worked on. Also, the AWS guy said the project might not even be possible, so. Weee, great use of my time.
“Tiny, easy-peasy ticket”: Sounds easy (change a link based on record type). Impossible to test locally, or even view; requires environments I can’t access or deploy to. Specs don’t cover the record type, nor support creating them. Found and patched it anyway.
Completed work: Four of my tickets (two high-priority) have been sitting in code review for over a month now.
Prod release: Release team #2 didn’t release and didn’t bother telling anyone; Release team #1 tried releasing tickets that relied upon it. Good times were had.
QA: Begs for service status page; VP of engineering scoffs at it and says its practically impossible to build. I volunteered. QA cheered; VP ignored me.
Retro: Oops! Scrum master didn’t show up.
Coworker demo: dogshit code that works 1 out of 15 times; didn’t consider UX or user preferences. Today is code-freeze too, so it’s getting released like this. (Feature is using an AI service to rearrange menu options by usage and time of day…)
Micromanager response: “The UX doesn’t matter; our consumers want AI-driven models, and we can say we have delivered on that. It works, and that’s what matters. Good job on delivering!”
Yep.
So, how’s your week going?2 -
User where I work is convinced someone hacked her iPhone and is remotely changing settings all the time. And it’s not us (the company), the phone isn’t managed and there are no remote profiles installed.
User: I’m telling you. Things are always changing without me doing it!
Me: Alright. Do you have an exemple?
User: Yes. When I swipe here [control center] and tap the WiFi toggle, it always gets back on by itself later.
Me: Yep. That’s actually a “feature”. You don’t have to worry.
User: Alright then, this morning I couldn’t get Google Maps to work.
Me: Well. Since you turned off your cellular and WiFi, it’s normal you couldn’t look up an adress.
User: okay then what about that Bluetooth icon in the top that always appears? I know that means the hacker is on my phone through Bluetooth. See!?
Me: That’s actually just a status indicator. Don’t worry about it. It’ll always come back there it’s normal. You know, your phone can do a lot of stuff by itself.
User: Yeah right. It does it by itself. I’m not stupid you know!! *storms off*
What the hell?6 -
I worked on a feature that included setting a cookie to expire in an hour.
QA: The cookie’s time should be set to my local time.
Me: What the—are you kidding me?!The cookie’s exp time is in UTC. Whether you’re in NY or Singapore, that cookie will expire an hour from when it’s issued. Now stop flagging non issues and beta accept my ticket.
This is the weirdest s*** QA has pulled.8 -
“PHP is evil” is not just a joke.
PHP is usually percieved as a language which is not so consistent and has some opinionated historical aspects but allows rapid development because it’s easy. They say PHP doesn’t focus on that “purist shit” such as concepts and “just gets things done”.
Hovewer, this is not true. PHP lures you in and lies to you promising saving time on development, but everything, and I mean EVERYTHING written in PHP is doomed to turn into a bloody mess sooner or later.
You have to be an AI to manage the growing PHP codebase and add features without breaking anything. With every feature it gets harder and harder. If you’re still a human managing a human team, you have to enforce guidelines. Automatic error preventon measures are made of code themselves so the cost of deploying them ona late stage can be ridiculous. And you never deploy them on early stage because you want to “save time”. Your people have to spend more and more time everyday checking on that guidelines. Your development process only becomes slower and slower. If you try to push things, your project will crumble to dust.
To make PHP at least decent, you have to figure out all this by yourself on an early stage. When you’re done, you spent a lot of time creating the buggy, ad-hoc, unspecified and unsupported alternative of what works out of the box in other languages. And you still code in PHP and still have all its disadvantages in your project’s DNA.
PHP is evil because it promises and never delivers. PHP is evil because it lies to you and it already fucked over so many of us.
If you want to code in PHP, do it under your pillow. Code your own silly projects.
If your project has the word “production” somewhere in its plans, PHP is not the way to go.
Amen.66 -
Me: Ah, just have to finish this one small feature today and this whole massive update is done. Everyone will be off my back, things will calm down. Gonna be great.
Life: hey man, you know what I was thinking? It’s been a really long time since you had one of those vomiting bugs ... you know the gut wrenching, massive headache, can’t do anything but stare at the walls kind of flu’s?
Me: ...... eh I’m ok thanks.
Life: oh buddy you don’t understand ...... RUN!!!2 -
*At the daily status meeting*
Manager: I don’t have anything to table or anything I want to ask about. I honestly don’t know what the point of this meeting even is.
*Throughout every other living breathing moment of time*
Manager: Hey, I had an idea
Manager: Hey, I wanted to get your thoughts on something
Manager: Hey, what do you think about…
Manager: Hey, what are you currently working on?
Manager: Do you think you could just *sneak* in this new feature request and have it to me by EOD?
Manager: Hey, I just sent you an email
The email: Hey I think I found a bug, it’s with image alignment in Microsoft Word and it’s pretty breaking to my productivity report. Do you think you could take a look right now? Thoughts?5 -
in your opinion, what is the most important feature of a programming language? For me it’s getting paid for using it.13
-
"a 5% feature (used by less than 5% of all users) is a distraction for all the other users, and is better removed, unless it’s really critical (a small number of users do need to cancel service, for example)." - Neil Hunt8
-
So since I’m in managers meetings I get a lot of info that I probably shouldn’t have. For example, I know before everyone else when we’re considering going to a new software, and I’m in the vendor discussions and pilot groups for said software.
Today a user came down and asked me to build a feature that will be included ootb in the new software we’re considering. I wanted to say no because I know we’re going to this other thing, but couldn’t because it’s not for sure. So I said I’d take care of it and ushered him on his way and now I have to build some crap that will be obsolete in eight months.
I prefer the good old days of blindly pushing buttons at the request of the evil overlords... it was so much simpler...2 -
Team estimated a huge feature with 60 days. Made a prototype in a day, implemented it in the project the next day. Code looks a lot cleaner than a previous similar solution.
Now it’s 90% done. Should have worked with 2 other people. Oh well, sorry not sorry for that teamwork.3 -
Dev team: This part of the app has a shitty ux. We want to fix it after we finish this feature.
Business: hey guys we think we lack data so we got some users to check our page with shitty ux and see if they think it is shit
User: yeah it’s shit
Great use of resources you chucklefucks6 -
In only I were 1.15 times faster or had better planning (why didn’t I use the Saturday Sunday at the end of the first week 🤦🏼♂️), things would’ve happened differently. I think I’m becoming stupid and my tolerance levels are going down too.
So this happened a while back ..
I was given a code base which didn’t have any changes in the last two years and I was asked to add a feature to this. This was my first task in this new group I was part of. I had two weeks to do this starting on a Monday.
Partway through implementation I realised that the code base is a pile of shit and I wasn’t doing myself or anyone else any favours by shitting on it.
It’s Wednesday. I’ve dealt with many other codebases before but the urge to rewrite this particular one was just unlike anything else. And so I started changing code and before I realised, I modified almost all the important files.
I got sick of this mixed up code and started a rewrite from scratch. It was Friday and I finally had just the basic mechanics of the whole thing working. Now I needed to add all the functionalities and also my new feature.
It should be noted that at no point did I tell any of the superiors I was doing this fearing what they might say and also fearing going back to adding shit to shit.
By the end of the second week, the rewrite was complete and I only had the new feature to add. The rewrite was significantly smaller, compartmentalised and well commented because I did the bloody commenting (where it was not obvious from the code). So on Friday, I was asked about the progress and I told them that it needed some more work and that I need a couple more days. And I got shit for it. I was told it was a mistake giving this task to me and that I am not competent enough. One of the superiors told the other superior about perhaps giving me something more suited to my level. To be fair to them, they were expecting the work in the two weeks to be for the new feature.
And in two days’ time, on Monday (I worked on Saturday and half of Sunday), I finished the whole thing and gave it to them. New feature was working. And I still did not tell them what I did. The tool worked fine so they had no idea what happened because this project had no version control and I pointed them to a new directory with the new code with a first commit.3 -
Does your team also tend to get stuck in the MVP Trap?
You ship a barebones version of a feature. Zero polish. That’ll be done later if it’s successful.
When the stats roll in it seems the feature got a lukewarm reception. A few users liked it, but it wasn’t a hit.
Next sprint starts and everyone asks if we should spend more time on it
The PM argues ”Why would we spend time polishing something no one uses?”
The designer argues ”Well of course no one used it, it looks like shit, we gotta spend some time polishing it!”
It becomes a chicken or the egg scenario.
Your product ends up with a bunch of half assed features. not bad enough to remove, not good enough to spend more time on.4 -
dev: “I want to start working on [feature]”
Me: “I already started to work on it, sorry for not mentioning it, we need specs from design team before I can go on, but I’d suggest going for another task meanwhile”
Manager: “noooo design is very very busy, [dev] will take care of it.”
Me: “[dev] still needs specs from the design team... and I am half done with it so no real point in re-writing the same code I wrote”
Manager: “just trust me, we do this and [dev] takes care of it.”
*me and [dev] look at each other perplexed and just nod to the manager cause it’s Thursday and the fucks to give are over*
... am I actually a patient in an asylum? I question my sanity after this exchange of words.2 -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
So when code is badly written, more corner cases are unnecessarily introduced. And it’s sometimes tricky to find the corner cases and probably messy to fix the corner cases.
And so the code grows in size as a result. And when these fixes to the corner cases are not well done, they introduce more corner cases.
So what results is a large collection of corner cases. Only corner cases remain when this goes on for a while.
Because of this, every new feature can be effectively translated to a collection of corner cases to be implemented.
As corners grow, triangles become circles and tetrahedrons become spheres.
I live in such a sphere.8 -
We get an email from the customer that a feature they “are using every day” is broken and it needs to be fixed ASAP. Sure, seems to be broken in current build. Run git blame to see when it stopped working. Last change may of last year. It’s been broken for almost a year and it took them until now to notice even though they “use it every day”.1
-
> be me
> be developing a react native app
>realize the iPhone X notch is clipping your content on the first/home screen of the app
>google says: simple fix
>find a built-in react native thing to add safe area padding
> refresh the app
> ohno.png
> the other screens with navigation bars already have built in padding
> TOOMUCHPADDING.jpeg
> remove safe area thingy
> finds a clever, not particularly hacky way to pad the home screen without showing the header bar by setting its height to 0 and the color to match the content background
> more-problems.app
> there’s a small 1–pixel light colored line separating the header from the content clearly breaking the otherwise continuous single color background
> google.sh
> wtf.txt
> stackoverflow.html
> no responses except something I’d already done
> keep experimenting
> tries basically everything to figure out where that line is coming from
>sets borders to thicccc and bright red
>no bottom border? Ok that’s not it
>opacity?
>forgetaboutit.mov
>try shifting the header position around by a few pixels? Maybe it’s misaligned with the white parent layer underneath?
> nope.jpg
>it’s past bedtime
>Sleep.jpg
>thenextday(today).zip
> what about the content? Is that misaligned?
> nope2.jpg
>Maybe its an iOS feature not a react thing?
> make a test Xcode project, completely native to test
> negative.dng (pun intended)
> more-furious-googling.mp3
> find a native iOS stackOverflow question with the same issue (1px line)
> realize your Xcode test wasn’t done properly.
>atleastimmakingprogress.iso
> start looking into the SO post
>it’s native so I have to find out how to do it in react-native
>invent a bunch of style parameters that don’t exist in the documentation to see if there’s an undocumented thing
>loadsaloadsaerrors.log
>googles for a react native version of the iOS only SO post
> somethingpromising.tar.gz
> *tries it*
> “Haha nope” -my code
> whataboutthisotherthing.bin
> KENSISHSBUCNEGWISBVSIDNRVSIDNFIRJRBDKFNFIDJFIFKFNR
> HOLY FUCK
> IT WORKED
> AFTER TWO FUCKING DAYS OF SHITTERY AND SHENANIGANS
>AND MANY STACKOVERFLOW EDITS TO A NOW VERY MESSY POST
>THEREISNOMOREBORDER(final).zip
>*screams of relief*7 -
I coded part of feature 2 months ago.
Left it to help frontend guy a bit, deal with fire after release. ( we’re missing frontend integration tests and every release is pain in the ass ).
My backend code coverage is about 80% so not much can go wrong at this point.
So I added more code today and it looks like new feature is working but don’t know what the code I added 2 months ago exactly do.
The only thing I know is that it definitely needs refactoring ...
Being only backend dev / release manager / administrator/ dev ops in project is painful I need to deal with everything on my own 😔
At least client doesn’t care if it’s done in one week or in one month right now.1 -
My co-worker had to add some small feature, and while at it, he thought it’s a good idea to “refactor” the entire repo.
Now the code is over-modularized and full of disconnected 100 line files, just for the sake of modularity.
Sometimes less is more9 -
It was around for a while but I didn’t realize it was it for a long time. I was fixing computers for cash and spending in on booze while in primary school. Making websites for cash and for fun while in high school. Some guys wanted to buy my databases at the time and sending me emails that my websites rocks. I didn’t cared cause I party a lot and I didn’t need money.
Sex drugs and rock and roll was my life not a fucking computer.
Since I never had problems with math I passed exams and got myself to university and dropped out cause of those 3 funny things above. Turned out to pass exams after second year when math and physics disappeared you need to study more then 1 day before exam and party was more important for me.
I failed tremendously. My girlfriend left me I was out of money I got back to my hometown with my laptop and I somehow between depression, drugs, alcohol and killing myself reminded I was getting money from websites and I can try to follow that movie.
At that time I didn’t read single book in english in my life. I know some basic english so I decided to try to read some actionscript2 pdf. Why actionscript ? I liked those simple games. Those were fun and there was nothing better. I was reading first book at least 10 times with vocabulary that took about a month until I remembered whole book and second book was faster like 1 week third was 1 day and from then thing moved a little faster. I discovered flex just before adobe acquired macromedia and started writing in it. Started answering to some questions on forum and build some portfolio website with fancy 3d animations and stuff and finally applied for 2 jobs.
They both were amazed by my website and one of them sent me some task to do and I did it overnight and sent them back. They wanted to hire me and I need to respond to them.
Second job they invited me for talking and asking about math, if I’m ok with 3d and stuff and they offered me job closer to my home town so I picked them. The code was amazing, 3d equations, quaternions, complicated stuff bit very well written by some company that dropped project before launch and my first task was add some small feature.
I remember first day in elevator with my former boss who told me to not to get scary and take it slowly I was trying to do my task as fast as I can worried I will be fired if I don’t do it and nobody else will hire me and I won’t manage to recover from second failure. It was even more fighting with myself that I will fail again then with this task lol.
I’ve done the feature third day and when they said it’s cool and I can commit my changes it appeared to me that It might be this shit that will get me out of trouble.
I was never again wrong about programming and so wrong about trouble but that’s a different story... -
I always love getting yelled at by a client about a feature that they “use everyday” and critical to their business is just not working. Go back and look... it appears that it broke a while ago (in this case a couple months).
It’s my fault, but I do start to question other blanket statements they make. -
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 -
So we’ve taken over from a project team that disbanded... read: “cut their contracts because fuck this, I can earn more working for better people”.
Me and one other guy have been tasked with saving this heap of shit.
Obviously the project guys left saying “it’s nearly done, just this one feature”. Because cut contracts are easier to deal with if “everything is almost done”.
We jump on and find that’s not the case at all... this thing, is a beast, a big old stats analysis program... so we’re like “cool, let’s see what’s going o...OH MY GOD”.
The “recalculation” function was core to this POS. The contractors had done it in C# through entity framework... it took 24 hours to run, over a reasonably small data set that was due to double every 2-5 years.
So... here’s the deal, it ran over night.... then failed. And no cunt had noticed. Entity framework “can’t commit because I’m muddled up as fuck, did you really just put the whole db in EF in memory to work with it?” Exception.
Que 6 months of me and my lead doing the job properly.
Anyway, the failure: I ended up in Hospital again with a Crohn’s flare up... about 5 months in.
Fuckall to do with all this nonsense I just wanted to tell a story. it was an interesting/fun project to fix and my lead was a legend... so happy days.
Similar story, different set of contracted devs... they’d been defining requirements with the business users using the term “Risk” which the business users knew as a group of risks.
The domain model had been written RiskGroup<>— -
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Ahh yess....
Clean code..
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15 -
I need to get this out there because you guys and gals are honestly the only people I can vent this to.
I’m working on a program for fun that’ll transfer files over sockets. Nothing too special. But this project is just boring me. I’m not getting any motivation even when I’m getting started. Which didn’t happen last project.
I have a general idea how I’m going to do it but I just can’t sit down and do it because I start overthinking about everything. Like how am I going to do this or that. How am I going to handle feature a, feature b, etc. And I’m just getting a headache and I’m not writing code and I’m JUST FUCKING STARING LIKE AN IDIOT. I don’t even know why it’s not inspiring me because I’ve always wanted to program a file transferring application of some kind and I still do.
I keep doing a bunch of small patches when I work on it and they work and improve it but I am hard on myself because it’s not one big feature or I didn’t work on it for hours. I’m always so fucking hard on myself fuck.
I want to do so much other stuff but I just wanna tough it on through and finish but it’s so uninspired because I don’t even feel like what the final product will feel like others. Like any service that involves transferring files I feel like they don’t function like how I’m thinking they do like I’m trying to make this function.
I feel like everything I’m making is just subpar and not good and I’m trying and I’m trying to improve but I feel like I’m not getting anywhere. And I want to learn a lot of stuff I have shit planned but I can’t get to it because I have to go through uninspired bullshit hell.
Idk14 -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.10 -
One last feature and I’ll be done with a project holy fuck. I’m so fucking close just one more class and it’s done and I can move on to something I like a little more.2
-
Generally devs who are too arrogant to accept help or constructive criticism. There’s this data visualisation library that missed a specific feature that psychologists use quite frequently, so I added it myself and opened a PR. The maintainer closed it because people should use whatever he’d already implemented. It’s like not giving someone the option to listen to disco because rock music is better. Yeah, cool story bro. Now all my visualisation projects depend on my fork instead. Same with the now abandoned Material Design Library devs. They didn’t have a drop down with free input, so I opened a PR with my solution. Closed as it was out of scope, simply because Google didn’t specifically include that in the Material specs, only an input and a drop down separately which my solution matched. I also opened a PR for an obviously missing feature (being able to validate forms via JS), closed as this behaviour wasn’t in the Material specs either. No wonder MDL died before it was ever finished.4
-
~rant
I started working for myself in January, and work has been few and far between.
I’ve always wanted to work for myself, and now I’m working on a product I’m actually going to sell *gulp*
It’s not ready yet, but I’ll definitely be posting here about it when it’s ready to go :D
It’s going to be a super simple (Windows to start) screenshotting tool (and relevant cloud services) primarily focussed on devs / IT professionals and their needs.
Sound off for feature requests 👍4 -
"For every new feature we add, we take an old one out. A lot of big sites don’t do that, and it’s a problem. Twitter started as a beautifully simple product, but it’s now going the same route as Facebook. The drive to innovate can overencumber and destroy a product." - David Karp
-
Brave Browser.
There’s a reason why brave is generally advised against on privacy subreddits, and even brave wanted it to be removed from privacytools.io to hide negativity.
Brave rewards: There’s many reasons why this is terrible for privacy, a lot dont care since it can be “disabled“ but in reality it isn’t actually disabled:
Despite explicitly opting out of telemetry, every few secs a request to: “variations.brave.com”, “laptop-updates.brave.com” which despite its name isn’t just for updates and fetches affiliates for brave rewards, with pings such as grammarly, softonic, uphold e.g. Despite again explicitly opting out of brave rewards. There’s also “static1.brave.com”
If you’re on Linux curl the static1 link. curl --head
static1.brave.com,
if you want proof of even further telemetry: it lists cloudfare and google, two unnecessary domains, but most importantly telemetry domains.
But say you were to enable it, which most brave users do since it’s the marketing scheme of the browser, it uses uphold:
“To verify your identity, we collect your name, address, phone, email, and other similar information. We may also require you to provide additional Personal Data for verification purposes, including your date of birth, taxpayer or government identification number, or a copy of your government-issued identification
Uphold uses Veriff to verify your identity by determining whether a selfie you take matches the photo in your government-issued identification. Veriff’s facial recognition technology collects information from your photos that may include biometric data, and when you provide your selfie, you will be asked to agree that Veriff may process biometric data and other data (including special categories of data) from the photos you submit and share it with Uphold. Automated processes may be used to make a verification decision.”
Oh sweet telemetry, now I can get rich, by earning a single pound every 2 months, with brave taking a 30 percent cut of all profits, all whilst selling my own data, what a deal.
In addition this request: “brave-core-ext.s3.brave.com” seems to either be some sort of shilling or suspicious behaviour since it fetches 5 extensions and installs them. For all we know this could be a backdoor.
Previously in their privacy policy they shilled for Facebook, they shared data with Facebook, and afterwards they whitelisted Facebook, Twitter, and large company trackers for money in their adblock: Source. Which is quite ironic, since the whole purpose of its adblock is to block.. tracking.
I’d consider the final grain of salt to be its crappy tor implementation imo. Who makes tor but doesn’t change the dns? source It was literally snake oil, all traffic was leaked to your isp, but you were using “tor”. They only realised after backlash as well, which shows how inexperienced some staff were. If they don’t understand something, why implement it as a feature? It causes more harm than good. In fact they still haven’t fixed the extremely unique fingerprint.
There’s many other reasons why a lot of people dislike brave that arent strictly telemetry related. It injecting its own referral links when users purchased cryptocurrency source. Brave promoting what I’d consider a scam on its sponsored backgrounds: etoro where 62% of users lose all their crypto potentially leading to bankruptcy, hence why brave is paid 200 dollars per sign up, because sweet profit. Not only that but it was accused of theft on its bat platform source, but I can’t fully verify this.
In fact there was a fork of brave (without telemetry) a while back, called braver but it was given countless lawsuits by brave, forced to rename, and eventually they gave up out of plain fear. It’s a shame really since open source was designed to encourage the community to participate, not a marketing feature.
Tl;dr: Brave‘s taken the fake privacy approach similar to a lot of other companies (e.g edge), use “privacy“ for marketing but in reality providing a hypocritical service which “blocks tracking” but instead tracks you.15 -
Quick question, is it bad to quit from a job when the project is not finished yet, especially in a startup company?
My reasoning for quitting, boss doesn’t really understand how game development usually works and mostly assuming every project will be same.
Following is my rant of background story for my question.
The incident triggered me wanting to leave is as below.
G = another guy from incubating center
B = boss
G: hey B, do u know this game studio is releasing this title soon. It’s a local company. Sounds cool.
Then they went to check the company profile. Found that the company has abt 40 staffs in total.
B: hey lunadev, do u know them? They have 40 people to make 2 titles. I think we’re the smallest company in the world that developing mobile games. Ha ha ha.
Me: oh, may be their project scope is complex. But I don’t think ours is the smallest company in the world making game. (We have 5 in total including him) there are others with only 2 ppl making games. (My sarcastic side took over me and said) I think we’re the only company in the world that has such small manpower with shortest deadline.
B: then how long do u think our timeline should be?
Me: abt 2 yrs? (Me considering all the artworks, features, testing time that we have to do)
B: urmmm I don’t think it’s that long. May be abt 6 months or a year at most?
G: ya, abt 6 months. Mobile games are not like desktop games or others so should be abt 6 months. Shouldn’t take that long.
Me: ... :)
Then I packed up my stuffs and left for the day. As for side note, boss designed the game himself and it took him 5 years to add complex features. And sometimes he will still come up to us and ask us to add that feature just cuz he was just inspired by another game he just played. Now can they tell us, this game can finish in 6 months? On what ground?
And another thing that he does gets on my nerve is that he plays game during office hours while the rest of us rushing for his project and campaign.
So, if I quit now, they’d still be in the middle of development. Oh and I’m the main programmer developing the game. So, erm.. Is it wrong?7 -
Had a nightmare that scared the LIVING SHIT out of me for some reason where a DoorDash delivery guy was using a new DoorDash feature where drivers rate customers and are allowed to attack their homes. He gave me a shit review for ordering Taco Bell and started throwing mexican food at my window and holy shit I woke up TERRIFIED. It took me a long ass time to recover from the shakes. I have no idea why it scared me this damn bad, it’s not like I was chased by a zombie with a rocket launcher 😂😂4
-
What is it about clients that provokes them to ask about the same feature every day? No, it’s not fucking done yet, I don’t have a team of devs under me who work overtime to finish it overnight. It’s not going to get done any faster if you keep fucking bothering me about it.
-
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...
@nnee
Me:
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 -
It’s so crazy to me how my bosses sometimes wake up and it’s like they get in a groupthink that we are stuck on technology from five years ago. The company has grown our paths have simplified, our tools have gotten more powerful.
Everybody forgets that a new feature has come out occasionally, but sometimes for weeks at a time they will go about explaining things the old way, or saying it can’t be done. Then they’ll come back around. This has been on and off for all of this year basically. -
Have you ever wanted a feature to be a certain way but you had to settle with something easier and less cool/impressive?
I just had to and it’s very dissatisfying. -
"Y’all talk about UX like it’s just another feature. For a user, it literally is the product. Full stop. Everything else is inside baseball." - Startup L. Jackson6
-
Marketing Person: [email] The feature you worked on is setting our customers’s statuses to “transactional.” We can’t send them marketing emails.
😒🙄
Me: [email] My code is not doing that. It checks to see if a contact exists in our mailing list. If it does, it adds the contact to the new list that you requested. If it doesn’t, it creates a contact and adds it to the list. Newly created contacts default to “onboarding.” For already existing contacts, I’m just adding them to the list and I’m not changing anything else. Here’s a blog post from the marketing software company that explains how a contact could get marked as “transactional.”
Later in the day, Marketing comes over to my desk and brings over the Product Manager. He asks the same question. 😡 Oh hell no. You do not create a gang up on me and hope the social pressure changes my answer.
Me: Like I wrote in my email, my code isn’t wrong and it’s not malfunctioning. It’s doing what you requested: add users who submit their email on x form to the new x list. In the marketing software, you can even check each contact and see when their status got changed to “transactional.” It wasn’t from my code.
I really hate marketing sometimes. Especially when they think they know how my code works. Excuse me, do you have access to our git repo? Can you read the code and point out the supposed problem? I didn’t think so. So don’t go accusing me of making a mistake or doing my job wrong.4 -
Yep, IntelliJ is definitely worth $60/month. Look at this feature where it can’t create a java class.
Seriously, if I am paying money for this, it shouldn’t perform worse than a free IDE. Are you sure you IntelliJ fans aren’t just experiencing Stockholm Syndrome? Because your IDE is so god awful it’s sad.8 -
Feeling over stressed, over worked and highly underpaid for all this effort. Worst of all I feel the passion leaving me for this work.
I graduated a boot camp last April and was blessed to contract part time at a startup learning how to work in the unity game engine. The team is two other guys, both super smart snd been working in this field for a long time. Since then I’ve added personal projects, finished a data structures and algorithms course and started the Leet code grind. I told this startup that I’d start looking for full time employee positions soon and they understand. They couldn’t offer me much money, or stock options, just experience they said. I feel like I’ve basically been grinding 24/7 since May. I’m going to run out of money soon and it’s all starting to take a toll on my body and mind. I never really sit on the couch or watch something anymore because I feel I should be doing something productive. This just makes me feel like everything I’m doing is meaningless and without impact. I feel like a wheel turning endlessly in sand and not moving forward. I even feel it zapping my passion for developing.
I just can’t help but feel that I’m burning out here. I have a new experimental feature to do for the startup and the amount of things to learn seems overwhelming. Especially with Leet code and interviews coming up. The two other devs on the team are extremely busy as this is a part time endeavor for everyone. I’m also in a relationship I started to feel detached from which causes it’s own stress. I love VR and AR which is why I chose this startup to learn Unity. Now I just feel like I’m dividing my efforts too much. I’m shitty at unity and also less good at web dev than I would have been if I focused on it purely after boot camp grad. On the plus side I will say I’m doing what I want. I just can’t help but feel like that damn tire in the sand turning without traction. And I feel the patience in me for self learning the basics and iteration over a complex project is waning. Without patience the learning is rushed and I don’t learn shit. I also make dumb mistake and “hope” I don’t run into errors. I feel I’m just trying to bang it out for the startup instead of use it learn cool shit. Anyways it feels good to rant. I can’t wait for a full time job, established work hours, and decent pay so I can live life and have off time.
I assume wherever I go I’ll always be in a spot where I need to figure how to get xyz done with minimal help or oversight. I just would like to be paid for it.8 -
I have a ton.
This one is more about my own foolhardiness, but I also learned a ton and came out stronger & wiser.
when I started out as a dev (my very first job!) and had not learned to say no.
I was a novice way out of my playground.
Like lifting a full booking platform from legacy php to Laravel & launching it like yesterday because it’s high season.
Didn’t know the full domain, so I just built something quite different in a week and shafted the existing db into it.
Obviously wasn’t feature complete or anything, so it resulted in maintaining legacy while building the new one and because it was already live and on different domains, we didn’t fully know which ppl went to, I had to every day painstakingly back port data from both platforms.
What I initially thought would take a few weeks that was launched in 3 days, spanned across 2 years plus one year refining and cleaning up my mess.1 -
Was working on a high priority security feature. We had an unreasonable timeline to get all of the work done. If we didn’t get the changes onto production before our deadline we faced the possibility of our entire suit being taken offline. Other parts of the company had already been shut down until the remediations could be made -so we knew the company execs weren’t bluffing.
I was the sole developer on the project. I designed it, implemented it, and organized the efforts to get it through the rest of the dev cycle. After about 3 month of work it was all up and bug free (after a few bugs had been found and squashed). I was exhausted, and ended up taking about a week and a half off to recharge.
The project consisted of restructuring our customized frontend control binding (asp.net -custom content controls), integrations with several services to replace portions of our data consumption and storage logic, and an enormous lift and shift that touched over 6k files.
When you touch this much code in such a short period of time it’s difficult to code review, to not introduce bugs, and _to not stop thinking about what potential problems your changes may be causing in the background_.3 -
We’ve been discussing it, from a lot of angles. We mixed in the domain constraints for this feature and how to build it. I’ve been at the drawing board, and at the keyboard trying to get it into code. FINALLY I have something to show for the hard work, a working proof of concept. It felt good. There are a lot of things still left to polish, but we have most of the building blocks. If that ain’t the best feeling and the reason to work in this field. Left the job yesterday with the feeling that I’ve accomplished something, that’s not often since it’s otherwise mostly meetings and boring code reviews. Satisfaction.
-
I honestly have come a long way. But I still have these moments when I just lose confidence In myself, and while grieving it can be worse/more frequent.
I’m being taught some networking programming from this person I befriended and it’s going wonderfully! But I don’t know how much I’m taking in. I don’t know if I’ll be able to completely understand while I’m using what I’m learning, but I guess part of the learning is by using and doing. But what if I need to change it up for a different purpose but I don’t know how?
What if I’m not programming enough? When working on this project/learning the stuff from my new teacher friend to actually make some of the stuff I usually work on that for 30 mins to an hour and a half maybe even 2. Relax, do some college, play games, then later I’ll try to work through a few exercises of my C# WinForms book.
And before you say it I’m not balancing too much on my head. I’ve learned GUI’s before with Python I’m just reflecting that to C# and it’s easy and I’m always in a separate headspace for networking. But it all just doesn’t feel like enough?
It also doesn’t help that i don’t feel like I’m doing anything special that I can boost my confidence with. Usually in a project I won’t feel like I’m doing anything until a cool or special feature is made and I know that’s bad I hate it but I can’t avoid it and I want to feel good even when nothing completely out of this world is made that day.
And I’ve definitely come a long way I’m proud of myself but I just hate getting these feels. And It happens a bit when I’m learning because I’m afraid I’m not learning and I’m gonna keep copy pasting the same code snippets for different projects and I don’t want that I want to be able to fucking edit and change it or make a completely new one of whatever it is but my design but I guess that takes experience with it first.
Thanks for coming to my TED talk -
I build a project for internal team around a year ago. QA did sanity and we released. Product wasn’t used and suddenly they decided they want to use project. They forgot almost everything about project feature. I had product doc and ask them to follow. Still they kept making mistake. And finally they found an edge case bug. Now these idiots making noise that product is buggy we are blocked. We are not able to use.
After I fixed it is working but these idiots are asking why there was bug and made us blocked to use product. They couldn’t follow doc to use their own product. They are just trying to pin blame on me and wash their hands. I was really pissed . I told there was bug but why the fuck it took a year to know ? And yes there is bug but it’s edge case and it happens when you guys make mistakes from your side then only it happens. Even if it is bug. What the fuck you want. Have you never made any mistake in your life? Go fuck yourself. There was bug but I don’t care. Bugs are part of release.1 -
Here’s something I REALLYY love guys… so when a developer spends a lot of project time on this crucial feature… and totally heads down right so he doesn’t ask for help… AT ALL right? And then we get the work deployed bc they said it’s all done right… and it’s like TOTALLY broken… and the client is like “wHy iS It BrOkeN?!?” and then I have to COMPLETELY refactor and rework it because its all a shark-shit-nado fuckin mess right? I love it SO MUCH guys… like UGH I AM SO HAPPY!!!
-
Don’t have any Laptop Stickers but do have stickers on my Roller Derby Helmet, and my fav has to be:
“It’s not a bug it’s a feature!”1 -
I love being a consultant, and I love my job. However, I’ve been working with this client for the past few months and the past few weeks have been so draining. 90% of the people at the client’s side are super nice people, and then there’s this one person that just barks orders at us whenever a tiny thing is broken. Everything is urgent, everything is top priority, and we need to drop whatever we’re doing to fix what they deem urgent. I am currently pretty much the only dev doing both support and feature development at the same time and I am getting mentally very tired.
Whenever something is broken we get shit feedback, but for all our efforts there’s never any positive feedback. Mind you, the project isn’t even publicly accessible yet, it’s in a “alpha” phase where there are only a handful of users testing the program.
How do you guys deal with people like this?3 -
I’m having this issue for the online marketplace I’m working on the side. It’s blockchain tech where you can purchase normal goods and services(no, not like Amazon or Fiverr, eww, this one’s more inclined with promoting organic growth for small businesses and freelancers).
I’m stuck with what solution is in the best interest of the user and the business for the long-term.
The dilemma about anonymity, online freedom and privacy is yes, it protects users from predators and attackers, but then, it’s harder for authorities to hunt down people who uses platforms for malicious intent, and also, digital footprint is helpful during litigation as evidence.
You don’t know who to trust.
-There is nothing to differentiate normal users with spammers, scammers, etc.
-There is no accountability for if they break the rules. They can easily delete and create a new account.
Platforms, communities big or small are plagued with these.
There are a lot of people out there who would rather project their insecurities on other people than to seek therapy.
Also, how platforms uses psychology tricks to make platforms addicting, it’s safe to assume that it’s bound to get toxic. Fixation on these platforms, leads to other needs being neglected or people forget to stay present.
Another thing, automated moderation is not that effective as there are still biases in data and human verification is still required. But then, human moderators get exposed to extreme violence, gore, etc that leads to poor mental health. (see Facebook got sued by moderators)
Also, I’ve had a recent experience where some unstable dev was stalking and harassing me. During that turmoil, I’ve found the many loopholes in every platform out there and how crappy their support is. Like they’ll just say, “make your account more secure”, bitch it’s your platform not providing enough security, your blocking feature means nothing coz anyone can still create accounts and message anyone.
It happened like February-August (it ended coz I quit going online and made private all my accounts). UGH I MISS ALL MY FRIENDS THO. FUCK THAT DUDE. He deserves to be in jail TBH
Lol if this product booms, now u know the back story lololol -
!rant
Big big feature came in and a very very tough deadline on it.
It’s pretty heavy on the backend and I’m currently the only backend engineer. Will be 100% busy the next few weeks.
And I love it 😁
I missed the stress.
Stress gives me the drive I need.2 -
Currently learning go and I’m really enjoying it. It’s been a while since I learnt a new programming language and the experience is different to what I remember. I’m reading an o reilly book and when about how they implemented a common feature of programming I’m like oh no they didn’t. I think this is what normal feel when they read celebrity gossip. Hash tag goto.2
-
I looked at a PR for some work a dev agency is doing for us. For some reason, the dev directly modified css rules instead of making updates to the SCSS files and running the compiler. WTF. I asked why and isn’t the compiler working. Just got an answer saying that was his mistake. That’s not a mistake, but that’s idiocy I’m sorry. Dev agency is supposed to be doing code reviews too, but I’m pretty sure they would have merged that. We have another repo where the same thing happened—only it was dozens of lines of code instead of one or two. Luckily that repo doesn’t get many new feature requests, but I do have to selectively pick lines to commit whenever I make style updates. It’s a nightmare. I know it must be hard to jump into a code base you’re not familiar with and there might not be dev docs, but for the love of god don’t make maintainability a nightmare. I shouldn’t have to be a babysitter. Bet they’re regretting that added me as a reviewer for the PR.7
-
Dragon’s Dogma 2 is Elden Ring lite and i fucking LOVE it! It’s Elden ring combined with that classic action rpg vibe I grew up with! And the climb the enemy feature is damn SICK (nothing screams being a fucking man like climbing the back of a huge beast and plunging a sword down its skull)
Here’s to sticking a sword up an ogre’s ass!4 -
- Teammate discovers a standard PaaS feature isn’t working and breaks core functionality in dev environment
- Teammate creates a support ticket to the PaaS company
- PaaS company says that they’re aware of the issue but don’t have a solution yet and advises to disable the feature for now
- Teammate ships the feature and leaves it enabled on production.
- Teammate thinks that “oh we know it’s broken, nobody is going to use it anyway”
- Customer uses the feature
- Shit hits the fan
- Teammate: *shocked pikachu face* -
Have you ever needed to compromise the architecture for quick delivery?
So not to go into details but imagine this:
You start with a surface are that will fit a few items, but you need to stretch it to its limits.
When you start to populate it you realize the architecture is wrong, but delivery day is close so you make it work anyways.
When launching you need to prop it up with something, you find some 3PP that was not really meant to function this way but if scaled up it just might do.
For it to work long term you need a platform to put it all on, it may be slow as to tortoise but it will have to do.
Whenever this happens to me I think it has worked in the past (ex. Terry Pratchett) and I continue to help making the world a more magical place.
Where a one in a million chance will always work but that’s not a bug… it’s a feature.1 -
I’m at my last hair with this job; I report to 3 (two mid-level; one senior) project managers. The senior PM decided not to fix up the company’s jira and has encouraged “I’ll tell you what to do by mail, text, call. Even outside office productivity apps,” and I didn’t mind it but it’s become unbearable. Each of these PMs manage at least one client that I have to work with — in essence, any given day I’m reporting to these PMs, for multiple tasks for at least 2 clients, especially for MVPs. One of the mid-level PM (let’s call her T) has taken it upon herself to make me look bad. I’m the only developer at the company; when I joined the only two developers had already left a week prior, so I was their replacement (no one mentioned this to me during any of the 3 interviews).
T reports to the senior PM and senior PM, who is friends with T from outside the job, would also give T instructions to provide me in regard to Senior PM’s clients. To made this clearer, Senior PM’s client would request for a feature or whatever, Senior PM would prepare a lousy document and send to T to send to me, just so, T can have things to say in standup daily like “I reached out to the Dev to fix xyz’s something something,” so this means I have had to tolerate T twice as much as the other PMs. (She’s new to the job, a week after me — Senior PM brought her in — they both do not have technical experience relating to work tools for programming but I can say Senior PM knows how to manage clients; talk shop).
Anyhow, T gets off by making me look bad and occasionally would “pity” me for my workload but almost in a patronizing way. T would say I don’t try to reply messages in 5 minutes time after I receive them (T sends these messages on WhatsApp and not slack, which is open during work hours). T would say, “I can’t quite get a read of this Engineer — you(me) are wired differently,” whenever one of T’s requests is yet to be completed because I’m handling other requests including T’s, even though T had marked the completed ones as Done on her excel sheet (no jira).
In all of this, I still have to help her create slides for our clients on all completed tasks for the week/month, as senior PM would tell me because “T is new to this.” We’ve been at the job for roughly 4 months now.
I have helped recruit a new developer, someone the company recommended — I was only told to go through their résumé and respond if they are a good fit and I helped with the interview task (a take-home project — I requested that the applicant be compensated as it’s somewhat a dense project and would take their time — HR refused). The company agreed with the developer’s choice of full WFH but would have me come in twice a week, because “we have plenty live clients so we need to have you here to ensure every requests are handled,” as if I don’t handle requests on my WFH days.
Yesterday, T tried making me look bad, and I asked, “why is it that you like making me look bad?” in front of HR and T smiled. HR didn’t say anything (T is friends with HR and T would occasionally spill nonsense about me to HR, in fact they sit together to gossip and their noise would always crawl to my corner; they both don’t do much. T would sleep off during work hours and not get a word for it — the first time I took a 10 minutes break to relax, T said, “you look too comfortable. I don’t like that,” and HR laughed at T’s comment. While it was somewhat a joke, there was seriousness attached to it). As soon as HR left, I asked T again, “why is it that most of the things you say are stupid?”, T took offense and went to her gossip crew of 4, telling them what I had just said, then T informed senior PM (which I’m fine with as it’s ideal to report me to her superior in any circumstance). Then I told those who cared to listen, T’s fellow gossipers, that I only said that in response to T’s remark to me in front of them, a while back, that I talked like I’m high on drugs.
I’ve lost my mind compiling this and it feels like I’m going off track, I’m just pissed.
I loved the work challenges as I’ve had to take on new responsibilities and projects, even outside my programming language, but I’m looking for a job elsewhere. My salary doesn’t not reflect my contributions and my mental health is not looking good to maintain this work style. I recall taking a day off as I was feeling down and had anxiety towards work, only to find out HR showed T my request mail and they were laughing at me the next day I showed up, “everybody’s mental health is bad too but we still show up,” and I responded to T, “maybe you ought to take a break too”.3 -
!rant
I see a lot of dislike on Wordpress here, which I do agree and I loathe it just as much. But what’s your opinion on Wix.com?
I’ve used it before, and it’s way worst than Wordpress for me.
PS: Let’s not talk about this from a non-dev standpoint cause we can come to a consensus that these are friendly (and made to be so) for them, until they want a certain feature on their site.
PSS: I’ve not seen much of a discussion about Wix since coming on, but there seems to be a lot about Wordpress.3 -
Sometimes I have to connect to production database and alter my dev environment so I can “log in” as a user and see what’s wrong with their account. Once in a while there is a legitimate website issue that is unique to that user’s profile. Other times it’s user error, like the user not understanding that they have to connect their membership to their online account (they think signing up for an account will connect it automatically).
I don’t like circumventing the user’s log in like this, but sometimes it’s necessary since the website is so confusing. I inherited this website, so many of the problems were formed way before I took over.
My stakeholders want a log in as user feature for website admins to use. My manager and PM don’t think that’s a good idea right now since there are over two dozen people with admin access and admin access means access to everything in the admin (there aren’t options to give permissions as needed).1