Details
-
AboutRants a lot, loves tech since 5.
-
SkillsCode data algo design architecture music cricket hockey telecom finance phm python Java Linux CF aws azure heroku
Joined devRant on 6/27/2017
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
-
I'm going to talk to my supervisor about redoing their code base.
It will take time, it will suck a bit but I think the long term investment in doing this right will be worth it.
Wish me luck in convincing him 😂🤞7 -
TM: Hey, do you have a moment?
Me: not really, I'm already overtime and have enough work for the whole year.
TM: Yeah, we know. Just a quick meeting to discuss something awkward.
Me: Hmkay.
...
Later that day:
TM: Yeah. To make it quick - we're confused and bit dissatisfied with how project X turned out. The staging server is blazing fast, but the devs machines seem to be extremely slow... Some devs complained.
Me: No wonder. I said from the beginning that the devs shouldn't do X and Y, and that the dev machines need to be redone after staging is done - as we need to gather hands on experience first, cause no one could explain to me what resources the project actually needed.
TM: Oh. I wasn't aware of that.
Me: I guessed so. You were on vacation at the beginning and I didn't had the time to lead another team...
TM: Yeah... So the dev machines get replaced?
Me: They _could_ be replaced, but the devs would need to reset up their environment, as I and won't transfer the environment of the dev user.
TM: Ah... So they would have to retransfer their personal modifications, if they made any?
Me: Yes. As always, the basic setup just provides the necessary services, settings etc. - stuff like remote IDE settings on the machine, configuration etc is left out and we don't transfer it as it is usually too much of a hassle and risky, as every dev does have his / her own preferences, and we don't want to support every possible configuration out there.
TM: Just out of curiosity... Staging was ready like... Last year?
Me: Beginning of December, yes.
TM: Sigh.
Me: The jolly of having a kinder garten full of toys that no kid wants to clean up...
TM: No comment. The kinder garten Kids might make me a Pinata otherwise.
Me: If only they'd fill us with chocolate first instead of just beating us.
...
Tales of lazy devs, to be continued...3 -
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17 -
Happy that Facebook “lost” 230 billion in valuation (got off that toxic platform years ago as well as Instagram). Should I stop using React Native as well?15
-
Client says the styling of a particular component on their website is wrong. It looks fine to me. They can't give me an example of how it should look, or tell me what's wrong with the way it looks currently, but they want me to fix it.3
-
If you don't let the company enslave you then you're not a team player.
Also, you're definitely NOT flexible!8 -
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning2
-
Guest user by having all non authenticated sessions automatically assigned to user ID 0.
Let's just say.. it's not fun having all guests be able to view each others purchases and invoices.
So we ended up just always returning empty everywhere for user 0 -
Thank you, indian YouTube tutorials, your accent is hard to understand, but you made me get through almost all my semesters. ❤️6
-
When I was in school I had some guys walk up to me and asked:
G: Are you Feeno?
Me: Yes, what's up?
G: We need our FY project on school management system done.
Me: Okay?
G: How much will that cost us?
Me: *confused because I was still a freshman. At that point the only programming language I knew was elementary qbasic. I couldn't even write a hello world program without the help of Google*
So played along because yes we're talking about money here.
Me: It will cost you guys N amount of money (*improvised deep voice*).
G: Okay. Fair price.
* Right there they transferred half the requested amount to me. *
Holy moly! This guys aren't joking around. I don't know shit! They clearly mistook me for a senior student whose first name is Feeno, to me that was a nick referred to me by my friends.
I'm in this one for sure and it's a do or die transaction cus I'm returning no fucking money. I told my friends what had happened and they insisted I return back the money to the students and admit I can't deliver the project they were requesting.
Fuck all of yah! I'm keeping this money. Same afternoon I visited the school library with the intension of writing the code using the help of YouTube tutorials. I didn't find anything useful for qbasic as I thought I could write a full fledged school management system using qbasic.
I was lucky enough to find an existing source code on Codeproject, God bless that Indian guy. The source was in PHP and the tutor gave a step by step guide to setup XAMP and MySQL. I really don't know PHP but I guess source code modification is a natural skill to all programmers as I was able to modify the code to meet the requirements of the students (i.e school name, logo and other minor changes).
Most of what I learnt in programming came from modifying the source of that project. I learnt how to connect a PHP source to a MySQL database, I learnt about functions and their usage, I learnt the basics of HTML, I really learnt a lot and I would say that the speed at which I learnt was proportional to the amount of pressure I received to deliver.
That was how my journey as a full stack developer started. By chance maybe.2 -
When it finally works after hours or days of suffering.
Or, when you clean things up and get to delete some garbage code.
Makes it all worth it in the end5 -
Reminding myself: No matter how stupid the work is or how a coworker is acting like an ass, it does not matter. I'm here for the salary and I have other things to do out of work.5
-
My first year at the Uni I believed I was "superior" to others as I knew Python and they knew C.
I'd give my kidney to someone who can go back in time and bang some sense into my empty skull.9 -
To anyone new to the corporate world I have this advice: there's a game no one tells you about in school or university. It's a game of politics. The good news is that you can choose not to play the game. The bad news is that others who do can change that decision for you, if you give them a reason to. So here's my tips to keep yourself from common bad situations:
* Some people will say they'd "prefer that people were honest". This is an outright lie.
* Be guarded - if a scenario could be taken out of context assume it will be.
* Mimic the office culture, don't try to rock the boat.
* Be polite, but always stay neutral between colleagues, picking a side means you're playing the game. Unless that side is your company vs another company in which case-- you are 100% on the company side and everyone else is stupid and incompetent.4 -
can someone explain to me why local pi-holes aren't a thing?
can't we just have an application that has a blacklist of domains that get blocked?20 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
Talking to my son today about one of his CS classes, not sure which.
He says: "I missed the lecture yesterday, but I'm not going to bother re-watching it."
Me: "Why? You really should. You're paying for these classes AND you really need to actually learn this stuff."
Son: "Well, because I got 100% on my last assignment without going to class. I just Google'd everything and figured it out on my own from what I found."
My wife out of the blue: "DAMN IT, BUT THAT'S NOT HOW IT WORKS IN THE REAL WORK WORLD!"
Oh, you poor, uninformed summer child. I love her, but she just doesn't know that my son has already learned the key lesson he needed to learn from his schooling in order to get a job and make good money in this field! #ProudTechieDadMoments12 -
Ah yes, progress...
Why do SJWs have to infiltrate everything and project their own racist views of the world onto non-problematic terms?
Slavery has existed for as long as humanity and abolishing the terms will definitely not solve slavery and opression.
I am not against Git changing the default name but I am against them doing it in the name of "inclusivity". The technical world exists by merit and not inclusivity. Why make everything about color, race or slavery level?86 -
Got two interviews today. Wish me luck. I'm nervous, but I think the candidates are probably more nervous.8