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 - "don't mock me"
-
29-year veteran here. Began programming professionally in 1990, writing BASIC applications for an 8-bit Apple II+ computer. Learned Pascal, C, Clipper, COBOL. Ironic side-story: back then, my university colleagues and I used to make fun of old COBOL programmers. Fortunately, I never had to actually work with the language, but the knowledge allowed me to qualify for a decent job position, back in '92.
For a while, I worked with an IBM mainframe, using REXX and EXEC2 scripting languages for the VM/SP operating system. Then I began programming for the web, wrote my first dynamic web applications with cgi-bin shell and Perl scripts. Used the little-known IBM Net.Data scripting language. I finally learned PHP and settled with it for many, many years.
I always wanted to be a programmer. As a kid I dreamed of being like Kevin Flynn, of TRON - create world famous videogames and live upstairs my own arcade place! Later on, at some point, I was disappointed, I questioned my skills, I thought I should do more, I let other people's expectations make feel bad. Then I finally realized I actually enjoy a quieter, simpler life. And I made peace with it.
I'm now like the old programmers I used to mock 30 years ago. There's so much shit inside my brain. And everything seems so damn complex these days. Frameworks, package managers, transpilers, layers and more layers of code. I try to keep up. And the more I learn, the more it seems I don't know.
Sometimes I feel tired. Yet, I still enjoy creating things and solving problems with programming. I still have fun learning. And after all these years, I learned to be proud of my work, even if it didn't turn out to be as glamorous as in the movies.30 -
So there is this girl who was trying to be cute and wrote a mock C code for me :
She wrote :
If(existence=disapointment)
printf("kill self");
else
printf("what else??");
And without hesitating I told her that her code had a fault in it and it would always print "kill self" no matter what the level of disappointment is. And asked her to fix it.
The way she fixed it was probably best described as the situation when you have no idea what you are doing and you don't try to understand either. (or was simply passive aggressive) :
If(existence=disapointment)
printf("kill self");
else
printf("kill self");
Honestly though I hope she was being passive aggressive because boy do I pity people who confuse between '=' and '=='12 -
So, there was this person I met on the internet who was preaching about how the success of games depends primarily on luck.
His argument was that even though he made a great game(his opinion) and uploaded it to the appstore his game failed to gain popularity.
He stated that there are about 500 games uploaded daily and it is only the matter of luck whether or not a game gets noticed and that he ran out of luck.
Now, his game was a pretty ripped off copy of the overused tile matching games. I pointed out to him that the reason his game didn't do well was probably because he made a ripoff(I actually used 'a copy's but 'ripoff' sounds more rant like) and that he priced it fairly high, while there were free games with more features and better graphics and mechanics(based on the description of the game and screenshots).
He then began to rage(all caps obviously) about how I am talking out of my ass and that I probably haven't even made a game yet.
I politely(the only reason I was polite was because the account was known to my Twitter followers. Sometimes one has to protect one's name) told him that I am an indie game developer and that I have made a decent amount of games.
He then proceeded to mock me and dared me to name a few.
So I posted four links to my 48 hour competition games and one to an official game.
He then began to call me an imposter, so I did a shout-out to him through my Twitter account.
Instead of continuing on Twitter, he ran back to the forum, and began to shit talk about how anyone can do it if they have a team with them.
I corrected him on that, stating how I was alone at the time and these particular games were the results of me working hard and striving to improve myself.
Then the guy finally starts spamming on different threads about how I am an arrogant bastard and other explicit forms of abuses before finally getting banned.
Sometimes I don't even know why I bother.
When I was starting out, there was this developer who would point out the faults in my games so that I could work on them. That was a great help and probably accelerated my growth. He was a great mentor and is now a good friend and is now in my team.
I guess some people are so hung up on their pride that they will refuse to accept their mistakes and make any efforts to improve.9 -
fujioaskl;f;asdfjkl
WHY THE FUCK DOES MY BOSS HAVE ME MOCKING FUCKING RECAPTCHA API RESPONSES? IT'S SO FUCKING STUPID
I CAN'T MOCK THE RECAPTCHA JS METHODS SO I HAVE TO MAKE VALID-LOOKING JSON RESPONSES AND I DON'T HAVE A FUCKING CLUE HOW ANY OF IT FUCKING WORKS
THIS IS THE STUPIDEST THING ANYONE HAS EVER ASKED OF ME (okay, it isn't, but it's pretty damned close.) AND IT'S DURING MY BLOODY PERFORMANCE REVIEW.40 -
I'm going for longest rant. TL:DR; version here:
http://pastebin.com/0Bp4jX9y
then:
http://pastebin.com/FfUiTzsh
Twat Client,
As per our conversation, here is an invoice for the work you requested on behalf of U.S. Bloom. I realize that you ended up going with another designer, but you did request samples of what my take on the logo design would be. The following line item is indicative of 1 hour of graphic design consultation as per your request via Skype.
As I recall, you mentioned that this is not how Upwork "works" but considering it was you who requested that I converse with you via Skype instead of via the Upwork messenger, and since there were no clear instructions on how to proceed with Upwork after our initial consultation, It is assumed that you were foregoing Upwork altogether to work with me directly, thus the invoice from me directly for my time involved in the project. I would have reached out to you via Skype, but it seems that you may have severed our connection there.
After spending a little time researching your company, I could not find current information for Basic Media Marketing, but I was able to reach out to your former partner Not A. Twat, who was more than helpful and suggested that he would encourage you to pay for the services rendered.
It is discouraging that you asked for my help and I delivered, but when I ask for compensation in return for my skills, you refused to pay and have now taken your site offline and removed me as a contact from Skype.
{[CLIENT of CLIENT]},
I am sorry that I have bothered you with this email. I copied you on it merely for transparency's sake. I am sure that your logo is great and I am sure whatever decision was made is awesome for your decision. I just wanted to make sure that you weren't getting "samples" of other people's work passed off as original work by Twat Media Marketing.
I can't speak for any of the other candidates, but since Twat asked me to conduct work with him via Skype rather than through Upwork, and since he's pretty much a ghost online now, (Site Offline, LinkedIn Removed or Blocked, and now Skype blocked as well) one has to think this was a hit and run to either crowdsource your logo inexpensively or pass off other artist's work as his own. That may not be the case, but from my perspective all signs are pointing to that scenario.
Here is a transcript. Some of his messages have been redacted.
As you can clearly see, requests and edits to the logo were being made from Jon to me, but he thinks it's a joke when I ask about invoicing and tries to pass it off as an interview. Do you see any interview questions in there? There were no questions about how long I have been designing, what are my rates, who have I done work for in the past, or examples of my previous work. There were none because he didn't need them at this point.
He'd already seen my proposal and my Behance.net portfolio as well as my rates on Upwork.com. This was a cut to the chase request for my ideas for your logo. It was not just ideas, but mock designs with criticism and approval awaiting. Not only that, but I only asked for an hour of compensation. After looking at the timestamps on our conversation, you can clearly see that I spent at least 3 hours corresponding with Twat on this project. That's three hours of work I could have spent on an honest paying customer.
I trust that TWATCLIENT will do the right thing. I just wanted you guys to know that I was in it to do the best design I could for you. I didn't know I was in it to waste three hours of my life in an "interview" I wasn't aware I was participating in.
Reply from ClientClient:
Hello Sir,
This message is very confusing?
We do not owe your company any money and have never worked with you before.
Therefore, I am going to disregard that invoice.
Reply from TWATCLIENT's boss via phone:
I have two problems with this. One I don't think your business practices are ethical, especially calling MY client directly and sending them an invoice.
Two why didn't you call or email Jon before copying my client on the email invoice?
Me: Probably because he's purposely avoiding me and I had no way to find him. I only got his email address today and that was from a WHOIS lookup.
Really, you don't think my business practices are ethical? What about slavery? Is that ethical? Is it ethical to pass of my designs to your client for critique, but not pay me for doing them?
... I'LL HAVE TO CALL YOU BACK!
My email follow up:
http://pastebin.com/hMYPGtxV
I got paid. The power of CCing the right combination of people is greater than most things on Earth.14 -
HOW TO KILL A DEVELOPER
Coworker: Hey, is http://website down for you?
Me: yeah. What's up?
Coworker: Ah, that explains why my tests are failing.
Me, internally fuming: It would be good test practice to not depend directly on external services.
Coworker: I know, but this is easier.
This makes my blood boil. I'm not a huge fan of mocking and stubbing everything, but when it's actually very easy to mock something and you're too lazy, that makes me fucking angry.
Remember kids: doing it right takes longer than doing it wrong. But doing it wrong will eventually take significantly more of your time. Just wait until your shitty assumptions fail and you don't have any recourse.6 -
6 months ago:
Boss: We have this idea to improve our onboarding to avoid drop off in the new app. See this section here? Were going to take that out of the onboarding and just let them pass straight through to the app. Then when they get into the app, there will be a banner telling them they should go to settings and set this up. That way they can ignore it for a while and get into the app sooner
Me: Get into the app sooner to do what?
Boss: Explore it
Me: Explore an empty app with no content, as they are a brand new user with nothing setup? While theres a big banner on the screen saying "You have insecure settings" ... basically forcing them to do it straight away anyway?
Boss: Yeah, we can give them some recommendations or something while they click around. It will be good. This is months away anyway, we'll talk again
Yesterday:
Boss: So this weird unexpected thing happened. We showed some beta users our plans to remove this section from onboarding and they felt weird about it. They said they didn't like the idea of the banner telling them they haven't set it up correctly
Me: Thats not weird, I said the same thing 6 months ago
Boss: ......... oh, really?
Me: Yep. Its not an improvement to get them through onboarding quicker, just to tell them they have to now go do it somewhere else
Boss: ... right. Ok maybe we'll build it anyway and see how they feel with it in there hands?
Me: nope
Boss: ... what do you mean?
Me: We are behind, you've asked me 3 times in the last week if we are going to be able to get everything in on time ... and now you want me to build something that everyone, apart from you, says they don't like. So realistically, i'm going to build it, and then remove it next week ... and we'll have a discussion about what has to be dropped because of this
Boss: ........ right .... ok .... hhhmmm
Me: *sits with resting bitch face*
Boss: ... maybe we can hide the banner until later. Not show it to them until they've done something in the app?
Me: ... maybe we can not do any of this?
Boss: right but then the onboarding will ...
Me: *talks louder* ... yes will be the way our users want it to be
Boss: ... hhmm i'm not sure
Me: Ok heres what we'll do, so long as it doesn't delay me getting the designs I need, feel free to have the designer mock up what it would look like using that figma on device preview thing. If users say they like it, i'll build it
Boss: ... right but it won't be real on device app so ...
Me: Its that or we cut feature X
Boss: ... well we need that
Me: ok glad we agree, let me know what feedback the designer gets
Boss: ... ok10 -
Designer sends me mock up. I send out to client to review before we start to develop. (Mock up has lorem ipsum for paragraph text in one spot) A few minutes later client calls freaking out "Why is my whole site in Spanish, I don't speak Spanish!"7
-
Give everyone a chance
If someone in your company/workgroup doesn't know something basic that you might take for granted, don't undermine them and mock them.
Everyone has to learn and it just breaks morale and motivation.
Be humble and think that you're not any kind of God and think that you wouldn't like the same thing happening to you.
People who mock others for not knowing stuff just piss the shit out of me.
Be humble guys4 -
Dynamically typed languages are barbaric to me.
It's pretty much universally understood that programmers program with types in mind (if you have a method that takes a name, it's a string. You don't want a name that's an integer).
Even it you don't like the verbosity of type annotations, that's fine. It adds maybe seconds of time to type, which is neglible in my opinion, but it's a discussion to be had.
If that's the case, use Crystal. It's statically typed, and no type annotations are required (it looks nearly identical to Ruby).
So many errors are fixed by static typing and compilers. I know a person who migrated most of the Python std library to Haskell and found typing errors in it. *In their standard library*. If the developers of Python can't be trusted to avoid simple typing errors with all their unit tests, how can anyone?
Plus, even if unit testing universally guarded against typing errors, why would you prefer that? It takes far less time to add a type annotation (and even less time to write nothing in Crystal), and you get the benefit of knowing types at compile time.
I've had some super weird type experiences in Ruby. You can mock out the return of the type check to be what you want. I've been unit testing in Ruby before, tried mocking a method on a type, didn't work as I expected. Checked the type, it lines up.
Turns out, nested away in some obscure place was a factory that was generating types and masking them as different types because we figured "since it responds to all the same methods, it's practically the same type right?", but not in the unit test. Took 45 minutes on my time when it could've taken ~0 seconds in a statically typed language.11 -
Don't you hate it when your co-worker does dumb things, but thinks it's the "clean code" way?
The following is a conversation between me and a co-worker, who thinks he's superior to everyone because he thinks he's the only one who read the Clean Code series. Let's call him Bill.
Me: I think the feature we need is quite simple, our application needs to call this third party API, parse the response and pass it to the next step. Why do you need to bury everything under an abstraction of 4 layers?
Bill: bEcAuSe It'S dEcOuPlInG, aNd MaKe ThE cOdE tEsTaBlE
Me: I don't know man, you only need to abstract the third party api client, and then mock it if you want. Some interfaces you define makes no sense at all. For example, this interface only has 1 concrete implementation, and I don't think it will ever have another. Besides, the concrete implementation only gets the input from the upper layer and passes it down the lower layer. Why the extra step? I feel like you're using interface just for the sake of interface.
Bill: PrOgRaMmInG tO iNtErFaCe, NoT cOnCrEtE iPlEmEnTaTiOn!!!
Me: You keep saying those words, I don't think they mean what you think they mean. But they certainly do not mean that every method argument must be an interface
Bill: BuT uNcLe BoB blah blah blah...
Me: *gives up all hope*14 -
This happened today
My Manager: How is the progress so far on the search module?
Me(After implementing some crazy shit requirements): It's all set. APIs are working well against the mock in-memory database. I need an actual database to run my unit tests. Where do we have it?
My manager: Let's pretend that there is no database at this moment. Go-ahead with rest of your activities.
Me(IN MY MIND): F*CK you a** hole. You don't know the first thing of software development! Which a** hole promoted you as a manager!!!
Me(TO HIS FACE): Ah.. okay!! As you wish!3 -
The Cloud Of Bullshit
Every day I wake, and I think of my one true mission in life. To mock and ridicule paint huffing idiots. Something recently that drew my ire, like the hemorrhoids on my ass is this idea of 'the cloud', THE CLOUD and the buzzword lingo-bingo bullshit that providers use to hype and sell it.
For example, airtable is an amazing service. I love that I can insert just about anything into a row, create any of my own row datatypes, that it's flexible as all hell.
I love it.
And I hate that I'm essentially locked in to the cloud.
I fucking hate how if my internet goes down (thanks you pie eating inbred dipshits at comcast) I have no access.
If the company is bought, they'll shut down like all the rest , to be "relaunched at a later time" (or never).
I hate that if the company doesn't make enough money, or it's investors change their mind, woopsie, service is shut down.
I hate that the cloud is synonymous with massive data leaks and IOT-levels of stupidity in security practices.
Every time someone says "but its in the cloud! Isn't it amazing!"
I always think 1. YEAH IF IM AN INVESTOR I GET TO MILK LOW BROW FINGER PAINTING FUCKWITS EVERY MONTH like Adobe sucking the blood from infants who are still in college.
2. Why? So I can get locked into their platform, have them segment off previously free features (fucking youtube and the 'subscribe so you can continue playing audio with your screen off' bullshit), and then have fees increase month over month?
3. Why, so every four years during the presidential selection, if I piss off some fuckstick braindead lemming literally sucking his girlfriends BFs cock, they can potentially shut me out from my own data completely?
The Cloud is built on shit-colored hype sold to knob gobbling idiots, controlling idiots, profiting at the expense of idiots, and later fucking them for buyout payola. The Cloud is a Cloud of Bullshit shat out by huckster messiahs straight into the lapping mouths of fanatics worshiping slavishly like toilet drinking scum at the porcelain alter of a neon god, invisible, untouchable, and like a spigot, easily shut off without anyone noticing. And when it happens, I'll be there, shouting "WHERE IS YOUR CLOUD NOW?"
Native any day. 100% native or I don't fucking want it
None of this node.js-gone-native bullshit either with notetaking apps taking up hundreds of megabytes of ram, where everything is bootstrap or react, in a browser, in a window container, because people are so fucking incompetent we have to hold their hand WHILE they give themselves a reach around.
Native or nothing.
For my favorite notetaking app, I use Microsoft OneNote. "OH god, a heathen, quick, stick his body up on a stake!"
But hear me out. I'll be the first one in a crowd to kick bill gates in the nuts (not because I particularly hate microsoft, just because I think hes kind of a cunt).
So when I say onenote is good, I really fucking mean it. Sure they did some cunty things like 'dumbed down' the interface, and cut out some options. But you know what they can't do?
Shut down the damn service (short of a system update completely removing the whole app, which, frankly, wouldn't surprise me).
It's so god damn good it waxed my balls, cured my cancer, fixed my relationship with my father, found my long lost brother, and replaced ALL my irl notebooks.
It's so good that if it was cocaine I'd be hospitalized for overusing it.
So god damn good it didn't just replace all my notebooks, it even replaced and sped up my mockup process three to five times. Want layers?
Built in. Just drag an image on to the notebook to import instantly.
Want to rearrange layers? Right click select "send forward/back/bring to front/send to back".
Everything snaps to grid by default and is easily resizeable.
I had all the elements for a UI sliced and diced. Wanted to try a bunch of layouts. Was gonna take me two damn days.
Did it in three hours with the notebook features of onenote.
After I started using onenote, me and my bodypillow finally conceived even.
Sweet marries mammaries I just fucking jizzed. Thank you onenote.
P.s. It really did speed up my UI design, allows annotated images, highlighted text. Shit, it can even do kanban.
And all I can think is "good job microsoft making an awesome product for free, being dumb as fuck for not charging for it, and then not marketing it at ALL."
It was sheer fucking luck that I discovered it while was I was looking for vendor STD bloatware to blast off my new install.
OneNote: Worth a try even for the kick-gates-in-the-nuts fan club.
The cloud can suck my balls.18 -
Update on my Facebook and Booking.com interviews. I had them back to back today.
Even before I start, I accept and admit that I am a hypocrite. I hate Amazon yet order stuff from there. I hate Microsoft yet use their products. I hate Facebook yet went ahead to interview with them.
I fucking hate myself for compromising my ethics, values, and integrity. I had promised myself that even if I work for any major shit company, I'd never go with Facebook. Here I am after many years. Not an excuse, but I am doing it because I see it as an entry point into the UK. That's all.
Community's hate towards me is justified and I'd accept the discrimination from this community because this place is my digital home and you all are my family. Infact first thing I told mom was, dR boys are gonna disown me when they get to know about this.
Anyway, coming to the update part.
I had applied leave at work from last Friday. 4 days of leave earned me 10 days off (including weekends and 2 days of Diwali company holiday).
Last Thursday I got to know that Facebook has scheduled their interview today (Friday). I spent insane amount of time preparing. Approximately 8 hours everyday including weekend. I added nearly 40+ hours preparing for it in last 7 days, because I had to get in. Failure isn't an option now.
I sacrifice my family time, preparing for the interview.
I sacrifice Diwali break, sitting in front of the screen and studying.
I sacrifice my only vacation of 2021, doing mock interviews as late as 11.30 PM.
I sacrifice my free time and enjoyment, stressing over what could happen.
I was prepared like perfect for screening stage.
Interview 1: this guy comes and ask 'what is the best compliment you have got as a PM?' and 'Why do you want to quit the current company?'
He wasn't supposed to ask those as per Facebook's policy and interview stage.
Then he gave me a shit problem to solve and rejected my approach and wanted it his was. I tried to follow him and made sure I was able to convince with the reasoning but he kept pushing me back. He kept putting me down. Did not listen to me or what I had to convey or what was expected as an answer. He had certain output in his mind and wanted me to come up with it as an answer.
For the uninitiated: Facebook gives ton of preparation material and tells upfront the kind of questions they'll ask they just focus on few things. Moreover, in Product interviews, there isn't right or wrong answer.
Anyway, this guy started making funny expressions which put my morale down and I stood my ground with losing my cool. I managed to get all my answers right and the key points the look into a candidate. It went decent. Yet the interviewers attitude was something I did not like.
Interview 2: the lady was really kind and warm. Very accommodating and easy person to deal with. It went amazingly well.
I have two observations I want to share with you all.
1. I hate what Facebook does. Lizardberg is awful human being. But I absolutely liked HOW they are doing things, at least from an interview stand point. They even had mock sessions by their PMs and upfront told how to prepare and how to answer.
2. While it seems to be a 5 star experience, I found them to function mechanically. No small talk, no human connection (ironic to their mission), no conversational flow of the interview (again something that they kept saying a zillion times in all their material). They came, formally introduced themselves, and had a checklist kind of attitude, and left.
I now await for the feedback.
In the next hour, I had Booking.com first round.
Amazing people. Warm friendly experience. Treated me as a human. Heard me. Made me feel part of the conversation rather than someone just being judged.
It went 1000x better than Facebook.
I await the feedback from them as well.
I don't know what's gonna happen but one thing for sure, the kind of expectations Facebook set for their interviews, was nowhere close to the reality. It was awful.
180° was for Booking.com
Guess the saying stands true, expectations always lead to disappointment.
Finally I feel de-stressed and my Diwali vacation starts AFTER Diwali ended. Or rather just a regular weekend.
2021 has been terribly awful year for me. Hope this shitty year ends soon.36 -
I was given a take-home assignment during the interview process of a startup.
They gave me a vague 24 hours to complete it and submit it the day after.
The instructions read like - most candidates don't complete the assignment, so if you finish 70%-80%, that's good enough.
I read the instructions; I was supposed to follow the "mock design" they sent me. It looked a tad bit ridiculous. But still, I thought I'd be able to finish most of it.
I worked on it for around 10-12hrs total (including procrastination because it was such a slog). I finished most of the "features" they mentioned, so about 70%-80% done.
I submitted it the next day. They got back to me saying they're not moving forward because they expected more features considering 24 hours.
🤨
They didn't expect me to spend 24hrs on it, did they?
I learned a few things, so I guess it wasn't a complete waste of time.3 -
I'm getting really tired of those dumbass programmers that do not understand shit and then come to me when production breaks. (I am also a programmer, not really a DevOps engineer, but I'm the least worst at DevOps stuff, so it's my job...).
We're programming some kind of document management tool. Today we had a release, and one of the new features is to download all of your documents as a zip file, which is asynchronuously generated. When it's done, the user gets a mail with the download link to the zip file.
The feature works basically, but today it broke our production service, as somebody was running a test of it.
Turns out all the documents are loaded into memory to be zipped. So if you have 2 gigs of documents, a container with memory restrictions in that area will crash.
I asked the programmer who reported this «ops problem» to me, why he didn't just shit the files into a temp foler in order to zip them in there.
He told me that he wanted to do so, but did not know how to mock this for a unit test, and therefore went to the in-memory «solution», which was easier for him to mock.
For fuck's sake, unit tests and mocks are fucking tools, not ends in itself! I don't give a fuck about your pointless mocking code when the application crashes!
When I got to deal with such dumbasses, I'd prefer to mock those motherfuckers with a leaky bucket of liquid shit, which basically accomplishes the same task from my perspective: dripping shit all over the place and make everything suck as fuck.3 -
Being the only dev in charge of the project, makes you the one to be blamed for.
The God saviour, shiny armoured back end developer that joined the "team" (only me) to help into this new project Just Said in a meeting:
- "I wont code anything for this new project, I can't get the point of It"
So every meeting was
- "why feature X is not ready?"
- "I'm waiting the endpoint for It"
- "well, then mock It"
Now I fucking give up.
One month mocking things and "presenting" features that don't even exist. -
I usually work in a two person team on a hybrid application we are developing, using AngularJS and node.
This normally works okay, because he handles the back end (he's been on the project since January last year, I joined in August as a placement student), and I handle the front end.
However, due to Christmas holidays and such, he's ended up taking an entire month off, and won't be back until the end of January.
I've dabbled in back end before, some routes and that for SQL queries, but nothing serious.
Last Tuesday our core service for the application that needs to be updated in real time broke and pissed off the API provider because we were hammering them with requests.
My first day on back end and this happened. I didn't really know what to do, and had to call my teammate to ask what to do. I essentially just restarted things, and left them as is, until I could find a solution.
From there, I had to mock the operation of the service (which is a complex enough beast) to figure out the problem, and find a fix. Our app more or less hinges on this service, so if it messes up, it's the end times.
All of this while flying on what I've interpreted because the guy that's on holidays was the only guy that knows more about this project than I do.
To make things worse, the clients are being very particular because they're waiting on investments and don't have money to pay our company. So, if they're paying for 5 days work, they're going to put in 5 days of project development. The problem is that their interpretation of 5 days of project development has not changed from when there were two people on this project.
There are 40 tickets in this sprint (ends Friday) and 35 of them are assigned to me. Granted, not all of those take a day to do, but estimates don't mean anything, I guess.
Ganbarimasu.2 -
The "unit" in unit test does not mean your ENTIRE APPLICATION. Ever heard of scope!?
I am amazed how often people write overblown test setups, mock hundreds of unrelated services, just to test one tiny bit of logic.
That bit of logic could have been a pure function.
For that pure function you could write a dead simple unit test. Given that input, I expect that output. Nothing more, nothing less. (It helps even more if the pure functions only accepts primitives, like string and numbers, or very simple immutable value objects).
No I don't care that the service is used by another service, as your mocked interaction also doesn't test the service as a whole but you just assume the happy case most of the time anyway. You want to test the entire application? Let's not use unit tests for that but let's use a different kind of test for that (integration test, functional tests, e2e-tests).
If you write code in a way that easily allows for unit testing, your need to mock goes away.rant unit tests test all the things tests you are doing it wrong tdd testing don't mock me unit test1 -
*lunch time*
Designer: we want to put these graphs on the landing page.
Me: ok, well they are pretty simple I can recreate them in about an hour with JS, and they will look better and be inter active...
PM: we don't have time for that just use the images from the mock up
Me: ok...
*5hrs & dozens of emails later...*
PM: the graph doesn't look quite right, can we just build it in code so it looks better? Oh and we need to have it to the client to review by end of day...
Me: ...1 -
You may know I love to hate tests. Well not the tests actually, what I hate is the TDD culture.
DBMS schema in my app dictates a key can either have a value, or be omitted - it can't be null, and all queries are written with that in mind (also they're checked compile-time against schema). But tester failed to mock schema validation, inserted a bunch of null keys with mock data, actually wrote assertions to check those keys are null (even though they never should be), and wanted me to add "or null" to my "exists" queries.
No, we don't need more tests, and you're not smart with your "edge cases" argument. DBMS and compiler ensure those null values can never exists in our DB, and they're already well tested by their developers. We need you to stop relying on TDD so much you forget about the practical purpose of the code, and to occasionally break from the whole theoretical independent tests to make sure your testing actually aligns with third-party services some code uses.
And no, we don't need more tests to test your mocks, and tests to test those test, and yo dawg, I heard ...5 -
A newly joined developer (who was supposed to be very senior) comes and asks me how to write a test cos for some reason the person didn't know how to mock.
In Java,
(same for any other implementation which has an interface)
Writes Arraylist list =.....
Instead of List list = Arraylist...
Deployed code (another engineer from another country helped to deploy since this new senior dev didn't have access yet.
But the new senior dev didn't update relevant files in production code which brought down the site for nearly an hour. Mistake aside, the first reaction from this new senior dev is 'WHY DIDN'T THE DEV THAT WAS HELPING DIDN'T DO THE FILE UPDATE?'
This was followed by some other complaints such as our branching stragies are wrong. When in fact the new senior dev made a mistake by just making assumptions on our git branching strategies and we already advised on correct process.
Out of all these, guess this is the best part. The senior dev never tested code locally! Just wrote code, unit test and send to QA and somehow the test passed through. I learnt this when I realised this dev... has not even set up the local environment yet.
I keep saying new but this Senior dev been around like 3 months! This person is in another team within our larger team but shares same code base. I am puzzled how do you not set up your environment for 3 months. Don't you ask for help if you are stuck? I am pretty sure the env is still not setup.
Am I over reacting or is this one disgusting developer who doesn't even qualify for an intern let alone a senior dev? It's so revolting I can't even bring myself to offer help.8 -
i am (somewhat unreasonably) mad at a ten year old classmate of my child. he showed off his programming skills by typing print commands. i wanted to mock him a little by pointing out python 2 would be out of date. he called my child a noob and suggested i don't know shit and he'd be coding c++.
so beside me obviously having no dignity for mocking someone quarter my age, i am not even mad for him talking shit about me, i am just overwhelmingly disappointed about his entitlement and blatant lies. so this is the future? this is an uprising nerd? i'd love to encourage every child on programming, but not with this attitude.13 -
I can now leave freely without any regrets!
The slight misgivings I had about leaving this place over the toys they provide, is now gone because I re-realized that while this place adopts new tech, it doesn't adapt to it. So they have shiny tools but the people and processes won't change.
It seems to me that due to pressure to deliver, there is little thought/analysis behind any tech change.
They don't plan to change their wretched delivery pipelines. Everything will be same but on git. So no velocity gains, and same bureaucratic review request process. Such a waste. This attitude applies to their other tools too. They are using a unit test library to write tests that don't use mock. They are using modern languages but without modern idioms. It's like writing C code in C++. And of course theoretically we are agile but actually we're just a waterfall team with managers on our ass everyday and tighter release schedules.
Reminds me of @boombodies recent posts and discussion about business spaghetti reflecting in code.
There are possibly multiple reasons for these problems but I think a large part of it is a lack of empathy/mutual respect. Everyone's too insecure, noone cares for anyone but themselves and people just try to outwit each other. -
Teacher asks me to join him for a web app development.
First stages, I have to dig deep into a framework I don't know (He doesn't know it too, and I know that learning is the only way to step through)
Month goes by, began developing some mock-ups, he says he didn't like it, sends me a website made in fucking Wix. Seriously?
Fast forward another month, tonight I'm coding some stuff, he stills doesn't know how to fucking use Yii. fml4 -
So, at my new workplace which completed another anniversary (my first) thought it's a chill place to work at.
Just heard internal bad bitching and stuff, fuck I hate corporate.
And there's this guy who must have watched a few episodes of Naruto and called Nine tails a wolf, a fucking wolf!
Then today during my introduction, the same guy interrupted me with a mock "This guy is a hacker and he can read all your messages"
I was very tempted to say what I used to do at my previous company but energy saving...
Ah.... I already don't like this guy6 -
I'm generally new to front end development, couldn't keep up with the eco system even if I wanted to.
But what the fuck am I supposed to do when UX gives me mock ups in absolute units of pixels?
I thought best practice was for development was like vw viewport units of em units, because of the wrinkle of supporting different screen sizes and devices.
Is the general industry practice I'm supposed to use their general ratios and just get close enough? Like I don't want to dick around for diminishing returns trying to get shit pixel perfect, I don't have an eye for this shit to begin with.6 -
The conversations that come across my DevOps desk on a monthly basis.... These have come into my care via Slack, Email, Jira Tickets, PagerDuty alerts, text messages, GitHub PR Reviews, and phone calls. I spend most of my day just trying to log the work I'm being asked to do.
From Random People:
* Employee <A> and Contractor <B> are starting today. Please provision all 19 of their required accounts.
* Oh, they actually started yesterday, please hurry on this request.
From Engineers:
* The database is failing. Why?
* The read-only replica isn't accepting writes. Can you fix this?
* We have this new project we're starting and we need you to set up continuous integration, deployment, write our unit tests, define an integration test strategy, tell us how to mock every call to everything. We'll need several thousand dollars in AWS resources that we've barely defined. Can you define what AWS resources we need?
* We didn't like your definition of AWS resources, so we came up with our own. We're also going to need you to rearchitect the networking to support our single typescript API.
* The VPN is down and nobody can do any work because you locked us all out of connecting directly over SSH from home. Please unblock my home IP.
* Oh, looks like my VPN password expired. How do I reset my VPN password?
* My GitHub account doesn't have access to this repo. Please make my PR for me.
* Can you tell me how to run this app's test suite?
* CI system failed a build. Why?
* App doesn't send logs to the logging platform. Please tell me why.
* How do I add logging statements to my app?
* Why would I need a logging library, can't you just understand why my app doesn't need to waste my time with logs?
From Various 3rd party vendors:
* <X> application changed their license terms. How much do you really want to pay us now?
From Management:
* <X> left the company, and he was working on these tasks that seem closely related to your work. Here are the 3 GitHub Repos you now own.
* Why is our AWS bill so high? I need you to lower our bill by tomorrow. Preferably by 10k-20k monthly. Thanks.
* Please send this month's plan for DevOps work.
* Please don't do anything on your plan.
* Here's your actual new plan for the month.
* Please also do these 10 interruptions-which-became-epic-projects
From AWS:
* Dear AWS Admin, 17 instances need to be rebooted. Please do so by tomorrow.
* Dear AWS Admin, 3 user accounts saw suspicious activity. Please confirm these were actually you.
* Dear AWS Admin, you need to relaunch every one of your instances into a new VPC within the next year.
* Dear AWS Admin, Your app was suspiciously accessing XYZ, which is a violation of our terms of service. You have 24 hours to address this before we delete your AWS account.
Finally, From Management:
* Please provide management with updates, nobody knows what you do.
From me:
Please pay me more. Please give me a team to assist so I'm not a team of one. Also, my wife is asking me to look for a new job, and she's not wrong. Just saying.3 -
When I created stubmatic (a http mock application), we were using it in our internal project. First time when some other project expressed their interest, I was happy and eager to help.
So the person they sent for the training asked me his first question: "I followed all the steps, but It is not working"
I quickly checked his code and replied "you're using GET instead of POST method"
Then his second and last question about stubmatic was "why don't your code understand which method has to be used? Why should a client need to tell every time?"
Ummm... silence -
Bruh, tbh, this is kind of going to be a sad rant.
tl;dr: LEETCODE THE FUCK UP AND GET INTO FANG.
For all the people out there, just stop fucking around with small companies/startups early in your career. Leetcode up and get into FANG. Once you have that validation, these startups will be much easier to get into.
I have gone through this first hand.
After amazing on-sites with multiple startups, where everyone said that I'm the kind of person they're looking for (background wise: CS grad, startup experience, 2+ YOE as a fullstack Dev using Java, py, js and all the famous frameworks you could name), they rejected me.
Heck, a company flew me out to SF from Seattle where I think I had had my best on-site ever. They rejected me today. The sad part is that I actually for once really believed in the mission of the company.
At this point, I have wasted so much time reading about the xyz startup that's about to disrupt pqr industry (to prepare for behavioral/cultural interview), practiced for such shitty interviews like pair programming etc., worked on numerous take home projects (completing all those "bonus" parts) and deploying it and spending money out of my own pocket for that.
I'M JUST FUCKING DONE WITH THIS SHIT.
I have given mock interviews with ex bosses and friends and they told me that I'm good. Heck, I even solved a LC medium in 20 minutes (optimal solution) but still got rejected.
I'm kind of writing this for myself and people who are on the same boat as I am:
Get into FANG and then think about other shit. STOP looking for smaller companies and being scared of getting your ass kicked by a Leetcode interview. Any company who would not take LC interviews will prefer someone from FANG unless you're lucky as fuck. You don't want your career to be based on luck, man. That shit's not gonna take you anywhere.4 -
I think the following is all in my head, or I am heading towards an office rivalry situation between my tech lead and me.
characters :
me : a no nonsense android guy who is sometimes very blunt when requested for unwarranted demands. i am also realising that i have been a bit too arrogant, as i come up with a lot of counter questions too fast (not related to story tho)
tech lead : an android guy who has been android dev for a total of 4 years (same as me), 3 of them in current company and somehow got promoted to TL
story: I find this guy to be too much political, delegating a lazy bum, and i kinda called him out in public , once during a discussion where other folks were also kinda calling him out and another time when we were having a small meeting of 3 people. he in turn has taken some actions (like giving me a lower kpi, not giving me appropriate data for doing some work and then asking about it in public, casually ignoring my leave requests) which looks he is taking out a revenge.
at first time i called him out in a discussion where everyone was getting against his havit of giving buttery responses to his boss (who occasionally joins our standups) . he says "we are on track" while we are already dependent on him to provide data/decisions.
he then says to us to do it faster , and when the work does not get completed ( because how it could be, without him doing his job), he blames it on devs.
i called him out on a similar but different topic of him making last moment task additions when we are already on brim with our planned tasks.
on second time i called him out on him not looking into the current task enough as he was expecting me to take decisions on my own.
the decision was about how a screens ui will be populated and there was no api payload available that would match the ui . i created 2 mock api jsons which would appropriately load that screen but was not sure if the 2 apis would be enough for the screen and wondered whete some missing data will come from?
this task is a long one, nd i did took a decision, but he should had validated them to make sure we are on track. the issue came when i took some questions to him and instead of answering them , he blamed on me not being mature enough to work without the data!
All things aside, I am on my weary ends with thins guy. He is my boss and holds incredible powers over me, but he is incredibly incompetent and his habits of delay, delegation and blaming is making my work life worse. I don't wanna leave this job too, because as much as i hate it, its currently one of the major names in industries and giving a solid power to my resume -
How do you implement TDD in reality?
Say you have a system that is TDD ready, not too sure what that means exactly but you can go write and run any unit tests.
And for example, you need to generate a report that uses 2 database tables so:
1. Read/Query
2. Processor logic
3. Output to file
So 1 and 3 are fairly straightforward, they don't change much, just mock the inputs.
But what about #2. There's going to be a lot of functions doing calculations, grouping/merging the data. And from my experience the code gets refactored a lot. Changing requirements, optimization (first round is somewhat just make it work) so entire functions and classes maybe deleted. Even the input data may change. So with TDD wouldn't you end up writing a lot of throwaway code?
A lot of times I don't know exactly what I want or need other than I need a class that can do something like this... but then I might end up throwing the whole thing out and writing a new one one I get a clearer idea of what i or the user wants or needs.
Last week I was building a new REST API, the parameters and usage changed like 3 times. And even now the code is in feasibility/POC testing just to figure out what needs to be used. Do I need more, less parameters, what should they be. I've moved and rewritten a lot of code because "oh this way won't work, need to try this way instead"
All I start with is my boss telling me I need an API that lets users to ... (Very general requirements).10 -
context i am 20 y/o student studying in mumbai uni college
SO RECNTLY I GRABBED A INTERNSHIP AT A BIG SOFTWARE COMPANY AS A SDE INTERN
so before all this i was that guy of college who was never been invited to parties or nightouts as i am not from a rich Bg they used to tease me on my style of clothing how i used to talk my english is fluent still i used to get bullied. I just had this female friend of mine which everytime used to support me let it be Leetcode question staying up late with me for studies but she was also teased because of me as i was not from a well known family or had money to show flashy things... she was so happy when i got this internship
PS it is my first day of my internship i went to the campus it was so prettty as i havent see anything pretty as this office campus so i clicked the picture standing next to the company logo the watchmen clicked it for me as i was too early to the campus there were no on, i was smiling like a dumb person that security guy was happy after knowing my story then i posted it on my IG and snapchat then i went it wait for onboarding stuff and then i got to meet my HR and she discussed everything she was sweet enough to explain me everything in detail too friends staff then when i checked my phone when the day was completed from office
guess what all those people who used to mock me and my friend for being nerds and used to mock me because of my financial bg now they were congratulating me and asking me how i got this and all
so i just want you to know please don't judge anyone or bully anyone just because of their bg they are always suffering in dark i will like to thank my close friend which was always with me
ty guys for reading till end1 -
!Rant
Welp guys I'm taking my GRE tomorrow and I'm still nervous even though I've studied well for about 2 months. Never been good with competetive exams but just hoping to do my best. I don't know why I'm scared. Have given enough mock tests and always averaged above 316
Anyways I am planning to apply for masters in general CS/ NLP-AI. Wanted to tell abt it here because of the awesome people here! Any tips you guys got for me?2 -
Upgrading my tech skills.. Once again I feel my personal my personal dev environment and told are much more up-to-date than what I use at work.... Though the book Kim reading is on TDD and was written 3 years ago.
Maybe I should read another on in cloud services and ML... but don't have any motivation for these topics.
I need TDD for work because now we're emphasizing unit test coverage...
I usually only use manual functional tests to verify the final outputs as either the testing framework is broken (JS) or I don't have time to relearn the frameworks for the particular language...
Anyway got off topic... So questions after:
1. Do you ever feel your technologically always more ahead than what you do at work and essentially you bring skills to the job but you don't learn much out of it?
2. How do you test? I actually got into a bit of a argument/discussion with my colleagues about how to implement unit tests. Apparently there are 2 ways to test? Black box vs WhiteBox. She said she tests only Public methods using mock inputs, dependencies. She read online and seems there is an opinion that should only test public functions and if you can't then your app is designed incorrectly, not separated enough.
For me I test the private functions individually (WhiteBox/Java reflection) because the public one is like generateReport and as a whole is like a Pachinko machine, too many unique paths that would need a test case for.
So thoughts? Yes sorry for turning it into a remake I guess...24 -
The most annoying thing about the pain I suppress is the dumb creatures around me that are vaguely human in appearance who all went crazy years ago who still at points early in this pop up and mock me for it as if disbelieving. I am strong and I remain strong so I don't always show how much half a life of watching people consistently recycle then further trash the world effects me. In time a person quiets their complaints so as not to be dourly effected by intense psychological disturbance. In short they grow numb. These creatures poured all their brain cells out a long time ago trying to be impish or monster like and instead become progressively more pathetic and worn thin. And I don't know whether to laugh or cry at the fact that even though I repeat things they seem to have fucked themselves into it trying to be the cruel meanspirited trash the victimizers they emulate made them. It's like Pavlov rang the bell himself.