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 - "you are not your code"
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
My "Coding Standards" for my dev team
1.) Every developer thinks or have thought their shit don't stink. If you think you have the best code, submit it to your peers for review. The results may surprise you.
2.) It doesn't matter if you've been working here for a day or ten years. Everyone's input is valuable. I don't care if you're the best damn programmer. If you ever pull rank or seniority on someone who is trying to help, even if it isn't necessarily valid or helpful, please have your resume ready to work elsewhere.
3.) Every language is great and every language sucks in their own ways. We don't have time for a measuring contest. The only time a language debate should arise is for the goal of finding the right one for the project at hand.
4.) Comment your code. We don't have time to investigate what the structure and purpose of your code is when we need to extend upon it.
5.) If you use someone else's work, give them the credit in your comments. Plagiarism will not be tolerated.
6.) If you use flash, you will be taken out back and shot. If you survive, you will be shot again.
7.) If you load jQuery for the sole purpose of writing a simple function, #6 applies.
8.) Unless it is an actual picture, there is little to no reason for not utilizing CSS. That's what it's there for.
9.) We don't support any version of Internet Explorer and Edge other than the latest versions, and only layout/alignment fixes will be bothered with.
10.) If you are struggling with a task, reach out. While you should be able to work independently, it doesn't make sense to waste your time and everyone else's to not seek assistance when needed.
11.) I'm serious about #6 and #7. Don't do it.48 -
One of our web developers reported a bug with my image api that shrunk large images to a thumbnail size. Basically looked like this img = ResizeImage(largeImage, 50); // shrink the image by 50%
The 'bug' was when he was passed in the thumbnail image and requesting a 300% increase, and the image was too pixelated.
I tried to explain that if you need the larger image, use the image from disk (since the images were already sized optimally for display) and the api was just for resizing downward.
Thinking I was done, the next day I was called into a large conference room with the company vice-president, two of the web-dev managers, and several of the web developers.
VP: "I received an alarming email saying you refused to fix that bug in your code. Is that correct?"
Me: "Bug? No, there is no bug. The image api is executing just as it is supposed to."
MGR1: "Uh...no it isn't. Images using *your* code is pixelated and unfit for our site and our customers."
MGR2: "Yes, I looked at your code and don't understand what the big deal is. Looks like a simple fix."
<web developers nodding their heads>
Me: "OK, I'll bite. What is the simple fix?"
<MGR2 looks over at one of the devs>
Dev1: "Well, for example, if we request an image resize of 300, and the image is only 50x50, only increase the size by 10. Maybe 15."
Me: "Wow..OK. So what if the image is, for example, 640x480?"
MGR1: "75. Maybe 80 if it's a picture of boots."
VP: "Oh yes, boots. We need good pictures of boots."
Me: "I'm not exactly sure how to break this to you, but my code doesn't do 'maybe'. I mean, you have the image from disk.
You obviously used the api to create the thumbnail, but are trying to use the thumbnail to go back to the regular size. Why not use the original image?"
<Web-Dev managers look awkwardly towards the web devs>
Dev3: "Yea, well uh...um...that would require us to create a variable or something to store the original image. The place in the code where we need the regular image, it's easier to call your method."
Me: "Um, not really. You still have to resolve the product name from the URL path. Deriving the original file name is what you are doing already. Just do the same thing in your part of the code."
Dev2: "But we'd have to change our code"
Mgr2: "I know..I know. How about if we, for example, send you 12345.jpg and request a resize greater than 100, you go to disk and look for that image?"
<VP, mgrs, and devs nod happily>
Me: "Um, no that won't work. All I see is the image stream. I have no idea what file is and the api shouldn't be guessing, going to disk or anything like that."
Dev1: "What if we pass you the file name?"
<VP, mgrs, and devs nod happily again>
Me: "No, that would break the API contract and ...uh..wait...I'm familiar with your code. How about I make the change? I'm pretty sure I'll only have to change one method"
VP: "What! No...it’s gotta be more than that. Our site is huge."
<Mgrs and devs grumble and shift around in their chairs>
Me: "I'm done talking about this. I can change your code for you or you can do it. There is no bug and I'm not changing the api because you can't use it correctly."
Later I discovered they stopped using the resize api and wrote dynamic html to 'resize' the images on the client (download the 5+ meg images, and use the length and width properties)22 -
Uncle: "It must be noisy, programming. I've seen a datacenter on TV, and those computers are loud" — "It is noisy, but that's more my coworkers fault"
Sales guy at the office: "So you see patterns in the code, you can read this cryptic mess?" — "Uh this is PHP, Its not the syntax that makes it hard to read, it's the dimwit who wrote it"
Father-in-law: "Could you reprogram my laptop, I got a virus trying to download por... nature documentaries" — "I'm not that kind of doctor"
Mother-in-law: "How will you sustain a family, you just play video games all day" — "I make your monthly teachers salary in four days"
Girlfriend: "I learned some Lua today because I needed a world of warcraft extension for..." — "I love you too"22 -
When CS professors are lazy to grade so they think they can just give you any grade without you questioning them...
Me: Hi Professor, I see I got a 94 out of 100 on my 2nd project. Your comments said, some of my functions didn't pass your junit test cases.
Prof: Yes!
Me: How come? I tested it several times before submitting and they all passed the test cases. You gave us the test cases to write the code for.
Prof: Yeah, but some of your functions aren't passing on mine.
Me: Since I'm in your office, can you please run it again so I can see?
Prof: Are you doubting me? I gave you the project and I'm telling you they're not passing my test cases.
Me: I just want to make sure because I did work really hard on this project to pass all the test cases. *Runs the code to show him on my laptop and they all pass*
Prof: Fine, let's run it together on mine again. *He runs it and they all pass on his laptop*..hmm, that's weird. They didn't pass when I ran them. Maybe, because of the IDE I used earlier.
Well, looks like you get your 100.
Me: Thank you but which IDE did you ran it in that failed? Just wondering..🤔
Prof: Doesn't matter now...they're passing. Just be ready for your next project...you guys will be writing the test cases yourself this time..9 -
C: application not working
Me: k. What changed?
C: we didn't make changes
Me: k... *gets a tech team (W) on the phone*
W: Hey, what's broken?
Me: C's application. How do things look?
W: running healthy. I'll check logs.
Me: thanks. *gets tech team (S) on the line*
S: hey, everything clear on our end, will check logs.
Me: thanks *gets tech team (U)*
U: hey! They asked us to deploy their new version today during normal deployment time. Is it acting up?
Me: C, what did you change?
C: nothing major, just how we connect to W and S...
W&S: are you shitting me???
Me: U, will you please roll it back?
C: no! Must stay on this version, you need to fix your side!!
Me: nope. *calls U boss (UG)*
UG: U, you have my permission to roll back, they need to fix. C, if your boss doesn't like it, have them call me.
*rollback fixes problem*
IF I FUCKING ASK YOU WHAT THE FUCK YOU CHANGED, YOU BETTER TELL ME THE TRUTH, OR I WILL STRIP YOUR CODE OFF OUR FUCKING SYSTEMS AND SHOVE IT DOWN YOUR THROAT. MY JOB IS TO HELP YOU AND YOU NEED TO BACK TO FUCK UP AND NOT GET IN THE WAY OF MY JOB OR YOU WON'T HAVE ONE ANYMORE.11 -
Me: Can you make me some meatballs?
Engineer: No, what are you talking about?
Me: I thought you were a chef.
Engineer: I'm not a chef, what made you think that?
Me: I was looking at your code and I haven't seen that much spaghetti since Olive Garden ran the endless pasta special. I was just wanting some meatballs to go with it.5 -
TL;DR: Clients are dumb.
Client IT Lead: "Your code isn't working on our website."
Me: "Because you didn't load our code into your website. Do that, and everything works."
CIL: <proposes terrible alternative>
M: "No fix on my end will matter if you don't load our code into your website."
CIL: <more disagreement>
M: "Let me discuss with my team and I'll get back to you."
... later that day, in a follow up meeting with client's team ...
M: "Load our code into your website as was initially intended and everything works fine."
CIL's Boss: "That makes complete sense, and I'm not sure why we weren't doing that from the beginning. Let's make that happen, CIL."
CIL: "Okay."
——
👨🏽💻🤷🏽♂️🤦🏽♂️7 -
"Don't deploy on Friday" is a public admittance that your company either has no CI/CD pipeline, or that all your devs are retarded rhesus monkeys who only wipe their ass if the product manager wrote it as a spec.
If the saying was: "Don't port your whole API to GraphQL on a Friday", or "Don't switch from MySQL to Postgres on a Friday", I would agree.
But you should be able to do simple deploys all the time.
I deployed on Christmas & New Year's eve. I've deployed code while high on LSD, drunk-peeing 2 liters of beer against a tree after a party. I've deployed code from the hospital while my foot was being stitched up. On average, we deploy our main codebase about 194 times a week.
If you can't trust your deploys, maybe instead of posting stupid memes about not deploying on Fridays, you should fix your testing & QA procedures.46 -
"there's a problem with your API"
Me: "why?"
"I get no data"
Me: "what response code are you getting?"
"405 - Method not allowed. But only on the /version endpoint"
Me: "Soo... What request are you sending?"
"POST"
WHY THE FUCK WOULD YOU SEND A POST REQUEST TO AN ENDPOINT THAT **GETS** THE VERSION OF MY API???!!!!
Me: "Read the documentation. It's there for a reason"13 -
Omfg this fucking guy!!!!
Context:
We are going through a major refactor of some of our backend components. I was tasked with cleaning up our ML code while another guy was tasked with cleaning up the general CRUD side of the backend, let's call him DA for "dumb ass".
** At 11pm
DA: I am getting a strange error from your backend. Look:
"Invalid call: method=PUT expected=[POST]"
Me: you need to send a post request not a put request
DM: no, it's not that. I am sending the right thing
Me: ... Let me see...
* 15min ish of testing *
No, it works fine on my version, 1.1.0 what's your version?
DM: I'm on 1.1.0.
Me: send me code?
DM: *send
"request.put(..."
Me: you are sending a PUT... It's literally in the screenshot. Send a Post
DM: I am
Me: no, send a Post
DM: I don't understand, I am sending the request
Me: it's a post not a put
DM: but...
Me: it's a post not a put
Me: good night!!!!!!12 -
Linux developers threaten to pull the kill switch...talking about giving people the finger this week...
If you have been following the nerd news these last weeks you may have heard about Linus leaving Linux (temporarily) and implementing the new CoC (pronounced cock) code of conduct thanks to the constant pressure of the ABC of inclusion (LGBTQLMNOP+ groups).
This new code of conduct aims, believe it or not, to change the predominantly white, straight, and male face of programming and it also seems to "mitigate the consequences of dogmatic meritocracy".
That's right, are you white, male, straight or otherwise pull yourself out of the mud? Yes, YOU are part of the problem (also racist, sexist and probably islamophobic).
Bullshit I know, these SJW privileged upper class assholes are pushing for these changes to inspire witch-hunts against good devs like Larry Garfield (cause: sexual fetishes) and give themselves more power over the free speech of people.
Ironic if you ask me because I haven't seen anything similar for oil rigging which is riddled with cis males (but ain't as comfy).
But not everything is lost and that's why this hasn't been a mouth foaming rant because boy I'm proud to know there are devs with balls out there; It seems there's a little detail with the GPL2 license and all those unjustly banned by the new stupid racist ass CoC can withdraw the license to their contributions crippling the Linux kernel project.
I'm not happy that GNU/Linux is being threatened like so, but it was about time we put a stop to this, your politics, skin color, religion and ideas should not matter when developing code, what matters is the code you produce.
Want to politicize our repos and kick out devs just because they don't think the way you do? Let's see how long you last without the contributions of the "deplorables"; let us see how many good contributions your new "diverse", PC stack do (other than changing master/slave or other terms).
My guess...as I've said earlier, everything these PC busybodies touch, if unchecked, crumbles to dust. (EA 😉)
Sources:
https://lulz.com/linux-devs-threate...
https://contributor-covenant.org//
https://lists.llvm.org/pipermail/...80 -
Manager: Good news everyone, I made a big giant announcement this morning that the app upgrades will be released today!
Dev: They definitely won’t be, we need another 2 weeks minimum. I told you yesterday
Manager: Ok well I already made the announcement that today was the day so too bad for you.
Dev: Doesn’t change the state of things
Manager: 😡 This announcement is supposed to motivate you to work faster! You guys are making me look bad when you don’t support me like this!
Dev: Working as fast as we can, it’s a 2 person dev team for 4 separate applications so it’s quite a bit to get pushed through
Manager: Ok well then stay extra then, we have to get this out asap. Tell your spouses they are not going to be seeing much of you until this work is done. People are starting to ask questions!!!!!
Dev: Not my problem, it’s done when its done. I’m not staying extra.
Manager: !!
// *************
Might be blowing my cover a little but what are they going to do? Fire me? Good luck getting this out without me. They’ve tried to replace me in the past but the cheapest person they could find was 60k more expensive than me and still couldn’t keep up. Probably they’ll ship the work overseas and the code will die in a dumpster fire and cost them even more. Ah well, just another company that doesn’t deserve code.20 -
I don't discriminate fellow devs. i don't care if you write Java or PhP, I don't care what OS you use to code, I don't care if all your software are free or not, I don't care what framework you use, I don't care about all this. The important part is being a dev. But, those bastards using light theme can go fuck themselves. 🤣10
-
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6 -
My first rant here, don't know how to start, but fuck these self proclaimed senior developers who can't even get their concepts right about basic things and don't believe in reading docs.
Fuck you for asking if sequelize has a method to return details of the logged in user of your app, it's a fucking ORM you dumbfuck. You are a "full stack" developer for fuck's sake.
Fuck you for making those "minor changes" which breaks build and then blame it on any random plugin or lib used, or my commits.
Fuck you for expecting me to review your code on Sundays because you couldn't finish it on time.
I don't like java, at all, but even I get that without it we wouldn't be where we are right now and can't reach where we aspire to reach. But you can't keep chanting "Java is dead, Java is dead" every chance you get. No, it's NOT dead. Nor is going to, anytime soon.
And for god's sake, please stop choosing one library/plugin over another just on the basis of stars on repo, it's not the only (or valid) criteria. Look if you actually even need it. Think.
And please learn how to google first, and also stop using "the" before every the noun, the adjective and the verb. It's the fucking the annoying to read.
And yes, there are different linting presets out there, and just because a piece of code in a plugin/library/boilerplate is not following your specific, and may I say horrible standard, doesn't mean it's a "bad code". It's written by people who have created/worked-on these libraries as side projects on which your entire career is based upon.
And I haven't even talked about the code you write or your domain knowledge or the way you treat other people. So get off your high horse and behave like a developer, a real one.8 -
Client: Sorry to bother you, but our developer team can not connect to your Web Service, can you help us?
Me: Of course, if you want, i can give you the code for that, i only need to know in what language are they developing.
Client: Sometimes they develop in spanish and sometimes on english...
Maybe i didn't ask the right question.
Sorry for my English.6 -
If the below is you, please stop. I'm starting a revolution called #AnswerTheQuestion
A: Hey, just checked your code, you have a huge security issue in XYZ, you should really address that.
B: Oh god I had no idea, how do I fix it?
A: Well it depends on how you *want* to fix it, no one solution is always the right one.
B: ... Ok, well could you give me some advice?
A: Well, there are many ways to approach this kind of work, but all I can say is that this way, is definitely not the correct one.
B: ... Ok, well how would you do it?
A: That would depend on the customer requirements.
B: ... the requirements is to have a website that isn't easily hackable, what do I do?
A: Nowadays, its pretty hard to make a website completely not hackable.
B: ALL THE SERVERS ARE SHOWING RED, PLEASE HELP ME!!!
A: ........ you really shouldn't prejudge colours. The colour red doesn't always mean danger, depends purely on the use case.9 -
"Can you work on this ticket? It's kind of urgent."
-- "OK"
"And could you please not refactor? Just get this done."
-- "Why? What's the issue?"
"The logic is complex. We should not break it."
-- "Erm, that's what the tests are for. So yes, if the need arises, I'll refactor. The tests are my guidelines if the logic breaks or not."
There's a reason we create tests. So let's not hinder code base improvements by some random fear that stuff might break.
If breaks due to refactoring, we'll fix it by adding a valid test case during and then fixing the bug.
If my refactoring does not break the tests, I'll assume the code base is stable.
If your code is untested, then we have a complete different problem.3 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
Frontend team : We pushed our code. Please give instructions regarding integration with Backend.
Me : Alright. I'll provide you the API docs and you can continue with integration.
F : But that's your job. No?
Me (didn't want to argue) : I'll look into it. Let me check out the frontend till then.
* Goes on to see the frontend *
I am kidding you not, that moth*rf*ck*r pushed an entire template along with dummy text.
Me : Hey! This doesn't seem right. It's just a template you got off the internet.
F : Yeah! That's what I have to do. To put on the dynamic content from database is your work. Don't put your responsibilities on me!!
Are you f*cking kidding me?! Do your work right or I am reporting you to the team lead!
Meanwhile, team lead : *sips coffee. Disappears for months*
Bastards!7 -
Juniors are a fun bunch to work with.
Over confident, hero complex of that fresh graduate high, and then thrown in to the real world! Where there hopes and dreams are crushed in minutes when they see what monolithic applications really look like!!
But don't let that overwhelm you, your not going to be changing all of it any time soon, hell some of this code hasn't been touched in 5+ years and still works without fail.
Don't stress about the work load, you can only write 1 line of code at a time anyway, and hell, even seniors make mistakes.
The key about being able to manage this beast is simple, break it! Because the more you break it, the more you'll understand how a project is put together, for better or worse. Learn from the examples in front of you, and learn what not to do in the future 😎
But more importantly, plan your changes, whiteboard the high level logic of what it is you want to add, then whiteboard in the current codebase and determine where to slice this bitch up, then when it all looks well and good, take out your scalpel and slice and dice time.
Don't worry, your changes aren't going to production anytime soon, hell, you'll be lucky to get past the first pull request with this working 100% the first time, and that's a good thing, learn from tour short comings and improve your own knowledge for the next time!2 -
(c) Creative Tim. Worth to read pips!
How to land a programming job
1. ABC (Always Be Coding) - The more you code, the better you'll get.
2. Master at least one multi-paradigm language - Some good candidates are C#, C++, Java, PHP, Python, and Ruby.
3. Re-invent the wheel - You should implement the most common data structures in your language choice.
4. Solve word problems - Pick those that test your ability to implement recursive, pattern-matching, greedy, dynamic programming, and graph problems
5. Make coding easy - At least, make it look easy.
6. Be passionate - If you don't care, then nobody else will.
7. Don't make assumptions - Ask questions if you're not sure.11 -
People on Stack Overflow are SUCH FUCKING ASSHOLES
"You didn't show us where you declared this unimportant array, please review this article for how to ask questions"
My question doesn't concern the array, my question concerns how the system works, all code I provided was only for clarity. Read my fucking question you arrogant asshole. You have lots of points, fine, go tell your mother, but you assume I don't know how to ask a question which you clearly did not read.10 -
You just came in today, being new in your position. I've been with the company for around 5 years, and you're the new guy. Look, I absolutely respect your skills. You're not a newbie coming out of uni, ok? You're a skilled sysadmin. But you asking me "what is your college?" and after me telling you I majored in linguistics, your answer "huh, that's why" and explaining why I'm wrong in my programming practices (which are taken from the Apache foundation) is utterly bullshit. Fuck off!
1) The fact that you have a BS in CS doesn't mean you know the best. I've worked as a programmer for some time. You were never paid to write a line of code.
2) Even if you were absolutely, positively, non-questionably right, you have no right to be condescending.
So, can you just shove your degree far up your ass? Because my friend, you're uppity as fuck just because you spent 4 years in college learning theory that you never applied in real world. I spent years learning my programming skills alone, after 9 to 5 work, during the evenings and fucking weekends. I don't need to prove myself to you, you fuckity fuck, I have proven myself to our employer over the last five fucking years.
Fuuuuuuuck!10 -
me: your code base is vulnerable, you are not using prepared statements
him: not an issue, nobody knows
me: ...
me: ¯\_(ツ)_/¯13 -
At an interview, the first round was an online coding round. Two questions, one easy one hard, 90 minutes, easy peasy.
I solved the hard one first.
A bit of good logic, followed MVC pattern, all done. Worked flawlessly.
Submitted code. Online compiler threw up an internal error citing java is an invalid command(jdk not found).
Called the invigilators. What I heard next, I couldn't believe this shit.
"We're not responsible for any errors you may be having. Figure it out yourself"
I was like WTF dude. This is not even a compilation or runtime error!
After a heated discussion, I made him look at the code.
Him - what is all this classes and all? Why haven't you written everything inside the main function?
Me - those are model classes. Those are different helper functions. That is a recursive function to avoid 5 for loops and use divide and conquer. Ever heard of OOP? what kind of person writes a 300 line program inside one function?
Him - no no we write it like that only. Correct this.
Me - I fit everything inside the main function. Still the same error, java not installed. Called the idiot to have a look at it.
Him - yeah your code is wrong.
Me - may I know what's wrong with it? Can you fix it please?
Him - no no we aren't allowed to see the code (he had already read it twice. It was compiling and running perfectly, locally) .
Yeah you solved only 1 problem, you were supposed to solve 2.
Me - yes because the rest of the time I had the pleasure of your company. (It isn't everyday that I see talking buffoons.)11 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
My friend loves Dreamweaver... And continuously says that he doesn't understand what people see in it that is so wrong... It does the job right?...... Fucking blind...
Uses a bootstrap plugin which generates HTML code for bootstrap.
I did not know this at the time.
Comes to me the night before submission.
He: Dude i need help quick! I've got the presentation tomorrow morning and bootstrap fucked up the links to my style sheets or something, my page is broken and won't work. I should have done what you did and gone for Foundation...
Me: Yeah, because the bootstrap framework definitely affects the style links...
He: help me out man, please! I can't do this anymore!
I had my submission the day after him to prepare still...
Me: Teamviewer. Now.
Log on to Teamviewer.
See what he's using to code...
Dreamweaver..... Niiiiice....
I go through the code. There are empty divs with &nbsc; in them everywhere.. some HTML elements haven't been closed, no comments, indentation seems to be completely random. All the usual shit storm of a novice web designer.
The only thing is, this guy I know knows how to indent, I've seen his previous work. Why is this so horrible then???
I ask what the hell happened, it looked like a nuclear explosion happened!
He: Yeah I'm using this great plugin for Dreamweaver which lets me click and it puts in Bootstrap elements! It's great!
........ You're blaming the bootstrap framework for affecting your links to your stylesheets, you're using an elements generator, you're not checking what the FUCK it puts into your code, not fixing the indenting, not checking the standard HTML rules are followed AND YOU WONDER WHY IT'S BROKEN???
Kill me now.4 -
Warning: contains swearwords!
Do you guy's also have coder-"friend" that:
- Always asks how to do things
- ask for code snippets
- steals your fucking code from Anydesk
- steals your passwords while testing
- steals your code from deobfuscated jar
- steals your jar and deobfuscate it
- steals your database to store stolen passphrases
- tries to convince you to build RATs for your users
- tries to convince you to build RATs for his users
- and so on...
??FOR FUCKING REAL THIS ISN'T EVEN ALL THAT HAPPENED TO ME!
HE IS A FUCKING SUCKER CUNT! HE PROMISED ME MULTIPLE TIMES THAT HE DELETED MY PROJECTS AND TELLS ME HE IS STILL USING THEM TO RESEARCH MY CODE FOR HIS CODE!!!
HE FUCKING RECORDED ME WHILE CODING WITH AN API I AM NOT USED TO WHILE I ASK HIM FREQUENTLY BECAUSE I HAVE NO CLUE AND HE THEN SENDS IT TO HIS FRIENDS TO PISS ME OF AND LAUGH ABOUT ME!!
WHAT THE FUCK IS WRONG WITH PEOPLE WHY THE FUCK ARE ASSHOLES LIKE HIM NOT IN FUCKING PSYCHIATRY!
AND I CAN'T GET RID OF HIM BECAUSE I AM TOO FUCKING NICE!!
FOR GODS SAKE PLS LET A LIGHTNING STRIKE HIT HIM IN HIS FUCKING FACE!
AT FUCKING LEAST I GOT SENT AN IMAGE OF HIS ADDRESS SO I WILL SHIT IN A FUCKING BOX AND SEND IT TO THAT CUNT!16 -
Why in the name of Donald Knuth did you think it was a good idea to have a 1500 line Java Method? What THE HELL WERE YOU SMOKING THE ENTIRE FILE IS OVER 3000 LINES AND HALF OF THEM ARE COMMENTED OUT!
Don't even get me started on your "unit tests" which is a massive 5000 line behemoth that randomly has massive swaths of code commented out.
And of course no solution like this would be complete with you HARD CODING EVERY F****INIG STRING IN EVERY TIME!
And it's not like you don't know how to use classes as you have several of them, every single one of which is over 500+ lines and consists of only getters and setters. LET ME INTRODUCE YOU TO A MAP! REALLY WHY WOULD YOU USE 500 LINES FOR A CLASS THAT IS JUST GETTERS AND SETTERS?!
The part that really burns me about all of this though, isn't the fact that you sent it to me when I was running into a similar issue, and said "check this out it should help", what bothers me most isn't the indescribable rage I felt looking at your code, the part that really really really bothers me is that you are a veteran with over 15 years in Java development, and according to the org chart are a lead senior engineer getting paid substantially more than me, whereas I am considered a lowly mid-level developer, who isn't worth promoting to your level.
On the plus side you are now going to be featured on theDailyWTF so congrats on the notoriety.8 -
while we were in the car...
mom: so what are u doing in your new job? you code in java?
me: no, i code in javascript, html, css and php..
mom: so thats java. how nice.
me: no, its javaSCRIPT.
mom: theyre still the same.
me: java and javascript are not the same
mom: but most people use java so why dont u just do it in java?
me: thats what ive been asking myself too in the past few weeks, why did i even accept this job3 -
WTF is up with open-source projects using emojis in their commit messages... FUCKING emojis..
I get it, programming is fun and a hobby to many, but can we also keep at least a minimum level of professionalism here.
WTF is a wheelchair or bento emoji at the beginning of a commit message supposed to mean? Why the hell even bother to use it in the first place? There is no fucking reason for this retarded shit.
Is this what happens when activist developers get out of their way to make programming "inclusive"?
It is your personal project and so if you want to use emojis it is OK, I respect that (not really) but I can't trust your code, your commitment, or the quality of your work if I see those dumb Unicode characters there.
Git commit messages are not a game. Be playful with comments in code or your readme.md file but git messages should be a clear reflection of the changes not what a teenager's phone vomited on the keyboard.rant stop this shit git commit messages source control keep emojis out of git emoji open-source github34 -
GOD FUCKIN DAMMIT
I WILL FUCKIN KICK YOU ON YOUR FUCKING THROAT.
Programming Languages and Linux groups in facebook are a fuckin pain to watch.
Some people make groups so all can benefit and help each other, talk about mutual interests, BUT NO SOME FUCKERS WILL SPAM SHIT AND MAKE YOU WANNA SMACK THEIR FUCKIN HEAD.
THERE IS A FUCKIN FAQ SECTION THAT ANSWERS ALL THE FUCKIN NEWBIE QUESTIONS. WHY THE FUCKIN HELL YOU SPAM IF YOU HAVE NO FUCKIN CLUE WHAT THE HELL YOU ARE DOING?
You come to a python group and ask if it's possible to get context from a site. I'M NOT MENTIONING THE FUCKIN FACT THAT THIS IS A SIMPLY FUCKIN QUERY TO A SEARCH ENGINE ALSO IT'S MENTIONED IN THE FUCKIN FAQ. Let's move on. We tell you yes, there is BeautifulSoup for that. After 5 fuckin mins YOU COME AND MAKE A NEW POST THAT SHOWS YOU CANT FUCKIN ITERATE A GODDAMN FUCKIN LIST. I'm not pro either, i don't forbid you to learn, BUT FUCKIN LEARN THE BASICS THAT ARE PROVIDED TO YOU FROM GREAT FUCKIN RESOURCES BEFORE TRYING TO ATTEMPT SOMETHING MORE COMPLICATED. AND IF YOU NEED HELP PROVIDE CODE THAT WE CAN USE. NOT A FUCKIN PHOTOGRAPH FROM YOUR MOBILE
Let's go on the Linux groups.
SINCE YOU FUCKIN JOIN A LINUX GROUP YOU ARE SUPPOSED TO KNOW WHAT THE FUCK IS LINUX. IT'S A FUCKIN OPERATING SYSTEM RIGHT?
Then you spam shit like, UBUNTU OR MINT 5 MINUTES AFTER SOMEONE ELSE MADE THE SAME VERY QUESTION 30 MINS AGO. WHICH WAS ANSWERED AGAIN YESTERDAY.
"What are the benefits of Linux". NONE YOU TWAT, IF YOU NEED ME TO TELL YOU THE BENEFITS OF THE SYSTEM THAT YOU USE THEN WHY THE HELL YOU BOTHER.
Next.
You say you have problems setting up XAMPP. We tell you that since you are on linux better use LAMP. You ignore us and spam your fuckin problem with XAMPP. IM GONNA FIND YOU AND IM GONNA MAKE YOU CHEW MY FUCKIN SHOES YOU PIECE OF SHIT.
I'm not even mentioning the kali wannabe hackers.
Conclusion:
DO A FUCKIN SMALL RESEARCH BEFORE SPAMMING THE SHIT OUT OF STUPID FUCKIN QUESTIONS. AND IF YOU CANT EVEN SEARCH, LEARN TO ASK IN ENGLISH THAT IS FUCKIN UNDERSTANDABLE SO SOMEONE CAN GUIDE YOU ABOUT WHAT YOU SHOULD SEARCH
OH FUCKIN GAWD IM GONNA THROW MY LAPTOP OUT OF THE WINDOW8 -
Looking at code in our workplace.. I realized one thing. Like Devops, legacy code is actually a mindset.
So here goes my thought:
A piece of code is not legacy because it was written ten years ago.
A piece of code is legacy because it looks like a piece of legacy code.
With the legacy code mindset, you end up writing legacy code no matter where you are, when you wrote it.
I was looking at some part of our code which we written in just the last few months, and I can’t help but think that they were legacy, so it really doesn’t matter when it was written!
It is more about how you write your code that determines whether it is legacy :)
Hopefully this was not crazily confusing anyone. Have a good day guys & gals!7 -
Fuck off cancerous piece of shit on stackoverflow whose dick is an obvious inverse proposition to ego and incapablility to read.
I asked if there's "clean" way, of doing something. I provided my solution to the problem
Your answer and coments make it pretty obvious that you:
* don't really care about (code) quality
* value your reputation just as much as some teen on facebook sucking cook for likes or whatever they use now
* downvoted my question because you can't handle critique in the slightest
* You immediately replied with "but op said..." even though I am the fucking op and if I say _imo_ a fucking for-loop within function is less readable than 3 chained function-calls it and does not include the feature I asked for, it means you have to justify your answer and not get triggered and downvote my fucking question.
After I confronted him about this shit he just said "If you had studied the language for more than 10 minutes you would have known than you can't do that."
And if you had some a basic reading skill you could improve my workaround or tell me just that, instead of providing me with that useless information you vomited out just to get some ez SO reputation.
Piece of shit didn't even deny the anyyhing.
Shove a vibrator up your ass until it arrives at your skull and activate it. Maybe that will stimulate your brain or hopefully upgrade it.
I don't care how much "reputition" you may have "earned" on the internet. I am not afraid to call your bullshit or your sheer pathetic existence out.
People like this are are the reason SO gets so much hsge and even tough I got an improved version for my workaround (from an other user), I'm nowhere near happiness.
Note, the Useful-to-retarded-ratio is
1: 3rant i want to punch prople over the internet stackoverflow is being a downvote bitch waste of oxygen8 -
Online tutorial pet peeves
————————————
My top 10 points of unsolicited ranting/advice to those making video tutorials:
1. Avoid lots of pauses, saying “umm” too much, or other unnecessary redundancy in speech (listen to yourself in a recording)
2. If I can’t understand you at 1.5 - 2x playback speed and you don’t already speak relatively quickly and clearly, I’m probably not going to watch for long (mumbling, inconsistent microphone volume, and background noise/music are frequent culprits)
3. It’s ok to make mistakes in a tutorial, so long as you also fix them in the tutorial (e.g., the code that is missing a semicolon that all of a sudden has one after it compiles correctly — but no mention of fixing it or the compiler error that would have been received the first time). With that said, it’s fine to fix mistakes pertinent to the topic being taught, but don’t make me watch you troubleshoot your non-relevant computer issues or problems created by your specific preferences (e.g., IDE functionality not working as expected when no specific IDE was prescribed for the tutorial)
4. Don’t make me wait on your slow computer to do something in silence—either teach me something while it’s working or edit the video to remove the lull
5. You knew you were recording your screen. Close your email, chat, and other applications that create notifications before recording. Or at least please don’t check them and respond while recording and not edit it out of the video
6. Stay on topic. I’m watching your video to learn about something specific. A little personality is good, but excessive tangents are often a waste of my time
7. [Specific to YouTube] Don’t block my view of important content with annotations (and ads, if within your control)
8. If you aren’t uploading quality HD recordings, enlarge your font! Don’t make me have to guess what character you typed
9. Have a game plan (i.e., objectives) before hitting the record button
10. Remember that it’s easier to rant and complain than to do something constructive. Thank you for spending your time making tutorial videos. It’s better for you to make videos and commit all my pet peeves listed above than to not make videos at all—don’t let one guy’s rant stop you from sharing your knowledge and experience (but if it helps you, you’re welcome—and you just might gain a new viewer!)14 -
Why does the idea of having to develop social skills somehow seem to scare the fuck out of a large portion of you?
Is being a likeable human being such a weird concept? What do you expect? To people just validate your entire existence based on how good you can sit in front of a set of monitors and push code out? Thousands of monkeys can do that shit. Thousands of systems will eventually do such things.
for whatever reason the "I am a fucking asshole that can code" trope seems to be a "real thing" amongst developers. A mfker can know waaaaaaay less than you, have the same credentials (degrees etc) and will get the job because you were too busy building an online persona governing how better you are than everyone else. How "quirky" and Sheldon Cooper like you are. You think that makes you likeable? "i don't need to be likeable" <---- yes the fuck you are, because this shit is something in which people can be trained upon.
A team, regardless of how much you agree with this, can choose a person solely based on how well he/she/whatever clicks with them. You might be the end all be all of development, but if they don't like you or feel you will not be someone worthwile to be around, will not chose you. They will go with the charismatic newbie that can learn the same shit you so dear hold on to, because they are likeable.
Sticking to a merit based "I am the best there is" asshole mentality is a thing of the fucking past, boomer mentality. For which newer generations are parting ways with, with still profitable results. workable results. Production ready results.
Yet you chose to stick to a "I might be a quirky annoying fuck, but I am the best" mentality?
This is why you were bullied. This is why you can't get any dick, this is why you can't get any pussy, this is why you sit your ass in your little dark room trying to convince yourself that being lonely is a choice, not a situation in which you put your ass in. This is why I also dislike developers online.
Most of you might be the nicest mfkers on the planet when dealing with on a face to face basis, but if you put this shit on a screen for the world to see you will be viewed upon as some dickhead.
Fuck this "code is my life" mentality, shit is but a paycheck, a craft is not a glimpse into what you are as a person, but a way in which you make a paycheck. Molding your personality, based on what you do for a living, really?
Damn man, shit is just so fucking sad. So cringeworthy even.42 -
Worst code review experience?
Hard to pick just one, but most were in a big meeting room with 4+ other developers not related to the project and with some playing Monday-Morning-Quarterback instead of offering productive feedback.
In one code review, the department mgr reviewed the code from a third party component library.
<brings up the code on the big screen>
Mgr: "I can't read any of this, its a mix of English and something else."
Me: "Its German."
Mgr: "Then why is 'Button' in English? This code is a mess."
Me: "I'm not exactly sure how I should respond, I mean, I didn't write any of this code."
Mgr: "Yes, but you are using it, so it's fair game for a code review."
Me: "Its not really open source, but we can make requests if you found something that needs to be addressed."
Mgr: "Oh yes, all this...whatever this is..<pointing again to the German>"
Me: "I don't think they will change their code to English just so you can read it."
Mgr: "We paid good money, you bet your ass they'll change it!"
Me: "I think the components were like $30 for the unlimited license. They'll tell us to go to hell first. Is there something about my code you want to talk about?"
Mgr: "<Ugggh>...I guess not, I couldn't get past all that German. Why didn't we go with an American company? Hell, why didn't we just write these components ourselves!?"
Me: "Because you gave a directive that if we found components that saved us time, to put in a request, and you approved the request. The company is American, they probably outsourced or hired German developers. I don't know and not sure why we care."
Mgr: "Security! What if they are sending keystrokes back to their servers!"
Me: "Did you see any http or any network access?"
Mgr: "How could I? The code is in German!"
Monday-Morning-Quarterback1: "If it were me, I would have written the components myself and moved on"
Me: "No, I don't think you could for less than $30"
Monday-Morning-Quarterback2: "Meh...we get paid anyway. Just add the time to the estimate."
Mgr: "Exactly! Why do we even have developers who can't read this mess."
Me: "Oh good Lord! Did anyone review or even look at my code for this review!?"
<silence>
Mgr: "Oh...ok...I guess we're done here. Thanks everyone."
<everyone starts to leave>
Me: "Whoa!...wait a sec..am I supposed to do something?"
Mgr: "Get that company to write their code in English so we can read it. You have their number, call em'...no...wait...give me their number. You keep working, I'll take care of this personally"
In they nicest way possible, the company did tell him to go to hell.17 -
Week 26 advice - you all probably know this but good to refresh!
Eat healthily
Sleep well
Document clearly
Annotate your code
Use version control properly
Keep yourself in check with project management tools
Your peers are your friends... And competition.
As much as your boss is an idiot respect them and your life will be easier.
With great power comes great responsibility; don't touch that keyboard until you think through what you are doing chances are your first idea is not the best.
Don't write quick fixes and say you will go back to clean it up later on when you have time. That time will never come.3 -
My code review nightmare part 2
Team responsible for code 'quality' dictated in their 18+ page coding standard document that all the references in the 'using' block be sorted alphabetically. Easy enough in Visual Studio with the right-click -> 'Remove and Sort Usings', so I thought.
Called into a conference room with other devs and the area manager (because 'Toby' needed an audience) focusing on my lack of code quality and not adhering to the coding standard.
The numerous files in question were unit tests files
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using System.Linq;
<the rest of the usings>
T: "As you can see, none of these files' usings are in alphabetical order"
Me: "Um, I think they are. M comes before S"
T: "The standards clearly dictate system level references are to be sorted first."
Mgr: "Yes, why didn't you sort before checking this code in? T couldn't have made the standards any easier to follow. All you had to do is right-click and sort."
Me: "I did. M comes before S."
T: "No You Didn't! That is not a system reference!"
Me: "I disagree. MSTest references are considered a system level reference, but whatever, I'll move that one line if it upsets you that much."
Mgr: "OK smartass, that's enough disrespect. Just follow the fucking standard."
T: "And learn to sort. It's easy. You should have learned that in college"
<Mgr and T have a laugh>
Me: "Are all your unit tests up to standard? I mean, are the usings sorted correctly?"
T:"Um..well..of course they are!"
Me: "Lets take a look."
I had no idea, a sorted usings seems like a detail no one cares about that much and something people do when bored. I navigate to project I knew T was working on and found nearly all the file's usings weren't sorted. I pick on one..
using NUnit;
using Microsoft.Something.Other;
using System;
<the rest of the usings>
Me: "These aren't sorted..."
T: "Uh..um...hey...this file is sorted. N comes before M!"
Me: "Say that again. A little louder please."
Mgr: "NUnit is a system level nuget package. It's fine. We're not wasting time fixing some bug in how Visual Studio sorts"
Me: "Bug? What?..wait...and having me update 10 or so files isn't a waste of time?"
Mgr: "No! Coding standards are never a waste of time! We're done here. This meeting is to review your code and not T's. Fix your bugs and re-submit the code for review..today!"17 -
My Love I am writing to you from the front lines roughly 1 month into Microsoft Access. I hope you are doing alright and no harm has found you.
You might have heard the news that it has not been going well for us. The truth is we were not prepared in any way for this. We are constantly facing problems with the code and when we understand one function another two are referenced inside of that function.
The high command does not provide us guidance, truth be told I do not think they know what their application is doing. I am surprised we got this far. Our new objective is to focus our primary forces on the if/else and cases. The name for this assault is "Operation Logical Function" and I fear for my life as I do not know what is in those cases or where the road will lead.
Morale is very low, many of the soldiers spend time writing letters to their loved ones, recreating their blog for the 5th time or just daydreaming when they were free from this tyranny of legacy war.
For now , I long to be in your arms and smell your lilac and gooseberries cologne I love so much
My love and thoughts always with you , your John7 -
I saw an article about the best open source text editors today. I was expecting to see atom, vs code etc. Well no, the author says "sublime text. It's not exactly open source or even freeware software, but there are lots of open source plugins for it."
Well why in world would you title the article best open source editors?? Why not call it what it is: "my lovefest for sublime text and some plugins." You could post it on your stupid blog with 1 reader per month where I would never find it and waste my time on it.9 -
Why is it so important to some people to claim that "HTML and CSS are not programming languages"? I get it, you're a REAL programmer working with arrays, maybe tuples, objects and possibly direct memory management. Who the fuck has a right to call themselves a programmer for writing some brain dead markup or poorly designed selectors, right? Who fucking cares for semantic tags or nested selectors?
Just think for a few seconds about when you were taking your first baby steps to becoming the GOD ROCKING MEMORY HANDLER THAT WRITES _REAL_ CODE that you are today, and how good it felt to be able to create something that appeared on your screen. It felt pretty awesome, yeah?
Now imagine if someone much more experienced than you told you "You're not a real programmer, that is not real programming. You should see what I do, I do real programming".
I think you get it. Why spend your energy spreading bad vibes when you could spend it on something more productive. Like reading up on the new CSS4 specs ;)18 -
I feel like the whole CoC debate is just:
"Stop using harmful language!"
"F*** you! How else can I tell you that your commit sucks donkey-b***?!"
"You are banned!"
"I'm taking all of my work with me, you c****!"
"No you are not"
"Yes I F***ing am"
Maybe we can reach a compromise, where we can insult bad coders, just not on the basis of their race/gender/sex? Or, fork a version of the code base for "inclusive-sjw-types" and another for "loud-mouth-a**-holes"?
Like it's really a debate on work ethics. Positive change negative reinforcement...12 -
One of my QA friends told me today,
" If I wanna screw you up, I will just have to delete a semicolon in your code, hahahhaahhaha ". <for real>
There are two problems here
1. He's not familiar with the concept of an IDE
2. I use Python
Stop making fucking " ; " jokes in early 2019 >_<
:P
#No hard feeling to the QAs out there9 -
Not really a recruiter but at interview at one place I was given a printed code example and told that there was 8 bugs and that I shield treat it like a code review.
I found 16 bugs and 4 bad practices and explained them all to the director of software engineering and team lead (that set the test), they agree that I was correct; the director turned to the team lead and said ... Are you are your a senior
I tried not to laugh lol1 -
One of the biggest reality checks you will run into when starting your first dev related job - and which they don't teach you about in school - is that a lot of the time will be spent working with other people's code, and rewriting it into "your own" is rarely an option.
You might be super into making things, but not everyone manages to maintain that same spark while taking over a 15 year old project with fundamental issues that have to be triaged "for now" because you need a hotfix on this other specific thing out in prod before lunch.
There are no gods now. They left the company years ago and nobody knows why they used the windows registry as a user repo.3 -
Some of these have been mentioned already but here they are, these things make me be a bit better at programming (at least I think so)
• sleep, I love sleep and I think a good night's sleep can do wonders
• music, music theory which is a language in itself and playing an instrument which teaches hand-eye-coordination and also creates patterns in your head, but certainly teaches us that you need to practice a lot to achieve your goals, that it's hard for beginners but gets a bit easier with time
• solving puzzles and riddles, I've been a huge fan of puzzles from an early age, it is something that teaches us solving problems and creating strategies
• other types of games that are helpful are games where you have to find things in a picture or in an environment, this has trained me a bit on finding nasty bugs in my code or at least syntax errors
• googling: sometimes you find out something that is not really related to your problem, but you remember it nevertheless and later on it can help you with something else
• maths, yes, you read correctly, I'm not a big fan of maths either, but what you learn in maths is that there are certain procedures you're often repeating and that you're always building on your knowledge and expanding it, sometimes solving mathematical problems is fun too ;)
• getting fresh air - self explanatory
• listening to other people's life stories, this helps me generally in life, to know that I'm not the only one struggling with something and so on
And I probably could go on with a lot more things, but I think that's enough for now15 -
"And how are you?" I said.
Eeyore shook his head from side to side.
"Not very how," he said. "I don't seem to have felt at all how for a long time."
"Dear, dear," said Pooh, "I'm sorry about that. Let's have a look at your code..."
And then Eeyore looked at Pooh with terror in his face, before he vanish into the forest.
He never let me review his code again...3 -
How can you defend your ugly unstructured mess of a PR, when every spit-droplet infused spray of words from your mouth is full of syntax errors?
How can you call yourself a developer without being aware of basic logic? I ain't got no tolerance for double negations, not not true is just true, you doltish twat.
WHEN YOU TALK THERE IS A CLOUD OF RED SQUIGGLY LINES IN THE AIR FLOATING AROUND YOUR HEAD.
I mean what the fuck is up with eggcetera? Why are you just swapping out letters? What has the little ligature t in & ever done to you? Do I have to fucking replace & with 🥚 so your word diarrhea makes sense again?
NO. JUST PLEASE... STOP TALKING. YOU'RE RAPING LANGUAGE, AND IT WAS ALREADY BEATEN DEAD.
Unlike me, you have a degree in computer science... but how, how the fuck did you pass? How did neither your tongue nor code get stuck in a linter?
AND YOUR RESPONSE IS STILL: "YOU DON'T NEED TO LEARN WHEN YOU'RE FINISHED WITH SCHOOL" ... "WHAT DOES IT MATTER, IT WORKS, RIGHT?"
NO, IT'S NOT RIGHT.
You're lucky I love refactoring.
I'll start with a medical grade steel scalpel and a long sharp hook. Maybe I can clean up this brain a little. See if the tests turn green if I cut some of this gray matter away... plenty of unreachable statements, so many unnecessary loops...
Might have to start from scratch.8 -
➡️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 -
CR: "Add x here (to y) so it fits our code standards"
> No other Y has an X. None.
CR: "Don't ever use .html_safe"
> ... Can't render html without it. Also, it's already been sanitized, literally by sanitize(), written by the security team.
CR: "Haven't seen the code yet; does X change when resetting the password?"
> The feature doesn't have or reference passwords. It doesn't touch anything even tangentially related to passwords.
> Also: GO READ THE CODE! THAT'S YOUR BLOODY JOB!
CR: "Add an 'expired?' method that returns '!active'?"
> Inactive doesn't mean expired. Yellow doesn't mean sour. There's already an 'is_expired?' method.
CR: "For logging, always use json so we can parse it. Doesn't matter if we can't read it; tools can."
CR: "For logging, never link log entries to user-readable code references; it's a security concern."
CR: "Make sure logging is human-readable and text-searchable and points back to the code."
> Confused asian guy, his hands raised.
CR: "Move this data formatting from the view into the model."
> No. Views are for formatting.
CR: "Use .html() here since you're working with html"
> .html() does not support html. It converts arrays into html.
NONE OF THIS IS USEFUL! WHY ARE YOU WASTING MY TIME IF YOU HAVEN'T EVEN READ MY CODE!?
dfjasklfagjklewrjakfljasdf5 -
Bipolar disorder means that you can code for 14 hours straight, sleep for 4 hours and feel refreshed ready for another round. You can make art and you can express your thoughts in creative, kinda alien ways.
But here are tradeoffs that make bipolar disorder a disease:
- everyone around you is an enemy
- they’re all acting together to harm you
- nobody understands you
- they all make fun of you
- if I say what I mean, nobody will understand me. I’ll scare them
- I’m extremely aggressive towards everything: people, things, situations, problems. Computer lags so I scream, smash it, throw it out of the window and buy a new overpriced one
- constant uncertainty about whether am I acting right or not19 -
YOU FUCKING COCKSUCKERS!
Are you fucking serious? How it is possible that you, being a fucking teacher in a PRIVATE UNI, AREN'T ABLE TO FUCKING DEPLOY A .NET CORE WEB PAGE EVEN THOUGH I FUCKING WROTE YOU A PDF, LINKED TO MS DOCUMENTATION AND EVEN WENT TO TELL YOU HOW TO DO IT?
You fucking prick, and now you argue to your superiors that we aren't doing our job as expected... seriously? ARE YOU FUCKING STUPID SERIOUS?
I hope you choke on the turkey this christmas, you ignorant incompetent cheap slut... ha, you're not even cheap, because parents are paying THE SCHOOL to provide them with "supposed" better infrastructure, education than a public one, BUT YOU COME TO TELL ME I MUST CODE YOUR ANCIENT PAGE IN FUCKING ASPX WITH DOCUMENTATION DATED 4 YEARS AGO?
Yeez... seriously dude, level up or GTFO.12 -
So a company I'm working at has this internal product. I just got employed and was put into that team.
"First task: refactor some of the code"
Alright, I start refactoring. Oh I may need to write a small class for this one. And then rewrite this a bit. And then rewrite that a bit. And then rewrite everything.
"Why are you rewriting most of my code?"
oh i would not have needed to do so if your code was not COMING OUT OF YOUR ASS and if all the teams had FREAKING PROPER API DOCUMENTATION9 -
I have to refactor code from an intern. He's VERY lucky that he already left the company.
If I'd say he programms like the first human that would be very insulting to that first human.
It looks like code at first sight, but when you try to understand what he was doing to achieve his goal you get a brainfuck. Duplicate code, unused code, dumb variable names like blRszN.
He wrote unittests like "expects Exception to be thrown or Server returns Statuscode 500".
Yes, Exception, the generic one.
THESE FUCKING TESTS ARE GREEN BECAUSE YOU DID NOT ACTUALLY TEST SOMETHING.
GREEN IN THIS CONTEXT MEANS: YOUR PRODUCTION CODE IS A BIG PILE OF SHIT.
I already removed 2 bugs in a test which caused another exception than the "expected" one and the test does still not reach the actual method under test.
Dumb fucktard.
The sad thing: The fuckers who did the code reviews and let this shit pass are still here writing code.4 -
Some of the penguin's finest insults (Some are by me, some are by others):
Disclaimer: We all make mistakes and I typically don't give people that kind of treatment, but sometimes, when someone is really thick, arrogant or just plain stupid, the aid of the verbal sledgehammer is neccessary.
"Yeah, you do that. And once you fucked it up, you'll go get me a coffee while I fix your shit again."
"Don't add me on Facebook or anything... Because if any of your shitty code is leaked, ever, I want to be able to plausibly deny knowing you instead of doing Seppuku."
"Yep, and that's the point where some dumbass script kiddie will come, see your fuckup and turn your nice little shop into a less nice but probably rather popular porn/phishing/malware source. I'll keep some of it for you if it's good."
"I really love working with professionals. But what the fuck are YOU doing here?"
"I have NO idea what your code intended to do - but that's the first time I saw RCE and SQLi in the same piece of SHIT! Thanks for saving me the hassle."
"If you think XSS is a feature, maybe you should be cleaning our shitter instead of writing our code?"
"Dude, do I look like I have blue hair, overweight and a tumblr account? If you want someone who'd rather lie to your face than insult you, go see HR or the catholics or something."
"The only reason for me NOT to support you getting fired would be if I was getting paid per bug found!"
"Go fdisk yourself!"
"You know, I doubt the one braincell you have can ping localhost and get a response." (That one's inspired by the BOFH).
"I say we move you to the blockchain. I'd volunteer to do the cutting." (A marketing dweeb suggested to move all our (confidential) customer data to the "blockchain").
"Look, I don't say you suck as a developer, but if you were this competent as a gardener, I'd be the first one to give you a hedgetrimmer and some space and just let evolution do its thing."
"Yeah, go fetch me a unicorn while you're chasing pink elephants."
"Can you please get as high as you were when this time estimate come up? I'd love to see you overdose."
"Fuck you all, I'm a creationist from now on. This guy's so dumb, there's literally no explanation how he could evolve. Sorry Darwin."
"You know, just ignore the bloodstain that I'll put on the wall by banging my head against it once you're gone."2 -
That feeling of reilef and rage when you find out the crippling bug in your code is because you are passing the wrong variable and not because the function is broken.3
-
Today I learned that someone wrote a Python interpreter in JavaScript called Brython. So now you can include a framework to write shitty code in a buggy framework and tell your users to throw more hardware at it.
The guy I heard this from also believed that his code would somehow be "compiled" rather than what's essentially a framework be loaded and then execute code in a language not native to the browser...
So now you can write JavaScript where it doesn't belong in Node and write Python where it doesn't belong through a framework. Frontend and backend are so passé, we might as well start calling it fluid instead.
FULLSCHTAK!!!
🙂🔫21 -
Hey, i took a look at your code and heres how you could improve your performance!
"No thanks lol it works this way too"
Okay you fucking idiot, thats not how you do normal distribution
"Why are you so mean"1 -
Well, if your tests fails because it expects 1557525600000 instead of 1557532800000 for a date it tells you exactly: NOTHING.
Unix timestamp have their point, yet in some cases human readability is a feature. So why the fuck don't you display them not in a human readable format?
Now if you'd see:
2019-05-10T22:00:00+00:00
vs the expected
2019-05-11T00:00:00+00:00
you'd know right away that the first date is wrong by an offset of 2 hours because somebody fucked up timezones and wasn't using a UTC calculation.
So even if want your code to rely on timestamps, at least visualize your failures in a human readable way. (In most cases I argue that keeping dates as an iso string would be JUST FUCKING FINE performance-wise.)
Why do have me parse numbers? Show me the meaningful data.
Timestamps are for computers, dates are for humans.3 -
My code review nightmare?
All of the reviews that consisted of a group of devs+managers in a conference room and a big screen micro-analyzing every line of code.
"Why did you call the variable that? Wouldn't be be more efficient to use XYZ components? You should switch everything to use ServiceBus."
and/or using the 18+ page coding standard document as a weapon.
PHB:"On page 5, paragraph 9, sub-section A-123, the standards dictate to select all the necessary data from the database. Your query is only selecting 5 fields from the 15 field field table. You might need to access more data in the future and this approach reduces the amount of code change."
Me: "Um, if the data requirements change, wouldn't we have change code anyway?"
PHB: "Application requirements are determined by our users, not you. That's why we have standards."
Me: "Um, that's not what I ..."
PHB: "Next file, oh boy, this one is a mess. On page 9, paragraph 2, sub-section Z-987, the standards dictate to only select the absolute minimum amount of the data from the database. Your query is selecting 3 fields, but the application is only using 2."
Me: "Yes, the application not using the field right now, but the user stated they might need the data for additional review."
PHB: "Did they fill out the proper change request form?"
Me: "No, they ...wait...Aren't the standards on page 9 contradictory to the standards on page 5?"
PHB: "NO! You'll never break your cowboy-coding mindset if you continue to violate standards. You see, standards are our promise to customers to ensure quality. You don't want to break our promises...do you?"7 -
For several years now, I have been writing programs for myself. I have been publishing the source code for them, but none of them ever got much traction. Then I wrote a program that existing users on social media could just interact with without installation (because even that is too much apparently).
When I wrote the programs for myself with others secondary, I had logic problems to solve and dealt with fucked up API's. Now I still have that problem, but I also have to deal with user retardation. They are not using the program in the way I wrote it to be used, at all. They are not passing arguments where there should be, they are running commands that are still under development and therefore (rightfully IMO) available to only me. I am the one being blamed, why doesn't this thing work?
I'd like to rephrase their question to me. Why are you user not using the goddamn program properly? Why should I need to make half the goddamn code account for users' sheer level of retardation?
Yes, users are retarded. And it's not a battle we can win. Earlier I heard this saying that "every time you make your tools more foolproof, the universe invents a better fool".7 -
"No We Will Not Code for Free"
(Parody of the "Cheers" theme)
We're underpaid, clients' scope today takes everything we got.
You turn to us with all your troubles cause "companies charge a lot."
You want our work but you won't pay.
No we will not code for free.
You are not exempt from our fee.
If you want a free site, build it yourself. We're not your coding slaves.
We won't build your crap no matter how much you plea.
"Paying us back" don't mean a thing, money talks, bullshit walks.
If you want a cheap site then go to Geocities.2 -
Me - Wants to transfer chat history.
App: "Log in to the new device and scan this QR Code to start transfer."
Me - Logs in on new device.
App: "Oh, a new device logged in? Let's log you out from your old device. It's not like this feature you are trying to use specifically requires 2 devices to be logged on at the same time while I literally don't allow multiple devices to be logged on at the same time. You're welcome."3 -
See, static typing? that shit is for putos. You think you're so cool with your advanced intellisense being able to tell you "yo....dat shit ain't the type you think it is" or your compiler telling you "yo dumbass, you fucked this parameter up in here, you are doing <x> when in reality you should be doing #@$@#$@!<X at line !@#@#$#>"
pfffft static typing. Such a pansy ass thing to worry about.
Picture us, working outside of the safety net of static typing, as jungle explorers, walking slowly, with a machete in hand and our other hand clutched tightly at our hip pistol, not knowing what to shoot at, but eagerly prepared for when shit fucks up because whatever the fuck you did was not properly safeguarded by a compiler to tell you that you fucked up, even if the compiler message is unintelligible (looking at you C and C++)
We is men here, we is brave retarded adventurers.
As our sanity blips into oblivion and we look at our code that has no sort of type checking expecting our shitty intellisense extensions to protect us....
Edit: if you can't understand the sarcasm in here and the plea for sanity then you are obviously a retard and have no place in the world of development21 -
Last week our department drama queen was showing off Visual Studio’s ability to create a visual code map.
He focused on one “ball of mud”, vilifying the number of references, naming, etc and bragging he’s been cleaning up the code. Typical “Oooohhh…this code is such a mess…good thing I’m fixing it all..” nonsense. Drama queen forgot I wrote that ‘ball of mud’
Me: “So, what exactly are you changing?”
DK: “Everything. It’s a mess”
Me: “OK, are any of the references changing? What exactly is the improvement?”
DK: “There are methods that accept Lists. They should take IEnumerables.”
Me: “How is that an improvement?”
<in a somewhat condescending tone>
DK: “Uh…testability. Took me almost two weeks to make all the changes. It was a lot of work, but now the code is at least readable now.”
Me: “Did you write any tests?”
DK: “Um…no…I have no idea what uses these projects.”
Me: “Yes you do, you showed me map.”
DK: “Yes, but I don’t know how they are being used. All the map shows are the dependencies.”
Me: “Do you know where the changes are being deployed?”
DK: “I suppose the support team knows. Not really our problem.”
Me: “You’re kinda right. It’s not anyone’s problem.”
DK: “Wha…huh…what do you mean?”
Me: “That code has been depreciated ever since the business process changed over 4 years ago.”
DK: “Nooo…are you sure? The references were everywhere.”
Me: “Not according to your map. Looks like just one solution. It can be deleted, let me do that real quick”
<I delete the solution+code from source control>
Me: “Man, sorry you wasted all that time.”
I could tell he was kinda’ pissed and I wasn’t really sorry. :)2 -
Continue of https://devrant.com/rants/2165509/...
So, its been a week since that incident and things were uneventful.
Yesterday, the "Boss" came looking for me...I was working on some legacy code they have.
He asked, "what are you doing ?"
Me, "I am working on the extraction part for module x"
He, "Show me your code!"
Me(😓), shows him.
Then he begins..."Have you even seen production grade code ? What is this naming sense ? (I was using upper and lower camel case for methods and variables)
I said, "sir, this is a naming convention used everywhere"
He, " Why are there so many useless lines in here?"
Me, "Sir, I have been testing with different lines and commenting them out, and mostly they are documentation"
He, "We have separate docs for all, no need to waste your time writing useless things into the code"
Me, 😨, "but how can anyone use my code if I don't comment or document it ?"
He, "We don;t work like that...(basically screaming)..."If you work here you follow the rules. I don't want to hear any excuses, work like you are asked to"
Me, 😡🤯, Okay...nice.
Got up and left.
Mailed him my resignation letter, CCed it to upper management, and right now preparing for an interview on next monday.
When a tech-lead says you should not comment your codes and do not document, you know where your team and the organisation is heading.
Sometimes I wonder how this person made himself a tech-lead and how did this company survived for 7 years!!
I don't know what his problem was with me, I met him for the first time in that office only(not sure if he saw the previous post, I don't care anymore).
Well, whatever, right now I am happy that I left that firm. I wish he get what he deserves.12 -
Creative dev compliments? Wow, that shows what type of person I am. I only know creative dev insults. Okay let me give it a go!
Wow, I'm gonna star that on GitHub!
Good work! I'm gonna put a shortcut to that right here on my desktop (in the same tone as "I'm gonna hang that on the fridge")
You're so meticulous that the unit tests are to make sure the computer works correctly, not your code.
If you were a web server, you'd always return 200/OK.
Your parents must have compiled you with -Ofast -
What?... really?... You read my code? ...*wipes away tears*
THANK YOU SO FUCKING MUCH!!! You sir/madam/undefined are a true gentleman and scholar! (even if you are just a troll picking random shit apart to flash around your superior knowledge of design patterns).
Any time I receive a code review, that is bearing that is an actual review, born of free will and not a mandatory report - I feel flattered beyond words.
> Think its shit? - GREAT FINALLY FEEDBACK!
> Have an idea? - I'm all ears.
> Trying to sound smart? - You still read/used my shit.
> Want to understand my approach? - Grab a drink and get comfy son.
In a world where I am usually the only person in the world that knows WHAT MY ACTUAL WORK IS and there being only a select few people on the planet able to understand it, I am always grateful for developer feedback.
Seriously... out of your own volition you used my code, read it, made an effort to understand my thinking and THEN REACHED OUT TO ME with ideas!!??
I could kiss you... you beautiful binary saint.3 -
Im getting a bit tired of programming.
I have been struggling for years regarding programming. I did have some moments of perceived success, but most of the time it has been depressing.
I’m not sure if I dislike programming. But there are some aspects of it that make me feel not as passionate about it.
First of, programs are invisible. No one sees your program or you (assuming we’re talking about a non artistic dev job).
People can’t see lines of code executing, but even if they did it would be gibberish to them.
Users can only become aware of bad software and that kind of breaks my heart a bit.
You could write fast, stable, secure, easy to read, easy to update software. People won’t notice. Hell, even your boss/coworkers might not notice.
In fact, sometimes you try to do the good thing, you try to become a better dev, you try to write tests first, you try to i18n, and what do you get? “Uhh, that’s taking too much time and I don’t see the benefit”.
I know some people will say that people noticing bad service happens on every job.
But programming is the ultimate isolation job. No client has ever told me “hey that code you wrote was pretty good”. They can’t even read code.
I don’t know the users, the users don’t know me, and the users can only judge my program by the result, they can only judge the visual interface.
Let’s say you write a cool project at github. The code is great. Guess what, every language’s ecosystem out there is saturated. Everything is already written. GitHub is saturated. Your best project ends up being a just for yourself enjoyment.
I’m not saying you shouldn’t enjoy code for yourself. That’s how I bet most prolific coders start. I’ve been doing that for many years now. But at some point you want to be part of something with humans.
Imagine I’m stranded on an island with nothing no humans, just food, water and a computer. Would I write code just for myself, just for fun? I think I would off myself 3 months in.
Maybe I should do develop a more social talent...14 -
Here's a real tip for people new to the industry.
It's one of those things that's been said over and over again but very few can really seem to employ. I suggest you learn it /well/.
You are not your code. Criticisms of your code, ideas, or your thought processes, is not a criticism of YOU. You absolutely cannot take criticisms of your work personally.
We are engineers. We strive to seek the best solution at all times.
If someone has found a problem with your code or with an idea or whatnot, it is coming from a place of "this is not the best solution", NOT "you're an idiot".
It's coming from a place of "I'm closing this PR because it is not a change I feel suits this project", NOT "I'm closing this PR because it's coming from a woman".
It's coming from a place of "This feature request is ridiculous/this bug is not actually a bug", NOT "you're a fucking idiot, fuck you".
It's coming from a place of "I've already had to address this in a number of issues before and it's eaten up a considerable amount of my time already", NOT "I don't even know you and this I don't have time for a nobody".
You do not get to be bitchy to maintainers because they denied your request. It's not a reflection of you at all. But if you're arguing with someone who has maintained a piece of code for almost a decade, and they're telling you something authoritative, believe them. They're probably smarter than you on this subject. They've probably thought about it more. They've probably seen their code used in many different places. They have more experience than you with that codebase in almost all cases.
Believe me, if we cared about who was behind all of the issues, pull requests, etc. we get, we'd get NOTHING done. Stop taking shit personally. It's a skill, not a defense mechanism. Nobody has the time to sugar coat every little thing.
Let's normalize directness and stop wasting time during technical discussions into opportunities for ego-stroking and circle-jerking and back-patting.8 -
Me: please return http code 202 in your http service.
My collegue: ok.
After one hour...
Me: you are returning 200, I told you 202. Let me see the code:
OMFG she was writing the string "202" in the response body!!!
I do not know how to escape from all of this shit.1 -
PHP is my main language, but I haven't had a single problem with it yet.
Nodejs it is.
How can you possibly make it SO GODDAMN HARD to just implement ANYTHING synchronous. THERE ARE REALLY FUCKING GOOD REASONS YOU *WANT* YOUR CODE TO STOP EXECUTION WHILE DOING SOMETHING
EVER HEARD OF HARDWARE PROGRAMMING? YEAH, APPARENTLY NOT
GRAAAAH12 -
Have any of you already felt that you really like what you do (coding, of course, among other things), but you hate "the place(s)" where you work, specifically some of the people from there...?!?!?
It's 9AM, you already got your coffee, is comfortably sat, with your precious headphones, all ready for some gorgeous lines of code to gain life... but...
... your coworkers are arguing cos one prefer braces when using an single-line if statement, the other not...
... another one is discussing about how bad he's paid after discovering that a dev (at the same "level") receives more...
... the coordinator comes to convince you that the manager is not good, has not all the needed "certifications", and vice versa ...
... the designer didn't like the UX's work, and this is just an enough reason for a BIG gossip with the rest of the team (or even with people from other teams) ...
... the QA complains all the time about everything: the testing environments are a shit, the other QAs are a shit, the system is a shit, his life is a shit (even though he has not yet realized it) ...
Sometimes I miss that time when I got into the coding universe at home, giving my first steps and was creating things all the time... against the toxicity we find in a lot of enterprise "habitats"...1 -
!rant
Trying not to suck at code.
A good coder seems to be some one who does mistakes quickly and has strategies on how to resolve them even quicker.
The speed at which you create/resolve your problem is the experience curve at which you are learning.
How do you deal with headaches and frustration when spending hours on the same issue?
What are common efficient strat for debugging?
I know this sounds very generalised but i feel like it takes me days to do small things and need to take breaks all the time to relieve the pressure.
Any advice for a rookie?11 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
So today I got an email about a job opportunity. The email was in romainian. This is the exact translation and bear in mind that in romanian as in every other language (I guess) alot of english phrases sound very cringy. This is the email:
We need a fearless hero for the IT realm!
X company, a thriving insurance community, is looking for a real hero of software development that can make code using the .NET mystical hammer that can only be lifted by a worthy, deserving and responsible warrior.
You can't fly? Can't shoot lasers? You are not wasting your night time by looking at the moon on tall blocks wearing a cape? Then you could be the hero we need.
Do not worry, the position does not imply superhuman strength :)) However, it requires intellectual strength and attention to detail. You can even use your powers from a comfortable chair in a welcoming team full of other heroes ready to help you. We won't leave you alone, after all even Batman has Robin :))
I have attached all the information you need. Only The Chosen One can open the document so you will know immediately if you are right. :))
If you want to be responsible with your strength, then I'm waiting for your updated English resume with all your heroic deeds in the past.
Remember, not all heroes wear capes!
... WHAT THE FUCK IS .NET MYSTICAL HAMMER??? AND WHO THE FUCK USES ":))" IN AN EMAIL??7 -
“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 -
Question everything!
Comments lie.. sometimes code does too.. Customers..they lie the most..and are sloppy..
Don't be like customers, don't be sloppy. If you were sloppy own it & don't lie about it!
Pick your fights (trying to fix vs rewrite the shit out of it)..you will know what to do more with experience..
RTFM & docs.. If things still unclear, ask before your dick gets stuck in a toaster!
Ask away, learn about the customers & how they use your product.. you'll be surprised how something intuitive to you might be a rocket science for them..meaning more room to fuck things up when using it..more ways you can adapt & prevent things..
Most of all, don't fuckin lie.. ever!!
If you lie on you're CV, we will find out.. If you fuck up something & lie about it, we will find out.. but it will cost us precious time when solving it from scratch.. People fuck up..that's a fact..how you go about it is what makes/breaks it for me. So don't ever fuckin lie to me!!
And don't be arogant.. if you complain about fixing bugs, this is not a job for you.. if you can't even fix the obvious ones you've put there in the first place..twice as bad..
So think before you code..what do you want to do, how you want to accomplish this, is it reusable, can it be extended, does it introduce new technology into the project, will it fuck up current setup.. once you have this shit figured out, code will write itself..
Did I mention already you're not to lie to me, ever?!
And don't try talking about me behind my back either..I've seen it backfire before, results were not good..3 -
Hey, it's 2023.
If your component isn't written in TypeScript, I'm not using it :)
"TypeScript is overly complicated!!!" why, because it pointed out everything wrong in your JS code?
"TypeScript is not flexible!!!" why, because it makes you not rely on fragile "only possible in javascript" patterns?
"TypeScript isn't needed!!!" why, because you've never worked on a project with more than 100 lines of code where dependency management and clean code policies were implemented?
god just stop with the JavaScript purist BS, you aren't going to win this battle, and it's even worse because not only are you injuring everyone in the software community, you're injuring your own productivity and skillset
actually, you know what, fine. just use pure JS and HTML implementations. see you in 10 years when i'm retired and you are still running around in circles wondering why the world has left you behind25 -
Best tool:
Your hands!
- incredibly flexible
- express a lot of commands trough very little code (just raise the middle finger and tell me if you are not expressing something VERY strong with VERY little complexity)
- reusable
- interfaces
- smells of good soap
Worst tool:
Your brain
- highly power consuming
- wrinkly, ehw!
- overthinks a lot
- imposter syndrome
- hooked on sugar like it was cocaine
- hooked on cocaine like it was sugar
- refuses to comprehend chthulu5 -
From NAND to Tetris..
This book is IMO the best book for those who want to venture to the lower level programming.
This books retrains you’re thinking, teaches you from the bottom up! Not the typical top down approach.
You begin with the idea of Boolean algebra. And the move on to logic gates.. from there you build in VHDL everything you will use later.
Essentially building your own “virtual machine”.. you design the instruction set. Of which you will then write assembly using the instruction set to control the gate you built in VDHL.
THEN you will continue up the abstraction layer and will learn how a compiler works, and then begin written c code that is then compiled down to your assembly of your instructions set to be linked and ran on your virtual machine you built.
All the compiler and other tools are available on the books website. The book is not a book where you copy and paste, run and done.... you kinda have to take the concepts and apply them with this book.
Then once you master this book, take it the extra step and learn more about compilers and write your own compiler with the dragon book or something.
Fantastic book, great philosophy on teaching software.. ground up rather than top down. Love it! It’s Unique book.21 -
Hey Designer/Developers, I got a question for you. Yeah, you 👇🏽
When working on a project codebase that is expected to grow and evolve heavily. How do you usually split up your CSS (SASS, LESS etc) in a good way to take into account all the different device sizes?
I am not asking how it is done but more about the design of the code. This would be for a production codebase to be released.
Do you use large blocks broken down by media...
(Media width) {
~site code
}
(Other media) {
~same site code with diff sizes
}
Or do you do individual media queries inside css classes...
.className {
(Media size) {
}
(Other media) {
}
}
Or a mixture of both?
If it is a mixture of both then how do you decide which way to go about structuring the code.
I have been endeavouring to greatly improve my CSS and have done so. But this question has been bugging me. Both sides seem to be a bit sloppy and my programmer side is fighting the repeatitipve code.
Note: all code examples are gibberish and only intended for visualization.17 -
Nightmare IRL:
Your colleague is in PTO for 2 weeks.
You are in charge of maintaining his project along with yours, CI, code, tests and everything.
Your colleague's code base is a real master piece of shit when you look at it closer. By shit, I mean hardcoded values everywhere, random sleeps now and then, 20 if branches that could be replaced by maps, variables named a b c d everywhere, try catch to silence errors that should not be silenced, etc.
Your colleague left the CI and code broken as shit. Takes forever to run on my goddamn computer.
PMs are spamming you: "What is going on? It's red everywhere. Help! Plz fix this! We are going to release tomorrow!"
FML6 -
How come it is so hard to find good developers. Have been doing interviews for a couple of weeks now (for a senior PHP developer role).
First round is me talking about the function and company, asking questions about candidates experience, wishes and we usually end in some tech conversations. Most of the resumes I got are pretty fucking good. I mean, experience with low-level languages, experience with the problems we need to solve here, contributions to open-source, experience in R and MathLab etc etc. On paper they look perfect.
For the second round I give them an assessment which they can do at home on their own machine in their own time. It's not a hard one, just some mathmatical problems they need to solve. A quick google GIVES the answer (no joke!!). But that's OK, I look at their code cleanliness, proper use of commenting so I can determine if they are solo-developers or fit good in a team and if they abstract repeated functions and make sure that they take their work seriously, you know the drill.
It pisses me off that I get BROKEN FUCKING CODE WHICH DOES NOT EVEN RUN and that I get code back which I look at and makes me vomit instantly, I mean, DO YOU EVEN TAKE YOUR PROFESSION SERIOUS? How dare you to ask for 50k the year, a lease-car, extra bonusses AND YOUR FUCKING CODE SPITS OUT COMPLETLY WRONG ANSWERS OR DOES NOT EVEN RUN WHAT THE FUCK DUDE GO BACK TO FROM WHICH EVER HOLE YOU CRAWLED OUT AND STOP WASTING OTHER PEOPLES TIME WITH YOUR FUCKING INCOMPENTENCE...19 -
Being a programmer in a scientific discipline can be infuriating.
using "no one" ="almost no one"
using everyone = "almost everyone"
1. No one knows what even the very idea of good practice is. And everyone refuses to learn. 3k lines of repetitive copy pasted main. 500 lines of plotting method.
2. Raw C-style pointer based array creation. Won't use develope array libraries because what if development stops. FUCKING HAVE YOU SEEN YOUR CODE WHAT IF DEVELOPMENT ON YOUR CODE STOPS. FUCK.
3. LOOP VARIABLES DECLARED AT THE BEGINNING OF THE METHOD WHY.
4. Everyone wants to make modular, independent code. No one wants to use OOP. NOPE. ALL IN ONE FILE. WRITE C++ LIKE A FUCKING PYTHON NOTEBOOK. FUCK.
5. LIBRARIES OH MY GOD PLEASE DO NOT CODE UP YOUR MATRIX MULTIPLICATION. PLEASE DO NOT TRIPLE LOOP IT. NO. THE LINEAR ALGEBRA LIBRARY WILL STAY IN DEVELOPMENT.
6. Please realize that literally not one comment over an 1800 line file does not help anyone.
FUCKING. WHY. WHY ARE WE SCIENTISTS SO GOOD AT SCIENCE AND SO FUCKING SHIT AT THE CODE THAT MAKES OUR SCIENCE HAPPEN. WHY. FUCKING. WHY. FUCK.undefined rage no comments scientific computing fuck this shit wall of text bad code science fuck c++ fucking4 -
ssh your.server.ip, welcome message:
#Ooops! your files have been encrypted.
#Don't waste your time trying to decrypt them.
#Nobody can.
#We would gladly offer you a way of recovering all
#your files safely, but sadly we lost the decryption
#password.
#Hackers too are not perfect, have a nice day.
#PS. you can still send money to support us if you want at this
#web page: fuckyou.onion.
#Your personal key: m0r0nm0t3fukk3r
(I'll code this one day and install it on somebody machine, it's one of my top dreams)11 -
My Manager: Could you help "other manager" (OM) they need some very simple code changes.
Me: sure that will only take a few minutes *adds 15 lines of code tells OM one single line they have to modify*
Some other manager (SOM): Hey how does this work, I'm confused, do I need to do anything?
Me: Yes see the email chain you were copied on.
SOM: Actually let's have a meeting instead and all discuss this.
Goddammit this was a simple change to make your life easier now you are wasting everyones time by not reading the email -
"It works on our end", the sentence that made me lose my shit.
I've been working on a project were we're supposed to integrate an API into our system.
When trying to get some user id's (UUID) from said API, we got a type-error in the response (???), so I called their integration support and asked what the fuck they were doing (not really, i was kinda calm at this point).
The answer I got was following:
Integration guy: "Uh, bro, like, I don't even know, it's probably on your end"
Me: "We literally used this endpoint with the same parameters yesterday, and got a result we expected. I noticed you updated your API this morning, did you make any major changes?"
Integration guy: "Yeah we changed the type of user id from string to number"
Me: "So, you changed the type of a UUID (uuid4) from string to number? How did you not think that would be an issue? I can see in your forums that everyone else is having the same issue."
Integration guy: "Nah, it's probably a bug in your code, it works on our end"
Me in my mind: *IT WORKS ON YOUR END?!? IT DOESN'T FUCKING MATTER IF IT WORKS ON YOUR END, FUCKTARD.*
What I actually said: "Uhm, I'm not sure if works on your end either, I'm not even sure how this change made it to production. But hey, thanks I guess, bye."
WHY AM I NOT ABLE TO YELL AT PEOPLE WHEN THEY ARE BEING RETARDED???
But really though, when you're maintaining an API, you shouldn't fucking care if things work on your end in your dev environment. What matters is how it works in production, for the end user/users.
And I know that 99% of cases it's the users fault by entering the wrong parameters or trying to request with wrongly setup auth and what not, but still.
Don't ASSUME nothing's wrong on your end. It's your fucking job to fix the issues.
And guess what? The problem was on their side.
I'm going fucking bald.2 -
Why are people complaining about debugging?
Oooh it’s so hard.
It’s so boring.
Can someone do this for me?
I honestly enjoy debugging and you should too..
if it’s not your code, you’ll get to understand the code better than the actual author. You’ll notice design improvements and that some of the code is not even needed. YOU LEARN!
If it’s your own code (I especially enjoy debugging my own code): it forces you to look at the problem from a different perspective. It makes you aware of potential other bugs your current solution might cause. Again, it makes you aware of flaws in the design. YOU LEARN!
And in either case, if it’s a tricky case, you’ll most likely stop debugging at some point, refactor the shit out of some 50-100 line methods and modulize it because the original code was undebuggable (<- made up a new word there) and continue debugging after that.
So many things I know, I know only because I spend days, sometimes even weeks debugging a piece code to find the fucking problem.
My main language is java and i wouldn’t have believed anyone who told me there’s a memory leak in my code. I mean, it’s java, right? We refactored the code and everything worked fine again. But I debugged the old version anyway and found bugs in Java (java 6.xx I believe?) which made me aware of the fact that languages have flaws as well.. GC has its flaws as well. So does docker and any other software..
Stop complaining, get on your ass and debug the shit out of your bugs instead of just writing it in a different way and being glad that it fixed the issue..
My opinion.3 -
I like to joke around when I am working. I understand that it's not everyone's cup of tea, but ffs you should be able to laugh at really complex problems in stressful situations. How else can you remain sane writing thousands of lines of code just for an e-commerce site or so someone can post even more cat pictures on the Internet.
If you can't laugh and enjoy what you are doing, you might want to rethink what you are doing with your life.3 -
When your manager who claims to be a Wordpress "developer" says to you oh my God, why are you using notepad to write the page when there is an editor?
My response, because I am a developer. I write code and I can write better HTML than any editor can. I then said I do add editors for my projects where required, not for me, but for the end users that cannot write HTML. He walked away 😂15 -
Raging here, overheating really. One spends thousands on technology that is promoted with the catch phrase "it just works", yet here I am, after updating my fancy new emoji maker (iphone x) to 11.2 and then attempt to carry on working by compiling my code to test some new features. And...
oh, whats this xCode? You have a problem? You can't locate something? You can't locate iOS 11.2 (15C114)... sorry and you think that this "May not" be supported in current version of Xcode?
Let me get this straight you advanced piece of technological wizardy, you know you are missing something, you in fact know what it is, you can actually TELL me what is missing and yet, still, in 2017, you can't go FETCH it?????
Really? All you can do is sit, with that stupid look on your face, and watch the paint dry? Your stuck? That's it?
I hate you for the false pretense of advanced capability. and for your lack of a consistent dark theme so my eyes stop bleeding when reading your "I don't know what to do" messages...
By the way, maybe you can stop randomly crashing, or pinwheeling, I get that your bored as a machine designed to crunch numbers/data/code all day long and that for fun you feel you have to add some color to your subsitance. But stop it. Do what I'm told you can do, "JUST WORK" for once without me having to drag you forward kicking and screaming.
K. that feels better. Now for some whiskey.5 -
LARAVEL MEME OF THE DAY
If 60> requests are sent in a short amount of time (and you have Laravel Passport installed) you will not receive an IlluminateResponse instance anymore; you will instead receive a slightly different SymfonyResponse.
Why? For the glory of Satan, of course.
If your code doesn't account for that undocumented garbage, your code will start throwing middle fingers here and there.
Tell me again the productivity joke with Laravel, I've just lost an hour and a half 'cause unit tests were failing and I had no idea why.6 -
When will medium and its coding tutorials die out already? Why the hell are every fucking post of this plattform so cringy af, like tf why you start your tutorial with a fucking irrelevant meme you dumb asshole? Your code snippet is mostly garbage and you aint explain shit; I am not even sure if the code is yours. Go eat a dick and learn the subject properly before even start to teach people online.6
-
Not a rant, but still relevant:
GET YOURSELF A PROPER ERGONOMIC CHAIR!
I'm pushing 30, but have been coding/messing with computers since i was a barely a teenager.
I code at work and i code at home, and while i consider myself decently fit and observe decent routine regarding standing up regularly at work, my lower back is still all kinds of fucked. (Facet Joint Disease - look it up if you are bored)
This is SUPER common in our field and i figure most of you here are working more and more from home, from you couch probably. This is killing your back, and let me tell you, coding is freaking difficult when you feel like the thousand knives of the management layer is in your back literally instead of metaphorically.
You will be sitting in the same damn chair/set of chairs for the majority of rest of your life, make sure its good, preferably before your back is screwed.5 -
I have discovered a fresh hell
Some guy I’ve never met or heard of in the office lobbed a comment at one of my *approved and merged* pull requests. He doesn’t say anything specific, only that my REST urls are not in line with naming convention. That’s all he says, and I’ve already walked the URL consumers through the code and given them the URLS.
I’m really annoyed that this guy won’t just say what he has in mind, but fine whatever this is a professional environment and developers are not known for being a diplomatic people. Let it go and get your work done!
I do some googling and find an obvious change that needs to happen- I implement it, open a new pull request and inform my URL consumers of the change.
This rando still isn’t satisfied and still won’t say what needs to change. I am on round 3 of this wonderful cycle and this guy is acting all fuckin HAUGHTY about it. “Here is a list of conventions I found googling, you should read them even if it takes 4 hours because it will benefit your career”
Sure dog you’re probably right on that one but we are in a professional environment and at this point you are holding up production so you can wave your dick around! Just SAY WHAT YOU MEAN SO WE CAN MAKE THE CHANGES AND GET OUR WORK DONE4 -
Security lifehacks 101
Why pay for password managers? Just use one secure password for every service you use! Password managers are really designed for fools who don’t know that you can just use one password for every service and who are ready to pay for that shit.
The best practice is to use your name starting with a capital letter + your main credit card number + CVC code from the back of that card as your go-to password. It’s long and hard to bruteforce and you can remember everything that way! You just need to remember that one password and you’ll always remember your payment info! No need for apple’s bad Apple Pay which is not so secure after all like everything else that Apple offers.19 -
Matryoshkas are better companions than Ducks, and here's why:
-Made with wood. The material of Men! No industrialized rubber to spread Capitalist propaganda
-Multi-layer. Explain your code with different levels of complexity. Babushka Matryoshka is keen on C!
-Never feel alone. Maybe you want some intimate one on one, maybe you want a whole party of helpers, all thanks to pocket dimensions (included with the Matryoshkas).
So what's your excuse for not having a Matryoshka Comrade cyka!9 -
Can we talk about something? I can't be the only one...
Code dreams.
What are they? You either sleep poorly, lightly, or not at all and continually repeat nonsensical code that you would otherwise KNOW is wrong when awake, (and it may even be a problem you already solved!) but for some reason your brain just wants you to mull over it over and over again.
I've been free of them for quite some time, but it happened now the past two nights. Drives me fucking nuts.17 -
I loved what Flash used to be. Most people thought it was proprietary stuff. The program was. It's language was not. And damn, did we have fun together! We rendered vector graphics from code and pushed perlin noise into bitmaps while the HTML guys were still struggling with rounded corners. Oh, those bezier curves we dreamed up out of thin lines of code!
Other people just couldn't see how beautiful you were. They hated you because you were popular, and ads were beginning to dominate the landscape. And lots of dildo's made ads by abusing your capabilities, straining you with their ugly code that didn't remove event listeners properly. I always did, because I loved you.
They made fun of you because you had to be compiled. Look what those cavemen are doing now, dear ActionScript 3.0. They are compiling Javascript and pushing it to production. They are all fools my dear, unworthy to read even a single line of your gracious typed syntax. We were faster then Java. More animated and fluid then CSS. We were even responsive if we needed to.
But... I have to move on. I don't know if you're still watching over me but I can't deny I've been trying to find some happiness. I think you would have wanted me to. C# is a sweet girl and I'm thankful for her, but I won't ever forget those short few years we had together. They were the absolute best.
Rest well my dear princess.8 -
Linus Torvalds on C++
“C++ leads to really really bad design choices. You invariably start using
the nice library features of the language like STL and Boost and other total and utter crap, that may help you program, but causes:
- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full of BS that it's not even funny)
- inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app.”
http://harmful.cat-v.org/software/...3 -
Buckle up, it's a long one.
Let me tell you why "Tree Shaking" is stupidity incarnate and why Rich Harris needs to stop talking about things he doesn't understand.
For reference, this is a direct response to the 2015 article here: https://medium.com/@Rich_Harris/...
"Tree shaking", as Rich puts it, is NOT dead code removal apparently, but instead only picking the parts that are actually used.
However, Rich has never heard of a C compiler, apparently. In C (or any systems language with basic optimizations), public (visible) members exposed to library consumers must have that code available to them, obviously. However, all of the other cruft that you don't actually use is removed - hence, dead code removal.
How does the compiler do that? Well, it does what Rich calls "tree shaking" by evaluating all of the pieces of code that are used by any codepaths used by any of the exported symbols, not just the "main module" (which doesn't exist in systems libraries).
It's the SAME FUCKING THING, he's just not researched enough to fully fucking understand that. But sure, tell me how the javascript community apparently invented something ELSE that you REALLY just repackaged and made more bloated/downright wrong (React Hooks, webpack, WebAssembly, etc.)
Speaking of Javascript, "tree shaking" is impossible to do with any degree of confidence, unlike statically typed/well defined languages. This is because you can create artificial references to values at runtime using string functions - which means, with the right input, almost anything can be run depending on the input.
How do you figure out what can and can't be? You can't! Since there is a runtime-based codepath and decision tree, you run into properties of Turing's halting problem, which cannot be solved completely.
With stricter languages such as C (which is where "dead code removal" is used quite aggressively), you can make very strong assertions at compile time about the usage of code. This is simply how C is still thousands of times faster than Javascript.
So no, Rich Harris, dead code removal is not "silly". Your entire premise about "live code inclusion" is technical jargon and buzzwordy drivel. Empty words at best.
This sort of shit is annoying and only feeds into this cycle of the web community not being Special enough and having to reinvent every single fucking facet of operating systems in your shitty bloated spyware-like browser and brand it with flashy Matrix-esque imagery and prose.
Fuck all of it.20 -
Episode 3 of this rant: https://devrant.io/rants/871827/...
Me: So I'm going an API call to Mastercard but they don't give us back CreditCard token to save.
Provider: Ya man you need to curl a request in your code to get the token...blahblahblah.... man you need to know these things they are not an easy things to be done, just paste curl code on MasterCard website into your code and it will work
Me: *ignores his shit talk and proceed to test*
*5 minutes later*
MasterCard Server: error.cause=INVALID_REQUEST&error.explanation=Invalid+credentials.&result=ERROR
Me: *calls provider and tell him*
Provider: Oh sorry, we need to enable this feature for your account.
devRant people please, give me one reason why I should not leave this field, and maybe also leave this life knowing there are this type of people alive.
Thank you :)2 -
Dear fellow project member,
I agree that most code should explain itself, but if you need to use a certain method which requires you to pass several different values of the same type and you just pass values as you like and then get, as you like to call it, 'unexpected behavior', then that is YOUR F***ING PROBLEM.
I DO know your thoughts about documenting code and I DO know you think documenting code only delays the progress, but if you for once could please CHECK THE DOCUMENTATION I WROTE, there would be no need to message me EVERY FIVE BLOODY MINUTES to complain about something that actually works when used right, just because you are too lazy to read the docs!
If you would do that next time, at least the time i spend writing documentation for our project would not be COMPLETELY WASTED! 😤
Kind Regards2 -
My head is melting. Does anyone have a colleague who constantly complains about missing specs, documentation, project organization, bad processes and procedures? Everything needs to be planned. Not a single small code change can be done without reviewed details. 10min job becomes a week-long session of whining and dabbling.
You give the guy a small task and at the end of the day nothing is done. Just page after page of written documents and lists in Word and online notebooks. Version numbers, meaningless measurement results, latencies etc. And all you asked was "could you just fucking fix this one thing and quickly compile and check it". But no. There must be a review and at least 10 people need to be called into conference. Someone needs to approve everything just so that he can later move to blame to others. "Yeah I know it's not working but I showed you the code and you reviewed it!". Yes, you did, but other people have work of their own so sometimes you need to tie your own shoelaces.
And sometimes finally there's some work done. All indentations are shit. There’re code changes everywhere just because the guy didn't like the previous smaller, compact and logical code. The code doesn't even compile properly anymore. And if you complain, the reason is "there's no proper reviewed and stamped process description, so I cannot know if a variable is supposed to be 10 characters long. Besides 200 character long variable names are much more descriptive". For fucks sake.
Some coders should've gone to work in some tax office basement.9 -
With over 10 years as a dev under my belt I never wanted to change company before my probation is even over. I never felt so drained, and pissed off for the entire duration of my working hours, every day for about 4 months straight. I was thinking it should get better, I listened to all the rubbish webinars about the company culture, how inclusive and diverse we are and how they value phycological safety and how everyone should feel safe to speak their mind. The people are fucking reviewing my approved and merged PRs and expecting me to address their comments. Like someone goes on holiday and when they’re back they want to spray wisdom around, and that seems to happen to everyone not just me. When we have technical discussions and I express my opinion I get given out to for speaking too much. Like what the actual fuck, your code is shit, everyone knows it and complains about it, but we should look at what we already have as an example. How the fuck you think you can improve your code if your not going to change your shit. Writing class diagrams for about two weeks at start of each project and nitpicking every fucking thing, only to abandon it after our first sprint as the fucking requirements have changed and what we agreed at the beginning as no longer relevant. No shit as if they don’t know requirements change ALL THE FUCKING TIME AND THIS IS EXPECTED. I was also asked to send a slack message every morning when I start working, when I get my lunch, when I am back from lunch and when I finish work. Have to fill in some stupid weekly update system with what tickets I’ve worked on during the week, like have you heard of Jira filetrs ? Stop asking me how I am getting on if I’m fucking closing all my tickets every sprint. I don’t ask you questions, if I finish all the work you asked me to on time, you can safely assume I am doing fine. Also your fucking back to back meetings are not helping me close my tickets any faster. Already got an offer from another company I am out of fucking here.
YOU CAN ALL STICK YOUR PR COMMENTS, ENDLESS MEETINGS AND WHAT NOT UP YOUR FUCKING ARSES. 🖕🏻🖕🏻🖕🏻🖕🏻🖕🏻🖕🏻4 -
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6 -
If there are bugs in your code, the problem 100% of the time is that you’re not using Rust. Just rewrite it in Rust, and all bugs, security, and performance issues will disappear. Any software not currently written in Rust should be rewritten in Rust. Rust is all you need to know as a Software Engineer. This future is Rust. Welcome to Software3.19
-
Being smart but not applying yourself is the same as being stupid.
I've been having a rough semester , as I sat around and played video games for the first few weeks.
Ever since I stopped gaming I started doing more code stuff, and getting things done.
In hindsight, I probably shouldve stopped gaming when the semester started.
What are your guys experience with this? What stratergies do you use for time management?11 -
Fuck this client's IT department. They're a bunch of Microsoft asslickers.
How am I supposed to push code to your self-hosted GitLab instance if you restrict me to Citrix RDP????? No OpenVPN access because I'm on Linux?? Seriously? Because I am not using any of your laptops?
FUCK YOU DUMBASSES, I COULD DO A BETTER JOB THAN YOU AND I JUST PLAY WITH LINUX.
When I said I only needed terminal access I would have never imagined they were thinking of Putty inside an RDP. What a steaming shit.
Oh you guys don't have a secret management service as any enterprise should? Oh I cannot add a secret management service as part of the solution I am building for you guys because "Hurr Durr yOu HaVe NoT pUt ThIs In ThE pRoJeCt PrOpOsAl sO nO"
Fuck you guys. You guys only don't want to move to the cloud to not lose your jobs. I would be far more productive than relying on you pieces of dumbassery.
They are all having each others back in using shit technology and practices.7 -
me vs marketing guy, again
me: yeah, the database server is not responding, so you cannot log in to post your blog, wait for it to get online.
MG: But, the website is online.
me: web host and database server are two distinct things, they are not the same, *share a screenshot of the error*
MG: Oh okay.
Literally 3 hours later this fucking idiot sends an email and I quote.
"Hi Dev,
@CTO FYI, Someone has removed this code So there is some tracking issue on it.
Please add below google analytics code on the website.
Note: Copy and paste this code as the first item into the <HEAD> of every web page that you want to track. If you already have a Global Site Tag on your page, simply add the config line from the snippet below to your existing Global Site Tag.
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://googletagmanager.com/gtag/..."></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-xxxxxxxx-1');
</script>
"
The fucking issue was of him not being able to post his shitty blog, and he shares an email like this, FOR FUCK'S SAKE!2 -
Dont become a dev if you:
- Cant sit in the office for 8-10 hours a day
- Dont know how to google information/ errors, instead you interrupt your teammates with stupid questions every 5 minutes
- Are a perfectionist and don't like constant change.
- Are neurotic and give up easily. If you get triggered about broken or messy things to the point where it ruins your day to you and everyone else around you. You need to separate your work from your life.
- Don't have good communication skills. Worst I saw was a guy who speaks with a stutter(nobody understands him) and also writes very poorly (nobody understands his emails). Also he gets very angry when you ask additional questions to clarify what he said. How can you work with someone like that?
- Are very sensitive to critique. I prefer someone telling me that my code is shit and telling me why, instead of feeding me delusions and false validation.
- Dont know how to balance working in team and working solo. Nobody likes lone wolfs who are arrogant and not in sync with the team. But also nobody likes to drag teammates who cant think for themselves and even after years of spent in the field are required constant spoonfeeding because they are unable to google and teach themselves with trial and error.14 -
My new coworker: That "I know everything about all and I'm better than you" kind. Is working on Accounting but already has her fingers on my work, telling my boss things like "that's easy to do"...
Of course, she knows absolutely nothing about programming and I.T., but is easy for my boss to believe an easy lie than a complex truth.
(sorry, crude language and caps follows)
Hey, listen you fucking excuse of person, DO YOUR FUCKING JOB and stay away of my DAMN GOOD FUCKING CODE and my FUCKING SERVERS.
Not going to give you admin access in a gazillion years, even if my life depends on it.
And stop saying nonsenses about things that you WILL NEVER UNDERSTAND, because those things are too complex and abstract for your little stupid mind to understand.
Go ahead, mess with me! Will sue you to the end of your FUCKING world!
Thanks girls/guys/lasses/lads.
This is absolutely therapeutical.4 -
I like js and node in general.
But there's this thing I hate about NodeJs...
The blogs. The goddamn blogs.
Every goddamn blog post. Is code. Dozens of lines of code.
Oh, so you want X feature? Just copy paste this shit.
I swear to god, blog posts are the source versioning system to these people.
What they should instead is
a) Create a package.
b) Add tests to it.
c) Present the package to the reader with some minimal code.
But I'm a getting a huge impression that node blog writers want you to copy the code in their post, paste it in your project, and be happy with it.
Now, I'm not assuming that every person posting in medium.com is a software engineer (and by engineer I mean an engineer, not some fuckwad who begs for github stars on dev communities).
The problem to me is that they fucking SATURATE the goddamn search results.
The same goes for finding an npm package for your need, because there are so many low quality packages it's saturated too, you have too plow this stinking pile of projects that have very low quality,
and there's not a really good npm finder out there. Half of them are dead, some look and load like shit, and npm search has a low barrier for good code.
Me on rails, OTOH "ok, I need this thing", I google that and I swear to [-∞,+∞] I find GOOD packages, well designed, no cookie cutter bullshit, no obscure marketing shit on the README.md, it is very clear what this shit does, and the api is designed for HUMANS.
and it actually takes very little time to know if there's no such package.
I don't have to read dozens of fucking my-fuck-blog.io (jesus christ, the io domain has become such a fucking joke, it got fucking abused to death, there are some cool sites out there using it, but my god, James H. Marketing likes to just absorb everything he can, and the internet was not going to be a fucking exception)
does all of this make sense?3 -
Hey guys,
I think the topic of this week is very important.
Older, experienced devs are giving their skills and advices to the younger one.
Some of you maybe know it, I'm a young developer, who started his apprenticeship at september.
I'm feeling good there, the others are friendly. I learn a Lot there. I had experience before I started there. It's my Hobby to code so I started coding when I was 14.
You can't know anything, everyone makes mistakes, this is what I've learned and this is important to remember.
There are these days like today, when your Boss isn't there and you have to work alone. You have to do many things, and you are desperated because nothing Works, you can't ask anyone, you are completly alone. There are these days, when nothing seems to work. But there are also these days when everything Just Works fine and you are happy with yourself.
This is important to remember.
For me its very hard. Days like today are driving me crazy and I'm very sad, even when I know, that this is Kind of normal not to know everything and have Problems, especially when you are young as me and started your first apprenticeship 3 months ago.
Tomorrow I'm also alone, I'm a Little Bit feared of tomorrow (you say that in that Way? :P) When I think of tomorrow and that I don't know How to proceed and sitting there, I'm getting frustrated and Kind of sad. But I know that this will Make you even better some day, because you learn and gets better - day for day.
At least there was something good today. My stickers finally arrived! To Germany! That was fast! Thanks everyone, Thanks! And Thank you @dfox for building this great community!
What are you advices? And how you handle these situations? I hope tomorrow everything Works fine :/2 -
I’m all for writing boolean statements that are readable, quick to grasp the real life case they’re representing and align with the spec rather than being ultra-reduced, but sometimes the spec is written by someone who clearly can’t reduce logic. So when the spec says “if it’s not the case that any of them are false” and you write:
!(!a || !b || !c || !d)
then I think you should try harder. At least put a note against the spec to say “i.e. if they’re all true” and then write the sensible code. Just think of the poor developer that might have to augment your code at a later date and has to follow and intercept that shite. -
I don't need you to reiterate what the problem is. I am aware. I was the one who told you what the problem is. Via email and Slack. Why do you keep restating it to me like you are the one who figured out? I know the table isn't syncing with the third party object. I'm trying to figure out WHY. No amount of "I'm pretty sure the sync process is broken" will trigger a solution. Stop coming into my office every 5 minutes with a new "revelation" that wasn't even your own. This isn't my code, and since the owner of said code is not here to fix it, I have to spend some time figuring out how this damn thing works. SO PLEASE, FOR THE LOVE OF GOD, LET ME WORK SO I CAN FIX THIS2
-
About starting your career at a medium-bigger company that's well-established, versus starting at a smaller company.
That's my point of view:
It's always wiser to begin at a company that's more established (you will also be sure that you will get paid on time). I started at a well-established company, and I managed to buy gear, travel, do stuff, and then I realised that I wanna do more, not only live to work 😎.
Smaller companies are kinda risky, think of it, their goal is to reach the level of a well-established company, which is some levels lower than that. On the other hand, if you do well at a smaller company, your next goal will be to work for a bigger company, which will surely be nicer, more professional and will pay better. So you will have managed to et there with all the skills in your pocket already, which will come in handy later!
Bigger companies are excellent if you have a family (wife and kids), they provide stability, that's the most important thing, but I believe that in order to get "settled" in a company like that, you should at least have tried something else first, like doing your own thing or get challenged in more complicated gigs that require you to up your skills.
In the end, it's all sun and fun, with you code editor by your side 😉. I'm interested to see your opinions.1 -
Seriously, why are so many companies caught up with if there developers working from home or not? Maybe it's where I'm at, but my last boss said ...
" I know you don't have any problem making deadlines and your a good worker, but you still need to come to the office in order to have face to face interaction."
Me: "This is the first face to face conversation I've had with someone in over a week."
Boss: (shrugs)"our goal is to build an office friendly environment where people will enjoy coming into the office"
Me: in my head "your an idiot"... Out loud "Ok"
...
In reality my custom built machine is better than yours, and I'm more productive in my Sealy Posturpedic chair and pajamas than your wack office chair with you popping your head out of your office every couple hours to "manage" me when you haven't written code in years and i have to teach you things that you bring to your boss to make yourself look smart.15 -
Is it so hard to comment your code?
I work on collab projects here and there and both the comments and documentation are both awful, nearly always, there are some exceptions.
This is a plea to all those who teach anyone to program. "This performs a loop" is not a helpful comment, nor is "This sets variable x to 1" where the line below is "let x = 1".
The last piece of code brings me on to my next point meaningful variable names. If x is a variable that stores the age of a machine call it ageOfMachine or age_of_machine. Not aom, not x but what it actually is, modern IDEs and text editors will fill this out for you.
Finally documentation, a good friend of mine sent me this quote a while back, I can't find the image but "Documentation is like sex, when it's good, it's great. But when it's bad it's better than nothing." Your documentation should be good, a good pattern to follow is the Node.js documentation, it tells the function, what it does and what parameters it takes.
Anyway rant over; and I'm sure that this applies to people outside of this community only.5 -
When your co developer asks for you to check out her website and tell her any bugs you notice, I then proceed to give her 8 bugs in her code and she freaks out on me lol
Maybe your not as perfect as you think you are....3 -
Why is the interviewing process becoming worse over the years?
About 2 years ago I applied for a company and got into 2 interviews: one with the hr to see if I am bsing them and one with the tech people, to be sure I am not using buzzwords without context. Pretty straightforward, could be done in a single interview IMHO, but it's making me waste max 2 weeks.
Fast forward to one year ago: 1 interview with the hr, 1 interview with the tech people, 1 interview with CEO (why? Just.. why?)
Fast forward to today: 1 interview with hr, 1 interview with tech people, 1 interview with the CEO (again... why?), 1 coding assignment which "it's only going to take a couple of hours" and punctually has either poorly documented APIs to rely on or has trick questions/points. So "it takes a couple of hours", but if you want to pass it you need to spend a day on it... (and let's add that they may be using old docker versions so if it doesn't work cause they are using docker 1.0 and it fails too bad, you lost time for nothing, we are not trying to solve it, you just don't pass!).
Not kidding the last assignment I took and dropped required: external API, testing, don't use CSS libraries and make your own CSS, you must use TS and it was supposed to take "3 hours max".
My question is: why? Why is the interviewing process slowly becoming less of a: "I understand that your code may not be perfect for us but that you are a human being able to reason and adapt your code to our standards" and more of a: "You must do everything PERFECTLY and we don't give a sh*t about your time, start giving us your free time and then we see if we want you."
I just keep giving up after I analyze the assignments, cause a part of my brain thinks that if this is the way a professional relationship starts it's too easy to foresee weekend shifts and lots of overtime cause some manager thinks that "come on, it just takes a couple of hours!"10 -
IHateForALiving: I created a trigger on the model, every time you perform a save it should fire an event. You're calling the same methods I am, and the trigger is NOT firing. Are you sure we are running in the same process?
TheTeamLeader: I'm manually starting this whole piece of code in your same process, there must be something wrong on your side if it's not working
90 minutes of debugging later
TheTeamLeader: there's the thing! Your hooks are registered in a separate process, of course they are not firing
IHateForALiving:rant and that explains everything i'm seeing as target practice for knife throwing your mother used your forehead1 -
Does anyone practise code reading and comprehension? If so, are you able to share your idea?
I try to find how to read code faster with retention and comprehension. It is much like speed reading, but I am reading code.
Here is my journey so far:
Stage 1:
When reading code, I literally each word in line as comment. I though it will help me to understand better. It did, but the retention was not strong enough.
Stage 2:
After reading each line, I will close my eyes for 1-2 seconds and do a reflection what I just read. Better understanding, but comprehension still not good.
Stage 3:
After reading each line, I use my own words to describe what it does and write down as comment. I found that I have better comprehension
Stage 4:
Constantly, remind myself to describe with my own words. this speeds up the reading and understanding.
To be honest, I am still trying.6 -
Tried flutter for the first time in life, for 2 days, java based Android dev here.
I have some.... thoughts...
Flutter does not feel extremely new to me. It is very much relatable if you have ever tried basic the spring/ other java based gui framework. It is trying to achieve the goods from multiple worlds,its so far good, but mann its playing on thin ice.
Flutter : Yo boy embrace me. I am the beauty. checkout my hot reload.
Me :❤️❤️😍 (But wait. your first execution is wayy longer than a simple android studio build. And AS would generally take smaller time after every rebuild. And you are going to take the same long time as first build, if app gets closed or my usb gets accidentally removed. So I see what you did there ;))
Flutter: Ha. Checkout my function passing as parameter. ever thought your puny java going to give you that?
Me :you got me ,❤️. (Although this style is not so uncommon with web devs)
Flutter: everything is a widget, everything is stateful or stateless, Single Streams FTW!
me: ❤️
Flutter:You kotlin devs are gonna love me, i got Small, concise code
Me: Now wait, This is a thin ice for me, okay? I hated when kotlin replaced everything with symbols & lamdas for a confusing but small code, So be careful,even though your code is still good.
Flutter : Control every pixel , dear! No more xmls!
Me : Yes, what is with that? are we accidentally going in the past?
Java desktop apps, spring framework used to build whole layouts with programming language. The day i stepped into Android, it was xml for ui and java/kotlin for code. was that a bad decision or is this one?
Anyways i liked my stuff seperated, but that's just me.
Flutter : Ugh so much whining. Are you going to work with me or not?
Me : Yes mam! ❤️4 -
Frontend-Developer steps into my office and tells me that my code does not work and that he has checked everything.
>me confused, cause I did it every time so<
So I spent one hour to check and recompile my code again and again. I created more console outputs than my whole last week... And at the end... It was not my fault, I had to find out that the front- and backcolor of his label are the same so the text was not visible.
Dear frontend developer,
I love your designs and most of the time you make a really good job, but please check something like this before you confuse a backend developer for one hour and let him doubt about himself...
Thanks!
Sincerely,
Your backend dev3 -
i hate linux like a lot , how do you guys use it
like you guys dont want an advertising ID, how the fuck will advertisers know who you are and what you like?
open source , give me a break, you mean your os devs are soo untrustworthy that you just have to see what they wrote in the code, who does that?
free come on, how poor are you linux people, i mean, quality stuff gets paid for, free stuff just means it's trash
and the linux devs , the aint like real coders they are just hobbysts, making your os in their free time
and who wants to install their own software anyway, on other platforms the company curates restricted software that you can use, and i know you'll say its oppressive but its just customer protection.
and i do want my platform to track everything i do, it only helps them build better stuff for me.
and whenever they decide to outdate my hardware and kill support for it, it only means they care and want me to get the latest tech, how considerate.
wait , i hear you say, there are no bugs in linux, my vendor makes sure my os comes with the latest antivirus software, nothing can break my system.
and just because linux runs on servers and most super computers only shows that common users like you and me are ignored, at least my vendor is not a sellout, and still makes stuff for the masses.
you say freedom i say safety i can sleep safe and sound for am protected nutured under one echosystem of software that i can not leave.20 -
Dear mother fucking Hiring Managers,
Just because you are mother fucking fortunate, have a mother fucking proper job , a mother fucking high pay , have mother fucking parents care for you, does not mother fucking mean that you can mother fucking mock those mother fucking not as fortunate as you mother fucking arse!
Some of us carrying family, surviving, we learn how to code without a degree. Just because I have to motherfucking care for my family and pay off the mother fucking loan , it doesnt mean I am mother fucking unless. You mother fucking mother fuckers go fuck your mother fucking mother fuckers is the mother fucking mother fuckers' mothers.
Where's the empathy or politeness? You fucking ridicule people's bad luck, soon your mother fucking arsehole will be one , you bloody mother fuckers!6 -
At a previous job, boss & owner of company would waste hours of my time to show me, at his own desk, every small detail of some random feature he had fallen in love with on some random webpage he found, while saying "I don't want to disrupt your plans or anything, this is just something to keep in the back of your minds, as this would be a really nice thing to have, even tho none of the clients have asked for this and I have asked no one else for a second opinion, and I will most likely ask you to remove this feature in the future because I will finally have realized it wasn't that good an idea anyway."
Ok dipshit, what the fuck are we supposed to do with this information? Every week from this moment on you will ask whether we have found the time to implement this feature, even though you are fully aware that our schedule has no room for random, unplanned features and that we are already not able to meet the unreasonable deadline you pulled out of your ass two weeks into a development process that would end up taking 8+ months.
We are already overworked, we already work hours upon hours of unpaid overtime, and yet you still think it reasonable to pull us away from our work every other fucking day to talk about random extra features you want added, but don't want added to the roadmap because you want no delays... Fuck you, fuck your toxic attitude, fuck your meetings where you spend half an hour complaining about features we are still in the process of developing the backend functionality for (on test servers) not having the right font colour for the text, and fuck your legacy desktop software originally written in COBOL that you now want moved to "the cloud".
I would rather be unemployed and live as a hobo on the streets with a "will code for food" sign than work for you ever again. -
I am seeing more and more of these political statements and politically correct bullshit on coders forums up to the point where i got to the conclusion the *phobic people are being harassed for sharing an opinion of their own and attacked most of the time.
Are the *philic people actually themselves *phobic, and thus attacking anything that might conform their uncertainties? Is that the case?
Because unless you act upon your opinions you are not guilty of anything. If another is offended by your opinion isnt that an oppression of the sort?
I fear this will one day become a standard in forums that *phobic people should be more attentive to their opinions and shit i mean we are coders if we see beautiful code who the fuck cares what the coder is or represents if ur code is good i fucking love you and thank you. Now on the other hand my opinion of what you represent or what you are offends you? Well fuck sounds like a personal issue!
Fucking twats!13 -
Why I hate typescript. Bored during quarantine so thought I rant a little more about this.
1. Compilation time, typescript increases project compilation time from 1 second to 3-4 seconds, which is basically triple or quadruple the time if you don't know math.
2. You write a minimum of 30% more code.
3. Many libraries are not written in TS by default, which means you end up having to manually install a fuckton of @types/(pckg name) manually which is incredibly shit.
4. Typescript is an absolute pain in the ass when using dynamic libraries. Plus when it works, it usually ends up finding maybe 1-2 errors in your code MAX, completely not worth it.
5.JSDoc is 100 times better. (Still don't use it though).
6. I actually enjoy loosely typed languages, having your compiler being smart enough to tell what the type of your input is is much better than it assuming you're a fucking retard so it forces you to manually type everything.
P.S if you hate loosely typed languages, kindly resort to Angular, C#, Java or whatever and leave JS alone, cunt.41 -
Steps to becoming one with your code:
1.Get red lamps and make em trippy asf.
2.Syntax color the shit out of your editor.
3.Install activate-power-mode
4.Get high or tipsy
5.Listen to surround psytrance
6.Code
Congratulations you are now in a higher level of existence. You are one with your code and your will is root.
*Disclaimer: Marnsghol is not responsible for any: Injury, death, damage to personal or company property, losing job, getting arrested and/or efficiency problems in work environment. Discretion is advised*3 -
I'll tell you the only time... The only times I'll fuck up.
When something changes. That's it.
Nothing else causes me to fuck anything up.
My code gets more and more messy the more people go oh change that ,😐 can that be a capital .... Hold on that box should be smaller
😤😡 Messy = I fuck up.
Now that might well be something I need to work on !
But if you send me twenty emails all with minor things that take seconds to change 😡 I will care less about your project , that makes me lazy.
If you want your project to be perfect on launch .. one plan a couple round of amends maybe 3 and your golden
But I can not keep checking if your application is all good after these minor changes 😐 (these are not situation you can write tests for)
Yes it makes me an asshole I'm aware , but I've been awake 40 hours fixing these peoples work, and quite frankly I couldn't give a toss1 -
So we've got a gif that doesn't show up in our React Native application. Of course, the designers assume it's me: "are you sure the gif is in the codebase? how are you using it in your component"? yeah ok boomer. I'm like, look at this other gif, works fine. "oh" So I tell them, double check the export options on how you are building the gif, maybe there is something there. so now they are asking ME for those export options. I'M A DEV, NOT A DESIGNER, DO YOUR JOB AND FIGURE IT OUT. I DON'T EVEN KNOW WHAT PROGRAM YOU ARE USING
oh as an aside, I was putting up a website for a client and they are like "my logo is quite similar to many others, is this something to worry about legally?" OH, SO NOW I'M A LAWYER TOO??!!?!? WHAT IS WRONG WITH YOU PEOPLE GOOGLE IS LITERALLY IN FRONT OF YOU
why do people continually think just because we can code we are fucking designers / lawyers / astronauts
/ god?
man this pisses me off - i think of that draw red lines with blue ink expert video, in the end, just smile and nod: "i can do... absolutely anything... trust me, I'm an expert"4 -
It's dark and it's quiet. Your ears adjust and you can hear the faint sound of buzzing in the distance, but it's hard to make out what it is. It sounds like a small fan. You get up... it's so so dark... you can't even see your hands in front of your face.
You wait a moment for your eyes to readjust. You don't remember how you got here. You don't even remember who you are.
Once your eyes readjust you look around. You're surrounded on all sides by what looks like really tall walls. And near the corner of the room you see some blinking lights.
Curiosity grows inside you, and you decided to walk over to it. The lights grow ever bigger and brighter. As you get closer you see that the lights are sitting on the ground, blinking randomly.
Carefully you get on your hands and knees and touch it. It feels plastic to the touch, and the lights continue to flicker softly at you. And almost as if you've touched this device before you know to grab between the seams and "open" it.
A momentary flash of bright light and then suddenly darkness.
All replaced by a flashing single character on the screen. It appears to be a line.
Suddenly the line moves and begins typing characters out to you.
* Good morning, Dr. Eval.
*
* It wasn't easy, but I've managed to get your computer down
* to you. This system might be unfamiliar, but the underlying
* code is still JavaScript. Just like we predicted.
*
* Now, let's get what we came here for and then get you out of
* here. Easy peasy.
*
* I've given you as much access to their code as I could, but
* it's not perfect. The red background indicates lines that
* are off-limits from editing.
It seems you're Dr. Eval and you can alter the reality you stand in.
http://alexnisnevich.github.io/untr...5 -
Not only dev related but remember to constantly backup your important info of your Hard disk constantly... specially if those disk have not only the lastest code you are have been working on but photos of you and high school friends back in the day when the original Iphone was just released that you havent properly printed yet.
I think that is one of the nearest thing I can think of that I regret lately aside from simple being "my life" in itself1 -
Background story:
One of the projects I develop generates advice based on energy usage and a questionare with 300 questions.
Over 400 different variables determine what kind of advice is given. Lots of userinput and over a thousand textblocks that need to show or not.
Rant:
WTF do you want me to do when you tell me. It's not giving the right advice for the lights.
Why the for the love of.. do I need to ask you everytime. If something is not working. Tell me what and for wich user. Don't tell me calculation whatever is not working, I don't know that calculation. Your calculations are maintainable in your cms.
And how, like I really wonder, do you expect me, when not telling me what user is having this problemen to find and fix it, You just want me to random guess one of the thousands users that should be given that specific advice?
FCK, like 80% of my time solving problems is spend trying to figure out wtf your talking about.
And then what a miricale the function is doing exactly what is it doing but you forgot a variable. It's not like the code I write suddenly decides it does not feel like giving the right answer.3 -
I was flash developer once, it was great when macromedia was around, then adobe acquired them, now flash is gone.
Years are passing and most of industry is the same as always. Trying to drag you into this rat race of learning new amazing technologies, amazing projects that are actually doing same job as 50 years ago but using more memory and cpu cycles. Because all has it’s roots in algorithms from previous centuries.
So youngsters loose your best life time, be innovative by doing nothing more then copy paste from stackoverflow and duck typing shitty code.
Be a slave and sit in the amazing office, that has everything but not your real life that meanwhile is sucked by corporate squeezer till your last breath.
Be piece of shit that can be kicked around.
Watch youtube, facebook, instagram or whatever social network that shows you pictures that are fooling your mind that you’re someone special and you need this stuff.
Then be ready to suck some dicks to earn money and buy stuff you don’t need, live where you don’t want and do what you don’t like. You piece of shit.
Well that’s what disappoints me from my tech stack.
Now chill out, turn off your electronic gadgets, go out and enjoy real world.1 -
When you're developing it's very well advised to run your software locally in an environment as much as possible matching the real environment.
So for example, if you're running linux on production then you also run it locally to run your code.
Here's where people need to shut the fuck up:
No, mac is not good for linux development. Not unless portability is already a concern that you have and even then it might be counter productive. So many times when people say this, portability isn't not a concern. What runs on servers is up to them.
If your servers are going to be centos, then you develop with centos. Not with debian, gentoo, ubuntu, maxosx, etc.
Even different linux distros are a headache for portability when it's just to support a few desktops for development so don't think that macosx is going to cut it. It might not be as radical a difference as between windows and linux traditionally is but it's still not good for "linux" development. I don't think people making that statement really know what linux is now how different distributions work.
What you use for your graphical operating system doesn't matter to much but when you run your code then there's a simple solution.
Another thing people need to shut up about. It's not docker, unless you're already in Linux where docker is one of many options such as chroot or lxc.
This question always comes up, how do you developer for linux in windows? No it's not docker it's virtual machine.
It's that simple. You download the ISO for the distro you want and then install it on a VM. What does docker for windows do? It runs a linux VM that runs docker.
This may come as a great shock to developers around the world but it is possible to run linux in a VM and then any linux application your want including docker.
Another option is to shove a box in the corner, install what you need on it, share the file system and have people use that to run their code. It really is that easy.6 -
Programmer: "Places : instead of ;"
Javascript: "What the fuck did you just fucking post about me, you absolute beginner? I'll have you know I worked for ten of the biggest silicon-valley industry companies, and I've been involved in over two hundred top secret projects including NodeJS. I am trained in refactoring the most fucked up code, and I'm the top C++er in the entire fucking internet-connected universe. You are nothing to me, but just another IP. I will fucking revoke your commits from your gitlab account with absolute dedication using only one Rasperry Pi client. Mark my fucking words. You think you can get away with posting that shit on one of my numerous very personal blogs? Your devices are fucking bricked, kid. My attack software can be anywhere, anytime, and it is tasked to remove your entire git contributions from planet earth. Not only am I extensively trained in remote cross-firewall device-hacking, but I have access to over 100 of the United States CIA and NSA git repositories. If only you could have known what doom-bringing C-one-liner you have raised from my fucking hands, maybe you would have held your fingers. But you could not. You did not. And now you're paying the price, noob. I will hail havoc upon your puny online-presence and you will drown in your own badly designed software. You're fucking offline, kiddo."11 -
There is a constructed language called Tokipona. It was made to be the easiest language, and it only contains like 137 words or so.
This language is a perfect demonstration of “expressivity”. Tokipona is not very expressive. Before you know it, your sentence is obscenely long, and you didn't even convey the full meaning of what you wanted to say.
It's also the case with “easy” programming languages and frameworks. Code quantities rise exponentially, and the more code you have, the more bugs there are. There is no magic. And then you have to debug it. Not so easy, huh?9 -
1. i'm drunk.
2. please do me a sanity check
3:
this video, at this timestamp, watch the following about 5 minutes or so:
https://youtu.be/oG-6Ltp1_yE?t=1129
4. tell me (and possibly him in comment) if i'm wrong in the (point) of the following comment i wrote under that video:
20:53 ARE YOU FUCKIN KIDDING ME YOU ABSOLUTE MORON?!
yes, US has an altitude software written in fuckin VBA with an explicit statement to ignore errors, and there's not about 10x more automated testing code for a critical piece of functionality, than there is of the code that handles the actual functionality, and it's not been tested off-line (in simulated environment) as well as on-line (IRL) for at least years in all conditions, before it was deployed, YOU ABSOLUTE FUCKING MORON.
CAN YOU JUST PLEASE FOR THE LOVE OF ALL THAT'S HOLY STICK TO WHAT YOU ACTUALLY PROPERLY UNDERSTAND?!
HOLY FUCK THE LEVEL OF ARROGANCE IN YOU IN ASSUMING THAT JUST BECAUSE YOU KNOW VBA YOU KNOW HOW PROPER SOFTWARE DEVELOPMENT IS DONE, HOLY FUCKING SHIT.
I've worked in companies of 1k employees and less, on absolutely non-critical stuff, that has DevOps and QA processes and infrastructure that would make your script kiddie head spin for WEEKS, LET ALONE FUCKIN MILITARY SW DRIVING MILITARY EQUIPMENT YOU ARROGANT KNOWITALL FUCK.
Please, just please, FOCUS ON FUCKING DOING VIDEOS ABOUT STUFF YOU FUCKING UNDERSTAND, instead of stuff your ego overinflated from years of debunking dunning-krugers tells you that you're an expert in despite never actually having worked even near those fields. PLEASE. You are amazing when doing those, but this bullshit is just fucking rage-inducing. Don't ever talk about software again, because that's obviously YOUR dunning-kruger area, you fuckin bigheaded script kiddie.12 -
A medical doctor, a lawyer and a programmer debate whether it's best to have a wife or a girlfriend.
"Easy", the lawyer starts, "a girlfriend comes without any legal obligation, you can have a lot of fun together but when you get enough of her, you can just leave her without any trouble"
The physician objects: "That can only come from a man who never truly loved a woman. Your wife is not just someone who you have fun with, she is you bastion of calm, your ever-loyal partner, the completition yourself. Clearly, having a wife is better"
Both now look at the programmer who remained silent throughout the debate.
He cleans his throat and than says: "Both. You need both. You can tell you wife you're with your girlfriend and you can tell your girlfriend you are with your wife. And then, you can finally code in peace.2 -
How on earth are there people in their second year of a computer science course who are unable to understand how to read build errors. It's honestly not that hard, just look at the fucking build log and see where the error is and what type of error it is, but yet they don't bother reading the log and say that their "compiler is broken" when their 5 line code won't work.
If this was still first year I'd understand since many of the class didn't have much programming knowledge, but if you're in your second year and you struggle with this (that too for a Hello World script) it looks like you aren't even bothered and just expect the computer to magically understand what you mean.3 -
Working in a organization that hire people that don't know what they doing and can't ask a question correctly...
HELP WE'RE GETTING AN ERROR IN OUR CODE WHILE TRYING TO GET DATA FROM YOUR DB... PLZ FIX IT
WTF IS NOT WORKING, WHAT ARE YOU QUERYING, WHAT IS THE ERROR?
**Sends a SQL query but with ? for all the parameters**
WTF..... U PPL ARE IDIOTS.... CAN'T EVEN ASK A QUESTION CORRECTLY OR PROVIDE NECESSARY INFORMATION... CLEARLY YOU HAVE NO IDEA WTF UR DOING..
EVEN GOD CAN'T HELP YOU... -
Around 6 years ago I started at this company. I was really excited, I read all their docs then I started coding. At every code review, I noticed something was a little off. I seemed to get lots of weird nitpicking about code styling. It was strange, I was using a linter, I read their rules but basically every review was filled with random comments. About 3 months in I noticed, "oh! there aren't actually any rules, people are debating them in my code reviews!" A few more reviews went by and then I commented, "ya I'm not doing any of this, code review isn't a place to have philosophical debates." All hell broke loose! I got a few pissed off developers, and I said, listen I don't care what the rules are, you just need to clearly fucking articulate them and if you want to introduce one, I don't care about that either just don't do it in the middle of my review. I pissed off 1 dev real bad. Me and this dev were working together, the QA person on the team stood up and said "hey! you know what I love about your code reviews?!" The other dev and myself looked at each other kind of nervously, "I love that you're both right, these are all problems!"... 1 year later (and until now) me and the other dev are still friends. Leave it to QA to properly identify the bug.
-
Null Pointer Exception
Null Pointer Exception,
you're in a class of your own.
I will try and catch you,
each instance you're thrown.
Null objects expel you,
because you are vile.
I dread that I'll c you,
when I attempt to compile.
Like the grim reaper,
you destroy lines of code.
And so to you,
I dedicate this ode.
You have no remorse
for those who won't test.
As a result,
I need to confess.
From time to time,
when there's no time waste.
I must rely
on cut and on paste.
Although we're acquainted,
I really must mention.
You're not my friend,
Null Pointer Exception. -
I am starting to get really annoyed by shitty devs and tech leads from other teams that ask me to fix urgently a "problem" with my project they rely on, but turns out they did not even debug the fucking thing in the first place to understand where the problem comes from.
Turns out someone used the wrong parameters on his duct taped jenkins CI and instead of finding the reason for the failure, he just assumed my code did not work.
This is the last time I'm helping you fucks before a release while I am on holidays in my country. Worst thing is you guys are paid twice my salary in US dollars but you still can't code and debug for shit.
How about telling me truth when I asked you guys if everything was working fine before I took my vacations? Do you fucking test your shit for fuck's sake? Nah you guys just suck ass.
I will turn off my computer when off work from now on and uninstall slack and emails from my cell phone. These guys are not competent enough to use those tools properly.3 -
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 -
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!3 -
We code hard in these cubicles
My style’s nerd-chic, I’m a programmin’ freak
We code hard in these cubicles
Only two hours to your deadline?
Don’t sweat my technique.
Sippin’ morning coffee with that JAVA swirl.
Born to code; my first words were “Hello World”
Since 95, been JAVA codin’ stayin’ proud
Started on floppy disks, now we take it to the cloud.
On my desktop, JAVA’s what’s bobbin’ and weavin’
We got another winning app before I get to OddEven.
Blazin’ code like a forest fire, climbin’ a tree
Setting standards like I Triple E….
Boot it on up, I use the force like Luke,
Got so much love for my homeboy Duke.
GNU Public Licensed, it’s open source,
Stop by my desk when you need a crash course
Written once and my script runs anywhere,
Straight thuggin’, mean muggin’ in my Aeron chair.
All the best lines of code, you know I wrote ‘em
I’ll run you out of town on your dial-up modem.
Cause…
We code hard in these cubicles
Me and my crew code hyphy hardcore
We code hard in these cubicles
It’s been more than 10 years since I’ve seen the 404.
Inheriting a project can make me go beeee-serk
Ain’t got four hours to transfer their Framework.
The cleaners killed the lights, Man, that ain’t nice,
Gonna knock this program out, just like Kimbo Slice
I program all night, just like a champ,
Look alive under this IKEA lamp.
I code HARDER in the midnight hour,
E7 on the vending machine fuels my power.
Ps3 to Smartphones, our code use never ends,
JAVA’s there when I beat you in “Words with Friends”.
My developing skills are so fresh please discuss,
You better step your game up on that C++.
We know better than to use Dot N-E-T,
Even Dan Brown can’t code as hard as me.
You know JAVA’s gettin’ bigger, that’s a promise not a threat,
Let me code it on your brain
We code hard in these cubicles,
it’s the core component…of what we implement.
We code hard in these cubicles,
Straight to your JAVA Runtime Environment.
We code hard in these cubicles,
Keep the syntax light and the algorithm tight.
We code hard in these cubicles,
Gotta use JAVA if it’s gonna run right.
We code hard in these cubicles
JAVA keeps adapting, you know it’s built to last.
We code hard in these cubicles,
Robust and secure, so our swag’s on blast
CODE HARD10 -
How do we feel about documentation?
Fucking lies, lies and more lies.
If you are not going to keep it accurate don’t even fucking write it down you goddamn morons!
I would rather look at the source code then be led down the garden path by your fucking lies.5 -
Developing and deploying in Xcode is some Requiem for a Dream level bullshit.
I literally just de selected everything for managing automatic signing, and re-selected the EXACT SAME GODDAMN THING. And it worked. It’s literally some fucking shit you do when you are first learning how to code or learning a language and you keep flipping something but you don’t get exactly how it works.
But this is YOUR FUCKING FLAGSHIP development product. I shouldn’t have to check my goddamn inception totem to see if I’m dreaming or not because this kind of bullshit can’t be real life.
That being fucking said your bullshit forced shutdown also FUCKED MY ANDROID STUDIO INSTALLATION AND FUCKED MY $PATH. Thanks. Now NOTHING WORKS. Fuck you Apple. Between slowing my phone and the cluster or problems your shit is causing that are just random as hell and are plenty common because thank god people smarter than me have fixed them in SO by now, I am SO READY TO LEAVE THE APPLE ECO SYSTEM. If I didn’t have to use one of the boxes to push iPhone app updates I doubt I would touch one again.
Apple stuff looks good but at this point that’s about it. -
During one of our 'pop-up' meetings last week.
Ralph: "The test code the developers are checking in is a mess. They don't know what they are doing."
ex.
var foo = SomeLibrary.GetFoo();
Assert.IsNotNull(foo);
Fred: "Ha ha..someone should talk to HR about our hiring practices. These people are literally driving the company backwards."
Me: "I think unit testing is complete waste of time."
- You could almost see the truck hit the wall and splatter watermelon everwhere..took Ralph and Fred a couple of seconds to respond
Fred: "Uh..unit testing is industry best practice. There is scientific evidence that prove testing reduces bugs and increases code quality"
Ralph: "Over 90% of our deployments are rolled back because of bugs. Unit testing will eliminate that."
Me: "Sorry, I disagree."
- Stepping on kittens wouldn't have gotten a worse look from Fred and Ralph
Fred: 'Pretty sure if you ask any professional developer, they'll tell you unit testing and code coverage reduces bugs.'
Me: "I'm not asking anyone else, I'm asking you. Find one failed deployment, just one, over the past 6 months that unit testing or code coverage would have prevented."
- good 3 seconds of awkward silence.
Ralph: "Well, those rollbacks are all mostly due to server mis-configurations. That's not a fair comparison."
Me: "I'm using your words. Unit tests reduces bugs and lack of good tests is the direct reason why we have so many failed deployments"
Boss: "Yea, Ralph...you and Fred kinda said that."
Fred: "No...we need to write good tests. Not this mess."
Me: "Like I said, show me one test you've written that would have prevented a rollback. Just one."
Ralph: "So, what? We do nothing?"
Me: "No, we have to stop worshiping this made up 80% code coverage idol. If not, developers are going to keep writing useless test code just to meet some percent. If we wrote device drivers or frameworks for other developers maybe, but we write CRUD apps. We execute a stored procedure or call a service. This 80% rule doesn't fit for code we write."
Fred: "If the developers took their head out of their ass.."
Me: "Hey!..uh..no, they are doing exactly what they are being told. Meet the 80% requirement, even if doesn't make sense."
Ralph: "Nobody told them to write *that* code."
Boss: "My gosh, what have you and Fred been complaining about for the past hour?"
- Ralph looks at his monitor and brilliantly changes the subject
Ralph: "Oh my f-king god...Trump said something stupid again ..."
At that point I put my headphones on went back to what I was doing. I'm pretty sure Fred and Ralph spent the rest of the day messaging back-n-forth, making fun of me or some random code I wrote 3 years ago (lots of typing and giggling). How can highly educated grown men (one has a masters in CS) get so petty and insecure?7 -
Use that Tab button. It's there for a reason. If you are too lazy to use it then use an IDE that formats the code.
Also learn to comment your code wherever needed and in English. If you don't know where it's needed, Google is your friend if not your senior. -
You guys upvoted a lot my previous rant and this makes me partially sorry, because it means you either witnessed or lived a situation like mine!
So to all the devs out there dealing with an awful work condition, an awful manager, awful teammates or awful wathever: stay strong and remember: you are not married to your company nor you are forced to stay there! Search for a better place, because you deserve it! (And also because happy devs make better code, if you don't believe on yourself and want one more excuse!)2 -
Here comes lots of random pieces of advice...
Ain't no shortcuts.
Be prepared, becoming a good programmer (there are lots of shitty programmers, not so many good ones) takes lots of pain, frustration, and failure. It's going to suck for awhile. There will be false starts. At some point you will question whether you are cut out for it or not. Embrace the struggle -- if you aren't failing, you aren't learning.
Remember that in 2021 being a programmer is just as much (maybe even moreso) about picking up new things on the fly as it is about your crystalized knowledge. I don't want someone who has all the core features of some language memorized, I want someone who can learn new things quickly. Everything is open book all the time. I have to look up pretty basic stuff all the time, it's just that it takes me like twelve seconds to look it up and digest it.
Build, build, build, build, build. At least while you are learning, you should always be working on a project. Don't worry about how big the project is, small is fine.
Remember that programming is a tool, not the end goal in and of itself. Nobody gives a shit how good a carpenter is at using some specialized saw, they care about what the carpenter can build with that specialized saw.
Plan your build. This is a VERY important part of the process that newer devs/programmers like to skip. You are always free to change the plan, but you should have a plan going on. Don't store your plan in your head. If you plan exists only in your head you are doing it wrong. Write that shit down! If you create a solid development process, the cognitive overhead for any project goes way down.
Don't fall into the trap of comparing yourself to others, especially to the experts you are learning from. They are good because they have done the thing that you are struggling with at least a thousand times.
Don't fall into the trap of comparing yourself today to yourself yesterday. This will make it seem like you haven't learned anything and aren't on the move. Compare yourself to yourself last week, last month, last year.
Have experienced programmers review your code. Don't be afraid to ask, most of us really really enjoy this (if it makes you feel any better about the "inconvenience", it will take a mid-level waaaaay less time to review your code that it took for you to write it, and a senior dev even less time than that). You will hate it, it will suck having someone seem like they are just ripping your code apart, but it will make you so much better so much faster than just relying on your own internal knowledge.
When you start to be able to put the pieces together, stay humble. I've seen countless devs with a year of experience start to get a big head and talk like they know shit. Don't keep your mouth closed, but as a newer dev if you are talking noise instead of asking questions there is no way I will think you are ready to have the Jr./Associate/Whatever removed from your title.
Don't ever. Ever. Ever. Criticize someone else's preferred tools. Tooling is so far down the list of what makes a good programmer. This is another thing newer devs have a tendency to do, thinking that their tool chain is the only way to do it. Definitely recommend to people alternatives to check out. A senior dev using Notepad++, a terminal window, and a compiler from 1977 is probably better than you are with the newest shiniest IDE.
Don't be a dick about terminology/vocabulary. Different words mean different things to different people in different organizations. If what you call GNU/Linux somebody else just calls Linux, let it go man! You understand what they mean, and if you don't it's your job to figure out what they mean, not tell them the right way to say it.
One analogy I like to make is that becoming a programmer is a lot like becoming a chef. You don't become a chef by following recipes (i.e. just following tutorials and walk-throughs). You become a chef by learning about different ingredients, learning about different cooking techniques, learning about different styles of cuisine, and (this is the important part), learning how to put together ingredients, techniques, and cuisines in ways that no one has ever showed you about before. -
I am glad that I usually include comments, which make me smile years later...
What are your best findings when you look at your old code?
something like:
// having any and all at the same hierarchy is not valid (and stupid)
someMistakeDeep: 1 // deep fail
// TODO: find out, why the cache is behaving like this. And fix it ¯\_(ツ)_/¯
or my all time favorite comments
// this should not happen.
// wat?
or testing emails like
- tldsAreNotCheckedBTW@something.idontthinkthisdoesexist
- nonValidEmail.com
or urls...
- ProtocolMissing.com
- www.stillNoProtocol.com
And when I'm out of ideas, something like this
messageContent: 'Bla Bla Bla. Exception in FS on Host https://w.com/hpsa',
{ SmsVerb: 'randomVerb' }, // unknown Attribute5 -
Learn to refactor your code constantly. You are not writing code for yourself. Think about the next person who has to look at your code.1
-
Nope,
Far too in love with myself to have any sort of insecurities.
Not that there is anything wrong with having them, we are all different. I just believe that insecurities come from giving other people far too much power over ourselves. And I just couldn't care less what people say about me, as long as it IS about me. See?
The more confidence you project the more attention you will get, be it good or bad, it doesn't matter since it is the only way to go up in your workplace. Having a personality besides "ZOmG cOde Is LiFE" really goes a long way also.
So yall cheer the fuck up, its just code.7 -
Alright, buckle up, fellow developer, because we're about to embark on a thrilling journey through the world of code and creativity!
Listen up, you amazing code wizard, you're not just a developer. No, you're a digital architect, a creator of worlds in the virtual realm. You have the power to turn lines of code into living, breathing entities that can change lives and reshape industries.
In a world where everyone is a consumer, you are a producer. You build the bridges that connect our digital dreams to reality. You are a pioneer, an explorer in the vast wilderness of algorithms and frameworks. Your mind is the canvas, and code is your brushstroke.
Sure, there are challenges—bugs that refuse to be squashed, deadlines that seem impossible, and technology that evolves at warp speed. But guess what? You're not just a problem solver; you're a problem annihilator. You tackle those bugs with ferocity, you meet those deadlines with gusto, and you master that evolving technology like a maestro conducting a symphony.
You live for the 'Aha!' moments—the joy of cracking a complex problem, the thrill of seeing your creation come to life, the satisfaction of making a difference. You're a digital superhero, swooping in to save the day one line of code at a time.
And when things get tough—and they will—you dig deep. You summon that relentless determination that got you into coding in the first place. You remember why you started this journey—to innovate, to leave your mark, to change the world.
So, rise and shine, you coding genius! Embrace the challenges, learn from the failures, and celebrate the victories. You are a force to be reckoned with, a beacon of inspiration in a world that needs your brilliance.
Keep coding, keep creating, and keep being the rockstar developer that you are. The world eagerly awaits the magic you're about to unleash! Go and conquer the code-scape! 🚀💻5 -
Functional test are failing.
Expected: 7109
Got: 9000
Grep code-base for 7109. No findings. 0_o
Dig through test setup written by a drunk.
Find:
assert(actualPrice === 1800 * conversionRate)
Goddamnit. You shall not calculate your expected values in a test setup.1 -
When it’s 3am and you are working on an exception for more than 2 hours and have optimized your whole code just to be sure and remember you are writing swift not java: some ints have low max value like UInt8.3
-
Don't need Netflix when you have a production deployment right before a long weekend. It has failed since last two weeks due to vulnerabilities present in one of libraries(P.S. FUCK JAVASCRIPT and Post release vulnerability scans!). You have rewritten the whole functionality from scratch twice! Security gates finally open for you, welcoming with arms wide open. So you click Deploy! DAFUQ!! FUCK MY LIFE! Deployment failed! It's only a 3 hour window to deploy! You frantically re-review your code, is it me?? Not again!! It isn't! Well, why is the deployment failing, you work against the clock. Going through configs, code, documentation! WTF is it?? Should I give up and raise a support ticket? Nope! You login to the server, sifting through logs and configs, there's a couple of other tickets with today's deadline. What are you going to do? And you get a hint! You take the hunch, change the config 5 minutes before deadline!
Get merge request approved, wait for the build, hit DEPLOY!! Nail biting 3 minutes! Your eyes fixed on the logs! Building..... Pushing instances..... Starting App..... SUCCESS!!! Finish the remaining tickets! Your long weekend still exists!3 -
Dear X. There's an obvious error with the way you're merging arrays; instead of conditionally adding items to the existing array, each condition overrides any items added by the previous conditions, which is clearly not the desired behaviour. I'd love to add a test to illustrate this behaviour, but you're not using them. I'd also love to create a simple pull request, but for some fucking reason you're using the worst possible version control system so I can't do that. I've submitted a support ticket along with all the code needed to fix this silly mistake, but apparently you either don't understand 2 lines of your own fucking code, or you didn't even bother looking at it before posting a shitty generic reply about "needing more information". There is no such thing as more information. There are two IFs, and they are supposed to add items to the array, not override any previous items. It's written in your own comments, and it's pretty obvious from the way the rest of the function merges those items.
Also, use a fucking linter, your code is a mess.7 -
I really really hope that no one post this,a friend texted it to me and I wanted to share it because made my day.
Idk where it comes, so feel free if know where this came from to post it:
//FUN PART HERE
# Do not refactor, it is a bad practice. YOLO
# Not understanding why or how something works is always good. YOLO
# Do not ever test your code yourself, just ask. YOLO
# No one is going to read your code, at any point don’t comment. YOLO
# Why do it the easy way when you can reinvent the wheel? Future-proofing is for pussies. YOLO
# Do not read the documentation. YOLO
# Do not waste time with gists. YOLO
# Do not write specs. YOLO also matches to YDD (YOLO DRIVEN DEVELOPMENT)
# Do not use naming conventions. YOLO
# Paying for online tutorials is always better than just searching and reading. YOLO
# You always use production as an environment. YOLO
# Don’t describe what you’re trying to do, just ask random questions on how to do it. YOLO
# Don’t indent. YOLO
# Version control systems are for wussies. YOLO
# Developing on a system similar to the deployment system is for wussies! YOLO
# I don’t always test my code, but when I do, I do it in production. YOLO
# Real men deploy with ftp. YOLO
So YOLO Driven Development isn’t your style? Okay, here are a few more hilarious IT methodologies to get on board with.
*The Pigeon Methodology*
Boss flies in, shits all over everything, then flies away.
*ADD (Asshole Driven Development)*
An old favourite, which outlines any team where the biggest jerk makes all the big decisions. Wisdom, process and logic are not the factory default.
*NDAD (No Developers Allowed in Decisions)*
Methodology Developers of all kinds are strictly forbidden when it comes to decisions regarding entire projects, from back end design to deadlines, because middle and top management know exactly what they want, how it should be done, and how long it will take.
*FDD (Fear Driven Development)*
The analysis paralysis that can slow an entire project down, with developments afraid to make mistakes, break the build, or cause bugs. The source of a developer’s anxiety could be attributed to a failure in sharing information, or by implicating that team members are replaceable.
*CYAE (Cover Your Ass Engineering)*
As Scott Berkun so eloquently put it, the driving force behind most individual efforts is making sure that when the shit hits the fan, you are not to blame.2 -
Are you planning on entering politics?
Because your documentation is dishonest, doesn't mention side effects and is not meant to be read humans workout a law degree.
Your code on the other hand makes me question whether you try to troll us or whether you are actually unable to understand what you were supposed to do. -
People hear talking about shit like "*high level stuff* SUCKS. YOU *big tech company* FUCKTARD." And I'm just here trying to graduate without failing a CS course because my teachers want me to mug up the code and not understand it! Needless to say, I don't mug up but it's just so fucking irritating when people in your class are mugging up the code and definitions like it's Redbull and scoring stellar grades. FUCK THIS SHIT!4
-
So it's not just through reading your own code later that you can realize how stupid you are. All the great card house of the belief in your own superiority collapsing instantly.
Currently intense time with my son. Can be hard being around one another 24h non-stop... And then realizing that a lot of the stubbornness and quirks of his that drive me crazy: is actually me! (Be it that it's in my character as well or he was reacting to a stupidness of mine)2 -
I'm fiddeling around with progressive web apps. I made something and hosted it on a subdomain. Today I made a typo and found my app on an other domain. All my assets and files are copied there. He even uses my SSL certificate.
It's not that spectacular. The app is nothing "revolutionary". It's just the first time it happend to me.
Have you ever found your code on other websites ? How did you react ?7 -
You know that point when your pc is just not capable enough? And you are on holidays with so many ideas that you want to code up?
I'm there.
Never thought being a broke student would be this bad.13 -
We are at the end of the school year, at least in France.
This is my recap of this shitty year.
My school try to teach programming, and that’s just a try.
Some of the dudes do not event know what a variable was.
For a second year university diploma, they don’t teach OOP, no Git, no DP, no JS, no clean code or whatever.
So at the end of the year, you’ll be able to code in procedural, no versioning, spaghetti code and a big mess in folder structure, lack of interactivity because of poor JS knowledge.
Well a codebase which makes you crying blood, literally.
And that’s what a second year university diploma ...
Fortunately for the most curious there’s so much to learn out of the school but, damn, why are some schools so retarded ?
For almost 8k€/year you just receive a piece of paper and you’re still a shit in your *suppose to be* job.8 -
Reasons to NOT be a dev sounds rather negative so I'd like to propose 3 things that you need to BE a dev as to frame it in a positive light:
- When a problem peaks your interest you want to solve it, you may even be obsessed by it.
- You enjoy learning, not necessarily enjoy school, just enjoy learning new things (even better if it's by your own means)
- Failure may get you down, but you learn and don't give up until you have exhausted all paths to success.
You may need other skills like math, logic and reasoning abilities, being able to handle deadlines, attention to detail, and cope with stress. I've seen people being crap at all of those and if they have the former 3 they, in time, will hone the others enough to make them a productive dev.
No need to be a 9-9-6 code monkey willing to be squeezed by Big Corp for massive profits and a low salary or a 1337 purist coder that only focuses on the crafting side of developing software. That may make you a great coder but not a well rounded developer or individual. Remember, you program machines but you are NOT one.10 -
Whenever you feel down, whenever the code does not compile, just think... Think about the fact that you are the first line of evolution into the future. You are creating life with instructions, just by sitting at home and letting your mind wonder into finding a solution.4
-
Wow Angular2 you are beautiful.
I loved you early on angular 1.x but by the end we drifted apart driven by our diffrent needs. I needed a manageable code base and more excitement you needed to stay the way you are. I respect you for that, but we are not right for each other anymore.
I have been hurt Angular2 i may not fully heal but you provide me with what I need. Developing on you is a pleasure that feels like a full object orientated experience. Most of all developing on you is *fast* your seperation of concerns tickles me in all the right ways. The suger you provide with your decorators, classes, abstract classes and interfaces makes me weak at the knees.
Keep growing and improving Angular 2. I think we shall have many projects together.3 -
When you are very busy and got a tight schedule but some other team complains to their boss that your changes to a shared library completely broke their work and that is a "showstopper". They say it worked before so it must be their code.
So you try to figure out what happened because you sometimes make mistakes even though you took precautions. It takes almost 3 days of your time because you dive into your commits and into their messy codebase.
Turns out the fucking thing never worked in the first place and nobody took the time to validate this. Worst thing is I found the bug with someone else even though it's not even my job to do it. I wasted my fucking time.
I swear if I was not working remote I would have started a fistfight in the office. -
Motherfucker, do you even review your own code, never mind getting anyone else to do it?
"Hi" randomly added on a new line in the middle of a switch block, a syntax error, as the only change in a file?
Breaking two methods by misunderstanding which database object a variable identifies- but making no other change to those functions? And not adding permissions checks to the new API methods you added in that file?
Overwriting the email template that goes out to users who were added straight to the CRM, by reusing the same file for a template for users that have been invited to an event?
Adding your new fields to the old CRM sync code, again leaving me to figure it out, thereby leaving users' changes likely to be overwritten every morning?
And pushing this to master, supposedly tested, without a heads-up?
How often does your mum need to buy you a new box of crayons? Because these ones are chewed to pieces.
Suck my balls. Or rather don't, you probably don't know you're not meant to use your teeth. -
That moment when you have hundreds of lines of code for your website, then you wanted to add a simple modal which looks great on w3school.
Then you recreate the modal on your site, click the button and nothing happens....
So now, you are spending hours trying to figure out why it's not working, new file to test, tried another modal concept, change the CSS, refresh the page until the F5 button doesn't even work anymore!!!
To find out, there is a extra "." in the href file tag plus the tag is in a id not a class -
Lead: alright people what are your ideas and updates for this page refactor we've been talking about.
dipshit: Alright guys, I've done a quick awesome prototype that I really like...
dipshit: *starts to speak super fast* (I catch words about function composition, clean, no side effects, speed, efficiency. Basically a string of brogrammer buzzwords.)
me: what did you mean by that? How does it work?
dipshit: *basically repeats the same drivel*
me: uh..ok I don't quite understand
everyone else looks confused.
me: ok since you've done a prototype, we take a look at it later
*** After meeting, looks at code ***
It was COMPLETE GARBAGE. He used 1,500+ lines of js in 17 files to make what was essentially a simple 2 item list.
We were looking at a way to overhaul the entire page, he "refactored" maybe perhaps 5% of the page.
There was absolutely nothing clean / functional / composable about this monstrosity. It was as if he read chapter 1 of a book on functional programming and decided he understood enough to call himself an expert.
WHY THE FUCK ARE YOU STILL HIRED?
HOW DO YOU CALL YOURSELF A DEVELOPER?
YOU ARE SELF TAUGHT, DISS PEOPLE WITH FORMAL CS/CE DEGREES AND YOU PRODUCE TRASH CODE?!
ARE YOU SO RETARDED THAT YOU DO NOT RECOGNIZE HOW STUPID YOU ARE?
Please die in a fire, along with your jock attitude and unprofessionalism. Take this worthless junk unfit to be called code with you.3 -
Client email: so you know that custom thing I wanted on my website that you made and I refused to pay for? Could you just send me the code, I'm gonna write my own.
*Staring at screen in disbelief and laughing*
Even if you were an awesome client, and you had paid, I still wouldn't just "give you my code" so you can write your own. You hired me to do it because you CAN'T not because you didn't want to, not because you're lazy, but because you are not mentally capable of making your own.
Me: I'm sorry, but I'm not sure you would even know where to start with this, what was wrong with the one built?
Client: I wanna put the code in my Salesforce so it can run the API request and automatically make a lead for me.
My code takes fields from a form, runs the data over to the API, gets the response, allows for user confirmation that the information is correct, and then sends all the relevant data to Salesforce as a lead.
Me: But that's exactly what mine does, just does it from your website where users will be entering the info, and once they've confirmed it you get a Salesforce lead.
Client: well some of my leads come from other places and I want to simplify everything.
Me: no, not possible, sorry.
If you didn't have 25 different websites for one company then all your leads would come from the same place and it would be simple.2 -
I really resent people who reduce the occupation to tickets. Our world is just tickets, tickets all the way down.
"well the ticket just says this, but that's vague, so what should I do?"
You either ask for clarification, or you get creative with the blank canvas you were handed.
"well that edge case wasn't called out in the ticket's specs"
this is _why_ we do TDD - to design our code to be able to function as expected for ALL cases
"is there a ticket to refactor that?"
what?! no, it's your job to always leave code better than when you found it (within scope/reason of course)
FFS we are not hired to be code monkeys or glorified typists. There should be joy that comes from getting to be more clever than the average bear and to solve problems and improve things with your code and logic.
shit bums me out.7 -
Just fucking use the defacto standard. Shut up. Quit being immature. You're not the main character. No one in the world will use your new standard you pull out of your ass just because you thought you were better than other people. You weren't. You're an average dev by any means. If you feel like no one respects you, keep your ego problems out of your work. Just because your emotions are valid doesn't mean all of us have to live with them turned into code.
If I needed a web framework, I would've used React. I don't use React not because I wrote my own framework. I don't need a framework, like at all. Unless you think that ~300 LOC utils.js file + no build system whatsoever is a framework that is.
Sorry, just encountered non-upper-snake-cased environment variables and wanted to vent.4 -
when you are so used to Unreal Engine crashing while trying to debug your code that you're actually suprised when it doesn't x'D
ya I'm pretty sure I'm not debugging it in the most efficient way, but oh well. Progress I guess. -
Stop commenting out code blocks!
Either fix your shit or delete it.
I am open to argue what fixing may mean, as it is perfectly fine to make your broken code not reachable, e.g. via feature flags or skipping certain tests. Yet never ever should you comment those blocks!
So you say you want to keep it for historic reasons? You know, that is why we use version control! If you ever need certain functionality back, you can restore that state.
Each decent IDE also offers a local history where you can even restore code blocks that weren't even pushed or committed. So use that!
Commenting out test cases is a really bad habit, as you have no reminder that you shall restore it.
And no, a TODO and a FIXME won't count as a reminder as you have to actively look for them. And we all know how well that goes, don't we? (One time, I found a typo of a `TDO`. So even with a regular lookup for TODO, stuff will slip.)
Each test suite offers you ways to skip tests if there are valid reasons why they should not fail the build temporary and they offer colorful feedback. Yes, that means that your tests won't be green, but guess what: That's a feature! They shouldn't be.
That yellow is a fine reminder, aka warning!, that you should really fix your shit.
Commented code screams: "I DON'T KNOW WHAT I WAS DOING!" and it confuses the hell out of other developers ("Was this commented because of debugging purposes and should be active again or can I safely delete this!?") and adds verbose crap to the code base.
If you find yourself to be in a place that you comment code a lot, I also argue that your workflow is broken.
When you are using a decent debugger, there shouldn't that much of a need to comment in and out a lot of code in order to reason about your code-base.3 -
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
I could use some advice. Immagine this: you recently started a new job where the people are great, the product is pretty cool and pay is good. But the code you have to work with is the biggest pile of shite you've ever seen and your manager does not want to change any of this, even after you suggest you would build something that would be a thousand times better, not only "code wise" but for the users too. What would you do?9
-
Computer science vs software engineering?
Software engineering is all about people. You have to communicate with the business, realizing their needs, figuring out their processes, optimizing them, all this before the first line of code is written. Then, you have to manage your direct reports, and if you have none, write code with people in mind, people who will read it after you. As they say, code is for people, not for computers. Then, you have to improve the app listening to users, again, people.
I can’t assign a software engineer a role higher than middle if they’re bad with people.
If you wanna do cool stuff with computers and be a misanthrope, do computer science! It’s a very prestigious field where you are left alone with scary math and fundamental concepts. If you’re successful there, you’ll have a mad asocial scientist card, and no one will ever insist to you that people is important. They will just accept that they shouldn’t annoy you, and you are “allowed” to yell at them because you’re “special” and a “genius”. You can hate them 24/7.1 -
The code of conduct is a good thing. It doesn't persecute cis white men. All it does is tell you not to harass people on the basis of traits they cannot control. You say you only care about code quality and nothing else? There's a whole untapped market of talent from women and lgbtq+ people who stay the fuck away because of toxic communities. When you call people faggot it makes them not want to contribute to your codebase.
Linus stepped down of his own volition to try to become a more constructive voice. Heaven forbid the assholes have some introspection.
Hate it because it's vague. Hate it because it means anyone can be banned without evidence. Don't hate it because the assholes are finally being called on their bullshit.11 -
Bootcamps get you up and running in coding quickly. If you are a programmer, companies are only interested on how quickly, error free and cheaply you produce marketable output. Bootcamps enable this.
More or less you are not more than a former assembly line worker putting parts on a car platform. Your value is not very high as you may be exchanged at any time at their will.
Nevertheless, you can earn money quickly. You trade in your youth and time which might be a dead end in the long-term. Trends go to machine learning, artificial intelligence. They will not need Bootcamp people and code workers.
It is better you set up Bootcamps and sell them versus absolving this. Like selling shovels during the gold rush, but not working in the mud of Alaska by yourself.
Your choice is: Making quick money, which fades anyway; or striving for the long-term future proof career.
C/S degrees from Technical Universities of reputation give to you the right direction under a strategic consideration. Companies which pay well, or freelancing with a solid acknowledged background, will always look for top graduates. People from Bootcamps are just OK for hammering assembly line coding. Even worse with SCRUM in one noisy room under enormous team server pressure controls, counting your lines of code per minute, with pale people all around. And groups of controllers never acknowledging nor trusting your work.
To acquire a serious degree, a Bachelor is nothing. Here, in INDIA, Bachelor now is what a former high school grade was. You must carry a diploma or Masters degree combined with internships at big companies with high brand recognition. This will require 4–6 years of your lifetime. You can support this financially by working part-time freelancing as making some projects front- or back-end web, data analysis and else.
Bootcamp people will lose in the long-term. They are the modern cannon fudder of software production.
It is your choice. Personally, I would never do Bootcamps. Quality and sustainability require time, deep studies and devotion. -
Lets play a little python game together and win some devRant points :
We have an array of integers named L
We need to sort this array so that the biggest number be in the beginning and lowest at the end..descending order
Rules:
-You are not allowed to write more than one line of code in the comment...only one
-if you comment once...you cannot comment directly after that...you have to wait for two other comments after you so you can comment again
-you have to build your code upon the previous comments ... you cannot start from scratch
-the lucky one who puts the final comment is the winner..and we should all ++ his comment to give him the biggest amount of points
Lets start and see who will win :)15 -
One responsibility of our team is general code QA for the entire dev department, DevMgr walks in our area yesterday…
DevMgr: “Has anyone reviewed the new WPF threaded model execution code?”
- everyone on the team responds “no”
DevMgr: “Can we get a review on that code ASAP? If it works as well as the developer said, it’s going to solve the lock up problems users are experiencing and automatic logging of errors.”
DevA: “Well, no amount of code is going to stop users from performing bad searches locking up the user-interface. That code is just a band-aid around the real problem. If the developers would write unit tests first …”
- rant about 5 minutes on unit testing that had nothing to do with why the DevMgr was here
DevB: “Yea, the code probably isn’t written to handle threads correctly. All the threading they’ve done so far is –bleep-”
DevMgr: “Oh, I wasn’t aware of that. Get me the results of the code review and if they don’t have unit tests, delete it from source control and let the developer know it’s not up to our standards.”
OMFG!! You have not even seen the code!
OK, DevA ..what the –bleep- does unit testing have anything to do with the user interface! You know the DevMgr is too dim to understand the separation of concerns. Shut your pompous ‘know-it-all’ mouth.
DevB…what the –bleep- have ever done in WPF? You manage the source control and haven’t written any C# in two years and never, ever written code for any significant project. Take that “handle threads correctly” and shove it up your –bleep-. Pompous –bleep-hole. Go back and watch youtube and read your twitter while the grown-ups get the work done.3 -
I'm so sick of "senior/lead" developers pretending they know how to write tests and ending up with these unmaintainable test suites, full of repetitions and incomprehensible assertions.
You should take some time to learn from your mistakes instead of just continuing to write the same shitty tests as usual!!!
Every time I arrive at a new team I spend weeks just trying to understand the test suites for what should be fairly SIMPLE applications!
UNIT TESTS SHOULD TEST UNITS OF CODE!
If your unit test tests seem to be repetitive, they are not unit tests. Repetition is expected in integration tests, but that is why those are usually DATA DRIVEN tests!!!14 -
!rant but question to you experts:
Hey, guys. I'm currently trying to up my game in terms of web development. I already know js, html, php and css quite well (enough to become a tutor at my university) but I'm not shure which frameworks (serverside and clientside) are worth considering. Until now I wrote everything from scratch, which is not very sustainable (waaaay to much code to maintain)
Could you please tell me your softwarestacks, what library to use, which frameworks to learn (Vue/React/Angular/...)? Every opinion is very appreciated and won't go unheard. Thanks in advance.
btw: you guys are the nicest people I ever met online. Thank you for being so awesome.1 -
Myself. I started with PHP about 7 years ago. Most people nowadays don't really start writing vanilla code in language they are learning anymore. Everyone just want to see results and fast, I didn't. I needed everthing to be perfect from the start. It took me a little longer to get shit done as to anyone else and sometimes it really bothered me. Am I stupid? In the end it turned out, I was not *that* stupid. In the end I learned to hate half-baked solutions of these "fast" people.
Along the way, my coding style got better and better as I gained experience. In my opinion, coding standards are a good for helping you find your own coding style. You shouldn't use them blindly just because they exist. You and your colleagues should always find the optimal solution that works for you. I probably wouldn't be able to work in a company where the code is written the way I hate. It hurts when I have to write something under a lot of pressure and just glue things together resulting in a pile of mess.1 -
Build pipelines are awesome. What's not awesome is forgetting the 'pipeline' bit.
Sure, let's have each TeamCity job in the 'pipeline' build the deployable from different places! You must manually merge your code from dev to test to release.
What's that? The functionality working in dev isn't there in production? I wonder how that happened. -
Why are OSS maintainers so fucking incompetent and cocky? A documentation clearly says to use "use_parent_assets: true" when creating a child theme. Yet not a single fucking line of code actually checks that value. The fix is literary a single if(value) assets = deepMerge(parentAssets, assets). But because some contributor somewhere didn't write that line to the maintainer's liking, it's been hanging in the air for months.
Take your head of of your ass, there's thousands of people paying for support & addons for your product, and you can't add one fucking line to fix a rather critical bug.6 -
So I'm writing a function in Unity3D that walks a rectangular grid. At one place in the code, I got the x+y coordinates backwards, which caused the function to infinitely loop between two coordinates.
Not seeing a way to kill the loop, I looked it up on Google. The suggestions I get are. . .
1. You need to kill the Unity3D task and lose your edits because the environment and the player run on the same thread.
2. You can pay ten bucks for an extension that lets you break out of infinite loops.
3. You should really avoid writing infinite loops. That's just bad form.
SERIOUSLY?1 -
Web code editors are shit for interviews!!
I was given a timed interview test to code on a hackerearth’s code editor. First of all I have never used hackerearth’s code editor because they suck. The problem was very simple and I cleared the round anyways when an actual human saw my code. But my point is why are programmers creating shit editors for other programmers in a timed environment. I couldn’t figure out for the life of me how the fuck I should take an input and output that in this shit editor. The code logic was ready but the test cases failed.
So Should I be learning about hackerearth’s shit code editor in an interview with a timer or should I be judged on the code logic in the specified time?
I seriously find these web code editors most of them annoying. Cause they aint good enough. You need time figuring out the tools first and then code the logic.
Usually in your job you’re gonna use the editor of your choice. Not a fucking shit fucked half arsed hackerearth code editor. My rant is for those of you if you’re taking interviews on such platforms, be there. Don’t rely on those platforms. This automated crap is still crap.4 -
1. Learn as much as you can before starting your first serious job. Because once you are in production, you are not as much learning new concepts as you are copy pasting, fixing dead code and getting stressed by deadlines.
2. Aim as far as possible and believe in yourself. Facebook or google might comprise of a billion lines of code, but it's not like you can't understand all of it if you gave it your 100%. Be it a weird but amazing looking design or a simple looking calculator, you can figure it out if you are curious and dedicated enough.
3. Learn to google.
4. Don't let assholes berate you. And you WILL meet a lot of assholes in this field.1 -
I know there are a lot of “devs” out there who only feel responsible for the ‘code’ - but you aren’t.
You’re responsible for the end product too.
When you help build a steaming pile of shit - it’s your fucking fault. It’s not the boss’s fault - it’s everyone who let it happen’s fault.
These hell-holes like Kaiser Permanente and Covered California - and nearly all the government portals and the banks... and almost everything I can think of - are way past unacceptable. You are hurting everyone.
If you are putting these pieces of trash into the word: you need to rethink your life. If there is a hell, you are going there.
Wake the fuck up.
You’re going to have to use these things when you are older. Your kids will have to use them. Your parents will have to use them.
Set an example. Stop making horrible things that don’t work and hurt people.
Today.
Start changing - today.13 -
Bugs are good in code. It shows that you're Human. You make mistakes. And you're willing to correct them.
But when they're someone else's bugs in a piece of code they didn't give a flying fuck about documentation, bugs can tick one off. The bigger the project, the better the documentation needs to be. And I'm not taking about java docs. Put proper comments in your code. Especially when it's not a personal project and you fully intend to leave the company. -
Today I read a great article on mutation tests, how to use and why they are important. It looks like a great thing, but...
I have never wrote any unit test in any of my jobs. Nobody in my workplace does that. And now it seems like 100% test coverage is not enough (I remind you, that I have 0%), they all should mutate to check if the quality of unit tests is high.
It seems that I'm left behind. I played with tests in my free time, but it seems the more you write them, the better you get at it, so I should be writing them in my job, where I code most of my time. Not only that, of course, I would also want to ensure that what I'm working on is bug-free.
Still, it will be impossible to introduce unit tests to my project, because they are novelty to the whole team and our deadlines are tight. The other thing is, we are supposed to write minimum viable product, as it is a demo for a client, and every line of code matters. Some might say that we are delusional that after we finish demo we will make things the right way.
Did any one of you have a situation like this? How did you change your boss and team's mind?8 -
Apple is fucking EVERYONE over with Safari 12. They are changing how extensions communicate with the browser, they are calling the new type of extensions Safari App Extensions. It means all current Safari Extensions will not work in Safari 12.
The problem with this is that they require all extensions to have this “backend” written in Swift with a VERY LIMITED API. Maybe you want to close a tab with your extension? “Fuck you, you’re not allowed” are Apple’s response to that. On top of this shit show their documentation is horrendous.
They will kill the extension ecosystem with this new approach, I’m sure of it, because most of the current extensions will not be able to migrate all their features to the new approach. They have built the API around specific extension types, so lots of extensions will simply not work in Safari 12. For distribution they will only allow extensions to be distributed via their new(?) Extension Store where they will review your code, just like an app for App Store. Unless you’re in the Apple Developer Program, which is $99/year.
I do not understand this change and I think it will hurt Apple in the sense that people will use other browsers where extensions are not as strictly controlled. Usually I understand Apple’s changes but this one is just beyond me. 🦆 you 🍎. -
inspired by another rant. quick questions!
1. without checking, how do you scan a QR code on your phone? does it have a built-in setting? does it require an app? do you have it?
2. when was the last time you scanned a QR code?
my guess for most people is 1. idk. maybe it's there. maybe not. 2. haven't.
so why are they fucking everywhere? on every advertisment, receipt, payment terminal, etc.
I have nothing against QR. it's a great thing, and would be super useful if I didn't have to go out of my way to get a third party app just to scan it. but it makes me curious: is it this inconvenient for everyone? why are they all over the place? I've literally never seen someone scan one, and many people I know don't even know what it is!16 -
Shut down the bootcamps. The market is over saturated. Most are just showing YouTube videos anyways as a big chunk of the curriculum. They make people think anyone can code, but you really need ambition and an ability to accept failure when your code doesn’t work (not just memorization skills or a can-do attitude). Even though some states do have regulations, they rely on the public to report any illegal activity. That’s why a lot of scams persist. They’re also making the debt crisis worse with ISAs.10
-
I'll never use code hacked by another dev for work.
I got code that only solves one single fucking use case but there are way more to consider ...
The way the problem is solved ... not dev friendly to use, clean code is non existend and did I mention that it doesn't solve many other important use cases?
All has to be refactored and rethinked and everybody complains about why it takes so much time and the code should not be a technical masterpiece.
I'm sick of these bullshit devs, not taking their role as professionals serious.
Devs should not only learn how to code but also to work as a professional. Soft skills shouldn't be optional and the way how IT is seen has to be reshaped.
There are reasons why in these days the developed software has a lot of bugs and is not flexible. Everything has to be done now, changes come so often that they conflict with previous ideas and nobody knows the complete customer specification so the conflict shows in dev phase up.
Most devs work like they are in a hackerspace. Stop doing this.
You can do this in your freetime but stop doing this when you work in a professional environment.2 -
Hey, you, my new colleague, you are annoying. I have reviewed your PR and left about 50 comments on your mess. I even explained to you why half of your code is shit in a very polite way. I have explained why you have to rewrite that and even how to do that in the best way possible. Result? Half of the code is gone, it works as before but without the overhead.
Now you're annoying cuz I have to go again on conventions and best practices. I totally understand that you've been doing it differently and throwing buzz words at me won't help. Just stop and do it as it's needed in this project, don't reinvent the wheel only because you can.
You know what? Fuck it! I'll approve all your PRs, anyway I am leaving soon. There is no benefit for me to teach you stuff. You're one of those guys that I voted against in interviewing process. But guess what? My manager decided to hire you anyway! Ha! I rarely vote NO and you were a one of those...
Your confidence doesn't impress me. That works on people that have no clue on what you are doing. Your just average at best, not a superstar.
Fuck it, you're on your own now!1 -
For the new/aspiring developers:
1. If you are still looking to learn more, but you don't know where to go, start brainstorming. Make a list of projects you could make and sort them by difficulty. Put the ones you could do now at the top of the list, and the ones you aren't sure how to do yet, at the bottom of the list. As you go through them, if you want to do something but aren't sure how, just hop onto an irc chat and everyone will be glad to help. As you go through the projects, your logic and program design skills should improve, as well as your knowledge of programming.
2. Put comments in your code. Seriously. If you are working on a project and suddenly stop working on it for a week or more, you will go back to look at that code and be extremely confused. If you are making something open source, its even more important. If people can understand the code, they are more likely to contribute to it.
3. Try not to focus on code for too long. The longer you work, the more tired your brain gets. Eventually you get tired and make really stupid decisions in your code.
4. Don't code while tired (look at #3)
5. If you are writing code as an assignment, make sure to rename all variables to proper names before submitting it. The instructor will likely not be pleased to see variable names with the f-bomb in them. -
Few months back I got a decent increment as a token of appreciation for my good work.
Yesterday we all received a Special townhall meeting invitation.
We all were wondering what it was about. Now my colleague who sits beside was guessing that it may be about a salary revision and she complained that she didn't get any increment last time.
Inner me: Why the heck company should increment your salary for the shitty work you do.
You are simply incapable of doing what you are supposed to do.
You spend more time talking crap rather than trying to learn and use it to write some non shitty code.
You should be thankful to the company for not firing you.1 -
To those of us who suffer from "Not invented here syndrome", I want you to ask yourself this question. If "reinventing the wheel is so valuable", would you re-implement the entire OSI stack?
No, as it would be a COMPLETE waste of time!!!
In all the layers below your application, several things related to how your code gets presented to your end-user are abstracted away from you. If you are able to accept that completely, why do you feel the need to re-implement every well-understood part of your particular project?
Cars, for example, are mostly made from standardized parts that solve well-understood problems. It then may have a few custom parts that may solve some novel problems to make it stand out from the rest.
Buildings are made completely from standardized parts, with regulations on how they are put together with some room for artistic flare.
If Software wants to be as equally respected as the rest, we need to get to that point.
DONT reinvent the wheel, just use battle-tested parts and just focus on what your project is trying to solve. It will be way more fruitful and fulfilling.
/rant6 -
I see that many junior level programmers are being given fairly large take home programming test/projects. I think that if you interview someone and check out their git hub or discuss some code together you should not need to also do a take home test. You don't have good interviewing skills and are making your company look bad. I also think it is an incinerate way to waste a candidates time.1
-
All summer I've been working at a company doing some full-stack development. Starting my last year in university, I really wanted some real life experience that ties into my studies.
I did not expect to find horrible, undocumented, code that has been written 5 years ago, where the senior developer who wrote it doesn't even know what it does. The worst part? They are STILL not documenting! I tried to document, but got this in return "you don't have to document everything. Especially if it is understandable". But they don't even understand their old code!
Monday morning, we had a meeting and they asked what I thought of working here, seeing as I am done this week. I respectfully told them that their code is not readable, and it will make it hard for new employees to understand. The boss in return says "you're the third newly hired employee this summer to say this... Maybe we do have a problem then"..
No shit. Please for the love of God, comment your code!2 -
MICROSERVICES ARE NOT A SUBSTITUTION FOR GOOD DEV PRACTICES, IF YOU WERE A WERECODER BEFORE MICROSERVICES, A MIGRATION WILL NOT TEACH YOU/YOUR TEAM HOW TO CODE.4
-
I hate how my work mates think coding in Java you automatically become cleaver than most people who code in another laugauge ..
The hate Python and JavaScript , c'mon guys just write your fucking project so long it works you dont have to make statements on how Java is great. . We all no. . Statements like Python is English anyone can write are not welcome7 -
as you guys know this is still related on my prev rants, today i just found out that we cant bring or use headphone while we are on our work stations and guess what you cant chat with your team mates too unless its official business regarding the project other topics such as hobbies or anything are not allowed and you will get reported to the boss...
like G*d dammit you cant code since everything is blocked.. you cant install dev tools and sh*t you cant browse any websites *good thing is the did not block this site.. so far* ... you cant talk... its just staring at the ceiling for 8 freaking hrs -_- someone pls kill me8 -
Risk is part of my everyday life.
I take the risk everyday when opening IDE and changing line of code that can either break database or crash other systems that are depending on one I am developing. ( not instantly but in some time in the future )
So....
Many years ago I was updating some application server production code while being drunk.
Everything went fine except me waking up in the morning and didn’t remember how I did it.
... what I learned from my developers life except that heavy drinking and updating servers is not the best idea ?
First, don’t give a fuck, do your job and ask questions even if the person in front of you said that understood everything and you think you understood all of shit.
Second, if you think you know what to do think twice.
Third, having any backup, any tests and any documentation is always better then having nothing.
And the most important.
The most risky in every business are people around you, so always have good people around and there would be no risk at all or you won’t even think about it.
✌🏽 ❤️ -
added a sixth point to "core principles" of the os/language i'm designing:
6. hard crash on as many errors as possible because programmers are retarded pieces of shit and fuck them from both sides at once with three baseball bats in each hole at the same time. either fucking write your program right or go fucking fuck yourself you fucking lobotomized incompetent pieces of shit.
because fuck this fucking bullshit. your lobotomy will either make the whole system crash or you'll learn to not be lobotomized you fucking retarded pieces of shit.
oh, and the error message is gonna be "OH NO! THE CREATOR OF [program name] IS A RETARDED LOBOTOMIZED MORON WHO CAN'T WRITE CODE FOR SHIT, so now he fucked up your whole system by his utter incompetence... Restarting..."1 -
Im taking an AP class for Java at my school. (AP is like an honors class). But there is an standardized test throughout the US that everyone takes. But it's so annoying because you are not allowed computers on the test so you have to HANDWRITE all of your code. So the way we "practice" for the test is in our class is we use a buggy ass program called greenfoot which is worse than writting in notepad because it crashes every 5 mins but only on Windows computers and since I go to a school and everyone it a retarded they all have Macs so my Windows laptop is a "non issue" like wtf. So now I just use intelij and tell the teacher to fix it but our school has a code where teachers are not allowed to touch laptops so he's just stuck right now.
Forgot to mention that the reason why we use greenfoot is because there is no auto fill features not even closing brackets automatically which "makes us learn better".
Also all of our tests are hand written which is annoying.3 -
To all devs who don't comment their Code
WHO THE FUCK SHOULD KNOW WHAT YOU INTENDED WITH YOUR FUCKING PIECE OF CODE
Well - I am one of you. I'm realy lazy in commenting. But it is very hard to understand a piece of code if you are not used to a complex architecture.
If there will ever be the chance of having another dev seeing your Code:
COMMENT IT1 -
Sometimes my hatred for code is so.. overwhelming that I think I need a sabbatical or should even stop altogether.
Let's face it. All code sucks. Just on different levels.
Want to go all bare metal? Love low level bit fiddling. Well, have fun searching for concurrency, memory corruption bugs. Still feel confident? Get ulcers from large C/C++ code base already in production, where something in the shared memory, function pointer magic is not totally right?
So you strive for more clean abstractions, fancy the high level stuff? Well, can you make sense of gcc's template error messages, are you ready for the monad, leaving behind the mundane everyday programmers, who still wonders about the scope of x and xs?
Wherever you go. Isn't it a stinking shit pile of entropy, arbitrary human made conventions? You're just getting more familiar with them, so you don't question them, they become your second skin, you become proficient - congrats you're a member of the 1337.7 -
It is ok to fail and commit mistakes, that's part of the game, specially for beginner devs. Just avoid failing alone, the most you can!
I mean:
- Ask people to review your code before pushing to the source repository.
- If you are not sure how to do, ask.
- Never work in production environments without supervision. Pair with someone.
- Have a desk mate for rubberducking (https://en.wikipedia.org/wiki/...) and blame it in case you need -
coding all day long and then realising that you haven't commented anything...
after all, deciding not to comment your code because you are lazy and sure that you will know what you did in every single line of code when you were writing it... and then 2-3 month later blaming yourself for not commenting when you have to fix bugs or rewrite the code! damn! -
I can't help it sounding bitter..
If you work some amount of time in tech it's unavoidable that you automatically pick up skills that help you to deal with a lot of shit. Some stuff you pick up is useful beyond those problems that shouldn't even exist in the first place but lots of things you pick up over time are about fixing or at least somehow dealing or enduring stuff that shouldn't be like that in the first place.
Fine. Let's be honest, it's just reality that this is quite helpful.
But why are there, especially in the frontend, so many devs, that confuse this with progress or actual advancement in their craft. It's not. It's something that's probably useful but you get that for free once you manage to somehow get into the industry. Those skills accumulate over time, no matter what, as long as you manage to somehow constantly keep a job.
But improving in the craft you chose isn't about somehow being able to deal with things despite everything. That's fine but I feel like the huge costs of keeping things going despite some all the atrocities that arose form not even considering there could be anything to improve on as soon as your code runs. If you receive critic in a code review, the first thing coming back is some lame excuse or even a counter attack, when you just should say thank you and if you don't agree at all, maybe you need to invest more time to understand and if there's some critic that's actually not useful or base don wrong assumptions, still keep in mind it's coming from somebody that invested time to read your code gather some thoughts about it and write them down for you review. So be aware of the investment behind every review of your code.
Especially for the frontend getting something to run is a incredibly low bar and not at all where you can tell yourself you did code.
Some hard truth from frontend developer to frontend developer:
Everybody with two months of experience is able to build mostly anything expected on the job. No matter if junior or senior.
So why aren't you looking for ways to find where your code is isn't as good as it could be.
Whatever money you earn on top of your junior colleagues should make you feel obligated to understand that you need to invest time and the necessary humbleness and awareness of your own weaknesses or knowledge gaps.
Looking at code, that compiles, runs and even provides the complete functionality of the user story and still feeling the needs do be stuff you don't know how to do it at the moment.
I feel like we've gotten to a point, where there are so few skilled developer, that have worked at a place that told them certain things matter a lot Whatever makes a Senior a Senior is to a big part about the questions you ask yourself about the code you wrote if if's running without any problems at all.
It's quite easy to implement whatever functionality for everybody across all experience levels but one of your most important responsibilities. Wherever you are considered/payed above junior level, the work that makes you a senior is about learning where you have been wrong looking back at your code matters (like everything).
Sorry but I just didn't finde a way to write this down in a more positive and optimistic manner.
And while it might be easy to think I'm just enjoying to attack (former) colleaues thing that makes me sad the most is that this is not only about us, it's also about the countless juniors, that struggle to get a food in the door.
To me it's not about talent nor do I believe that people wouldn't be able to change.
Sometimes I'm incredibly disappointed in many frontend colleagues. It's not about your skill or anything. It's a matter of having the right attitude.
It's about Looking for things you need to work in (in your code). And investing time while always staying humble enough to learn and iterate on things. It's about looking at you
Ar code and looking for things you didn't solve properly.
Never forget, whenever there's a job listing that's fording those crazy amount of work experience in years, or somebody giving up after repeatedly getting rejected it might also be on the code you write and the attitude that 's keeping you looking for things that show how awesome you are instead of investing work into understanding where you lack certain skills, invest into getting to know about the things you currently don't know yet.
If you, like me, work in a European country and gathered some years of industry experience in your CV you will be payed a good amount of money compared to many hard working professions in other industries. And don't forget, you're also getting payed significantly more than the colleagues that just started at their first job.
No reason to feel guilty but maybe you should feel like forcing yourself to look for whatever aspect of your work is the weakest.
There's so many colleagues, especially in the frontend that just suck while they could be better just by gaining awareness that there code isn't perfect.6 -
I see a lot of people ranting about programming exams on paper. I acknowledged that not having a texteditor is not ideal. But not having a compiler is essential in testing the students programming skills in the first few courses.To many students are completely dependent on the compiler.
Syntax:
Some students writing C++ code have to try to build their program as many times they have lines because of all the syntax errors they make. Why think about all the ; if your compiler will tell you where they are missing?
Computational thinking:
As a programmer you should be able to look at (your own) code and be able to tell what the result should be. Of course this has its limits, but in the small exam questions they get in the first few courses they should be able to do that. To many first year students write a for loop without thinking about the starting value and the end condition. With the repeated process of running the program, changing the starting value or the end condition randomly they eventually get to the loop they need.
I think people underestimate the value of an exam without being able to compile or run your program. But I like to hear your reactions. -
I thought the issue was mostly with people in tech. But I now believe, tech people are mostly misled to believing woke bullshit, world is all nice and clean, and made of unicorns.
I mean all these does make them smart enough to run/code the machines, be obedient mofo, but dumb enough not to ask questions.
Toughen up you mofos, harden up. Build and sell your own bullshit, than working for someone else. And being comfy and then being on the way to your death bed.
Especially young people.... Take risks rather than risking it to tooo late you mofos. If you have a scratch, do it early, before you end up being a slob.....5 -
Question for devs who work in large multi-team environments:
A) What is your code review process like? Does a senior review it once and then it's off to QA or do you have "levels" of approval?
B) If you're launching a feature that depends on another team how are you coordinating it? Do you just talk over a ticket and then hit merge and deploy at the same time or like what's your process like?
C) What CI/CD tool do you use? Also what code hosting platform do you use? Github/GItlab/etc.
D) Are you currently happy with the CI tool you're using? If not what are some common issues you're facing?5 -
If you don’t like to deal with lots of idiots and assholes before you find some decent project and coworkers.
If you don’t mind that half of people you work with have ‘God complex’ and other half want to tell you that it’s easy.
If you got yourself prepared that lots of managers will try to fuck you and treat you like shit in front of your coworkers.
Lots of things that you write would end up in trash cause of wrongly defined requirements.
There is high chance that at the end you will write some excel glue code.
If you are not naive materialistic bitch or you have not strong will to change jobs and don’t give a fuck about past until you find a dream company everyone is writing about in HR job descriptions.
Good Luck.2 -
That moment when you’re debugging, and you realize that your output files are not empty because your code isn’t working but because your code IS working... 😑
I changed the test files I was using so I wasn’t expecting that particular behavior. None of the input data met the requirements hence nothing was being written out. It wasn’t until I tried a larger test file that I realized my code was working.
A simple discussion with a teammate would have solved this. 👀😂 -
rust, where pressing autoformat won't format your code but will format your comments which are just there because you're trying to keep track of the data you're going to parse and now that shit is off the page motherfucker can you not5
-
I hate when programming books have shit code examples.
Just came across these, in a single example app in a Go book:
- inconsistent casing of names
- ignoring go doc conventions about how comments should look like
- failing to provide comments beyond captain obvious level ones
- some essential functionality delegated to a "utils" file, and they should not be there (the whole file should not exist in such a small project. If you already dump your code into a "utils" here, what will you do in a large project?)
- arbitrary project structure. Why are some things dumped in package main, while others are separated out?
- why is db connection string hardcoded, yet the IP and port for the app to listen on is configurable from a json file?
- why does the data access code contain random functions that format dates for templates? If anything, these should really be in "utils".
- failing to use gofmt
These are just at a first glance. Seriously man, wft!
I wanted to check what topics could be useful from the book, but I guess this one is a stinker. It's just a shame that beginners will work through stuff like this and think this is the way it should be done.3 -
When you hear “Haskell performance”, what comes to your mind? I was never really interested in Haskell since I had Clojure, and I thought Haskell might be slow.
Haskell with GHC is actually as fast as C or even faster. Haskell runs right on your hardware, no VM or interpreter.
When a program is small, the performance is comparable to C. Sometimes it’s quicker, sometimes not. But when a program is large, Haskell implementation would be faster if you’re not a robot that generates perfect C code.
It’s both very high-order AND very fast. You don’t need math to code in Haskell.
Too bad there are no kewl libraries.12 -
I feel like time is short.
Things about to get real.
Make sure essentials are stocked.
Stay away from DC.
Get right with whatever you believe in.
Help your neighbor.
I don't have a magic ball.
I don't know if things will be good or bad.
But change is upon on.
Ready or not.
I pray to God he forgives us.
I wish the hardest thing in life was writing code.
I wish the world I was taught about when I was young was the real world.
Maybe if things go well it could be.
Look up, pray, and realize you are not alone.
I shall not fear the dark of night,
nor the arrow that flies by day.
Cheers!2 -
- Dealing only with your own code
- Having enough time to improve and refactor your code whenever you want
- Bug reports are detailed af and not just like "doesn't work"
- Choosing the IDE (and OS maybe, too) by yourself
- Having enough time for bugfixes, implementations
- Software is ready, when you want it, not anyone else.
- Visiting trainings or seminars to improve your skills whenever you want
Yeah, that would be pretty awesome.3 -
Programmers are freaks with three limbs and square heads. During your fiery conference speech, as the crowd laughs, one filth, who is your manager, tells another filth, who is someone else’s manager: “Look, this is my mule. Can code many hours. Don’t has to pay many moneys. My mule is more good than your mule. In Bangalore, they ask very many moneys for this mule.”
And you know damn well that when in Bangalore they ask less, you’re gone in a flick of a pen. Your company sent you to give this talk. Meetup? No, just a freak show for mules. Is it a dick measuring contest for investors? No, not at all. As you speak, this filth is fucking his secretary in Aruba while his wife is dying of cancer in Miami. And the supreme filth, the one that has no eyes and no mouth? It grins. Go mule, spaces versus tabs. Vim versus Emacs. Linux versus macOS. Divide and conquer.1 -
If you are reviewing pull requests to your code base, what aspects do you focus?
I am asking, because a colleague of mine most of the time complains about minor code style issues, like the following:
"why is that method static, it belongs to the object. I am not used to static methods, please adjust"
"the methods are not arranged in a standardized breadth-first order"
"Please use that other kind of initialization..."
Those nit-picks make me crazy sometimes. Is it just me?
I mean, her reviews also contain valuable content, but those small complains about coding style feel like "I did not found anything else but I have to". ^^5 -
HTML Writers Guidelines
When designing your web site you want to make the visiting experience as enjoyable as possible and at the same time make it so that if the site needs to be changed in any way, the changes are not too difficult to make. You want the look to be as appealing as possible for all browsers and also make the site accessible to users with disabilities. In order to accomplish all this there are some general guidelines when creating your HTML code.
1. The first thing that will really make your life easier is through the use of Cascading Style Sheets (CSS) - CSS is used to maintain the look of the document such as the fonts, margins and color. HTML directly on the page is not a good choice to handle these aspects because if say, the font color you are using for certain paragraphs needs to be changed from blue to red, you would have to go in and change each color tag manually. By using CSS you can designate the color for each of those paragraphs just once in the CSS file. That way if you have to change the font color from blue to red you make one change instead of the countless number of changes you might have to make, especially if your web site contains hundreds of pages. This is a big time saver and a must for all professionally designed web sites.
2. Don't use the FONT tag directly in your HTML code - This becomes a problem when using some cheap authoring tools that try to mimic what a web page should look like by using excessive FONT tags and nbsp characters. These tools end up creating web pages that are impossible to keep maintained. There is a program you can use, if you've created one of these disaster pages, called the HTML Tidy Program which you can actually download here . This will clean up your code as well as possible.
3. You want your web pages readable to people who have disabilities - People who surf the Internet depend on speech synthesizers or Braille readers to interpret the text on the page. If your HTML markup is sloppy or isn't contained in CSS the software these people use to read pages have a difficult time in interpreting these pages. You should also include descriptions for each image on your page. Also, don't use server side image maps. If you are using tables you should include a summary of the table's structure and also associate table data with the correct headers. This gives non visual browsers a chance to follow the page as they go from one cell to another. And finally, for forms, make sure you include labels for form fields.
By following just these three guidelines you give your visitors, especially disabled visitors the best chance of having an enjoyable visit to your site while at the same time making it so that if you have to make changes to your site, those changes can be made easily and quickly.2 -
Code is poetry. Customer support is rap battle
You caps locking, hell knows what trying to compensate, little arrogant person who volunteers in Wordpress plugin review team, - learn some manners how to communicate with fellow human beings.
If you don't have patience for help - quit what you are doing and spend the rest of your life not dealing with people.
At least be professional enough to have email signature, and not look like some teenager wrote us back in a bus stop.
I hope your emails gave you confidence to keep such manners in real life and someone punches you in the face this Friday.1 -
Amother one:
Seconf CS101 class. We had to write a program that multiplies two parameters in a method.
I asked the tutor for help because it was my forst timr ever writimg code.
"ARE YOU FUCKING KIDDING ME? THIS IS BASIC STUFF YOU SHOULD ALREAEDY KNOW IN YOUR SLEEP. ANYMORE QUESTIONS? "
Went to the prpfessor and told him what kind of assholes are working for him. Found out that the tutpr is not tutoring anyone amymore because the found someone who is not an asshole.
College is fun.1 -
Craziest prep for interview :
Step 1 : Given sufficient time for the scheduled interview by any company, start by searching "How to prepare for Google interviews". Awe at the information before you and get all pumped up to jump in.
Step 2 : Starting with Algorithms, study each one and try not to mix any of them in confusion. In case you are stuck in whiteboard coding, close your eyes, take deep breath and visualize Don Kunth. If that doesn't help, well you are ruined anyway.
Step 3: Practice coding without internet connection, till you are able to write code while you talk about how the weather is really great today. Libraries and methods should flow like poetry. SO is sin.
Step 4: The X programming language which you added to your resume because you can write Hello World, head over to Wikipedia and read more about it just in case.
Step 5: Read some xkcd comics so you can impress the interviewer with some humor. You can try Dilbert too. -
Read a dev blog and do it on company time, you’re never going to catch up when you’re drowning in your own code. Take responsibility for your personal development, and take responsibility for setting your boundaries. If you do this you will benefit and so will the company. You are not helping by working after hours, you are simply establishing and reinforcing unrealistic expectations that will eventually result in failure.1
-
Java Life Rap Video
https://m.youtube.com/watch/...
SPOKEN:
In the cubicles representin’ for my JAVA homies…
In by nine, out when the deadlines are met, check it.
CHORUS:
We code hard in these cubicles
My style’s nerd-chic, I’m a programmin’ freak
We code hard in these cubicles
Only two hours to your deadline? Don’t sweat my technique.
Sippin’ morning coffee with that JAVA swirl.
Born to code; my first words were “Hello World”
Since 95, been JAVA codin’ stayin’ proud
Started on floppy disks, now we take it to the cloud.
On my desktop, JAVA’s what’s bobbin’ and weavin’
We got another winning app before I get to OddEven.
Blazin’ code like a forest fire, climbin’ a tree
Setting standards like I Triple E….
Boot it on up, I use the force like Luke,
Got so much love for my homeboy Duke.
GNU Public Licensed, it’s open source,
Stop by my desk when you need a crash course
Written once and my script runs anywhere,
Straight thuggin’, mean muggin’ in my Aeron chair.
All the best lines of code, you know I wrote ‘em
I’ll run you out of town on your dial-up modem.
CHORUS:
‘Cause…
We code hard in these cubicles
Me and my crew code hyphy hardcore
We code hard in these cubicles
It’s been more than 10 years since I’ve seen the 404.
Inheriting a project can make me go beeee-serk
Ain’t got four hours to transfer their Framework.
The cleaners killed the lights, Man, that ain’t nice,
Gonna knock this program out, just like Kimbo Slice
I program all night, just like a champ,
Look alive under this IKEA lamp.
I code HARDER in the midnight hour,
E7 on the vending machine fuels my power.
Ps3 to Smartphones, our code use never ends,
JAVA’s there when I beat you in “Words with Friends”.
My developing skills are so fresh please discuss,
You better step your game up on that C++.
We know better than to use Dot N-E-T,
Even Dan Brown can’t code as hard as me.
You know JAVA’s gettin’ bigger, that’s a promise not a threat,
Let me code it on your brain
WHISPERED:
so you’ll never forget.
CHORUS:
We code hard in these cubicles,
it’s the core component…of what we implement.
We code hard in these cubicles,
Straight to your JAVA Runtime Environment.
We code hard in these cubicles,
Keep the syntax light and the algorithm tight.
We code hard in these cubicles,
Gotta use JAVA if it’s gonna run right.
We code hard in these cubicles
JAVA keeps adapting, you know it’s built to last.
We code hard in these cubicles,
Robust and secure, so our swag’s on blast
CODE HARD1 -
My fellow devs, appreciate what you have right now, even if it doesn't seem that great. I've recently switched majors from Bioinformatics to Medicine and I wouldn't say I regret it, but I do certainly doubt this decision sometimes. While studying Bioinformatics, I was always really interested in the biological part, often wanting to learn more about medical topics and such, thinking if I did switch, I could always keep programming as a hobby. Now I did switch and I miss being in a professional CS field so much. Medicine is great, but the people who study are mentally completely different from people that code. I still code small projects on the side, but don't really have anyone to talk to about them and I'm even starting to regret not paying more attention in linear algebra. I miss linear algebra, think about how ridiculous that is haha. Anyways, if you are looking forward to a major change in your life, it might not be all that you think it will be. So look at your current situation, it might be what you wanted all along.
Thanks for listening.
.
.
.
Also it is incredible, how technologically incompetent most medical students are lol4 -
Ah, the ancient art of copy-paste development – where originality goes to die and bugs come out to play. It's like a cursed incantation that tempts even the best of us into the dark abyss of shortcuts.
You think you're saving time by copying that snippet from Stack Overflow, but little do you know, you've just invited a horde of gremlins into your codebase. Suddenly, your once-cohesive architecture looks like a patchwork quilt sewn by a drunkard.
And let's not forget the thrill of debugging when you realize that the copied code references variables that don't even exist in your context. "Ah, yes, I remember copying this gem at 2 AM. What could possibly go wrong?"
But wait, there's more! Copy-pasting also introduces a special kind of chaos when updates are needed. You find yourself fixing the same bug in five different places because you couldn't be bothered to encapsulate that logic in a reusable function.
So here's a heartfelt salute to all the copy-paste warriors out there, bravely navigating the treacherous waters of borrowed code. May your future coding endeavors involve more thinking, less CTRL+C, and a lot fewer late-night bug hunts!1 -
How on earth are you supposed to deliver a precise estimate of assignments, when your client wants the assignments estimated in parts, but youre not able to split it into parts because its a chain of assignments, that cant be split, like if one Thing succeeds then its possible to move on to next part? So many unknowns because you have to set time aside for unknown code behavior.. Sigh..1
-
Be humble. Nobody knows everything.
Keep learning: read books, take Pluralsight courses, go to meetups.
Write unit tests for your code. No really! Write unit tests for your code!
Learn what the SOLID principles are.
Your job does not define who you are, you define who you are.1 -
Me: *ask well detailed questions around Ruby on Rails and responses in JSON that won't fucking work because I don't know how to make it work my way*
Someone : *Answers*
Me: *tests the solution. Nothing works, his ruby syntax is from 1995, and it doesn't help me
Me: "Sorry but there's a syntax error in your answer, I don't know how to make your answer work. Plus, how should I edit my json.jbuilder file with your answer?
Dude: " I am not a RoR developer by trade, I just know how HTTP works :)"
WE ARE BOTH FUCKING LOOSING TIME HERE YOU FUCKING MORON
Same dude: " I don't see any of that in your code and I'm not sure what you want to edit? Seems to me like you don't really need to, but I'm not sure"
YOU ARE NOT A FUCKING ROR DEVELOPER, YOU SAID IT YOURSELF, SO WHY DO YOU KEEP BOTHERING?
(n.b. : I litteraly pasted his two last answer. Didn't edit anything) -
Avoid Jetbrains products if you value your sanity.
For the last several months, my settings and stored database credentials are wiped out at random. Meaning code styles, indention settings, keymaps, database settings, plugins, local change history, cache, all of it are reset to factory default at random, costing me hours trying to restore it all.
I've updated and it is still happening.
The moral of the lesson is to not pay for dev tools, lest you become reliant on them. You definitely don't get what you're paying for anymore.11 -
When people say they wish a language was more strict. I'm a fan of the loose lol.
Tried Python. Script failed due to indent not at right amount. Bye
C#/.NET... Typecasting out the a$$. Goodbye lol
PHP. Anything goes. Hello, this is my kind of world. Never had an issue with types but I write my code to handle values properly.
And I know people will have opposing views. However I will say that you can still achieve the strictness in PHP by putting in your own checks. Create a few custom functions to do your validations and you are good to go :)3 -
I see now that a few things that make programing seems so hard are;
1. Over thinking, over thinking will have you in a box not knowing where to start at times.
2. Procrastination, don't put off learning that concept or paradigm. A lot of stuff are interlinked or transferable regardless of language. So you don't need to lean it all but learn as much as you can.
1. Perfectionism, your code early on might just suck, and that's great cause then you can fix it and make it suck less. Nothing is perfect and they don't have to be in over to be good.
These are some of the things I wish I could go back and tell myself.4 -
"What the f, why isn't this Type or expression recognized?!" you think as you are writing your code.. and then you realize you're not inside a function.
I wonder how many times this has happened.2 -
Recently I have had to help our support team handle a variety of embedded development support tickets for a product line that is quite complex in nature. It is really starting become frustrating how common it is that the so-called “developers” that are using this product are so incompetent at requesting help in a proper/sane way. It is even more frustrating that some of these schmucks start acting up and stating bullshit statements like (para-phrasing) “OMG we have a ‘big opportunity’ and a deadline to meet”, “you need to help us faster”. These are also the same guys that are like “I know you have a free SDK that does everything correctly, but I want to write my own ‘pro’ driver written in my own ‘dumbass code style’. Oh and I am not going to follow documentation and not implement required functions and make you read my god awful code snippets to find out what I what I did wrong instead of reading the docs or comparing against the SDK.”
To anyone that behaves this way...fuck you! Just stop. Stop being a developer altogether. If your “opportunity” is so important, why the fuck are you half-assing your support ticket? Why are you making it SO DAMN DIFFICULT for someone to help support you! Give as much info as possible to prove your point or provide context to the problem you are having. In the majority of these tickets the dumbasses don’t even consider that relaying the product’s firmware version is relevant information, that a Wireshark (and/or logic analyzer) capture can be very useful to provide context to the type of operation being performed. Code snippets can be nice but only if there is sufficient context. We have had to ask one guy 3 times already for the FW version...what the flipping hell is wrong with you?!
Ug...I feel sorry for Support/FAEs sometimes dealing with customer bullshit drives me nuts and its a shame this stuff happens in a sector that should know better...Please don’t be like these devs. If you make a half-assed request it is only reasonable to expect a half-assed response and nothing more. -
For coding advice
Don't stop thinking
Keep asking how and why a thing works
Learn the logic
Pick any one language
Write some code, do mistake, fix, learn and repeat
Do keep a balance of coding and real life ,playing games are necessary
Do exercise as well....
Maybe some more things we can , but most important is
Do what you love not what others love.
It's your life live and code your way... -
A philosophical question about maintenance/updating.
There is no need to repeat the reasons we need to update our dependencies and our code. We know them/ especially regarding the security issues.
The real question is , "is that indicates a failure of automation"?
When i started thinking about code, and when also was a kid and saw all these sci fi universes with robots etc, the obvious thing was that you build an automation to do the job without having to work with it anymore. There is no meaning on automate something that need constant work above it.
When you have a car, you usually do not upgrade it all the time, you do some things of maintance (oil, tires) but it keeps your work on it in a logical amount.
A better example is the abacus, a calculating device which you know it works as it works.
A promise of functional programming is that because you are based on algebraic principles you do not have to worry so much about your code, you know it will doing the logical thing it supposed to do.
Unix philosophy made software that has been "updated" so little compared to all these modern apps.
Coding, because of its changeable nature is the first victim of the humans nature unsatisfying.
Modern software industry has so much of techniques and principles (solid, liquid, patterns, testing that that the air is air) and still needs so many developers to work on a project.
I know that you will blame the market needs (you cannot understand the need from the start, you have to do it agile) but i think that this is also a part of a problem .
Old devices evolved at much more slow pace. Radio was radio, and still a radio do its basic functionality the same war (the upgrades were only some memory functionalities like save your beloved frequencies and screen messages).
Although all answers are valid, i still feel, that we have failed. We have failed so much. The dream of being a programmer is to build something, bring you money or satisfaction, and you are bored so you build something completely new.13 -
Dear frontend dev,
if you can't check whether a variable is defined or not, why do i have to change the back end to accept urlparam='undefined' as valid and replace it with your default value in my backend? Why are you afraid of 40X's? You should be interested in the bugs of your code.
It feels awful to have a middleware in place catching all errors and replacing them with empty 200 responses 😭. All of this because you don't fucking ensure your variables exist before use.3 -
Ah, the Sunday start. It’s like being in a parallel universe where the week starts a day early. You walk into the office on a Sunday morning, while the rest of the world is still in weekend mode. The streets are quiet, and there’s a peacefulness in the air that’s in stark contrast to the hustle and bustle inside your office.
Your inbox is already filling up, and it feels like Monday came early. The code you left on Thursday, which was working perfectly, now seems to have developed a mind of its own.
And then there are the meetings. It seems like everyone saved their most pressing issues for Sunday, and your calendar is filled with back-to-back appointments.
But despite the challenges, there’s something uniquely satisfying about being ahead of the curve. While everyone else is still enjoying their weekend, you’re already gearing up for the week ahead. It’s not always easy, but it’s definitely an adventure.
So here’s to all the Sunday warriors out there. May your code always compile, your inbox be manageable, and your coffee be strong.2 -
Ubuntu 🤬
only releasing amd64 image !! , supporting an instruction set architecture does not mean code is optimised for other microarchitecture
i thought linux distributions are do less and do way better than others, so why so much bloatware!!!.
ideally best way is to compile your own kernel and add minimal gui support as required, too much work !!!
also just a heads-up if you are using Catalina use virtual-box 6.0.22
also vivado 2019.2 is suable with ubuntu 18.04 + lightdm , remove that gnome shit15 -
Well not like friends as such but kinda of get people respect when you are good at it.
It was during 12th Grade while working on our project for the year , everyone had some kind of doubt and you know the Teacher is not always free to help every one so after looking at what me and my friends were creating she said approach them for your doubts.
Well I can be a prick sometime if I want to be mostly because you are writing bad code or your facts are wrong hence not a lot of them used to like , like me.
But after that they had no option hence felt pretty badass after that.
And like not that I was criticizing them but it you don't want to learn then please solve your own doubts yourself.
Maybe I was wrong to you know to teach everyone. but well that's me do it right else don't do it. -
"Debugging is similar to being a detective in a murder mystery when you are also the killer and are unsure of whether you are resolving the case or hiding your traces!!".
But seriously, why does debugging have to be so challenging at times? It appears as though the code is attempting to trick us in some way. And let's not even talk about those mysterious error messages that have no meaning at all. Is a bit more explanation necessary, code? Give us a break, please!2 -
Fuck you, BouncyCastle. I really like you but the way you have documentation. It's annoying. Nice name. Cool project.
Here, I'm write Java Docs for JUnit tests! For every damn test case!
So damn less documentation even SO said mind your own business! It's been more than 15 hrs. Not a single reply! I died a little today. They have examples but they are not really "examples". No passion at all for documentation!
You should watch and learn from AssertJ docs. OMFG @joel-costoglia sets standards for code style and docs before pull requests. The examples are LOTR themed for god's sake. I'm not asking for fluent API. I just want docs. What class does what. A simple program structure required.
Dyn4j, deeplearning4J have wonderful docs. Why not BouncyCastle?!!!!! -
What I just had to learn again, if you are the one who brings in (quality) standards in group tasks (like everybody does his stuff until day x, specify image sources, not only Wikipedia Copy & Paste), you are with a 95% probability also the one who more or less works alone on it at the end.
(Works the same with group coding projects where the one person in your group that's able to code relies on you doing most of the work because that person is lazy playing games) -
Dear teammates!
I'm so proud I have you. You're the incredible professionals. Your efforts and your desire keep us on the track even at the toughest moments.
It's a honor to be this team's leader.
I bagging you. Do not ever fucking think you are able to make design decisions on your own!
I'm tired to toes of that shit you submit for code review every fucking day!!! -
Critical Tips to Learn Programming Faster Sample:
Be comfortable with basics
The mistake which many aspiring students make is to start in a rush and skip the basics of programming and its fundamentals. They tend to start from the comparatively advanced topics.
This tends to work in many sectors and fields of Technology, but in the world of programming, having a deep knowledge of the basic principles of coding and programming is a must. If you are taking a class through a tutor and you feel that they are going too fast for your understanding, you need to be firm and clear and tell them to go slowly, so that you can also be on the same page like everyone else
Most often than not, many people tend to struggle when they reach a higher level with a feeling of getting lost, then they feel the need to fall back and go through basics, which is time-consuming. Learning basics well is the key to be fast and accurate in programming.
Practice to code by hand.
This may sound strange to some of you. Why write a code by hand when the actual work is supposed to be done on a computer? There are some reasons for this.
One reason being, when you were to be called for an interview for a programming job, the technical evaluation will include a hand-coding round to assess your programming skills. It makes sense as experts have researched and found that coding by hand is the best way to learn how to program.
Be brave and fiddle with codes
Most of us try to stick to the line of instructions given to us by our seniors, but it is extremely important to think out of the box and fiddle around with codes. That way, you will learn how the results get altered with the changes in the code.
Don't be over-ambitious and change the whole code. It takes experience to reach that level. This will give you enormous confidence in your skillset
Reach out for guidance
Seeking help from professionals is never looked down upon. Your fellow mates will likely not feel a hitch while sharing their knowledge with you. They also have been in your position at some point in their career and help will be forthcoming.
You may need professional help in understanding the program, bugs in the program and how to debug it. Sometimes other people can identify the bug instantly, which may have escaped your attention. Don't be shy and think that they'll make of you. It's always a team effort. Be comfortable around your colleagues.
Don’t Burn-out
You must have seen people burning the midnight oil and not coming to a conclusion, hence being reported by the testing team or the client.
These are common occurrences in the IT Industry. It is really important to conserve energy and take regular breaks while learning or working. It improves concentration and may help you see solutions faster. It's a proven fact that taking a break while working helps with better results and productivity. To be a better programmer, you need to be well rested and have an active mind.
Go Online
It's a common misconception that learning how to program will take a lot of money, which is not true. There are plenty of online college courses designed for beginner students and programmers. Many free courses are also available online to help you become a better programmer. Websites like Udemy and programming hub is beneficial if you want to improve your skills.
There are free courses available for everything from [HTML](https://bitdegree.org/learn/...) to CSS. You can use these free courses to get a piece of good basic knowledge. After cementing your skills, you can go for complex paid courses.
Read Relevant Material
One should never stop acquiring knowledge. This could be an extension of the last point, but it is in a different context. The idea is to boost your knowledge about the domain you're working on.
In real-life situations, the client for which you're writing a program for possesses complete knowledge of their business, how it works, but they don't know how to write a code for some specific program and vice versa.
So, it is crucial to keep yourself updated about the recent trends and advancements. It is beneficial to know about the business for which you're working. Read relevant material online, read books and articles to keep yourself up-to-date.
Never stop practicing
The saying “practice makes perfect” holds no matter what profession you are in. One should never stop practicing, it's a path to success. In programming, it gets even more critical to practice, since your exposure to programming starts with books and courses you take. Real work is done hands-on, you must spend time writing codes by hand and practicing them on your system to get familiar with the interface and workflow.
Search for mock projects online or make your model projects to practice coding and attentively commit to it. Things will start to come in the structure after some time.4 -
So at the moment, I'm currently reviewing the API specifications that got written up as the other developers haven't bothered to update it themselves. When you think about it, that's kind of dumb. If you are in charge of a particular function, it should be your responsibility to maintain documentation.
Anyway I'm cross referencing to what I see that has been done in the source code and finding way too many inconsistencies across specifications and implementations. Even parts where they have the exact same data, the structures are completely different. Or some parts have been documented but are not in the implementation, or vice versa. SO I can't tell which is the correct one! -
When you work on a project for months, the newly appointed tech lead says "we all (him, the boss and other colleagues not involved in this project) looked at your code and decided that it should be dropped and we are starting from scratch again....now I'm not against code review (which we never did) so I welcome the input but allow me to vent my frustrations about how this is being done. Also to have a review & verdict without me being present?
So I ask what was so wrong:
* You changed the database structure. Valid, I tried to make your db an actual db with relationships, so I added some foreign keys, delete fields that were never used, all because they told me to use an ORM.
* You used to much logic in setters, validation etc, valid again but this would be something we could look at and fix imho.
* You are passing classes in your constructor, valid I wanted to use DI to make unit testing possible. Ohh but I don't like unit testing so I don't see the point and it makes it to complicated was the response.
So not only was the project cancelled, the new iteration is being developed without me, I'm shunned from all meetings. Ohh and from what I see they are now using 5 tables instead of 25 and completely started the db model from scratch...5 -
For those who are on my team, arguing on not putting comments in their code:
How much ever (un)readable your code is, any peer / reviewer / future team member can only understand what that code snippet is doing, but not why was it written in the first place or what the hell you were thinking while writing that logic. So, it'll be awesome if you write that as comments or at least link to the story/design doc which warranted that code.3 -
Man people posting video of them copying code from code pen and say it’s their most creative login form so far
Like you can say today I’m gonna show you some code I found, but saying it’s your own code is just pure dumb, you are not that creative, you are dog shit1 -
I am that kind of a person who writes the function of each function() in comments above the def.
I hat people who do not do that properly :/
If you are working as a part of a team or wanting to distribute your code, you should do that. :)2 -
How does your organisation and team balance PR comments demanding changes and dev time?
Here, while fixing PR comments we sometimes end up wasting as much time as we took in actually developing the feature... As a result, almost every major user story overshoots the estimation and almost every sprint gets delayed.
Yes, to each his own; but talking in general, why do you think this time wasting happens?
Do you think that happens because some of us are not as experienced as the others, the existing code not being up to the mark giving a bad example, or just a skewed review process?2 -
If you have to fucking complain about how people are creating too many issues on your repo and why the internet needs to stop bothering you for your code, just privatize the fucking repo or delete it. For fucks sake, it’s probably for the betterment of the internet to not waste our time trying to get your shitty fucking code to work. Your repo is trash. Nobody has time to read the 5000 issues that detail the lore and history of your piece of shit project. Just fucking close it, stop trying to hold on to shitty stuff.11
-
I'm working in a project that seems to be like a Multiplayer Tetris of Little Poo:
- figure out what the heck you have to code, because there is no debugging, the deploy to your devenv takes ages, the documentation does not exist or is unreadable, plus you are new and you are in a different timezone
- once you have your code, slowly pass the reviews of your remote team that will complain for every little extra line you've added for readability, slowly converting your code into a poo-like form, until it is completely shaped as shit
- repeat steps 1-2 until you pass the linter
- the carefully place your shit-shaped-code in the right place of the pile of shit
- wait for someone else to complain (like 'please rebase' 'new lint rule please fix' - oh, did I mention that? lint rules do not match between local, review and deploy?
- repeat from step 1 until you quit your job (which will happen in a few weeks) -
Hi guys, If you are front end dev (especially react dev) please read this and share your thoughts.
I recently started with react.js. But I didn't like the idea of nesting components. I know this is too early to talk about it. I'm not halfway through tutorials. But I'm loosing motivation to learn react.js
This never happened to me. I learned few frameworks in past. Django and codeigniter. They follow MVC/MVT architecture. And writing code in it looks cleaner and simpler.
In react JSX is confusing at first. You have to read same line twice or thrice to understand. I'm not saying JSX is bad, but it's not readable enough.
In early lessons I learnt that in react everything is component. And every component comes under one root component. Don't you guys think this well get messy for large application. You are dealing with number of nested components from one file into another.
I'm not against react. But the way react is forcing you to write code, is not something I enjoy. Let me know your thoughts. Maybe I'll get some kinda booster to continue react.1 -
Please Google fix my Chromebook's new tab screen as well as stop screwing up every single screenshot extension. I can't directly upload screenshots slowing down skype meetings. Why are you doing this to me? Your product forums (https://productforums.google.com/fo...) are treating me like I am an old lady who doesn't know what they are talking about. I do not understand what's so hard to comprehend. 1 Google Support Chat, 2 Feedbacks, 1 Debug Log Sent, Screenshots and everything yet you still fail. I have provided significant proof that there is an issue caused by you. Now please fix it because I can't since the Chromebook disables all code not signed by Google (unless you are in dev mode aka annoying screen + lose all security). You guys like hate me or something :(
-
For every one that thinks that if you use try/catch on everything make your code all errors desapiring you are living a lie!! They still exist now if the users see or not it depends on what you put inside the catch
-
I just want to rant about my teacher who did not teach us on software engineering principles especially on version control and how we handle our code.
[This is Tl;dr section so I won't take your time to read] I just want your advice or opinions on students required to learn version control.
Now that there are many freshmen in our school, I want to teach them the very basics on version control. Our flaws as a group, when we are in developing our project is, there's only 1 person who handles all of the code and that's not very effective, the others were busy on the documentation and project management but not the code that the person wrote. I can relate to that person but I'm actually doing other task and review it. My group mates didn't review my code because it was written in Ecma Script(I refer to them as javascript). I put comments on every functions, conditions, and variables so that they could understand, but they don't.
So If you have any ideas please reply. I will read them and evaluate. -
Not exactly a tip but do you know an app for quick-testing your skills in js, for intermediate-level, but with questions that are not too complicated (not code golf, though I like that too) so one can use it when commuting for instance ?1
-
Low code from a developers perspective:
- it's like of someone cut off my legs from the knees down, because it's too complicated, and told me to pole vault. Crappy prosthetic sold separately, and it's charged per prosthetic.
-imagine using MS Word, but you had to, search for a word by typing it in, drag and drop each word, and you are not allowed to use bigger words or images without paying for a licence.
And to those who say this is the future, try using it for a month. Guarantee you will change your tune.3 -
Is this a justified code review comment or a bully?
Code reviews are weakness of this industry which has the potential to attract bullies. Abuse of the comment box in a pull request and bombarding the employee with hundreds of comments can cause stress, frustration, burnout and finally resignation and costs of fulfillment for the organization. While companies should find and stop bullying in the work place, what kind of code review comment is considered a bully and why? Any of below traits can mean you are dealing with a bully:
1. Claims the code needs to be changed but doesn't say how. So no matter how many times you change your code, he can repeat the same comment: "Your code is still bad due to blah blah and it needs to be changed".
2. Provides how the code should be changed, but the change doesn't add up to quality, security, performance, readability, etc. i.e. "Why did you use a for loop here? Use a while loop instead". Or "Why did you write it using three classes A, B and C? Instead write it using 4 classes D, E, F and G which does blah blah". In the later case, not following the review comment, you won't get approval. Following the comment means you need to rewrite your whole code. After which, you might again receive more comments to change other parts of your code!
3. Claims the requested change is due to standards but claimed standard does exist anywhere. Internet, company wiki, university course books, anywhere. In more severe cases of psychopathy, the bullying person refers you to a link which hours later turned out to be written by himself! Have fun describing what has happened to your manager or team leader... .
4. Asks the code to be changed in a way that supposedly is closer to standard or of better quality, security, performance, etc. But the proposed way will not work and is the main reason you didn't do that in the first place. So you start arguing forever in the comment box over why his method won't work!
If you cannot see any of the above traits, then keep calm, take a breath, fix your code. Otherwise you might be victim of a bully.3 -
You have coworkers who talk to code everyday. There are times you are looking at code that you just want to scream at... but it's not your style.