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 - "important 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 -
Got a phone interview for a backend dev job in an opsec company.
Interviewer:
This is a very serious and prestigious position, we take care of the most important bits of code.
*Proceeds to talk introductory nonsense*
Interviewer:
Do you know what a DNS is?
Me:
Yes, of course! DNS stands for Domain Name System.... Blah blah blah... I explain about the servers, about hosts file, about DNS spoofing and everything else possible on this topic.
Interviewer:
See, I was patient with you - letting you finish. I'm not sure what you're talking about and where you got it from, but a DNS is that line in the browser where you type the site's name.
He didn't ask any more questions, just told me that they'll get back to me. I asked not to do that.
Three weeks later I got an email claiming that I'm not qualified.44 -
The beginning of my freelancing time. I was so naive. Didn't even used contracts...
This one client wanted a website with 2 specific features until a certain time. It should look nice, but only the features functionality was defined. All seemed reasonable at first.
I delivered 2 weeks before the deadline. The client was furious, as it didn't look like they imagined. They wrote me 8 lengthy emails with very fractioned feedback. It was becoming unreasonable.
But hey, I'm a newbie in this business. I have to make myself a name, I thought.
Oh was I naive....
This whole project went on for 2 more months. The client was unhappy with every change and 2-5 emails a day with new demands were coming in. I was changing things they wanted done 2 days ago, because they changed their mind.
Then they started to get personal. They were insulting me and even my family. My self-confidence dropped to an all-time low.
In the end I just sent them all the code for free and went to therapy.
BTW: this was also my most important experience, as things went up hill from then on. As Yoda once said: The greatest teacher, failure is.8 -
Le monday morning after a commit on sunday evening...
PM: BLAAAH!!!! Your commit broke the site, nothing is working!!!!!!
Me: What? All of tests passed (coverage 95%), no issues were found.
PM: NOO!!!! Site is broken, we can't use it no more!!!
Me: Ok, what's the problem?
PM: I've tried to enter -10021 into this field on that page and it gived me an error.
Me: Ok? So, that single page is broken?
PM: No, whole site!!!! This is important
Me: Sure... Let me take a look
* PM tried to enter a negative value into an unsigned field that I've mutated yesterday after checking LIVE database if there was no records with negative value. Reason: we've hit an int limit and there was no chance that the value would be negative. Validation? Well, yes.... Except that page was added by him this morning without even checking everything else *
Me: Here, this is the issue, *gives explanation*
PM: Well.... You shouldn't do this. This is unacceptable. You must never leave int fields without negative values. Didn't they teach you in school that integers can be negative?!
Me: What? *consufed as hell*
PM: *More morale... blah blah blah....* Revert it back!
Me: Ok but if anything else breaks, copy of this slack conversation will be kept.
PM: Don't care! Fix it!
Me: * Reverts the fix, saves chat copy * - Done.
PM: Great.
* 5 wild minutes later *
PM: BLAAAH!!!! Site is down, service is not working, what have you done?
Me: Reverted the change needed for it to work. Todays schedule is full with other important tasks. * pastes a screenshot as a proof that he asked me to do this *
PM: FIX IT NOW! Apply your fix.
Me: You're the PM. - Done.
PM: Great, now I'll fix my code. You should be more careful next time.
Me: * YOU DENSE MATHA...KER * Sure.
How's your morning going? :)9 -
Me, a junior dev: * reports an important issue and a possible fix *
Senior dev 1: nah, it'll do just fine.
Senior dev 2: that won't be an issue, don't you see? It's under control, man.
Senior 3: why are you even here? Why are you even talking?
Manager: yeah, what could possibly go wrong?
* a year after releasing the product, one of the seniors got fired and another one was hired *
New senior: this thing is bananas, code is inconsistent and there's memory leaks everywhere, how does that even work?
Me: nobody believed me when I said that.
Manager: it did work very well, where's the issue?
Me: it's everywhere, goddammit! Don't you see?
New senior: junior dev is right.
Me: I've been a WHOLE YEAR saying that!
Manager: did you? Really? Nah, you didn't.
...
I'm tired of this shit.15 -
I was newly hired to company. A customer came in yelling saying "there's a bug, this should do this but it's doing that..."
PM came to me and told me to "urgently fix this as this is an important customer".
So I started debugging for hours and asking around and all follow devs agreed that this is a bug. Then I found it!! And it was clear that it was not doing what the customer wanted.
I decided to look through this code history and found out that this part of the code wasn't changed for a year but the code commited before it did actually what the customer was expecting (whaaaa....)
Gathered the devs and the PM showing them what I found. They all looked at each other and then one said "ouuhhh right...yes it was doing this but we changed it to that..."
Turns out it's a feature not a bug, and everyone forgot about it.
FML8 -
CW: The SQL injection vulnerability isn't important because our code is proprietary so hackers won't find it.
Me: <censored>7 -
0. Plan before you code. Document everything. You won't remember either your idea or those clever implementations next week (or next month, or next year...).
1. Don't hack your way through, unless that's what you intend to do. Name your variables, functions etc. neatly: autocomplete exists!
Protip: Sometimes you want to check a quick language feature or a piece of code from one of your modules. Resist the urge to quickly hack in the test into your actual project. Maintain a separate file where you can quickly type in and check what you're looking for without hacking on your project (For example, in Python, you can open a new terminal or IDLE window for those quick tests).
2. Keep a quiet environment where you can focus. Recommend listening to something while coding (my latest fad is on asoftmurmur.com). Don't let anything distract you and throw your contextual awareness out of whack.
3. Rubber ducks work. Really. Talking out a complex piece of logic, or that regex or SQL query aids your mind greatly in grasping the concept and clearing the idea. Bounce off code and ideas with a friend or colleague to catch errors and oversights faster. Read more here: https://en.wikipedia.org/wiki/...
4. Since everyone else is saying this (and because it merits saying), USE VERSION CONTROL. Singular most important thing to software development aside from planning and documenting.
5. Remember to flout all of the above once in a while and just make a mess of a project where you have fun throwing everything around all over the place. You'll make mistakes that you never thought were possible by someone of your caliber :) That's how you learn.
Have fun, keep learning!3 -
Boss: "Here's our new intern! He's a bloody genius doing apps! Perfect for that important project that shouldn't be trusted to an intern!!"
*takes intern 9 weeks to do a login view without any real backend*
Turns out the guy couldn't do shit but steal others code and change background color.
Boss: "He wasn't very good..."
Me: "You interview him. How about you bring a developer to the interview next time..."
Boss: "Doesn't matter. The app needs to be done the day after tomorrow, good luck"
Me: "............"
*puts on coffee, cries, programs the app in miserable silence*11 -
string excuses[]={
"it's not a bug it's a feature",
"it worked on my machine",
"i tested it and it worked",
"its production ready",
"your browser must be caching the old content",
"that error means it was successful",
"the client fucked it up",
"the systems crashed and the code got lost" ,
"this code wont go into the final version",
"It's a compiler issue",
"it's only a minor issue",
"this will take two weeks max",
"my code is flawless must be someone else's mistake",
"it worked a minute ago",
"that was not in the original specification",
"i will fix this",
"I was told to stop working on that when something important came up",
"You must have the wrong version",
"that's way beyond my pay grade",
"that's just an unlucky coincidence",
"i saw the new guy screw around with the systems",
"our servers must've been hacked",
"i wasn't given enough time",
"its the designers fault",
"it probably won't happen again",
"your expectations were unrealistic",
"everything's great on my end",
"that's not my code",
"it's a hardware problem",
"it's a firewall issue",
"it's a character encoding issue",
"a third party API isn't responding",
"that was only supposed to be a placeholder",
"The third party documentation is wrong",
"that was just a temporary fix.",
"We outsourced that months ago.","
"that value is only wrong half of the time.",
"the person responsible for that does not work here anymore",
"That was literally a one in a million error",
"our servers couldn't handle the traffic the app was receiving",
"your machines processors must be too slow",
"your pc is too outdated",
"that is a known issue with the programming language",
"it would take too much time and resources to rebuild from scratch",
"this is historically grown",
"users will hardly notice that",
"i will fix it" };11 -
"You mean to tell me that you deleted the class that holds all our labels and spin boxes together?" I said exasperatedly.
~Record scratch.mp3
~Freeze frame.mp4
"You're probably wondering how we got to this stage? Let's wind back a little, shall we?"
~reverseRecordSound.wav
A light tapping was heard at the entrance of my office.
"Oh hey [Boss] how are you doing?" I said politely
"Do you want to talk here, or do you want to talk in my office? I don't have anyone in my office right now, so..."
"Ok, we can go to your office," I said.
We walked momentarily, my eyes following the newly placed carpeting.
Some words were shared, but nothing that seemed mildly important. Just necessary things to say. Platitudes, I supposed you could call them.
We get to his office, it was wider now because of some missing furniture. I quickly grab a seat.
"So tell me what you've been working on," I said politely.
"I just finished up on our [project] that required proper saving and restoring."
"Great! How did you pull it off?" I asked excitedly.
He starts to explain to me what he did, and even opens up the UI to display the changes working correctly.
"That's pretty cool," admiring his work.
"But what's going on here? It looks like you deleted my class." I said, looking at his code.
"Oh, yeah, that. It looked like spaghetti code so I deleted it. It seemed really bulky and unnecessary for what we were doing."
"Wait, hold on," I said wildly surprised that he thought that a class with some simple setters and getters was spaghetti code.
"You mean to tell me that you deleted the class that organizes all our labels and spin boxes together?" I said exasperatedly.
"Yeah! I put everything in a list of lists."
"What, that's not efficient at all!" I exclaimed
"Well, I mean look at what you were doing here," he said, as he displays to me my old code.
"What's confusing about that?" I asked politely, but a little unnerved that he did something like this.
"Well I mean look at this," he said, now showing his "improved" code.
"We don't have that huge block of code (referring to my class) anymore filling up the file." He said almost a little too joyously.
"Ok, hold on," I said to him, waving my hand. "Go back to my code and I can show you how it is working. Here we are getting all the labels and spin boxes into their own objects." I said pointing a little further down in the code. "Down here we are returning the spin boxes we want to work with. Here and here, are setters so we can set maximum and minimum values for the spin box."
"Oh... I guess that's not that complicated. but still, that doesn't seem like really good bookkeeping." He said.
"Well, there are some people that would argue with you on that," I said, thinking about devRant.
He quickly switches back to his code and shows me what he did. "Look, here." He said pointing to his list of lists. "We have our spin boxes and labels all called and accounted for. And further down we can use a for loop to parse through them."
He then drags both our version of the code and shows the differences. I pause him for a moment
"Hold on, you mean you think this" I'm now pointing at my setters "is more spaghetti than this" I'm now pointing at his list of lists.
"I mean yeah, it makes more sense to me to do it this way for the sake of bookkeeping because I don't understand your Object Oriented Programming stuff."
...
After some time of going back and forth on this, he finally said to me.
"It doesn't matter, this is my project."
Honestly, I was a little heart broken, because it may be his project but part of me is still in there. Part of my effort in making it the best it can be is in there.
I'm sorry, but it's just as much my project as it is yours.16 -
Here's my piece of advice for new devs out there:
1 - Pick one language to learn first and stick with it, untill you grasp some solid fundamentals. (Variables, functions, classes, namespaces, scope, at least)
2 - Pick an IDE, and stick with it for now. Don't worry about tools yet. Comment everything you're coding. The important thing is to comment why you wrote it, and not what it does. Research git and start using version control, even when coding by yourself alone.
3 - Practice, pratice and pratice. If you got stuck, try reading the language docs first and see if you can figure it out yourself. If all else fails, then go to google and stackoverflow. Avoid copying the solution, type it all and try to understand it.
4 - After you feel you need to go to the next level, research best practices first, and start to apply them to your code. Try to make it modular as it grows. Then learn about tools, preprocessors and frameworks.
5 - Always keep studying. Never give up. We all feel that we have no idea of what we are doing sometimes. That's normal. You will understand eventually. ALWAYS KEEP STUDYING.9 -
Me: code quality is important
Everyone: <no shit given>
Director: code quality is important
Everyone: yes, it is very important, hurray!
Fast forward few weeks/months...
Me: why this function accepts 14 arguments?
ShitDev: yhm, you know, we need to fix it... maybe
Me: why this exception is swallowed?
ShitDev: oh, really? yhm, yhm
Me: why this function is copy-pasted and repeated (20 LoCs)?
ShitDev: yeah, true, but we wanted to make it fast.
Me: Dear director, this project sux and its quality is shit.
Director: you're exaggerating, it can't be that bad, it works, right?
Me: <polishing CV>
ShitDev: got praised for delivery14 -
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
-
Today I felt sorry for my boss.
Story behind it:
My boss always encourages me to do the right thing. One of those right things is to enforce quality gates in our build pipelines which, as many of you know, means that the build fails if certain quality parameters are not met. Now an external vendor team merged the code this past thursday for a large feature that they had been working on and our build failed majestically throwing out the statistics and the offending files and lines of code.
All hell broke loose and there were escalations and what not and people working extra hours and over the weekend to try and get it right. So, I get a call from my boss earlier today to explain to me how important it is to release the feature and how it's going to be very bad if we don't. He was trying to justify his ask which was to lower the quality criteria and let the build pass for this week. Of course the dev in me was furious but then I realized it's not him but the corporate culture. Why would he or anyone would risk losing their jobs over the quality of code?
If you work at a place where IT is a support function of the company's primary business, I understand the moral compromises you guys have to make sometimes to keep the ball rolling. Thank you for your effort to make the world a better place.
So, thank you boss for all your support. I know it's not always up to you to decide on things but keep up the good work.4 -
THIS is why unit testing is important, I often see newbs scour at the idea of debugging or testing:
My high school cs project, i made a 2d game in c++. A generic top down tank game. Being my FIRST project and knowing nothing about debugging or testing and just straight up kept at it for 3 months. Used everything c++ and OOP had to offer, thinking "It works now, sure will work later"
Fast forward evaluation day i had over 5k lines of code here, and not a day of testing; ALL the bugs thought to themselves- "YOU KNOW WHAT LETS GUT THIS KID "
Now I did see some minor infractions several times but nothing too serious to make me refactor my code. But here goes
I started my game on a different system, with a low end processor about 1/4 the power of mine( fair assumption). The game crashed in loading screen. Okay lets do that again. Finally starts and tanks are going off screen, dead tanks are not being de-spawned and ended up crashing game again. Wow okay again! Backround image didn't load, can only see black background. Again! Crashed when i used a special ability. Went on for some time and i gave up.
Prof saw the pain, he'd probably seen dis shit a million times, saw all the hard work and i got a good grade anyways. But god that was embarrassing, entire class saw that and I cringe at the thought of it.
I never looked at testing the same way again.6 -
fork() can fail: this is important
Ah, fork(). The way processes make more processes. Well, one of them, anyway. It seems I have another story to tell about it.
It can fail. Got that? Are you taking this seriously? You should. fork can fail. Just like malloc, it can fail. Neither of them fail often, but when they do, you can't just ignore it. You have to do something intelligent about it.
People seem to know that fork will return 0 if you're the child and some positive number if you're the parent -- that number is the child's pid. They sock this number away and then use it later.
Guess what happens when you don't test for failure? Yep, that's right, you probably treat "-1" (fork's error result) as a pid.
That's the beginning of the pain. The true pain comes later when it's time to send a signal. Maybe you want to shut down a child process.
Do you kill(pid, signal)? Maybe you do kill(pid, 9).
Do you know what happens when pid is -1? You really should. It's Important. Yes, with a capital I.
...
...
...
Here, I'll paste from the kill(2) man page on my Linux box.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), ...
See that? Killing "pid -1" is equivalent to massacring every other process you are permitted to signal. If you're root, that's probably everything. You live and init lives, but that's it. Everything else is gone gone gone.
Do you have code which manages processes? Have you ever found a machine totally dead except for the text console getty/login (which are respawned by init, naturally) and the process manager? Did you blame the oomkiller in the kernel?
It might not be the guilty party here. Go see if you killed -1.
Unix: just enough potholes and bear traps to keep an entire valley going.
Source: https://rachelbythebay.com/w/2014/...12 -
Simple 1 day task. This idiot takes two weeks and after 7 days of hounding finally opens a pull request.
I go in to review the code. Should be a simple 10-15 line patch.
13,000 lines of code changed.
THIRTEEN THOUSAND!
"I fixed a bunch of formatting mistakes and replaced all instances of single quotes to double. Consistency is important you know."20 -
So yesterday, literally just hours after i basically said on somebody elses rant "friends are overrated," i ran into a friend i havent seen in over a year and we ended up chatting for an hour after she gave me a ride home. I was in such a good mood after and I realized its the first socializing ive done outside of talking to work people or my partner in over a month. I like to spend most of my time alone, and since i discovered coding i try to spend every spare second writing code, but it turns out a social life is actually really important 😯😯3
-
Brother of my friend came to me and asked me to teach him C as it was most important lesson in high school CS. I agreed and started with data types, conditional statements, loops and others that were mostly exam oriented. He was doing good. Then I thought of teaching him a life lesson and introduced him to pointers(questions about pointers are very rare in exams). As soon as I started the pointers, things got pretty bored and he went off topic and started talking about a girl he has crush on and told he wanted to know when her birthday was so that he could gift her something to be ahead of the crowd trying to impress her. I thought to help him out, afterall he's like my younger brother and told him I can help. Result of his previous exam were out then, providing symbol number on Examination Board's website would do the trick because it would return full data of students result which had birthday in it. I modified my previous script to fetch data of his school's result and pass the data to a file. They're together since last few months. He reminds me time to time that my code is what got them together.8
-
Fuck windows 10. I log on to start an interview code assignment that is timed. I'm on my computer getting things ready for a solid 10 minutes before starting the test. AS SOON as I start the test, windows 10 informs me:
Fuck you. There's updates and I'm installing them right now whether you like them or not, fucker. I bet you're doing something important too, so I'm not even going to let you schedule it at another time.
Fuck.15 -
Stop bitching about having to write comments, they are important whether you like it or not. Trust me nobodys code is "that good" 😒4
-
(As a CS student in University)
Teacher 1: I am a new teacher and have an electrical subject and I know you guys hate this and love coding so we will code whatever we study in python so you can actually understand what we are studying
Teacher 2: I am a senior teacher and have an super important computer science subject , I will fuck everything up come to lectures read a ppt that I didn't even make and read the ppt in the most monotonous manner humanly possible and fuck everything up and steal your work if your research with me7 -
KISS.
Keep it simple, stupid.
At the beginning the project is nothing but an idea. If you get it off the ground, that's already a huge success. Rich features and code quality should be the last of your worries in this case.
Throw out any secondary functionality out the window from day 0. Make it work, then add flowers and shit (note to self: need to make way for flowers and shit).
Nevertheless code quality is an important factor, if you can afford it. The top important things I outline in any new non-trivial project:
1. Spend 1-2 days bootstrapping it for best fit to the task, and well designed security, mocking, testing and extensibility.
2. Choose a stack that you'll most likely find good cheap devs for, in that region where you'll look in, but also a stack that will allow you to spend most of your time writing software rather than learning to code in it.
3. Talk to peers. Listen when they tell that your idea is stupid. Listen to why it's stupid, re-assess, because it most probably is stupid in this case.
4. Give yourself a good pep talk every morning, convincing you that the choices you've made starting this project are the right ones and that they'll bring you to success. Because if you started such a project already, the most efficient way to kill it is to doubt your core decisions.
Once it's working badly and with a ton of bugs, you've already succeeded in actually making it work, and then you can tackle the bugs and improvements.
Some dev is going to hate you for creating something horrific, but that horrific thing will work, and it's what will give another developer a maintenance job. Which is FAR, far more than most would get by focusing on quality and features from day 0.9 -
I'M AN IDIOT.
I accidentally typed the wrong command when I was compiling my C++ code with GCC, and guess what?
My .cpp file is gone. The .exe is still there, but that's useless to me right now.
It wasn't an important code, just something I recently started on, but I can't believe I did something so ignorant.17 -
A decade ago 800x600 was pretty much the standard resolution for devices and 5 sec response time was considered fast. Animations were minimal and websites were easier to read. Programmers debated around topics like which loop runs faster, i++ or ++i, while vs doWhile and so on. In general, we were closer to understanding what happens behind the browser curtain and how code needs to be organized to make it more maintainable.
Today the level of abstraction is much higher. I don't think devs can contemplate on the finer aspects of programming efficiency; they'd rather rely on a code library to do all the grunt work. With the explosion of devices and platforms, the focus has shifted from programming to assembling. Programmers need to know their tools first, then write code. The tool is expected to work well with a millisecond response time, not the programmer's code.
Moving forward, I think programming would be more about building higher abstraction utilities/libraries that are integrated by other tools, which is already happening. Marketing an App would become more important than the actual skill needed to develop it.
A bit far-fetched, but I think the future programmer would be a lot like a stock market analyst who has a bunch of windows in front, just observing data or algorithm patterns created by an AI engine and cherry-picking a specific combination of modules that might make the next big sensational app.8 -
My boss is a grumpy 25 year oldish "Mr. I know it all". We all hate him for that attitude.
Just joining recently, the code base which I got introduced to was totally new and I was overwhelmed.
Boss told me to write an Sql query to wipe the table data. I being reckless wrote a query to wipe the table only and submitted it to my boss.
Few hourse later we were informed by our peers that a certain url was not working. On further investigating we found out that my boss carelessly copy and pasted my query and executed it which wiped an important table clean.
Now he doesn't talk to me straight and I can't look him in the eye because obviously I burst into laughter.
Job well done☺️2 -
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
-
Why is the ternary operator such a hated thing? I constantly hear people saying it's less readable, confusing, etc.
I think it's a beautiful, useful, and important operator and I use it constantly wherever readability won't be much affected.
How can you justify a repetitive if/else structure over a ternary, given that you're sure you're not going to put anything else in the ifs?
Whatever happened to DRY?
Whatever happened to KISS?
If those guidelines are what you code by, what's the excuse not to use it?
Because you can't read it as well? Familiarity breeds comprehension and legibility, my dudes.15 -
A repressed memory just popped into my head:
At my former job I tried to explain a problem I was having to the tech lead. Then, without fully understanding the problem, he decided to rewrite my code that I had been working on for weeks. His code, that took him 2 days to write, went straight to master without peer review.
He introduced about 10 regressions…
Queue the client meeting where the client says “These bugs came back, and we thought they were fixed already…” (They demo the bugs)
So obviously I say “I’ll let Techlead address that one.”
He just mumbles some stuff, and goes quiet for the rest of the meeting. Finally, when the meeting was wrapping up we hear “It’s Fixed!”
Everyone was like ???
“That bug from earlier, it’s fixed, it should work now….”
Would you believe this guy decided to code during the entire meeting, clearly missing important feedback and information that would help him understand the problem. Again, pushing to master without review….
Not to mention that we were talking about 10 regressions…5 -
::python coding::
Friend: "so I have to press tab when I want to code inside a function, right?"
Me (Busy): "yea yea, whenever you enter a new scope. Indentation is important in python..."
Friend: "what's a scope?"
#$ cowsay "dafaq"
Me: "bruh, what you doin in Computer Engineering?"4 -
Hey. This code look broken. What should I do?
It isn't broken. It's doing what it's supposed to.
Well, it's hard to follow, but it certainly doesn't look right. And it isn't doing what I expect. Also, why is it calling method(a_class1_or_class2) with a class3?
It isn't hard to follow, and it works just fine. Let me show you. ... huh. looks like it isn't right. and there's a comment here saying the calls aren't clear. but it works just fine. Just copy it over and do it the same way.
I already did that. and it isn't working.
What are you talking about? Of course it works fine. Did you check your code?
------
Really, dude? It doesn't work fine. but, guess what? It works fine* when I change it to call that method with a class2 like it asks for. (Surprise!) But I can't tell him that. Nope. Bossmang get offended. Still won't admit I was right about anything, either.
Ahh... the continual joy of working with (and for) trash.
* well, more fine; the rest of the feature is still wrong. but nope, i'm not allowed to fix it. because why would they want anything to work properly? Already-accepted wrong behavior is good enough. Can't clean up the code, either, because that "muddies the waters." Bitch, I couldn't see the bottom of this sewer if it was half an inch deep! Which is more important: the last contributor entry beside the code, or that code being readable and maintainable? or it, you know, working?
doot doot.
need to scoot.8 -
I've found sites like Udemy/Khanacademy/Codecademy/Brilliant/Edx to be very useful — possibly more useful than expensive education.
But they still need:
1. Better correction/update mechanisms. Human teachers make mistakes and material gets outdated, and while online teachers are rectified faster than classroom teachers, the procedure is still not optimal. Knowledge should be a bit more like a verified wiki.
2. Some have great interactive coding environments, some have great videos, some have awesome texts, some have helpful communities. None has it all. In the end, I don't want to learn a new language by writing code in my browser. It could all be integrated/synced to the point where IDEs have plugins which are synced to online videos, with tests and exercises built in, up to a social network where you could send snippets for review and add reviews to other people's code.
3. Accreditation. Some platforms offer this against payment, but I think those platforms often feel very old school (pun intended), with fixed schedules, marks and enrollments. Self paced is a must.
4. Depth is important. Current online courses are often a bit introductory. We need more advanced courses about algorithms, theoretical computer science, code design, relational algebra, category theory, etc. I get that it's about supply/demand, but we will eventually need to have those topics covered.
I do believe that for CS, full online education will eventually win from the classroom — it's still in its infancy, but has more potential to grow into correct, modern education.10 -
Every time I post a question to SO I feel so anxious.
Did I provide enough code samples and information?
Did I provide TOO MUCH information?
Is my English alright?
Did I really try everything else or will someone point out something totally obvious after that I feel that I need to delete my post because it's just dumb?
Feeling anxious right now... Worst of all: it's an important work related question, so I have to think about a new task because this issue was my only one and a road blocker.
AAAARRGGHHH!12 -
Get your code reviewed by as many good devs as you can. Tell them to be harsh, swallow your pride, expect the code to be torn apart. Then rinse and repeat.
It brings the "know it all" fresh grads down a peg or two, and often brings those with low self esteem up a peg or two (when they realise their code is better than they thought.) Anyone can write code that works. But writing decent, clear, well-tested code that stands up to scrutiny is a different ball game - and it's important to learn that quickly.3 -
The idea was simple. Create a div.
Add two 50% div's inside. Float them. Add clearfix to parent.
Everything was fine.
Noticed that one of the childs had a height bigger than the other. But due to an adaptive design, setting static heights did not work.
Simple fix. Add a height to parent div and set overflow-y to hidden.
It didn't work.
Tried using the legendary !Important (a.k.a. not important but important.) Didn't work. Set position to relative, set static height. Set the childs to absolute position with height 100%. Problem solved.
No. It. Didn't. Fucking. Work.
Tried every possible css combination could could fucking think off.
After 15 minutes (8 hours in dev-stress mode) realized the clearfix changed the div DISPLAY TO FUCKING TABLE. A TABLE. FUCKING TABLES CANT HAVE FUCKING HEIGHTS FUCK.
Anyway. 6 years after my first clearfix. I learnt something new about the code that saves my life every project.5 -
!Rant
I have the absolute greatest and nicest front-end developer in the world.
Today I was being given all kinds of praise for putting something on a site that the client loved and it seems to be getting the conversions they want. I felt really bad taking the praise because I didn't design it. The front-end developer designed it for me and gave me a picture of what she thought the client wanted and I built it. So I passed on all the compliments to her and told her that everyone was super happy with it.
She accepted the thanks but then floored me telling me that she didn't feel like she did anything and that my job was more important. We started arguing about who was more important.
"I accept that your designs do nothing without my back-end code, but without your designs no one would ever use anything I made."
She responded by sending me a list of sites with terrible designs that people use daily. And continued to tell me how much more important back-end is than front end.
If she wasn't 1500 miles away I might have kissed her. I needed to hear that today.2 -
I have no words to describe how I'm feeling these days. I have to do a C project for uni.
After a couple of years dealing with web dev, javascript, typescript, angular and stuff, for the first time I have a project where I have to deal with only two problems:
1) my code
2) my machine
No tools, no bloated libraries, no webpack, no json configurations, no tutorials.
It's just me, vim, gcc (actually nvcc, it's a cuda based project, but still) and the cuda manual.
I feel I'm actually building something.
Plus, the guy I'm doing the project with is cool with this stuff and most important he's open minded.
I'm happy9 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*6 -
Once, at my first job, the CEO of the company sent a group email in which he essentially lambasted my ability to do my job.
I wasn't even hired as a programmer, I was a data entry guy who learned how to code on the job, and at this point I was literally the only person writing code for the company. I regularly worked 12+ hours every day, and even though I had to learn practically everything on my own I was still getting things done -- at least, I would have gotten things done if the CEO didn't keep pulling me off of my projects to work on whatever his latest ultra-important-idea-of-the-week was. I was even working for an 8 hr/day, 5 day/week salary, putting in extra hours for free.
But no, my sacrifices and hard work weren't good enough in the CEO's eyes, and he chose to say that to multiple people in an email, including investors in our startup. I don't remember exactly what was said, but whatever it was made me so livid I couldn't do any work; every time I sat down to code, I thought about that email and it so infuriated me that I couldn't concentrate. It took me twelve hours just to calm down enough to get back to coding.
After that, I refused to communicate with the CEO except through my boss, the CTO.7 -
My 14 year old self stared at Chrome and decided to consult Google on a random fleeting thought...
"How is software made?"
The search resulted in my downloading Visual Studio. Without any understanding of what it was or how it worked I somehow managed to create a new Winforms project.
I started to drag controls from the ToolBox onto the form, and I specifically recall thinking "Wow! This is easy.". Little did I know...
I then inadvertently double clicked either a control or the form which as most will know switches from the designer view to the code editor taking you to the code that drives the form.
"What the hell is this?"
I had absolutely no idea what I was looking at, but decided I was determined to understand what all of that random text did.
So, yeah, my first dev project was a Winforms App consisting of a single button that did absolutely nothing, but yet happens to be the most important app I have ever created.
To think I'd be working in an entirely different sector if it wasn't for that one Google search.4 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
>be me
>drop out of uni studying civil engineering
>"self-taught" "web programmer"
>start freelancing in 2010
>Make money, feels good man
>clients keep me busy, feel important
>Code just for the fun of it
>be 2019. Married, code to make ends meet
>lose all interest
>mere sight of the ide makes me want to bash the screen
>have zero motivation
>never get any projects done
>become broke af
>look at old friends on fb. They are "Something".
>look at real software engineers and programmers with education
>realize I am an imposter
>start dropping all projects and studying theory
>become more broke
>start taking "motivation pills" to just start working again
>lose all motivation and pissed at all the real programmers and engineers for their success
>be me on May 20, 2019 at 2:56 AM
Yep, this is the end.29 -
Teach people how to google properly.
May sound a bit sarcastic but I think an important part is how to look for errors on your own rather than going to the professor/TA. I’ve seen people paste in whole error logs or more often “code throws error, what do?”
At least teach in classes what to look out for like what error type in java and understanding how to look at stackoverflow questions to apply their solution to your issue.
Moral of the story: teach people how to use existing knowledge rather than just depend on someone to help their exact issue.6 -
I feel like a e-hoarder, I keep tabs and sublime windows open and worry about closing them as they might contain important code...
FML4 -
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 -
!rant
Our lead dev in the company seems to be a smart guy who's sensitive about code quality and best practices. The current project I'm working on (I'm an intern) has really bad code quality but it's too big an application with a very important client so there's no scope of completely changing it. Today, he asked me to optimize some parts of the code and I happily sat down to do it. After a few hours of searching, profiling and debugging, I asked him about a particular recurring database query that seemed to be uneccesarilly strewn across the code.
Me: "I think it's copy pasted code from somewhere else. It's not very well done".
Lead Dev: "Yeah, the code may not the be really beautiful. It was done hurriedly by this certain inexperienced intern we had a few years back".
Me: "Oh, haha. That's bad".
Lead Dev: "Yeah, you know him. Have you heard of this guy called *mentions his own name with a grin*?"
Me: ...
Lead Dev: "Yeah, I didn't know much then. The code's bad. Optimize it however you like. Just test it properly"
Me: respect++;2 -
So I got laid off because they told me I wasn't communicating enough.
For what I encountered
Reference:
https://devrant.com/rants/4979669/...
https://devrant.com/rants/4675369/...
https://devrant.com/rants/4956866/...
https://devrant.com/rants/4691189/...
https://devrant.com/rants/4699002/...
https://devrant.com/rants/4717638/...
For how I feel About after got laid off:
https://johnmelodyme.wordpress.com/...20 -
Refactoring code of somebody who left and:
- Plagued the code with TYPOS (milions of them but ok I can live with those... to a certain point)
- Used global variables by default.... of course even where they're not needed
- Used comments only in parts of code where... well they're not needed, important ones are of course left out
- Did not indent code. 3..2..1... Did not FUCKING indent code properly and when he did... did WRONG!
- Instead of indentation he used commented line with multiple ==== signes.... so far top is 60 consecutive lines with olny ==== again no apparent pattern here
- Did not follow a fucking standard in variable naming... no camle casing... there are varaibles assigned multiple times to "temp" variables without no reason just for the sake of wasting resources on the system I guess
This is just the beginning of the review but I already want to change job, die, scream, cry... not in any specific order.10 -
Attend all the meetings, they said. They're super important, they said. You'll get more code done if we hyper-report on progress they said. The bugs are piling up and we need to have even more meetings, they said.
STOP SAYING THINGS AT ME AND LET ME FUCKING CODE YOU INSUFFERABLE CUNTS.1 -
One thing I learnt after over two years of working as a programmer is that sometimes making your code DRY is less important than making your code readable, ESPECIALLY if you're working on a shared codebase. All those abstractions and metaprogramming may look good in your eyes, but might cause your teammates their coding time because they need to parse your mini-framework. So code wisely and choose the best approach that works FOR YOUR TEAM.7
-
If you make students take coding tests/quizzes on paper, don't grade them on picky syntax errors! We don't code on paper in the real world; syntactic highlighting and red squiggles will usually show you that you accidentally typed that declaration incorrectly. Understanding programming concepts is much more important than being able to write a program on paper.2
-
1. Trust no one even yourself
2. Ask questions even if they are stupid
3. Test your solutions, even manually
4. Write comments
5. Take your time to solve problem, even if it looks like easy see point 1
6. Take some time during work to get familiar with code and read something about technology that is part of your current work - even if you know it - see point 1
7. Always try to see a big picture - see point 2 - why is it implemented is more important then how is it implemented2 -
Worst: The guy gave me 5 minutes to code a given assignment on paper. I did all the logic and told him I was missing a function whose name I would just Google. He told me I can't always Google. Well... I won't be coding on paper either.
Best: I was given the assignment to clone a part of a production site. Assignment was intended for 3 days and I was given 5 hours. Completition wasn't important, only structure and coding style counted. I cloned everything and even added new features.
You just can't always be in the zone. I hope more interviewers would take that into account and design better questions.4 -
They've literally left me with nothing to do. I'm doing nothing. I can't be happy doing nothing.
To illustrate the chaos: Everyone on the team was trying to figure out some defect. No one knows what is going on in the code. It's unlike anything I've ever seen.
I found an API call with a misspelled endpoint. It was wrong since the code was written two months before. There's no way it ever worked. Obviously no one tested the code because they would have immediately seen that the call returned a 404 every time.
I fixed it. That was my only PR in about a month. It was literally one character.
The next week that PR got reverted. Apparently the app works better if the API call fails. No one said what goes wrong if the request is made, just that it "causes problems."
That's how bad it is. No one knows why anything does or doesn't work. People write code that doesn't work, never test it, and the application works better in some unspecified way if that code never gets executed.
The last straw for me was when an architect told us that if we want to improve our skills we need to learn how to read and debug stuff like this.
1) Not to be immodest, but I'm good at figuring out bad code.
2) Just because I can doesn't mean I want to do it all day instead of actually developing software
3) He trivialized the really important skill, not making a mess like this in the first place. If his idea of skill is to sling crap without tests at the wall and then debug it, how is he an architect?
I tried really hard but I can't keep a good attitude. I don't want to become toxic, but why would I consider working that way? I try my best to be good at this. Writing decent code means a lot to me. It should mean a lot to them. Their code is costing them hundreds of thousands of dollars. Maybe millions.
I can't write good code and add value if all I do is debug bad code.
So I'm out. I'm going to another project. Have a nice life.4 -
I come from PHP and have been using jQuery as a crutch for years. I've dabbled in Node and obviously writing some vanilla JS is unavoidable, but now I'm starting to use ES6 with Babel and VueJS and the more I dig in, the more I hate javascript. Everything is an object (null, array), there seems to be a few gotchas with math (including the one pictured), nothing is strongly typed but types are very important (for instance, you can't loop an object and an array using the same code), and there are a lot of inconsistencies/functions missing. ucwords for instance. Why doesn't that exist? typeof only returns object, but Array.isArray and Object.isObject work fine. I'm going to give typescript a go soon and cross my fingers.20
-
➡️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 -
Feel free to scroll by if you feel like it.
I am just very excited this evening because with today's commit I have reached a very important milestone in my side-project development. As of today all the [so far] 12 components are all working together and processing the main flow themselves.
No special functions, no test data in the code, nothing like that. A client is able to do its thing now as it should.
I know it doesn't sound like much, but as I'm working on this gigantic beast for 3 years now this milestone is hell of a reward for me!
Just wanted to share :)
edit: f* it! I'm getting a cake!4 -
Prof: "Hey, you can take a look at the source code that we used last year in this research paper"
Me :(surprise because other papers usually don't share source code), "Okay"
A few weeks later:
Me: "Prof, if you use method A instead of method B, you can get better performance by 20%. Here's the link"
Prof:"The source link that you mentioned is for another instrument, not GPU"
Me:"Yeah, but I tested in on GPU and I found it is also applied in my device"
Prof:"That's interesting."
-----------------------------------------------------
This is why folks, sharing the source code that you used in scientific papers is important.8 -
Structure: decades of programming in too many languages to enumerate. I lean functional, but only when the language doesn't fight it. No matter what I'm doing, my code is immutable in practice, if not paradigm.
Syntax: No one thing in particular. I code differently depending on the language.
When I start learning a language, I'll find the standard style checker and create a project where I write an example of every single rule.
The end result is generally a quick intro to the language and a bonus understanding of the hot sports opinion in said language. I call this an ocean boiler.
I lean heavily into autoformatting because I've worked on too many projects to care, and I have a general expectation that something which is important enough to make a code standard is important enough to be enforced in tooling. I'd rather spend my time solving problems that thinking about stylistics.5 -
My favourite devTool is VS Code, especially since the last update. But considering that versioning should be more important than a specific IDE, Gitlab is THE tool. I couldn't live without it. <3
-
I have this great professor who taught us how to be logical human beings (not that I learned much of that haha). He introduced us to web dev. He started with the basic html shit, then proceed with php and sql. His lectures were awesome. He'll then proceed with code exercises. And we'll have mini 'codefights' in his classes! yey! He taught us that in programming, it is much more important to practice logic than master a single language(no hate please). I learned to love programming through his passion. :) I learned to program in his class, now I hope never to stop learning. :D8
-
That's it, I'm done. My sincere condolences go to the poor soul that will have to maintain this complete and utter crap of code, as I have been doing the past 2 weeks.
3-4 big 4K+ lines files of completely unindented, practically undocumented, interspersed HTML, PHP, JavaScript and CSS! All in the same file.
All the function and variable names are complete nonsense. You might as well have smashed your head against the keyboard and let whatever came out be the names.
You took all the naming conventions that you could find and unleashed your seriously damaged imagination. lowerCamelCase, UpperCamelCase, snakecase, everything in the same fucking function name.
I really needed the money from this project. But I'm done. My mental sanity is more important that try to figure out how to make a decent and usable webpage of THIS COMPLETE DISASTER.
You, the one before me. If you wanted to make sure that no one else besides you could work with this crap, then congrats, YOU FUCKING DID IT WITH HONORS. FUCKING SUMMA CUM LAUDE. PhD and all.4 -
YAY.... fuck you Belkin!
Just found out my router is vulnerable to CVE-2017-14491.
For all you not following these issues, this one allows the attacker to intercept connections and perform a traffic hijack, or execute arbitrary code with unrestricted privileges as well as access all important and private data stored on the device aka: the devices login/password, the Wi-Fi passwords, and configuration data just by sending malformed DNS packets to the device.
Now this is all well and good, except Belkin haven't released firmware since 2013, which is strange... seeing how the damn thing was "NEW" out of the box in 2016.
Last time i buy a fucking router from these lousy assholes. -
Reasons 1 and 2 arent that important to me. The main reason I code is #3.
1) Brain exercise. I always feel sharp after a coding session, even if it ended in disaster.
2) Lots to do! There's never a full day in code. Make your own universe, if you so desire.
3) Pride. I have a pride problem. I never felt proud of myself no matter what I do. I graduated with a melancholy feeling, same deal when getting my license, same deal when passing a test (God, glad that's over!)... But code makes me proud. I love what I make. I want to show everyone. I want to show it to everyone before it's even finished because I just can't wait. I want everyone to use it and to love it. Because I sure do, and it's the best thing ever.
I could make a viral video, produce a triple platinum record, or build a billion dollar business and still not feel the same level of genuine satisfaction and happiness that I may get from writing good code.
It always keeps me coming back. -
One of our senior dev enjoys berating the other devs because they don't check-in code according to his schedule (once a day, once an hour..he flip-flops a lot), then when they do, he 'reviews' their code, beating them up because of incomplete features, commented out code..petty..petty nonsense.
Ex. (this occurred couple of weeks ago).
Ralph: "The button click code in this event isn't complete"
Dev: "No, its not, the code in my development branch. You said it was best practice to check in code daily whether the code worked or not. I didn't finish the event last night and ..."
Ralph: "Exactly. Before you check any code into source control, it has to work and be 100% complete. What if someone moved that code into production? What happens if that code got deployed? I'm not even going talk about the lack of unit tests."
Dev: "Uh..well..the code is on the development channel, and I branched the project in my folder ...I didn't think it mattered.."
Ralph: "Ha ha...you see what happens when you don't think...listen..."
- blah blah blah for 10 minutes of hyperbole nonsense of source control check-in 'best practice'
This morning Ralph's computer's hard-drive crashed.
Ralph: "F-k! ..F-k! ... my f-king computer hard drive crashed!"
Me: "Ouch...did you loose anything important?"
Ralph: "A f-king week of code changes."
Me: "You checked everything into source control on Friday ...didn't you?"
Ralph: "F-k no!...I got busy...and...f-k!"
Me: "Look at the bright side, you'll have a good story to tell about the importance of daily check-ins"
Oh...if looks could kill. Karma...you're the best. -
start teaching people how and why to delete code instead of teaching them only how to write code
compare functional and object oriented languages as well as high level and low level languages and explain what are advantages of using certain language without going into the syntax
let people do mistakes and don’t punish people for making them but let them explain what happened, if they know what was the cause of mistake it is worth ten times than doing things correctly
mix teams per period of time instead of per project
make showcases how to modify ugly code to pretty one and what are the steps and what patterns people should look after
teach by not showing old stuff but showing where old stuff exists in modern things and why it’s important there and what’s the purpose of doing things certain way instead of flat theory based on ancient examples1 -
I seriously hate egotistical developers. Just had an hour meeting where one developer side tracked and talked for 45 minutes about how important and great his code is. At one point he even literally said, "I'm a genius". It takes everything inside of me to keep it together and remain professional to him on a daily basis. Please don't be this guy7
-
So I can see everything thinks CS should be taught differently this week.
Based on all of the ways we could change it, something no one seems to be mentioning much is security.
Everyone has many ways of learning logical processors and understanding how they work with programming, but for every line of code taught, read or otherwise learnt you should also learn, be taught how to make it less vulnerable (as nothing is invulnerable on the internet)
Every language has its exploits and pitfalls and ways of overflowing but how you handle these issues or prevent them occurring should be more important than syntaxually correct code. The tools today are 100000x better then when I started with notepad.exe, CMD and Netscape.
Also CS shouldn’t be focused on tools and languages as such, seeing as new versions and ideals come out quicker then CS courses change, but should be more focused on the means of coming to logical decisions and always questioning why or how something is the way it is, and how to improve it.
Tl;dr
Just my two cents. -
In the 1990s code editors on the Mac could insert the omitted function prototypes into a header file with one command; and even automatically keep the header declaration updated when you changed the source definition (name, parameters, etc)
Today in Xcode you have to copy and paste the stupid function header definition from the source code into the header file. What happens if you leave the "{" that got copied accidentally? OMFUCKING LORD, it triggers all sorts of erroneous errors in all the **source code** files where it is included instead of the header with the stray "{"
I started to question whether nor not I knew C, if gravity worked, if the sun would come up. I wasted a day of dicking around in StackOverflow trying to chase down all these insane error messages which make no sense in Xcode.
I just **happened** to see at the bottom of one of the source files, after all the erroneous error, a very important error:
"};" Expected
So I started deleting code from the bottom up in this source file, same error every time. Got to the point where the includes were all that was left.
FUCK YOU XCODE and the hacks that designed that horrendous piece of shit
Xcode is only free if your time is worth absolutely nothing.11 -
A discussion about writing tests for frontend applications.
Context: my frontend coworkers don't write tests, at all. Yeah, really. Our testing process is very manual. We test manually when developing. We test manually when reviewing code. After merging, the application is deployed to a staging server and the design team does a QA Sprint. Lots of manual testing and some bugs still crawl by.
So I decided to start pushing my coworkers to start writing tests. One of the reasons I constantly hear them say to not write tests in the frontend is: "It's not worth the time, because design keeps changing, which means we have to take time to fix the tests. Time that we usually don't have."
I've been thinking about this a lot and it seems to me that this is more related to bad tests than to tests in general.
Tests should not break with design changes (small changes at least). They should test funcionality, not how things look. A form should not break if the submit button's style changes, so why should its tests fail? I also think that tests help save time, as they prevent some back and forth because of bugs.
Writing good tests is the hard part. Tests that cover what's really important and aren't frail and break with things that shouldn't break them. What (and how) should we test? And what shouldn't be tested?
Writing them fast is another hard thing. Are you doing it right if they take more time to write than the actual code?
What do you think about this? Do you write tests for your frontend applications? What do you test? How much time do you spend writing tests? What are your testing tools/frameworks?6 -
Found in repository:
<some_code> //TODO fix it, its really important
It was commited 2 years ago... and still exists in code -
I'm so fucking stupid. I got a ransomware on my pc and lost all my files. At least the important stuff (code) is safe.21
-
I'm beginning to think that it's not important to know how to code anymore, but how good you are at handling management.5
-
I made a functional parsing layer for an API that cleans http body json. The functions return insights about the received object and the result of the parse attempt. Then I wrote validation in the controller to determine if we will reject or accept. If we reject, parse and validation information is included on the error response so that the API consumer knows exactly why it was rejected. The code was super simple to read and maintain.
I demoed to the team and there was one hold out that couldn’t understand my decision to separate parse and validate. He decided to rewrite the two layers plus both the controller and service into one spaghetti layer. The team lead avoided conflict at all cost and told me that even though it was far worse code to “give him this”. We still struggle with the spaghetti code he wrote to this day.
When sugar-coating someone’s engineering inadequacies is more important than good engineering I think about quitting. He was literally the only one on the team that didn’t get it.2 -
F-ck working in a multi-billion dollar global company!!!
There are soooooo many clowns in this corp. Just f-ing hiding. F-ing PowerPoint-cowboys using big words. Do they even know… you know, how to code? What it means?
I mean, we need several. Of course. But sooooo many roles leads to an incredible amount of meetings with almost zero value. Since noone seems to know what the hell they are talking about…
There are so many…
*sigh*
The other week I attended a ”very-important-clown-architect-multi-site-holistic-fucking-alignment-future-roadmap” meeting. I fucking flew to a COMPLETELY DIFFERENT COUNTRY just to waste an entire day with these clowns. What is this? WHAT IS IT!?
*sigh*10 -
Nooooo !
I fucked up !
Please tell me what is going to happen if a pentester fucks up ?
I was just curious about the codes the developer was typing remotely while they were containing important datas :/
Fuck me ! I thought it would be nice if i take some pictures of that amazing code so the other employees misunderstood !!
They think I was stealing data ! 😭
What should I do ?
What can I tell them ?21 -
School's windows installations had the UAC set to lowest.
Anyone could install malware or fiddle with important settings.
Oh by the way, the same school who's gData found it funny to go through my USB drive and delete all executables and all my code because it was "possibly malicious".
Started installing random crap and messing with people in retaliation.
Was fun.
Until I got caught.
Good thing I compiled a list of security flaws earlier on.
From that day on, everytime I messed up, I sold them two security vulnerabilites to let me off the hook.
These included access to all kinds of drives in the windows network, accessing other PCs desktop, literally uninstalling random printers from the network etc..
Fun time.3 -
Tiny little line of random JS code.
"No Comments in the code"
Me: I think this is not required, let me remove it.
"Deletes the line..."
*Entire App Breaks*
Me: OK, It must be important.
"Cmd + Z"
*Plot twist: The APP is still broken*
Guess who just needs to stay up late in office.1 -
We have this important product with deadline closing in. Dev who was working on it for months went on vacation. Bugs came out, no comments in the code, no docs, some of the variables are as verbose as var abc = "some weird shit"; and I'm tasked with trying to test, fix algorithms and instruct on how to use it.
This isn't first time happening, so I'm dusting off my CV this weekend.5 -
I’m new to programming. I first learned G-Code and M-Code for CNC machines and being a machinist got boring, so now I’m in School for computer science. But I swear, the amount of motherfuckers that act like they are the programming gods and they know everything there is to know just because they’ve been a programmer for so and so amount of years just grinds my gears. They act like some knowledge is important while other knowledge is useless, and generalize it and push that belief on everyone. But fail to realize that some people, such as myself, just love computers in every facet. I don’t give a damn how many years of programming experience you have and how many people you’ve taught. If you act like a stuck up know it all and walk around like your shit don’t stink, I wouldn’t work with you even if I had the same amount of experience as you.35
-
Caught a co-worker's gigantic fuck up today – dude totally wiped important code off master with a terrible git rebase + git push.
Gave him the nicest earful I could muster, but I think this is one of those times where I'm allowed to be royally pissed.5 -
This Moment when you find code and you have no clue why it exists, but you can remember that it was important...2
-
Worst thing you've seen another dev do? Here is another.
Early into our eCommerce venture, we experienced the normal growing pains.
Part of the learning process was realizing in web development, you should only access data resources on an as-needed basis.
One business object on it's creation would populate db lookups, initialize business rule engines (calling the db), etc.
Initially, this design was fine, no one noticed anything until business started to grow and started to cause problems in other systems (classic scaling problems)
VP wanted a review of the code and recommendations before throwing hardware at the problem (which they already started to do).
Over a month, I started making some aggressive changes by streamlining SQL, moving initialization, and refactoring like a mad man.
Over all page loads were not really affected, but the back-end resources were almost back to pre-eCommerce levels.
The main web developer at the time was not amused and fought my changes as much as she could.
Couple months later the CEO was speaking to everyone about his experience at a trade show when another CEO was complementing him on the changes to our web site.
The site was must faster, pages loaded without any glitches, checkout actually worked the first time, etc.
CEO wanted to thank everyone involved etc..and so on.
About a week later the VP handed out 'Thank You' certificates for the entire web team (only 4 at the time, I was on another team). I was noticeably excluded (not that I cared about a stupid piece of paper, but they also got a pizza lunch...I was much more pissed about that). My boss went to find out what was going on.
MyBoss: "Well, turned out 'Sally' did make all the web site performance improvements."
Me: "Where have you been the past 3 months? 'Sally' is the one who fought all my improvements. All my improvements are still in the production code."
MyBoss: "I'm just the messenger. What would you like me to do? I can buy you a pizza if you want. The team already reviewed the code and they are the ones who gave her the credit."
Me: "That's crap. My comments are all over that code base. I put my initials, date, what I did, why, and what was improved. I put the actual performance improvement numbers in the code!"
MyBoss: "Yea? Weird. That is what 'Tom' said why 'Sally' was put in for a promotion. For her due diligence for documenting the improvements."
Me:"What!? No. Look...lets look at the code"
Open up the file...there it was...*her* initials...the date, what changed, performance improvement numbers, etc.
WTF!
I opened version control and saw that she made one change, the day *after* the CEO thanked everyone and replaced my initials with hers.
She knew the other devs would only look at the current code to see who made the improvements (not bother to look at the code-differences)
MyBoss: "Wow...that's dirty. Best to move on and forget about it. Let them have their little party. Let us grown ups keeping doing the important things."8 -
Bugs in code are like heartbreaks in humans. They suck, but they also teach you some important lessons 🤷♂️4
-
After 4 years of professional programming the most important thing that I learned is "user is stupid".
Once I modified old code that was summing salaries (I added extra column to the result), nothing else. My result was rejected because all salaries was empty. Period of data was from first day of the month from user selected date to user selected date. It turned out that user was selecting 27th day of the month (it was 27th then). I responded that salaries have full month period, and you'll have to choose end of the month... And then shitstorm began, that I messed up previous functionality. I tried to explain, but it wasn't working. It ends up with user selecting any date and I'm doing end-of-the-month in the background^^
It's my first rant, welcome to you all :)4 -
Here is what I see in industry right now.
Don't go on math but get the gist.
1. 9 of 10 developers are Web developers
2. 9 in 10 developers want to be data scientist
3. 9 out of above actually give up and start doing Web development
4. 9 in 10 developers think CS education is not necessary.
5. 9 in 10 developers want to work for Google Facebook and Microsoft.
6. 9 in 10 developer don't make it to above companies.
7. 9 in 10 developers think design and test are important but never do it.
8. 9 out of 10 developers don't want to code after 5 years and just want to exit industry to non technical roles.
9. 9 out of 10 developers don't get rants and dev memes posted here.
What's your take on this7 -
Fucking retards littering my code review.
I had posted some important questions in my comment (essential in order for the code review to move forward) and this asshole posted some stupid out of context meta crap comments no way related to the subject of the review pushing my questions out to the point that a lot of scrolling is needed to see them. Now I need to get everyone’s attention back to the point that matters. Why does this happen to me ? This actually happens quite a lot with other forums as well. Trash mouths going off topic.6 -
The design process.
Call me old fashioned - but clean-code/clean-architecture/SOLID is not as important as simplicity and coherence.
I JUST NEED FUNCTION THAT DOES STUFF! But noooooo better overly design EVERYTHING!4 -
*Writes code, doesn’t test* “Ah this works, I’ve done it before”
*Finishes project, runs test, errors everywhere* “FUCK!”
I do it on non-important projects... but I need to stop before I start doing it on important projects 😑2 -
Well today I found out that is perfectly fine to not communicate or look at your phone and be unresponsive while pair programming. They can't even write a single line of code on their own. I'm having to dictate them things by character. How can this be seen as a cultural difference. How the hell are they still employed and the most important question. Why do I need to accomodate to them and find ways to motivate them?
They should be doing what they are paid to do.5 -
Ya'll know what... If humans weren't such annoying vulnerability-searching little shits then we wouldn't have had to implement any protection against them and think of all the performance that would be saved on that. Take branch prediction vulnerability mitigation in the Linux kernel for example, that's got to make a performance hit of least 10% on basically everything.
Alas, I do get why security is important and why we keep such vulnerability mitigation running despite the performance hit. I get why safe code is necessary but still... if these people weren't such annoying little bastards.
Yeah, I was just kind of set off by the above. So much would be faster and easier if only the programmers wouldn't have to plan for people exploiting their software. Software would be written much faster and humans would progress to stuff that actually matters like innovation.8 -
Am I the only one that thinks it's extremely fucking stupid that the software engineering industry is simultaneously experiencing a "shortage of talent" and maintaining the same ATS that filters legitimate talent just because the resume doesn't fit keyword specifications?
We see it every day. People with years of experience that should never be allowed to touch important code. People with little to no experience that learn fast and perform well. Fuck years of experience being the only thing some recruiters see.
"We generally don't hire people with less than 3 years experience" shut your fucking mouth. Ridiculous. You hire people out of college, don't lie to my face.
Oh and don't even get me started on how many people fabricate their industry experience and get interviews from it. That's what happens when recruitment patterns fail to catch up to an industry that increasingly trains people better up front, and in shorter time periods, and values skills that ATS doesn't give a shit about.
Crazy idea: make job applications test problem solving competency instead of weeding out quality candidates.
Job searching is frustrating.3 -
Went for a job interview today, and learned something very important about myself...
...that I should be permanently banned from writing code on whiteboards, for any reason. I have never seen such ugly code in my entire life. Ugh...5 -
Every time you use an unnecessary !important in css code, God kills a cat :(
Please don't use !important if it's not necessary.5 -
Why is source code so crappy? May career is not the longest, buy in my 8 years I talked to so many developers and every one told me how important quality, standards, tests and architecture are - but every codebase I've seen is lacking all of it. Everything is running on constant live support.
I don't get it. It is like I live in a world where everyone does know what has to be done, but no-one does it. I suspect it is because people are lazy, lying and won't say no but that's also not a world I want to live in.24 -
Hey there! I'm a sophisticated IDE!
I see your trying to Undo your work! That's great.
Oh now you're trying to redo...
I'm sorry... I just deleted that important line of code. I'm sure it will be ok though.6 -
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 -
Some "engineers" entire jobs seems to only consist of enforcing ridiculous bureaucracy in multinational companies.
I'm not going to get specific, the flow is basically:
- Developer that has to actually write code and build functionality gets given a task, engineer needs X to do it - a jenkins job, a small k8s cluster, etc.
- Developer needs to get permission from some highly placed "engineer" who hasn't touched a docker image or opened a PR in the last 2 years
- Sends concise documentation on what needs to be built, why X is needed, etc.
Now we enter the land of needless bureaucracy. Everything gets questioned by people who put near 0 effort into actually understanding why X is needed.
They are already so much more experienced than you - so why would they need to fucking read anything you send them.
They want to arrange public meetings where they can flaunt their "knowledge" and beat on whatever you're building publicly while they still have nearly 0 grasp of what it actually is.
I hold a strong suspicion that they use these meetings simply as a way to publicly show their "impact", as they'll always make sure enough important people are invited. X will 99% of the time get approved eventually anyway, and the people approving it just know the boxes are being ticked while still not understanding it.
Just sick of dealing with people like this. Engineers that don't code can be great, reasonable people. I've had brilliant Product Owners, Architects, etc. But some of them are a fucking nightmare to deal with.7 -
I know there are different ways of learning programming, but I see students actually taking notes from a programming books and highlighting important bits with a Pilot marker. (and they're not reading fundamental stuff)
Just fucking code something.2 -
I have always believed that clean code is readable code, and if your code is readable, then it shouldn't require masses of comments to explain it. However, in the course I am being taught, we are being told that in programming, comments are massively important to help another developer understand your code and what it does. So what is the consensus of the dev community?
Do you feel comments are key, or redundant if your code is written well?20 -
In only I were 1.15 times faster or had better planning (why didn’t I use the Saturday Sunday at the end of the first week 🤦🏼♂️), things would’ve happened differently. I think I’m becoming stupid and my tolerance levels are going down too.
So this happened a while back ..
I was given a code base which didn’t have any changes in the last two years and I was asked to add a feature to this. This was my first task in this new group I was part of. I had two weeks to do this starting on a Monday.
Partway through implementation I realised that the code base is a pile of shit and I wasn’t doing myself or anyone else any favours by shitting on it.
It’s Wednesday. I’ve dealt with many other codebases before but the urge to rewrite this particular one was just unlike anything else. And so I started changing code and before I realised, I modified almost all the important files.
I got sick of this mixed up code and started a rewrite from scratch. It was Friday and I finally had just the basic mechanics of the whole thing working. Now I needed to add all the functionalities and also my new feature.
It should be noted that at no point did I tell any of the superiors I was doing this fearing what they might say and also fearing going back to adding shit to shit.
By the end of the second week, the rewrite was complete and I only had the new feature to add. The rewrite was significantly smaller, compartmentalised and well commented because I did the bloody commenting (where it was not obvious from the code). So on Friday, I was asked about the progress and I told them that it needed some more work and that I need a couple more days. And I got shit for it. I was told it was a mistake giving this task to me and that I am not competent enough. One of the superiors told the other superior about perhaps giving me something more suited to my level. To be fair to them, they were expecting the work in the two weeks to be for the new feature.
And in two days’ time, on Monday (I worked on Saturday and half of Sunday), I finished the whole thing and gave it to them. New feature was working. And I still did not tell them what I did. The tool worked fine so they had no idea what happened because this project had no version control and I pointed them to a new directory with the new code with a first commit.3 -
Idea to overhaul the CSS !important system...
Allow it to accept a numerical value much like z-index.
But the max !important level is the current year so that the more current your code, the more important it is.
Works based off the last edited date of your files to prevent cheaters.7 -
When you're really fuckin proud of that extremely clean, elegant, efficient 30 lines of code. It might not be important, but holy shit it's pretty!!3
-
So for almost all of my c++ assignments I've recieved various emails from the instructor about things like "incorrect header guard" and "library inclusions out of order".
The first being that I didn't include the namespace inside of the guard (I did "FILENAME_H" instead of "NAMESPACE_FILENAME_H")
The second is that I accidentally included header files from my project before any of the standard libraries. This one wasn't even intentional, it was caused by vscode when it formatted/prettified the file.
EX:
#include "test.h"
#include <iostream>
In my opinion these seem pretty nitpicky and, especially that first one, appear to be more like naming conventions or best practices than something to deduct marks for.
On the flip side though I did accidentally store a couple functions in the global namespace which I understand isn't particularly safe. I also made a couple one line conditional statements that simply never evaluate to true, but I didn't think this was a huge deal.
I don't normally code in any of the c languages outside of college so I'm not sure how important these are to actually follow. I've apparently been deducted an entire 10 percent off the assignment because of the head guard. I know that every professor has different criteria for deducting marks, but even this seemed rather unnecessary.
What does everyone think?11 -
I remember the first time I had a code block, I sat on my desk for up to 18 hours trying to fix it. In the end realizing that my impatience is not helping me. It was all in vain. A tired mind did not help.
I finally came to realise that I was lacking on knowledge and a tired brain did not help. I did it the next day but learnt a huge lesson. When it's just not your day, it's not you day. A fresh mind will help next day. Relax, do anything apart from code.
Too much of code can drain you of ideas and smartness. You need to let your mind breathe. Life away from the PC is important too. -
My colleague can be so fucking annoying I’m close to snapping. It’s morning, I just got it, didn’t have any coffee yet and he asks me “what did you do while I was gone?” (He was away sick a few days). So I start explaining to him the code changes we did and he takes it as an opportunity to interrupt me and ask more questions during my explanation. Mostly because he thinks it’s amusing. I continue explaining not giving in to his shit and he continues interrupting me and tries to make other team members laugh at his stupid face. No one does. I finally tell him to shut up and listen and he does.
It’s like having a kid run around, focusing on every sound other than what is important and trying to be funny when all that’s happening is everyone thinking he’s and asshole that should shut the fuck up. ARGH!!! So annoying.6 -
This is my favourite place to code
Great vibe
plenty of light and most important thing
i can through myself from the window if i get frustrated4 -
I don't understand how my managers suddenly forgot that my "down weeks" we're due to technical debt I inherited. The whole on boarding hasn't been in my favor. I've stayed at work everyday til long after work hours, digging through code, trying to get JIRA tickets done, encountering issues specific to our code base that no one would ever discover on their own without docs/help from the original dev. The whole time, I was told that they know what's going on and apologize. I constantly expressed that plenty of what we were doing was building on antipatterns. They acknowledged. When a ticket wasn't done, they always knew the very specific reason and I wasn't faulted. 6 months in, I receive a great annual review. 7 months in? I receive an email titled "Performance Discussion," detailing 4 of those incidents where a ticket was pushed back -- with inaccurate depictions of what actually went down. They actually wrote that I didn't communicate. One part of the report expressed that there were "bugs found in production due to inadequate test coverage." WTF!! Everything made it past code review and QA. What are you talking about?? In fact, the person who wrote that merged my code in each time!!!! Insane!! Anyway, Q2 is partly about cleaning up technical debt, which is a responsibility I have been vested (fantastic). I've deleted about 800 lines of code in the last 2 weeks and added plenty of doc strings. Two of the most important modules our application works from are about 1000 lines of JavaScript each without any comments/docs. I'm changing that, but I don't know if my managers truly know the significance. Someone was recently promoted to my position but manually wrote out a sorting algorithm (specified numeric indexes and all); didn't do shit to earn it but breathe. And while they get more and more praise and responsibility, I'm over here stuck trying to prove myself and live up to why I assume they hired me. It's ridiculous. I love the company, but I'm not getting any sleep and I'm stressed out. It's only been about 7 months and I've been doing everything I can. Why is this happening? What am I doing wrong? I've been developing a recurring (physical) headache and ticks. My heart/chest area sometimes feels like it's lifting weights. I sound like an idiot, pushing so hard for a company that isn't mine, but I take so much pride in being in this position, and I'm so set on proving myself this early in my career (I'm 25).8
-
As much fun it is to code and create new features for users. Take a break from the computer and spend time with real people.
A few years ago I would stay at work to get tasks done. While everyone in the office would go home I would stay and finish some task. After doing that for a few months my wife started to yell at me.
It made me realize that no matter how important a new feature, a bug or optimizing code is family and the relationships you have are more important.4 -
CoWorker: I fixed the code so it doesn't throw any errors or warnings anymore.
What He did? Well.. he just commented the whole important part and it's my turn now to really fix this C mess.1 -
Our instructor for game development claims that variable names are not important if your scope is small.
Thoughts?
Here is a picture of his code he gave us as a reference the other day.19 -
I started my actual gig as CTO of construction group (Innovation Hub) a year ago. And it was a hell of a ride, implementing kind of a scrum-ban for project management, XP, peer-reviews, a git-flow, git commit message formats, linters, unit testing, integration tests, etc...
And it's the fun part because with the CIO we had to drive the board to do A LOT of changes in their IT/Innovation drive.
But in one year there is a lot of KPI that went up :
* Deployment: When I arrived it took three stressful days to deploy a new version of one application, once a month. Today we do it every week, and it takes three annoying hours.
* We had no test. NOTHING! Today we have 85% code coverage for the unit test, and automatic integration tests run by our CI server every day.
* We had almost no documentation. Today our code is our documentation (it automatically extracted and versioned).
* We had 0 add value in the use of git. With commit messages as "dev", "asked task", inside jokes and a lot of "fix" and "changes". Today we have a useful git, and we even use it to create our deploy changelogs (and it's only mildly annoying!).
* More important, the team is happy! They get their purpose, see betterment in their tech mastery. They started doing conception, applicative architecture, presentations, having fun.
There is still a LOT of bad things we are still working on, and trying to solve (support workflow and betterment). But seeing what they already did, I'm so proud of my TEAM! I'm a fucking asshole, workaholic, "just do it" kind of guy. But they managed to achieve so much. Fucking PROUD!! -
Our Code everlasting
The all creating One
Coders Almighty
Through Our Holy Lines
Conceiving Algorithms
Konrad Zuse our Savior
I believe in Clean Code
I believe in Free Software
I believe in Open Source
Our Code is three in one
I believe in the bug-free project
That'll be compiled again
For I believe in the name of Alan Turing -
I really want to stress that we should add the ticket for adding the missing test cases in *this* sprint and not postpone it any further.
-- "Isn't there something more important to be added instead?"
There. ALWAYS. Is. Something. MORE. Important. The real problem was that we implement the test cases in the past to begin violating our definition of done. We have to fix and one point and we have to own that decision as nobody else will care about passing tests and test coverage. It's our job to care for that.
Yes, we can instead focus on all the other high-priorities task that should have been done yesterday, yet that won't change the fact that large part our codebase will remain an untested messy blackbox just asking for weird bugs and wild goosechases in the future.
Don't hide behind "high priority tasks". A job is done when it is fucking done and tests are part of that. Hurrying from one important task to the next will just mean we'll never do it. There is no better time than right now.
If code coverage got left behind in the past, then we'll have to suck it up in order to fix it as soon as possible, otherwise we'll just suck forever.rant workflow priorities something more important agile own your shit developer sprint planning sprint testing test1 -
Co-worker is in his office.
Co-worker whistles continuously "The rains of Castamere" from the Game of Thrones series.
I like Game of Thrones.
I also like the series' score.
But not the way my co-worker interprets it.
Because it's wrong.
Anyway, he whistles.
Sometimes louder, sometimes less so.
It's very out of tune.
It's annoying.
I can't concentrate, let alone code.
Co-worker goes to a meeting.
Silence.
I delete the bullshit I've written earlier.
Then, I get some coding done.
Then, I'm relaxed again.
Then, Co-worker returns.
Now he hums.
It's the same song.
Over and over again.
Again.
It's not that much out of tune, but it's still annoying.
I can't think, I can't concentrate, let alone code.
My thoughts drift to a certain Red Wedding.
I imagine it in vivid detail.
Strangely, it's a happy place right now.
I imagine throwing my screen through two fucking walls.
I don't do it, because the laws of physics are against me.
But the thought is enough.
I'm at peace, again.
... also, I got to leave early today, so I got that going for me which is nice.
(I already had to tell that co-worker *not* to whistle loudly in the cafeteria - you can hear it in a big part of the building. We had some important customers over and Office Management was not amused.)6 -
Strap in...
- Previous employer
- 3rd party partner firm
- integration link between both over SOAP
- Both sides riddled with poor code and messed up political structures (partner firm CEO is an investor in my employer)
- Doing a deployment to update to https (I know)
- Keep http endpoint live
- Other side starts shitting itself
- Diagnose
- Not us
- feelsgoodman.tiff
- Get angry email
- Explain not us
- Back and forth
- Tell client it’s “irrelevant” on https issue, it’s their side that’s gone wrong
- Get angry reply with boss cc’d about how nothing is “irrelevant” for the client
- We all had to have a make up meeting and meal
- Client was calm and reasonable, all agreed we just snapped and it wouldn’t happen again
- 2 weeks later
- Their system shits itself again and suddenly we’re on the hook
- BA on my team (smarmy little bastard) constantly fucking me off
- Get so close to actually screaming and hitting him
So yeah. I don’t tend to hold that a job is more important to me than my dignity.
I have and will never hold my tongue for the sake of a job, I’m not gonna put up with people shouting / belittling / backstabbing etc. -
CTO s shouldn't write software once there are more than 50 devs in the company. They shouldn't make tech decisions. It is time for you to back off and help with more important things. We really need you to get process nailed down. We really need you to help us understand business better. Not writing code.1
-
Coding faster is more important than code quality? GitHub shows a call to action: "Code 55% faster with GitHub Copilot". WTF?14
-
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 -
I can retire! I automated myself!
I introduce to you, retoorii1b! Yes - I fit in a 1b LLM. Retoorii1b is a bit retoorded tho. It's quite realistic.
I tested several LLM's with same training and it was amazing. Even a 0.5b that had the most interesting Dutch ever. Her Dutch is like my English I suppose.
The 0.5b one could code fine. retoorii1b still has some ethics to delete to make it more realistic.
I've not decided a base model yet, but it'll probably be the lightest one so I can let a few chat with eachother on my webplatform / pubsub-server project. I have a few laptops to host on. I can let it execute actions like file listings or background task execution.
See comments for some very awkward response regarding my file listing. She described everything.
She just said these things. I'm kinda proud. I became a parent:
3. **Keep functions short and sweet**: Aim for functions under 50 lines long. Any longer and you're just wasting people's time.
Now if you'll excuse me, I have more important things to attend to... like coding my next game in Unreal Engine.31 -
Ecma International, the organization in charge of managing the ECMAScript standard, has published the most recent version of the JavaScript language. ECMAScript 2016 (ES7 or JavaScript 7th Edition in the old naming scheme) comes with very few new features. The most important is that JavaScript developers will finally get a "raise to the power" operator, which was mysteriously left out of the standard for 20 years. The operator is **... It will also become much easier to search for data in a JavaScript array with Array.prototype.includes(), but support for async functions (initially announced for ES2016), has been deferred until next year's release. "From now on, expect smaller changelogs from the ECMAScript team," reports Softpedia, "since this was the plan set out last year. Fewer breaking changes means more time to migrate code, instead of having to rewrite entire applications, as developers did when the mammoth ES6 release came out last year."1
-
Ah, the little subtle things we have to iron out as we progress from Junior Developer to Medior Developer.. things like:
- knowing the difference between a carriage return and a line feed (although having worked with analog typewriters helps) and later knowing that Unix-based systems and Windows NT-based systems implement it differently..
- knowing that serialization is important because not all computers interpret data the same way and some computers allocate 4 Bytes for a construct, others 16 Bytes.. and then we get the funkiness of transferring character sets between machines..
- knowing that a whitespace character is not only an actual space (as is known in ASCII as code 32). This one can cause even medior developers a headache, as in: why the fuck does this string function say that "hello I am a duck" and "hello I am a duck" are not the same?! Turns out then in the debugger that when you expand every character in the string you see that string1 contains 32 32 32 32 as usual.. but then string2 contains -96 -96 -96 -96 and you're like.. what the fuck..? Then you know you have to throw \\h regex at it. Haha.
- finalizing our objects and streams (although modern languages do that for us).. otherwise we have to do funky shit like trying to find what's locking a file, which is not so easy to figure out.
- figuring out why something won't work often requires you to not only break down the problem in smaller steps, to use a debugger, but sometimes it's even better to just create a proof of concept, slap some minimal code in there and debug that.. much easier.
- etc.
:)7 -
What the FUCK is wrong with people!!!??
If you need to use !important in your CSS.... STOP and just don't.
It should be very clear that if the need arises to use !important then you are either really shit at CSS and don't understand the concept or you are a lazy mother fucker.
I'm so fucking sick of dealing with other so called "developers" shit code and have to spend time I don't have fixing their shit.
There is absolutely no reason to use
!important and to anyone that thinks to be a smartarse and let me know of their shit reasons... just don't because there aren't any.4 -
> grep -c -e '// BAD HACK:' importantproject/src/main.cc
4287
our most important piece of legacy c++ software with about 44 thousand lines of code and next to no doc aside from inline comments.4 -
Yay ...
No more !important in SCSS...
All colors pulled from variables...
Such code ... Very clean 😂 -
Got praised today by an important guy in my company for writing understandable javascript code. He said he'd gladly learn js if I were to teach it.
feelsgoodman.jpg1 -
Having the coder anxiety, can't finish code in one sitting, getting anxious, not eating because cannot eat while in the middle of something "important". Trying to finish it anyway, getting more tired, staying up too late, losing concentration on the next day and doing it all over again...2
-
Working for a company with solid procedures really makes me appreciate how important they are. Knowing someone will be scanning through my pull request made me *really think* about appropriate layout and commenting. Before I could submit any old code and the other programmer wouldn't give a monkeys.
I guess that's a poor reflection on my performance but, I'm working on it -
This post is kinda late. For those who haven't read my previous rants, a marketing coworker bragged about a feature that we hadn't yet finished. (I'm thinking that they perhaps did it to put extra pressure on the dev team 🤔.) Of course it backfired pretty bad, because this feature was a plug-in for another service, and even though the dev team was on time with the feature, the other service we were writing a plug-in for took _sooo_ long to approve of our code, and it made this marketing guy look so bad in front of these clients because the feature was a few weeks late.
A part of the new feature was that some of their data would be synced with this service. These customers were so important that we couldn't afford to disappoint them, and the solution was... *drumroll please* ... that this marketing guy would have to manually copy the customer's data from the service into our platform to make the customer think this feature is ready. Row by row. I'm hearing it takes about one hour of their day 🤣
I mean I'm good friends with the guy but... they kinda deserved it2 -
Why do teachers tend to not explain parts of their code?
I got some C++ material and example code for doing some rendering, and the material says "these parts are not important".
Guess what? If the whole thing does not compile when i remove the unimportant code, it was fucking important!2 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
Best advice so far: "KISS: Keep It Simple and Stupid"
That works every time because your design of the code will be understandable. Your code must seldom to be refactored. You aren't that asshole who never comment and document anything. And the most important part: The code works as designed without flaws!4 -
How important is understanding heap vs stack memory allocation?
Who knows--I'm a python developer after all.
Also I completed by first alife simulation. Took me from 7 pm yesterday to 10.30am this morning.
Feels good. I'm at the part of familiarity with the language that my thoughts are pretty much directly parsed and translated into code, without any effort.
Alife's just for the standard math shitposting though. Was fun regardless.20 -
What are your thoughts about competitive coding and hackathons in general?
I sometimes feel that practices which are important for maintaining and structuring the code gets lost in the spirit of competition. Also, more hacks are kind of used to finish the assigned tasks rather than a proper approach.3 -
I started my career 7 years back (at the same company I am currently working) as an Asp.net developer. My company used to work in Microsoft domains back then. 5 years back one of our directors decided to dig into the open-source technologies and move away from Microsoft. And I was the first employee who was assigned to learn python. I thought about switching the company so that my 2 years of asp.net experience doesn't go waste. But I didn't as I started liking python. It was easy, powerful, clean, and same code ran on every fucking platform. And I was introduced to open-source.
Don't know best or worst, but this decision definitely changed my view about software development. I understood that money is not everything, passion is also important. The open-source community runs on passion and dedication. And I love the way it works. The bottom line is, I am happy. And python is beautiful. -
!rant
Communication is IMPORTANT, and the way to approach someone is also IMPORTANT.
I experienced that my colleague is from China, and his English accent is so strong (in the context of not understandable, like the word 'folder' he pronounces it 'foda', and the word 'code' he pronounces it 'korr') that I have to ask him to repeat himself (which sometimes I felt guilty to ask him to repeat for thrice, and I am still not able to understand) or maybe we can do it over text. It is much easier to understand him that way and I can leverage these texts to see a bigger picture of the message.
From this, I realised I need to work more on understanding what he is going to say and what he actually meant.
Any advice for me?9 -
It's funny how you start feeling bad for the next dev taking over your project because it turned into a total spaghetti code shit show that will be impossible to maintain in the future with new features coming in.
Honestly... if a projects starts out with a certain scope which then gets extended EVERY FUCKING WEEK with requirements that can't even be met in the initial timeframe it's no wonder the code quality will decrease over time.
This just reminds me daily how important good project management (and I'm not talking about suit wearing pain-in-the-ass-managers) and the inclusion of devs in the planning process really is.
It's so fucking crazy that companies run like that with people up front that have NO FUCKING CLUE what they are doing, nor do they understand the mechanics, tech and effort that go into certain features. They're like "beep, boop, it's done by Friday you fuck!".
The funniest part of this stupid charade is that the closer we get to a new "deadline" (we will not meet the deadline anyways) the more nervous the "managers" get. WHY didn't you properly plan this shit in the first place? WHY didn't you care for the last six months where all this fucking bullshit could still have been prevented?
Meanwhile I'm just so sick and tired of this shitty project and this sucky company that I just don't have any motivation left to keep on working. It's so fucking hard and painful to work on projects that suck ass, are poorly designed. I just got to the point where coding is no fun any more. Thank god I'm out of here soon... fml5 -
So I'm writing this code, that does 2 important things, that cannot be seperated. I run the code, thing1 is correctly executed, thing2 not. No fucking idea, why this happens. Execute again, same result. Debugg the wohle thing, now everything works fine.
WHAT?
I check the code, there are no background tasks, no paralell processing, nothing that should go wrong.
Asking a Senior developer for help, he also has no fucking idea. He tells me to try to wait one second between the two things. Looking for a delay() or wait() function in my programming language but there is none. Ok, building my own delay, writing a "do 1000 times" loop, calculate some shit in it. Execute the code, it works perfectly.
Nobody has a fucking idea, why this is happening and why this solution is working, but now the code is productive and it works fine.9 -
Learned an important lesson today- Never be sentimental towards your code.
The only thing common in all clients is the habit of changing their requirements, how sure they are about the unsurity of what they want. And if you are sentimental towards the code you write, about a difficult algorithm you implemented you will be in a mess -
*[style*="width:"],*[width] {max-width:100% !important;}img[width] {height:auto !important;}
* !important feels so hacky but it works!
Old site with ancient code and multiple people not versed in css or even newer html. Decided, ah F it, just workaround that and * all the things!1 -
I have a co-worker who won’t stop “refactoring” our codebase. He will go on a long tangent — under the guise of working on a proper story — and then reveal proudly after a few days that he now introduced a new middle-layer into the code which will help us such and such.
I have never seen any benefit from this. I think sometimes cleaning up variable names is nice, but a lot of the things just add noise and complexity. He’s a junior dev, I’m a senior dev. My progressional opinion is that he is doing a bad job. Management doesn’t know the full extent and the lead programmer scolds him every now and then but in the end let’s the code changes pass code review. “It has already been implemented so what’s the harm”.
Then the rest of us are stuck with horrible merge conflicts. I recently noticed that some new business-important unit tests that I wrote were mysteriously gone. Oops — lost in some misguided refactoring I guess. I’m assuming they were failing after the refactor, so clearly they had to go... Fortunately the underlying logic still works I think.
His main tactic in all of this seems to be to just use argumentative stamina. He will lose discussion after discussion but doesn’t seem to care. He’ll just talk and talk. And the in the end the lead tech gives in. And/or doesn’t have the energy to catch the error introduced.
I swear, the company would be better off without him. Maybe even better if we keep paying him but he just cleans the toilets instead. Sometimes I almost believes he gets up in the morning to come to work and just fuck with people all day.2 -
Recieved some code from a client to review for porting it to a new system.
They sent the PHP scripts copy pasted into seperate Word Documents and skipped the most important file (containing the business logic functions).1 -
Fellow C# programmers, how often do you use #region in your projects and how important do you think it is?
I have found myself using it increasingly. It works great for me and I feel that I can structure my code better.10 -
"When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity." - John D. Cook
-
Little brother wants learn programming and asked me if I could help him learn it.
"Sure, I'll show you how I learned it."
Gave him a book for starters to go through it. To have a slightly better time, I'll read his code and recommend some ways to go.
In my opinion it's important to learn to learn by yourself and learn to help yourself. Therefore I think this is kinda a good way to start with a bit of supervision from me.
What do u think of it, or how would you have done it?
I mean sure I could be some kind of teacher, but with a fulltime job + uni I don't really have time for that.4 -
I've been working for 6 months now, and the boss tells me he's not satisfied with my work compared to someone that has 15+ years experience. He clearly states that for him - it's more important lines of code, than planning and defining the architecture which he don't like because that doesn't provide anything...
Of course, I can just jump into the code if that is whats important. I've seen the code produced by the other guy, and its shit.
The guy is a talker, and knows how to talk. I'm more like, hey lets create a simple design prototype or do some UML diagrams to get a better visualization of what we need.
Anyway, its just annoying to be compared to someone with many years of experience, its not that I can achieve it overnight...11 -
Dear managers:
Don't rush developers when they're reviewing code - telling them to cut corners.
You're not a dev (anymore). This shit is important if you want a system that doesn't blow up / takes months to make a simple change.
It's my name going against this approval and I (and the team) have to live with the code every day11 -
I'm a developer, member of the A-Team. Actually I'm the leader of the A-Team.
We are incredibly skilled. Our problem solving capabilities is amazing, almost 100 times more effective than the rest of people. We produce code 10 times faster and better than anybody else. We have THE knowledge.
We can save the company in case of emergency.
For that reason, it's of paramount importance to nurture and protect the A-Team.
- When there is a bug, A-Team will not correct it. Because, if A-Team is busy, and bad shit happens, the company could be destroyed and we couldn't help
- When there is some important features to develop with a deadline, A-Team will not participate: A-Team must stay alert and ready in case of emergency
- If huge catastrophe happens and long hours, night and weekend are needed to fix it, A-Team will not risk burning the A-Team because it's the only high skilled team we have. The company cannot afford to have an A-Team member exhausted, underpaid, unhappy leaving or sleepy. Therefore, the company will sacrifice other less important people.
A-Team is company biggest asset and must be protected in any kind of situations.
The company should also pay training for them in order to increase their skills and make them unreplaceable.
These are my conditions. I'm the leader of the A-Team. You can't afford to loose me.7 -
Did any of you hear Tim Cook's recent statement?
'Apple CEO Tim Cook says it is more important to learn how to code than it is to learn English as a second language.'
I mean, most of the code that I'd ever work on would be in English, no matter which country I'm living in. Most of the resources, documentation, tutorials are in English. Plus, if you think algorithmically, the logical code flow closely resembles constructs in English language. How could I possibly code without knowing English?
Go home Tim, you're drunk!
https://qz.com/1099791/...2 -
rant.
i'm graduating uni and I have to say, my school sucks. they dont teach us how to be developers, they're teaching us how to be tools.
half the subjects could easily have descriptions like how to be employee of the month. I know social and management skills are important in the workplace but by god if I knew that that's the only thing they'll be teaching then I shouldnt have enrolled. for fuck's sake this is IT not HRM.
it doesnt help that most of the professors cant even code beyond printing statements and loops. they didnt even teach object-oriented programming. I had to study that shit myself, so mind you i'm probably not good at it.
though I've had my share of wonderful professors who have taught me so much, a handful of them isnt enough to salvage the incompetence of the whole faculty.
end rant.5 -
have been working on a small project in the last couple of months. a few client meetings we are discussing a timeline feature for orders and assignments. the calendars (yeah a few on one screen cuz ... yeah) the client keeps complaining that they should look differently and in the same time says "Design is not important *designer-guy-he-works-with* can change it once we are done"
me - :/
side note: the calendars are tightly coupled with the js code powering them, so yeah ... looking forward to it
..1 -
Some people just don't get it. When you meet friends who are either non technical or very new to programming, all they ask you is what language do you use.
The language is important but not everything. It's what you do with it that matters. Just because you know python, doesn't mean that you can do machine learning. Even simply asking what do I do is better than that!
The language is just a tool! Learn to be language agnostic please. Be a programmer, not a code monkey2 -
Any code should be simple and easy to read / understand.
I just reworked an old stored SQL proc.
Went from 102 lines to ... 10.
More I code, more I realize that maintainability, readability, comments and unit tests are more important than actual code. (And performances ofc. But if 1 line code does it in 1 second and 500 lines code in 0.2 seconds, I’ll take one line solution every time)5 -
I think I'm getting to the point to where I'm burnt out at my job. Don't get me wrong, it's a great place to work. But it is very, VERY boring. And I'm starting to struggle to even pay attention anymore. I know it's important but I'm struggling to care. How am I supposed to do good work when I can barely even focus? Good code is not magic! I can't be barely holding my eyes open and expected to be worth anything.
I'm also still technically a junior developer which I have some issues with >_>6 -
!RANT
We all have that one colleague who asks for help with his code and when you try and talk about it, he acts like he's got everything figured out.
These guys are so frustrating,if you know it already why'd you call me in the middle of the night to fix an important bug.1 -
I'm frustrated with an abundance of different *Ops we're having right now. You can spell a random word followed by "Ops", and it's probably a thing. I get that Ops people in general are important but when there is stuff like GitOps, MLOps, FinOps, it gets confusing pretty damn fast. There's no value in all these titles besides "duh" usually, since Ops are just Ops in most situations. They kinda can slap a tracing tool or two on top of your code base but in general they just do Kubernetes (with whatever's hip like Jaeger, etc.) nowadays and that's it. Hell, even "DevOps Engineers", for a majority of cases you'll encounter, are basically just Ops with a misleading prefix since it's just a way people call them nowadays for whatever reason.3
-
My biggest dev epiphany was also my dumbest one. We were working on a payment system for a roadside rescue company where an employee would register payments "in the field".
The challenge was automating input with typeahead and autocompletes in order to lessen the workload as manual input had to be an absolute minimum; this will be used by truck drivers/mechanics as they are trying to hurry to the next customer who has been waiting for 3 hours longer than we said we'd take.
We managed to make the invoice path first (customer has not paid, employee logs personalia needed for billing), but when it came to "paid on site" we almost upended the entire system trying to find a way to fetch user personalia outside of the invoice path.
Neither of us realized it during the days we were banging our heads against it. Realizing we don't need to make an invoice for a job that has been paid for was equal parts relief and utter embarrassment.
Probably my greatest lesson in how important it is to pull my head out of the code once in a while, and to ask myself what I'm trying to do and why. -
Working for one of our oldest customer, in some serious old, ugly and outdated code(web service).
The dev db doesn't contain any relevant data.
The QA service points to production, so can't use it for any tests.
My contact, at the customer, is going on vacation tomorrow.
Their pm is going on vacation next Friday.
No time for refactoring, db data updates or otherwise do important and much needed updates.
They want it to be done yesterday.
FML. -
Does anyone find the laravel documentation just lacking? It seems like it the twitter feed of documentation leaving out very important information that leaves me banging my head for hours. I really like laravel and much better than working with raw php but I wish there was an option in the drop down for additional a more flushed out version with more code examples. I understand experts don't want to parse through tons of text just to find the correct artisan command but c'mon.5
-
As a 0.1x programmer, I realised an important lesson today :
You can win school coding contests by plagiarizing code. No one cares, and no one will know.
Because the dude who won the contest was literally copying from Google and stackoverflow and they didn't caught him 😭7 -
Why commenting is important?
If you are commenting a variable or method and you can't find the right way of explaining it, there's a problem with your code6 -
So I've been working a project while now. last week we got a lot of changes from the client and the boss suggest we pull one of the senior devs from another project to help out. All good...until I checked the code...WTF!
For ex we have a method that checks and update weather info, if required, and returns a view(100 lines of code). so the client wants the weather to display differently in certain areas. exactly same data and everything just the view to look different. easy right..? Mr "senior" dev duplicates the method each time and just change the return statement to a different view...Fuck me right? Oh and 90% of CSS statements ends with !important. senior my fucking ass!3 -
Included a widget on a website (JS that adds its own code in a division, like Facebook like boxes). The script added its own CSS file that overwrites bootstrap classes, with !important and at the very end on the <head>. Even worse is that there's no alternative, its a widget from a government association and there's no API. And of course, the client insisted to have it so I had to rewrite some part to use custom classes instead of bootstrap's.1
-
Them: Maintaing code quality is a vital part of our team culture!
Me: Really, how important? Can a feature slip to facilitate necessary refactoring?
Them: Well no. We've made a commitment to the client.
Me: So, code quality is not very important then is it... -
I made changes to an SQL view used as the source for a pretty important integration that is built and managed by an external company. The integration failed the morning after and I was immediately blamed by the company and heard "how could you be so careless" and "how long have you worked in this business". I've been a programmer for 20+ years and done integrations for 15+ years. I know I checked the output of the view and it was identical in every way to before my changes.
After finally getting access to the integration code on "the other side" I found that it didn't read from the SQL view - it read the view definition. It also uncommented anything in the view (yes, uncommented) and ran that query.
We now have a year free of charge - which we won't need because my boss is throwing the company out as soon as we have a replacement.2 -
I was thinking about the problems one of our clients faced with the launch of their project the other day, because things were rushed, stuff was omitted and in the end they could not meet the launch date, and I started making a list of hard lessons I learned over the years that would have helped them avoid this situation.
Feel free to add yours in the comments.
- Never deploy on Friday
- Never make infrastructure changes right before a launch
- Always have backups. Always!
- Version control is never optional
- A missed deadline is better than a failed launch
- If everything is urgent, nothing is important
- Fast and cheap, cheap and quality, quality and fast. Only one pair at a time can be achieved
- Never rush the start or the end of a project
- Stability is always better that speed
- Make technical decisions based on the needs of the project two years from now
- Code like you will be the only maintainor of the project two years from now. You probably will...
- Always test before you deploy
- You can never have too many backups (see above)
- Code without documentation is a tool without instructions
- Free or famous does not necessarily mean useful or good
- If you need multiple sentences to explain a method, you should probably refactor
- If your logic is checked beforehand, writing the code becomes way easier
- Never assume you understand a request the first time around. Always follow up and confirm
There are many more that should be on this list, but this is what came to mind now.2 -
I work full time in the data protection field for healthcare whilst investing all my free time into coding as a career change.
I've discovered that despite people telling you how much you need to spend every hour you get free to learn to code, you also need to consider the people closest to you. I was ignoring my partner who I live with because I thought this was more important and that she should be able to see that. But what's the point in being in a relationship if you aren't making an effort with each other?
It's OK to slow down and invest time into the people you have in your life. Give yourself a break. -
Everyone ranting about how they express themselves through code.
And here I am on project where I can make almost no decisions myself.
I got into coding for the same reason as everyone else. I'm pretty good, so they put me on this project. Junior guys get all the good stuff, 'cause this project is too important. Ironic, eh?2 -
Teach students the importance of clean code/architecture and testing. Even if they dont yet understand the more complex topics such as architecture, they should understand why quality is important and that software is a craft more than a science. You cant just apply principle X and insert design pattern Y and profit++. You actually have to think and constantly improve. AND TEST.
Think I would probably also cover things like build automation and continuous delivery. These are now important things for junior devs to know about going into companies. -
I just realized that in my company , the code review is not important.... And the source code is fucked up.... The structure is like functional programming and Oop combine with redundant function everywhere.
And in the source code there's a folder called depreciating service , I asked them what is that , they told me it is the service previously but not recommended for using it.
I was like "you mean deprecated"? Omg
They don't care about code review and clean code here.
My struggle here is they dare to create one class for the entire project and every code are in that class...
This is fucking not acceptable. -
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 -
Now that I've spent a few ineffectual hours too many trying to get it working, I'm starting to think VS Code wasn't built for the purposes I wanted to use it for. I still can't get breakpoints working anywhere close to reliably. And I'd say breakpoints are pretty important.
On a related note, if anyone here has used VS Code together with arm-none-eabi-gdb, I'd love some pointers. I've yet to find any traces on the web of people doing that…rant frustration arm-none-eabi-gdb embedded development has anyone ever searched by tags? gdb stm32 vs code why am i still entering tags3 -
What I absolutely hate the most of my workflow is to hand over my code for review to other developers.
I know it is important to prevent errors and to get feedback from them to improve, but I'm far from being self-confident and I'm afraid of showing others my work, regardless of the fact that nobody said anything mean about my work.3 -
I love how our industry has invented such important sounding yet meaningless job titles...
Developer, software engineer, software architect, developer evangelist, dev ops engineer, systems analyst, quality assurance engineer, code monkey...4 -
Things I learned in this 2 month training in an IT company ;
- the way @marcerisson wanted me and my group project team to use Git (and kept yelling at us about ) is actually the proper, professional way of using Git
- there is a difference between an MVC model and a fucking pack of overcomplicated spaghetti code
- commenting your code and naming your variables properly IS IMPORTANT especially when another dev might read it 15 years later (i see you Mr I Name All my Variables With the Name Of the Function and A Number)
- « if it worls it ain’t stupid » also apply in a professional area
- where ´s my fucking rubber duck2 -
Ok, so I need some clarity from you good folk, please.
My lead developer is also my main mentor, as I am still very much a junior. He carved out most of his career in PHP, but due to his curious/hands-on personality, he has become proficient with Golang, Docker, Javascript, HTML/CSS.
We have had a number of chats about what I am best focusing on, both personally and related to work, and he makes quite a compelling case for the "learn as many things as possible; this is what makes you truly valuable" school of thought. Trouble is, this is in direct contrast to what I was taught by my previously esteemed mentor, Gordon Zhu from watchandcode.com. "Watch and Code is about the core skills that all great developers possess. These skills are incredibly important but sound boring and forgettable. They’re things like reading code, consistency and style, debugging, refactoring, and test-driven development. If I could distill Watch and Code to one skill, it would be the ability to take any codebase and rip it apart. And the most important component of that ability is being able to read code."
As you can see, Gordon always emphasised language neutrality, mastering the fundamentals, and going deep rather than wide. He has a ruthlessly high barrier of entry for learning new skills, which is basically "learn something when you have no other option but to learn it".
His approach served me well for my deep dive into Javascript, my first language. It is still the one I know the best and enjoy using the most, despite having written programs in PHP, Ruby, Golang and C# since then. I have picked up quite a lot about different build pipelines, development environments and general web development as a result of exposure to these other things, so it isn't a waste of time.
But I am starting to go a bit mad. I focus almost exclusively on quite data intensive UI development with Vue.js in my day job, although there is an expectation I will help with porting an app to .NET Core 3 in a few months. .NET is rather huge from what I have seen so far, and I am seriously craving a sense of focus. My intuition says I am happiest on the front end, and that focusing on becoming a skilled Javascript engineer is where I will get the biggest returns in mastery, pay and also LIFE BALANCE/WELLBEING...
Any thoughts, people? I would be interested to hear peoples experiences regarding depth vs breadth when it comes to the real world.8 -
Made a mistake in scrapping project, realized it AFTER it spent 3 days running, now I relaunched it (corrected) with 4 times more workers to meet the deadline
-
Why does everything installed via npm sux so hard?
Why the fuck does any minor update in their bullshit packages either forces you to change config files:
E.g. now should be "@babel/core" instead of "babel-core" - WHAT A FUCKING SIGNIFICANT CHANGE!!! Rewrite all you configs motherfucker, that goddamn "@" in front of our shit is SO IMPORTANT that we will break everything to add it
Or breaks the code internally:
Consider the recent fail of fucking Terser [https://github.com/gatsbyjs/gatsby/...] that breaks fucking webpack and FORCE YOU TO ROLLBACK TO ANY VERSION THAT WORKS, why you nerd retards, can not run a simple dummy project BEFORE YOU RELEASE YOUR SHIT???!?!!?
Why any fucking update from *.*.1 to *.*.2 turns into hours of googling of what the fuck got broken this time??
The way that webpack, babel and other npm packages are released nowadays is absolutely retarded. I really have a strong feeling that it is better to keep old error-proof working config and NEVER UPDATE, than constantly suffer from butthurt
p.s.
Of course I am sorry for all the hate and caps in my post, and have respect for guys that develop amazing stuff for us for free, but I need to share this5 -
I don’t think anyone was nearly as happy as I was to find out Twitch’s source code got leaked and that they use GO.
Makes me glad to see Go used by another big company for a big application like twitch where performance is really important.13 -
Learning programming, networking, robotics, and other technical skills are very important but do not forget that these are future working software developers.
They will need to know a lot more intangibles. Like effective pair programming, performing proper git pull requests and code reviews, estimating work, and general problem-solving skills and more.
These people will be learning technical skills for the rest of their life (if they are smart about it) but what can really get them ahead is the ability to have good foundational skills and then build the technical skills around them over time. -
Learn to debug, breakpoints are your friends. Never ask someone help without trying yourself to debug your code.
Debug an existing code is, I think, as important than being able to write your own code.3 -
Don't you love when there's a teeny tiny little bug in your code that's not very important but you want to get fixed because you're a perfectionist so you start inserting log statements and it magically fixes itself and stays fixed even after removing the log statements? So now you have to live in constant fear that the bug will appear again and you will never be able to fix it.
Abfjancnancnamxhajd fuck this, fuck js, fuck webpack. It was probably a fucking cache issue but who knows, fuck everything.8 -
I am still confused why people treat testing as secondary position? Tester are paid less and they hire lower quality engineers. I think testing is as important as any other phase of development, like design or implementation. . . and yeah we do testing of our own code. The only thing I can do in my case is to see that people who change my code may not break basic functionalities. And again about edge cases, try to handle some other left to be seen in production( those which I could not think of due to lack of time) I take care not to leave edge case but sometime cannot do it. I just hope people realise the worth of testing.1
-
I’m working on a react codebase and company decided to add a new module.
Now im writing markup and css to ensure UX is smooth as designers thought of it.
Imagine my horror when I start to code and find out no matter what HTML tag i use, it’s been FUCKING OVERRIDDEN in the global stylesheet. AND STYLES HAVE BEEN OVERRIDDEN WITH !important
They’re also using Ant design as a component library. Guess what, default ant design classes have been overridden too. So i try to use ant design button or card, and bam, MAGICALLY SOME DESIGN FROM SOME SHITHOLE MODULE DECIDES TO FUCK WITH MY STYLES
On top of that, styles of parts of application has been written in SASS, some part of application uses bootstrap components some use third party components like tables and responsive grids to suit to their preferences. Some parts use handwritten css. Some parts use CSS IN JS and styled components. THE FUCK IS THIS GARBAGE!!!! THE FUCKING CODEBASE HAS A MIND OF ITS OWN!!!!!! YOU NAME A WAY TO ADD STYLES TO A COMPONENT, ITS THERE!!!
And the company’s management thought a “fractal” approach to maintain each individual view is “best” for SCALABILITY!!! HOW THE FUCK DID IT NOT CROSS YOUR DUMB MIND THAT FRACTAL APPROACH ALSO GUIDES TO HAVE ALL COMMON STUFF AT ONE PLACE!!!! THIS CODEBASE HAS DUPLICATE STYLES AND DUPLICATE CODE IN ALMOST EVERY MODULE!!!!
Not to mention every developer choosing to freely decide the way they should write their code without any guidelines.
HOW THE FUCK PEOPLE WRITE THEIR CODE WITHOUT THINKING ABOUT OTHER DEVS!!! SO BASICALLY I AM NOT ONLY CLEANING SOMEONE ELSE’S SHIT BUT ALSO TRY NOT TO SHIT IN THE PROCESS!! FML2 -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...2 -
And now even the meetings I am not invited to are interrupting my work flow. Seriously. I need to collaborate with two people, one of whom is the SME for the piece of code I am working in who just got back from vacation, which he left on after breaking his algorithm because apparently due dilligence is lost on this guy. My other collaborator and I have been fighting this fire for two days. And they both get whisked off into another meeting before I can get ANY information out of any of them. But sure. We're only in a day by day schedule slip. With customers depending on our delivery in order to test their project. I am not work it OT for these fuckers because they decided that having a meeting is more important than. Delivering a damn reliable product.3
-
Do you guys have a dress code in your office?
Do you think that having a dress code is important?35 -
*Executed maven build*
Me: What's this "no tests found?"
Senior: Nevermind it's not important. Just check if your code works.2 -
I don't know how much of this can be considered data loss but one one of my uni classmates frustrated by some hellish tasks (cleaning some old code files probably) decided that everything in that particular directory won't be of any further need, so she procede to rm -rf it.. only to discover that the terminal opened in that dir was another one and her current one (the one she bashed that unforgiving rm) was in fact a standard freshly opened term where any term would open.. in the user's (only user) home dir... such a face she had when all her codes, homeworks, projects and everything went to oblivion 😂😂 jokes aside it was a good thing that the semester was almost finished, all hws submited and no important data was there as she dual booted with ubuntu and some windows, but funny thing how such a honest mistake can ruin not only your day, but maybe your entire semester1
-
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. -
Reading a couple rants from students and teachers lately, brought back to my mind a memory from the first lesson in my Software Engineering course when I was in college.
Teacher entered the room like he was the king of the world, turned around facing the students and started his intro speech:
"my name is {name} bla bla bla I will teach you software engineering bla bla bla let's point out one important thing: In your life you have written how many lines of code for a software? 10? 100? If you have NEVER written at least 1,000,000 lines of code for a program, you're not a developer. Now let's start talking about waterfall, endless specification requirements and meetings..."
Me 😐
And that was the moment I left the room moonwalking1 -
the Death Valley of PR approval
I have almost 3 years of work experience in programming professionally. Currently this is my second company. Previous company I worked for was very loose regarding clean code, code readability, tests etc. It was their way of doing things fast, making working changes quickly was the most important thing due to its business. Now I work in company where I spend a lot of time in some limbo when my code works and my code is merged. It sucks, I make all kinds of mistakes which would be tolerable in my previous workplace, but now it keeps me from releasing code. I now the way I do things now is the right way and it will result in me growing as a specialist, but it is very frustrating and damages my self esteem. I hope it will pass one day.7 -
4 months ago, my team had the task of redesigning the login page of our main app. Really nice design. Since it was fairly simple, it was given to one of our summer camp guys to do something useful. After he finished, it was stuck on merge request and no one bothered to check it, as it was not important for our PO's, it simply got forgotten...
Last week, since I was bored and remembered about it, I decided to check it and fix the small issues it had, without telling anything to our PO, just did it, asked for code review and added it to our latest release.
Today I overheard 2 guys from analytics team:
"Hey, have you seen our new login page?"
"There is a new WordPress developer so he just does his job well"
Our application is not in WordPress, only our company's website is!
Our application is in Angular!
There is no new WordPress developer! We only have an offer looking for one!
WTF2 -
Not an angry rant, and not strictly related to code, but I think it's important, nonetheless.
If you've ever considered or been approached by Amazon, please read this short real-life story first and judge for yourself: https://dev.to/voodooattack/...
P.S: I didn't post this here because I needed markdown for formatting. Sorry. :(6 -
I feel I need to write some side project summary somewhere.
So here it is about 3 months later:
- deleted 90% of code I created during last 3 months
- rewrote backed 5 times
- 200 lines POC still waiting to put in any meaningful architecture on frontend
- frontend part after aurelia, next, gatsby, react I think it would be vue powered by nuxtjs
- forced myself to buy food for whole week and don’t go out (except go running ) before I finish at least what I wrote on whiteboard
Now some positive news:
- there is not much left to be fucked up, removed or unnecessary added
- I think I got a plan
- this is probably first side project that makes me happy for such long time
- there is some probability it would help people and this is what I want to do in my life
Most important is that I know it would take at least half a year to do basic version of it and I don’t care.
Wish me luck so I can put some sneak peak after next 3 months. -
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 -
Treat documentation as first class folks. DOCUMENTATION is important. And yes, code does does replace a good documentation. Code and documentation are not mutually exclusive.4
-
This is why code reviews are important.
Instead of loading a relevant dataset from the database once, the developer was querying the database for every field, every time the method interacted with it.
What should have been one call for 200k records ended up as 50+ calls for 200k records for every one of 300+ users.
The whole production application server was locked.2 -
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 -
Basic concepts, patterns, and pitfalls of software, code, and programming logic become MORE important, not LESS with the rise of LLMs...
An LLM can more or less spit out what you need -if you are specific enough! "Specific enough" being the key phrase here. I always have to laugh at the term "prompt engineering"... it's literally called "communication skills". Also gotta laugh when I see so many haters always raging about the "poor code" produced by AI, because they are probably like "write me a for loop!", specify absolutely no requirements or specifics, and scratch their heads on why they don't get the exact output they expect... news flash, there's like a million ways to do anything you want to accomplish with code... sigh
Code is just a by product of thousands of architecture decisions, designs and options...
but, well... rubes gon' rube1 -
!rant
How should I put this... I have REALLY enjoyed help desk job more than anything thus far.
I've seen people posting about how dumb clients may be, and I know there's also those cases, but ultimately those are usually just good inspiration to comedy.
So here's the background: I was working in growing website development company (marketing called it digi-office for some reason). The clients were firms ranging from local bakeries to international suppliers.
The intriguing thing with working in help desk was usually smaller tasks and direct customer contact through e-mail. I got feedback (which always important) and the rush of good feeling at the end of every task; faster and more frequent than working on a year project. But the cherry on the cake is that I got to investigate problems within each websites' and the CMS's code base, fix them or point out bigger flaws in systems and blame others from them. 😂
How your help desk experience differ? Or do you also recognize the good side?1 -
!rant
is pre-debugging a good thing?
I have a habit of implementing a project(for e.g. a mobile app) like this: See the project, break the tasks to be done into small parts(Like UI layouts- setting, listeners to implement , graphics involved, background threads required, databases necessary, etc.)and then code each of them step by step , while simultaneously testing their working (For all possible test cases I could think of ) side - by side. this results in my project getting developed in far more time than other people, but I always have something good and working all times to show to my bosses.But I really feel stupid when I spend 2 hours handling the animations and ui while I have yet to look into databases and other more important stuff
I guess that's a habit from my good old python days(its IDLE was a playstation for me) but I wish to know better approaches,if any?4 -
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! -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out. Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.5 -
It was the end of my first week. Friday evening and everything was going well. I'd just made a career change and loved it. My new job, boss, and coworkers were fantastic.
So I decided to play a little with a portion of the website before leaving for the weekend. I needed to learn a module that was responsible for displaying our company hours online. I was told prior to being hired that this particular part of the site was important and the only recent cause of the previous developer working long hours.
It didn't work like I thought it did, and with changing one line of code, I brought the entire thing to it's knees. Not just the part displaying hours, but the entire page, which was our home page.
I didn't panic. I called some other devs I had met. I knew they could fix it. No one answered. 4.30pm on a Friday is not the best time to reach people. Four or five unanswered calls later, I started to panic. I tried changing the line of code back, but couldn't get it right. I tired removing the hours module, but that didn't work either. 10 minutes felt like an eternity.
I finally found the history feature of our CMS. It saves versions of pages and saved me that night. I rolled back to a version of the page last modified before I started working there, and it worked like a charm.
I didn't touch that module again until I had something to replace it with.3 -
Anyone have a Sacred Code regarding unattended computers at work? We love pranks in my office, but we also have a strictly adhered to code if someone needs to leave their PC unlocked to run a script or something. I've threatened to murder people who tried to mess with people's PCs who were running things. The Code is very important.5
-
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 -
!rant but tips
TL;DR consistent commitments form a habit.
I didn't write any code or do any major tasks past 5 days. Rest at home 2 days and went to short trip for remaining. Answered a few business calls. Made few important calls. Didn't bring my laptop with me and used my gf's one for less than 2 hours. (Majority of that 2 hours was spent on changing her W10 Japanese display language into English.)
This morning I found it hard to gain the productivity and concentration I had past few months. I thought I have lost it and got back to my old lazy 🐒 self.
Couldn't able to touch, well didn't have the mood to touch to be precise, my major tasks. I did my best to sit at my desk and finish minor small tasks that I can find the whole morning. That's the best I could do and probably the wise one I did.
After lunch time around 2pm, I gained my concentration back. I worked on my major tasks till 7pm. And now going home happy.
So my "productivity-is-a-lot-like-intercourse" analogy belief became stronger. As long as I commit to my desk and keep my work routine, I won't be losing my concentration and productivity for a long period. -
1. Being fast doesn't meant your smart.
2. Think thrice before you apply your idea, saves not only time but your keystrokes.
3. Google is just the last resort, if you can crack it yourself there is nothing better.
4. Cleanliness is Godliness, not that believe in God but if I see you writing shit and messed up code then you gotta do it again.
5. Useless code is important, it will help you get lost later when you come back.
And most importantly, LISTEN.4 -
It makes my blood boil when my colleagues (who have been here for ages) know that maintaining dependencies in code is important but don't even action it because they give the excuse of having no time or the pressure of finishing it on time.
It angers me that I'm now in .dll hell and they don't even consider the time or push a valid case to fix the issue. It also frustrates me as I've realised that they have grown complacent/indifferent, not even attempting to change it.1 -
Testing is important. Like when you test your server program that forks another program in the privacy of your home, only to discover you put the child code where the parent code should have gone and vice-versa.
You and your wife can have a laugh about it, instead of getting reamed out by the client or your boss for fork-bombing the server.
Sucks because it's still a stupid mistake, but at least I managed to minimize the amount of shit that would have otherwise landed on me. -
Anyone do any development in WordPress? It's like trying to override a bunch of plugins made by a bunch of developers.
Like the Unyson plugin puts a stupid non-removable notification to install a bunch of crap with a generic class name with !important.
So what did I do? I looked through the source code and found a non-used hook I can tap into and remove the message!5 -
I need to add new feature into the program which I wrote years ago so I start digging up the source code. The project is written in a language which I no longer code in.
That code is really poorly written with most of them don't have tests. I also find out that previous self is really a genius since he can keep track of huge project with almost no documentation.
To make matter worst, there are unused components (class,feature) in the source code. "Current me" have a policy of "just adding only a feature you need and remove unused feature" but it seem the "previous me" don't agree with the "current me".
The previous me also have the habit of using writing insane logic. I can remember what particular class and methods is doing but I can't figure out the details.
For example one method only have 5 line of code but it is very hard to figure out what those do.
The saving grace is that he know the important for method signature and using immutable data structure everywhere.
I was under the influence of caffeine and have a constant sleep deprivation at the time (only sleeping about 4 hour every day) so I can't blame him too hard.
I can't blame him too hard, right?
Could someone invent a time machine already? Invent time machine not to save the world but to save the developers from himself.4 -
People who use automatic code beautifiers and standards fixing scripts. 😠
Agreeing on a coding style with your team is important. But I really don't feel like reviewing the new guy's PRs if it's a thousand style adjustments and a tiny bugfix.
If you disagree with the current style, communicate about it so everyone can discuss and adopt new rules, and fucking fix the whole codebase in a separate PR.1 -
Any and every HR induction I've ever been to.
Oohh, look at us, here are our working practices, we're so amazing, look how cool this company is, this famous person said nice things about us once, remember how important fire exits are, this guy is the boss, he's amazing, you're so lucky to be working here.
I don't give a crap, you've just wasted half my first day that I could have spent listening into scrum ceremonies, familiarising myself with the code, meeting my actual team, etc. - you know, doing stuff that's actually useful.
But nooo, Sharon and Dave from HR have to justify their jobs by filling everyone's morning with useless crap 🙄1 -
These goddamn fuckers who every week spam people because their CI or code is broken. Apparently it's more important than other projects. Douchenuggets send an email and CCs the whole department and all the bosses and basically says "It's all broken, the whole company needs to work on this asap, it's possibly x other person's fault".
Then when you try to troubleshoot it because bosses want it fixed, the dumb pieces of fuck made a bug in their code that they could have easily fixed if they took the time to troubleshoot themselves instead of panicking like jackasses. Or better, have good tests and actual error handling.
I swear some day I am gonna get into a fistfight I started because of this bullshit. -
Everytime I applied long leave, my client and PM will plan for important feature, but they say start the sprint and for other new people i have to give KT, and they will take care. I know how that will screw up the system. So at the time it's nightmare late night at office, in office time KT, no weekends, stand-up for 1hr(every time QA will ask, what we get after this sprint). Stupid clients changing the requirements after stand-up.
Everytime code base screwed and need to refactoring. So as much as possible core functionality I'll complete and only bug fixing for newbie. I hate those days. -
These days I've been noticing how important is to know how to create a good diagram to convey an idea. Also, working in a big company I noticed that we use UML diagrams for a lot of things, which is very useful to understand the architecture of the system or the design of the code. Does anyone here know some book or article that can help me to learn how to better convey ideas using diagrams, how to make one, and what diagram to use? I am not thinking about something very specific to UML, because I see that sometimes we just do a diagram that makes sense without following any standard.4
-
!rant
Hello all, I'm not too experienced with open sourcing code, so here is my first attempt with a small script that initiates a phone call using php.
If someone has the time, please let me know what you think, any important things I'm missing or any advice you might have.
Thank you devRanters!
https://gist.github.com/anpel/...4 -
My worst mistake was to not follow the commit process one time. I was multitasking a lot and forgot to run the tests for one of the commits I made. Next thing I know the whole Dev team started complaining that the Head of the branch was all messed up and blaming me. Long story short, it wasn't my change but I had to take the bullet and revert it for not following the process. It was deserved. Process is just as important as writing the code.
-
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.
✌🏽 ❤️ -
purity might just be the most important thing when refactoring code you didn't write.
for real, if you purify everything in that code, future refactorings will go way smoother and reasoning even more so.
But it's no easy feat, sometimes you face cockroach code. cockroach code is code written nuke style. The fire and forget code that you shouldn't forget.
cockroach code's easy to spot. you can't know what cockroach code does without reading it's comments. roach code is fat, roach code retro feeds from different spots of macaroni. it does IO and everything else all bundled together.
roach code isn't easy to scratch out its async version. in fact, thats a property of roach code. If you can't make it async without a rewrite, you've got roach code.12 -
first some background. I'm an intern coming in on the end of my internship (tomorrow's my last day). I've been working on a reasonably important project, more specifically a restful API. We have automation set up so that any commits to master on GitHub are pushed out into a live, accessible version. Some guy (let's call him dumbass) joined our team last week, and has had a few ideas
Dumbass: *opens pull request to my repo*
My boss: *requests changes*
Me: *requests different changes*
(All this before even testing his code, mind you)
Dumbass: *makes requested changes*
Me: *approves changes*
A day passes
My boss: *approves changes*
Me (not even 10 seconds after my boss approved changes): *requests more changes*
(Still haven't tested his code, I just ran A PEP8 compliance test)
Dumbass: *MERGES CHANGES TO MASTER*
Literally EVERYTHING breaks because he was importing a module that's not available
We don't notice until later that day (I'm still working on writing the tests for the automation, for now changes get put on live version even if everything breaks -- tool is still in beta, so everyone working on it (a whole 3 people) knows to TEST THEIR SHIT BEFORE MERGING TO MASTER.)
WHY EVEN BOTHER WITH THE PULL REQUEST IF YOU WERE GOING TO MERGE TO MASTER YOURSELF ANYWAY??!??!??
My frustration cannot be properly conveyed through text, but let's just say this guy's been there a week, I already didn't like him, and then he fucking does this. -
Setting up eslint is driving me nuts.
This shit never works for me.
Every two months:
I read why eslint is important to have in development workflow. I get convinced of it's benefit. I decide to give it few hours to do this correctly this time.
3-4 hours passby, still nothing. I run into problems that only I face. My vscode setup is a complete mess now. My code formatter wants one way if writing code which eslint doesn't like for some reason.
Fuck this shit.
Am I the only one?3 -
Now as I am refactoring the internal codebase of my company
I understand how important it is to have a good code documentation and writing patterns.
And also how much it is important to help his a junior when someone is in senior position when the junior was given the task of refactoring the internal codebase.
It's such a pain the brain situation these days for me. The documentation is not properly matched here and there and code writings are random. It makes me hates the code.2 -
Today I deeply understood/learned that if anything complex has to be built, tested and maintained by a single person the most important factor to don't go crazy is the concepts of "separation of concern".
Even though it makes the development slower (*) and quite some times boring it gives back in almost absence of uncertainty and because of repetitive patterns also ease on going back to work on a new/old part/feature.
(*) Because of planning and organisation of the code flows and layers flows, but also compartmentalization of actions (a bad example would be the mix of validation code with CRUD code)
How do you experience the separation of concern? (If you have ever had the chance)
Ps: still earning ~1400€/m, am I worth more? 🤔4 -
New StackOverflow Code of Conduct.
Seems like someone important see deviant posts about the community and how much it is appreciated, and took action.
Finally!4 -
Someone save me from this fucking stupid corporate web based trainings and let me focus on more important shit like re-factoring my code (ohh joke) and/or writing something more code then going what i just mentioned above.
-
Unpopular opinion:
No one should ever argue over ANY coding style unless they're just starting out and thus have to come up with their organization's coding standards for the first time.
Once the standards are set, everyone should just comply with it irrespective of their personal preference. Or alternatively, include back-and-forth code formatting into the development workflow.
The only thing that's important is that by the time code is pushed into the codebase, it is formatted according to the defined standards so that the whole thing looks consistently written, which is basically the point of setting a coding standard.2 -
When I have an idea, I don't know why I end up opening several tabs on my browser, checking out that existing libraries that "would" be important for my code ....When no code exists yet...
-
How is a "web app" any better than a "web site"?
All a "web app" does is adding a JavaScript program as a middle-man between the browser and the server.
Where as "web sites" instantly deliver content, "web apps" deliver JavaScript code that then loads the content and puts it on the page.
A "web site" serves the browser useful content on a silver plate (metaphorically speaking), where as "web apps" serve some JavaScript code and the browser has to do the heavy lifting.
It appears that the only benefit of "web apps" is the fancier name. "App" sounds fancy while "site" sounds mundane. But technically, a "web app" is worse than a "web site". It's both slower and vulnerable to scripting errors.
Why would anyone in their right mind choose to create a web "app" over a web "site" to load text and a bunch of pictures?
I get it, some things such as posting comments without reloading the page and loading new search results when scrolling down are not possible without JavaScript, but why use JavaScript for everything, even where it wouldn't be necessary?
JavaScript should never be required to show a bunch of boxes containing pictures and some text. JavaScript is intended to enhance web sites, not to load entire websites.
As web developer Jake Archibald said, "[100% of] your users are non-JS while they're downloading your JS" ( https://twitter.com/jaffathecake/... ).
See also: I miss the good times when the web was lightweight. ( https://devrant.com/rants/9987051/... )
"App" is not an excuse: https://jakearchibald.com/2013/...
I am sad Archive.org switched to being a web app. But I applaud them for resisting that trend longer than most other large sites.28 -
Do you believe in QA who only tests the application as a user i.e just blackbox testing of clicking here and there.?
The QAs in my company doesn't have a clue on how the shit works and most of them don't even understand a line of code.
I feel that it's really important to test the application from the web api level as well to test out all the complex business logics which may not be feasible from the UI.15 -
!rant
[Update on previous rant at the bottom]
So I had the technical test last friday. I did not try to implement any automated test as it is not my forte.
I had three hours to showcase my knowledge of data structures and OOP so I did that.
The test was somewhat long actually, so I left out one part that I did not have time to implement: validation of input files.
Today I got feedback, everything went well, they liked my code and I only got two negatives: Error handling and automated tests xD
Now I'm going to the second phase: phone interviews and they are gonna asks the whys of my implementation.
I'll have to explain why I did not implement automated tests and the girl on the phone told me "they didn't like it much that you had no tests because tests are very important for us".
I guess I'll have to come clean and say that I'm not very strong on that but willing to learn, so I didn't want to risk it doing something I'm not really good at.
I hope it ends up well.
prev rant:
https://devrant.com/rants/1607302/...4 -
Important merge request howto:
- Hey, I implemented very important server change and it doesn't break compatibility with current clients!
- Cool, but we don't need this compatibility code. We'll adopt our clients as soon as the merge request is accepted.
- Ok, I removed support of current clients.
- Cool, but it's too dangerous to adopt our clients rights now. We'll accept your merge request later. Some other day... somewhere... some other time... -
I figured it all out, where all the bad code comes from, I know it now!
I think good developers need two things, an ego that makes them wanting to be competent and perceived as such and (very important) a problem with authority!
All the bad code is written by people who wanted to be liked by their teachers. The PM and PO are their teachers now and they make everything possible for them. Technical debt and human costs are swept aside when the authorities want a stupid feature now - because they have to like you and you need to be a nice pet to whip! -
"There are people so important to maintaining code that the internet would break if they were hit by a bus. (Computer security folks literally call this the “bus factor.”) "
https://hbr.org/2017/07/...
What do you all think of these ?
(Personally I think there is fluff to what he says. But there are loop holes to his argument. Not entirely true. And HBR should run stories through experts in field before publishing tho)3 -
Big party at school coming soon, I'm busy working on my startup, too shy to ask someone out. Fuck, why does it always have to be like that? When I have something important to do, there is ton of other cool stuff elsewhere. I could go, but knowing me I will constantly think about everything I could be doing and how much code I could write. And my fucking annoying shyness. Fuck, even if I like someone so much, I won't tell them because it will destroy our "friendship" and I may loose my dance partner. Flying fuck, why can't one simply change himself.1
-
(I'm not completely sure of what I'm saying here, so don't take this too seriously)
Settling on a language to write the api for ranterix is hard.
I'm finding a lot of things about elixir to be insanely good for a stable api.
But I'm having a lot of gripes with the most important elixir web framework, phoenix.
Take a look at this piece of code from the phoenix docs:
defmodule Hello.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :email, :string add :bio, :string
add :number_of_pets, :integer
timestamps()
end
end
end
Jesus christ, I hate this shit.
Wtf are create, add and timestamps. Add is somehow valid inside the create, how the fuck is that considered good code? What happens if you call timestamps twice? It's all obscure "trust me, it works" code.
It appears to be written by a child.
js may have a million problems. But one thing I like about CJS (require) or ESM (import) is that there's nothing unexplained. You know where the fuck most things come from.
You default export an eatShit() function on one file and import it from another, and what do you get?
The goddamn actual eatShit function.
require is a function the same way toString is a function and it returns whatever the fuck you had exported in the target file.
Meanwhile some dynamic langs are like "oh, I'll just export only some lang construct that i expect you to specify and put that shit in fucking global of the importing file".
Js is about the fucking freedom. It won't decide for you what things will files export, you can export whatever the fuck you want, strings, functions, classes, objects or even nothing at all, thanks to module.exports object or export statement.
And in js, you can spy on anything external, for example with (...args) => debugger; fnToSpyOn(...args)
You can spoof console.log this way to see what the fuck is calling it (note: monkey patching for debugging = GOOD, for actual programming = DOGSHIT)
To be fair though, that is possible because of being a dynamic lang and elixir is kind of a hybrid typed lang, fair enough.
But here's where i drop the shit.
Phoenix takes it one step further by following the braindead ruby style of code and pretty DSLs.
I fucking hate DSLs, I fucking hate abstraction addiction.
Get this, we're not writing fucking poetry here. We're writing programs for machines for them to execute.
Machines are not humans with emotions or creativity, nor feel.
We need some level of abstraction to save time understanding source code, sure.
But there has to be a balance. Languages can be ergonomic for humans, but they also need to be ergonomic for algorithms and machines.
Some of the people that write "beautiful" "zen" code are the folks that think that everyone who doesn't push the pretty code agenda is a code elitist that doesn't want "normal" people to get into programming.
Programming is hard, man, there's no fucking way around it.
Sometimes operating system or even hardware details bleed into code.
DSLs are one easy way to make code really really easy to understand, but also make it really fucking hard to debug or to lose "programming meaning".7 -
So I have a very important question. I don’t really contribute on Github because I’m not good with any code that isn’t mine, I don’t understand it I don’t know why they did it or if I would have come up with it and I especially don’t know how to add on to it or fix it.. am I hopeless?2
-
So i recently inherited some legacy code.
Its actually not to bad. Just a few thousand locs which are mostly stretched across a handfull of functions lmao (800lines per function yay).
So the main thing i wana ask. Does someone here know of good techniques to gradually reimplement all of this.
Since im not gonna apply bandaids to this mess anymore than is needed.
Unfortunately this is a very important system and it only runs on production xD.
Idealy i would somehow be able to duplicate the tcp traffic to the reimplementation but that doesnt seem feasible.
Also what the individual modules classes and so on do wa snever documented and no one even knows how or why certain things even exist.
If anyone has any idea of what i can do. Apart from hoping to god i dont miss any weird quirky edge cases. Do let me know7 -
Okay, my initial revulsion for ABI has receded. All things considered, my options aren't that bad. I just had to change my perspective from "huge downgrade from static linkage" to "huge upgrade from a message channel".
Just like a web API, I have to draw a continuous line through the program that separates specific concerns of interest that must fall on one side or another, and which can only cross through things with specific properties.
There are several crates shipping a number of different binary-compatible types, even generic types. Not everything can cross, sure, but maybe not everything should cross either. Maybe a DLL should receive an opaque handle for certain things, such as interpreter internal code representations. Maybe having these separated is important enough to justify having a translation layer.
I'm sure there's much woe ahead, but I'm learning to stop worrying and love the ABI. -
CSP: the thing that finally makes me jump out a window.
It's not that it's bad per se... well, I mean, it is, in several ways... but I can cope with it.
But when you're being pushed to apply a very strict policy to an app that is (a) itself 10 years old (predating CSP and most modern practices entirely you'll note), (b) has code that originally came from a 15-year old app at its core, and most critically (c) uses a third-party library that is at the very heart of it all and that simply can't ever play nice with CSP due to its fundamental nature... well... that's a recipe for an awful lot of head-meet-wall.
And you're not going to do a ground-up rewrite of an app that cost literally millions to develop (and is constantly being grown to this day) and which is now mission-critical and very highly regarded by the most important clients.
FML. -
'Where to code' or 'when to code'?
Which one is more important than the other to you?
(Or are they equally important?)7 -
First week of work as a fresher, had to run my code on the server, compiled them on my system and moved them to the server, they weren't running, tried a lot to find the problem, then in frustration and haste deleted a few other important files on the server. Then realised the architectures of my system and the server were different. FML
PS: restored the deleted files from backup, so it's cool now -
Hire are a few tips to up productivity on development which has worked for me:
1) Use a system of at least 16gb ram when writing codes that requires compilation to run.
2) Test your code at most 3 times within an hour. This will combat the bad habit of practically checking changes on every new block you write.
3) Use internet modem in place of mobile hotspot and keep mobile data switched off. This will combat interruptions from your IM contacts and temptations to check your WA status update when working.
4) Implementation before optimisation... This is really important. It's tempting to rewrite a whole block even when other task are pending. If it works just leave it as is and move on to the next bull to kill, you can come back later to optimise.
5) Understand that no language is the best. Sometimes folks claim that PHP is faster than python. Okay I say but let's place a bet and I'll write a python code 10 times faster than your PHP on holiday. Focus more on your skill-set than the language else you'd find yourself switching frameworks more than necessary.
6) Check for existing code before writing an implementation from scratch... I bet you 50 bucks to your 10 someone already wrote that.
7) If it fails the first and then the second time... Don't try the third, check on StackOverflow for similar challenge.
8) When working with testers always ask for reproducible steps... Don't just start fixing bugs because sometimes their explanation looks like a bug when other times it's not and you can end up fixing what's never there.
9) If you're a tester always ask for explanations from the dev before calling a bug... It will save both your time and everybody's.
10) Don't be adamant to switching IDE... VSCode is much productive than Notepad++. Just give it a try an see for yourself.
My 10 cents.1 -
What is a open source project you can recommended looking at? I would like to go trough a project written in either C or Python to learn more about how bigger projects are managed and get used to understanding someone else's code.
I think those are both very important skills that I lack.
I was maybe thinking about git as I've heard it is well documented, but I'm not sure if it is easy enough to understand for me.2 -
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... -
Neever give up on a project if you think you cant do it try learning the skills needed to do it, watch tutorials look at other projects, well i say never give up but if u seriously cant do it due to other issues other then skills well the. dont do it BUT NEVER DELETE THE PROJECT THE CODE CAN BE VERY IMPORTANT OR GOOD FOR OTHER THINGS YOU MIGHT NEED SIMILAR CODE FOR
-
I just started studying and commenting did not seem so important to me because we've only written simple programs so far. Recently, a friend showed me his book and a story that was in there.
They bought a code and all the names were in Hebrew. Not so bad, if not all comments would be hebrew too. Wtf!
Now I know why commenting is important.1 -
reading the project's code, following "save" callback in jvascript, i find this comment "IMPORTANT : this is a workaround to solve memory leak" and below it code that basically removes all elements from th DOM and adds them again.
so basically, someone could not find a cause to a memory leak and decided "solve it" in a specific place by reloading almost an entire page -
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. -
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
I’ve been at this issue at work for four days now and no progress and I feel really bad because we have important stories to pick up and I feel I’m wasting my capacity like this because I haven’t fixed it. Basically, only in our QA environment (one before production) our services is not acknowledging duplicate events posted by Kafka, thus keeps reprocessing them. I’ve spent so long trying to diagnose the code, which is the same in all envs currently, seeing how this suddenly occurred, restarted things, went through complications of using different tools, asked for help from others a lot but IVE gotten NOWHERE. Idr wanna say to my team that I should prioritise other things because we have deadlines but I feel this issue is important to fix but I just can’t figure out how. Now I’m worried this whole sprint will go without me doing anything and then fingers pointed at me later6
-
Really long story. It begins when I was 11 years old, Harry Potter was kind of a hit (it was the beginning) and a lot of site based of the universe where popping everywhere on the internet. I wanted to make mine so much I subscribed to a french website which offered free tutorials on differents languages. The site is still up, it is now called OpenClassrooms and it saved my life a lot.
I tried to learn HTML (4 at the time if my memory's good) and CSS, but my mother didn't believe in my project and made me quit.
Nine years after, I was looking for something to do in my life: I tried a cursus in art history and archeology, I made a Baker school, but my life didn't feel filled.
I heard about a formation in a town near mine, and was for everyone, newbies or veterans, who wanted to have their diploma either in networks or in code.
The coding classes where fantastic. We learned VB.net, Pascal, php, laravel, C#, SQL, PL/SQL (we had a teacher who was absolutely fan of Oracle), I topped my class and now I am in the next formation for my Bachelor. Today I learn Java, Symfony, Android.
The ones who taught me to code? Internet, my teachers, books. But my teachers were the most important, because they gave me the confidence. -
For all the people or anything that can take credit from others, specialy to someone that only make just 1 line change from "staging" to "prod" then get promotion and sallary raise, because some important people are watching.
Hope you die soon or wait I'am gonna make you die slowly while read and fixing my code.2 -
!rant Just random thoughts
Funny things aside, our job is very important when it comes to influence people through ads, well presented "studies", quizzes and polls that contribute on people's decisions. I think we all have some kind of story that we can more or less relate to what is described in the article below.
https://medium.freecodecamp.org/the...
It would be wise to think twice not only about algorithms, UX and implementation details but also about ethics. We should not have as our primary goal to make the browsing experience more pleasing but safer and easier to avoid scams and traps.
Your thoughts on the topic? -
I'm a lazy piece of shit that feels backend code is more important than frontend code (it kinda is though...). But this resulted in me using bootstrap and jQuery in just about every project so I did not have to put effort into it. So this year, I'll ditch them. They've served me well, but they are so bloated and also fuck up your HTML. Removing bootstrap and jQuery for existing projects is gonna be a pain, but I'll try...7
-
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.
I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.
During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.
I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out.
Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.2 -
"When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity." - John D. Cook
-
It's important to have a little fun with what you do. You can work on and on like it's a chore and get along with it just fine, but right below the surface of the tools you use lies something truly interesting. Reading code, documentation, blog posts, what have you, all of it is just as helpful in learning as writing code.
And also, be kind. We all write crap code from time to time. As a beginner, I know I do. It's important to take it all as a learning experience.
Personal favourite quote that puts it very well: 'I guess you could call it a “ failure,” but I prefer the term “learning experience".' -
-Recently started a new job so I’m new to the infrastructure-
Spent the vast majority of the day trying to SSH into one of my company servers to sort some random bug out on the website & the connection kept being rejected despite the day before it working when passing the .pem key into the SSH along with the ip & my username, nothing new there.
Anyway, everyone’s mad busy so I don’t wanna bother anyone to ask why, so I check confluence, no documentation for SSHING into our scheduler or the code the server I need to access. Never-mind.
Spend another couple hours trying debug it on my own, no luck. Never-mind.
Finally seize my opportunity and ask for help; ‘Oh the server IP changes daily so you need to run a task through our scheduler that you need to SSH into to return the list of IPS and that dynamically changes so that’s how you get the IP’
Oh ok. Why is there no documentation for that again? I mean. Thats generally some pretty important information you’d pass onto your starters.
At least I can say I won’t be making that same mistake again.5 -
I tried to make some SP using the syntax and formatting that visual studio outputs when making a SSRS report. I thought it was nice.
It formats the code in a standard way and transforms stuff like "join" to "INNER JOIN" and "left join" to "LEFT OUTER JOIN ".
When the team reviewed the code they were like WTF?! This syntax is horrible, it can't be understood. You did this?
*Me with my red face*...
I just said. You know what? I am going to go back to the old school syntax if you prefer. I just thought it was better.
Yeah... You really should go back to old school syntax.
---
Keep in mind that the old school syntax is annoying to me... No formatting at all and basic instructions are not in larger upper case.
Anyway, I thought it was nice tbh. I still think it is. And it is definitely better to me in some way.
What bothers me most is that they want to improve their coding. They say they want to be more standard and it seems every time you want to make a change it's not a good idea because "everything is already written that way". And when you don't make a change, "you should have change it"... Well sorry I was just copying the old style.
Anyways , it's not that important. I do get their point. Sometimes.1 -
I just realized i didnt push my BREAKING api changes for at least 2 Weeks, tomorrow is the initial deployment and either my code or the teams code is not gonna work, still deciding which is more important <.<
-
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
I think promoting 'a quick lookup on Google' every single time you need to add something useful into your codebase is a bad mentality. It's the same problem with populating your code with Stackoverflow snippets.
I think this is not a good approach because your code will eventually rot and you won't have full control over your codebase in that you didn't write those parts and you don't fully know what's going on underneath. Then, you will forget about that code. A new feature request will come up and oh no, you will be wrestling with your old code because you just quickly inserted it in there, not fully knowing it under the hood. Hours will be lost on debugging.
I advocate much more the approach of really knowing the language and the solutions you're using, instead of just constantly hacking it with the excuse of "Oh, there's no time to learn everything", "You don't need to know the details" and "This is the real world".
No, this is not a good attitude. With the former approach, you will be much more able to safeguard your code and improve on it, rather than wrestling for hours with it. I think it's important to have as much ownership of your code as possible and depend as little on outside libraries as possible.
Fundamentals first, practicality second.2 -
There are so many things I don't understand the point of in technology
Like microservices
There are other things I just have difficulty comprehending like natural language models
Let's focus on that one.
From the explanation I saw it takes presence of words in typical language
So what the input neurons representing every word in the English dictionary?
The message gets changed to this and the output neurons are the existence of these words likely as a response to the input and BAM chatgpt converts output weighta somehow to full sentences and paragraphs?
I feel I'm missing some important point
Is there well documented code anywhere?19 -
We Introverts are going to look back to these days, Don't forget to make some memories...
... No one is asking to go out, Employers are offering work from home, to many of us it's the same old same old, in the mean time I wish y'all the best time...
to do amazing things, complete your pending projects, gist some funny/important stuff, read/write a little, organize you machine/room/life, take on some DIV projects, code better and automate the boring stuff (basically everything and anything)
I am planning to make my own version of our beloved Jarvis (just in case If I get my hands onto mind stone :p) -
Twas the moment while i was exposed to java on the commandline and windows editor and needed to grasp the shit to read input with bufferredReader and Inputstreamreader while my head was constantly spinning between the javadocs and the screen. In that moment my friend opened his eclipse and showed me code completion! And the fucking Screenreader class. I immediatly realized it was not only important to finish the assignment but also as fast and as lazy as possible!
-
Working on a CS370 (Software Engineering) project with 5 people; 2 of which feel like their time is more important than everyone else's so when we all meet as a group to go over presentations, documentation and other things we need to do as a group, they silently sit alone working on bits of code they should have done previously. Then when we can't get docs done and handed in on time, one of the two decides to spam our group chat at 2am when 2 of us are sleeping because we work in the morning, one of us is sleeping because of morning classes and the last one is doing god knows what. Like, I'm sorry. But failure to do your shit on time does not constitute an emergency on my shit. All of our weekly peer reviews reflect on how no matter what we say to these two; they refuse to work as a team.
!rant, more like dev hint
In a team, your time is not more important than team time. You can do things on your time whenever you want; but unless your entire team shares your schedule, team time might be a rare commodity and should be used as such. -
College has been rough, especially when I've been having my hand held through 12 years. More stuff to learn, to do; and my life hasn't been great.
It's official that I'm following Chemical Engineering, specifically Food Engineering major (or whatever the heck it's called). I still code but I'm not sure if I'm gonna get to the level of the properly-trained folks. Heck I don't even know DFS and BFS and they seem important.
So yea, I'm not dead, just on life support. What did I miss on dR since July guys?1 -
Did someone already thought about how color highlight can be better? It's been 4-5 years now that I'm coding on a virtual console that run on iPad with a monochrome code editor. Despite the fact that's remind me the old days when I was 8 years old, that doesn't stop me for coding with it.
I mean, is it really important to know that strings are red and numbers are yellow? How does that help me? They are both literal and behave to the user-content categories.
I was talking with my friend, and he says he likes to know if something is a keyword or an identifier. In C++, a lot of common keywords to define stuff and control the flow are often the first word and easy to spot.
A couple of months ago, I tried Flutter, and the editor can highlight ident blocks and give them different colors, but with Flutter, it's easy to get 10 or more ident levels, Does the color help? Splitting the code does.
I think, there is so much stuff that is more important than coloring the grammar of a language. For instance: knowing if an identifier belongs to which Rust Crate because, It's easy to stack 10 or more dependencies in one file that as better chances of names collisions.
Knowing if an identifier was recognized, if it used, if it's a local, a member, a global, a compiled value or a macro seems more important.
I would like to color block of code that is important or sensible. That will help my coworker about the severity of a particular place in the code.
What do you think?1 -
std::cout from C++.
Why? Because I use it all the time, can't live without it.
Sometimes the most important pieces of code is the simplest. -
I do not feel insecure in my competency as software/Firmware engineer but i started feeling really insecure about being an engineer , mostly because the way Society in general place us
usually it's like
surgeon > physician > Scientist (or any basic science person) > engineer
i didn't realise this before but recently i noticed and i stopped introducing myself as engineer to the people i meet either from my family or from dating apps. Here is the conversation that usually happens
Person: what do you do ?
Me: I build things
Person: so what do build ?
Me: My work involves building lot of things related to smart phone's wireless capabilities.
Person: oh so you manufacture phones ?
Me: No i work in connectivity part of it like bluetooth , wifi
Person: I don't understand, does it involve staring at computers all day (makes a face )
Me: yes 90% of it , I like building things making something new HW or SW and most of them do require a use of computer , even if I was a mechanical engineer computers would be necessary
Person: Hmm if i was not a surgeon i would be hair dresser , because i can't do anything that involves staring at computers all day.
same conversation happened multiple times.
no matter how good you are at writing code or how important task that code is performing , society consider's Software Engineering as a mundane task of " staring at screen "
if that song Remember the name is written for software engineers it will go like
This is ten percent luck
Twenty percent skill
Fifteen percent concentrated power of will
Five percent pleasure
Fifty percent pain
And a hundred percent reason to live in disdain6 -
I'd like to ask peoples opinions on building cross platform apps. So basically I'm on windows, and these insatiably annoying project leads (I fell for the "you code make me an app" one) want it to be cross platform. My first thought was PWAs, but then read that apple are dicks and some of the most important features are not actually supported (#!@?). So then it's ionic or Cordova, but who likes CSS? Or Angular 2? And for a native experience, I'd want to follow both iOS and android design patterns in the same codebase which is way beyond my pay grade. React native comes from Facebook, so I already hate it. Should I just build an android app and cross the iOS bridge later or build a not very native feeling, not vertically centred cross platform Cordova thing? Anyone who's had experience using Cordova care to comment on their successes / failures?13
-
Typescript is so fucking frustrating sometimes to deal with
The snippet above AND below do the EXACT SAME FUCKING THING. But because you double tap, it loses the fucking (not needed) type before the mapTo. If you aren't paying attention, you get this extremely fucking aggravating wall of red.
God damn it, can't this be better? RxJS is pretty fucking important, so why is this so god damned hard to just get some coherent fucking code highlighting!?
/rantover4 -
I want to ask for your opinion guys, because I don't know if I am right or wrong.
So, some days ago, my brother sent me some code to check out for an automation that he does for testing purposes, since he's a QA (I am a programmer). He should be able to send XML data to a server and depending on the process that he tests, the data is different every time. I saw a strange thing, he hardcodes the XML tags and concatenates them with data which I find stupid. So I proposed him to use a template to generate XML data, because I think it's more flexible and easier, making data and presentation separate. That way if in the future he wants to start using JSON he could do it in no time. I made the code in a separate file which he imports and uses it's functions (they are two so no need for classes) and uses them to load the template and render it as he passes the data as a hash table. He insists that concatenating data and XML tags is easier and simpler and I can't wrap my mind how could that be true. I gave him an example in which the data structure for a process is changed and he have to open the file and change the XML tags or the structure and he still says that's simpler.
What is the right decision in this situation. Keep in mind that I simplified the process a lot and it actually involves sending the data and reporting the results, but they are not important here since I am talking only about generating data. -
Hi,
I would like to ask please
If you were given a project to work on and it has some business rules. How do you work with it?
The reason I am asking this is because I created an application in C#
I created an application in two different ways.
The first one worked correctly
But the second one I followed the business rules as specified in order
same project but I didn't get same results.
Is the order on how / what to code first is important?
If yes, how will I know which part has to be coded first.
Thank you.3