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 - "code improve"
-
I work at a small company that uses very outdated coding approaches for their solutions.
About a year ago I went through our main application to improve performance and found quite a few areas that I could tackle such as using a dictionary data structure in place of (many) foreach loops that required to pull out a single object.
That specific change yielded a lot of improvement (you can only imagine) and the other developers wanted to learn the ways of dictionaries (because it was so revolutionary and new to them). I showed them many examples so that they could better understand this data structure.
Fast forward to a few months later, saw one of my coworker's code and noticed that they were using a dictionary... And iterating through each kvp similar to a foreach..... Wtf?!
P.S. that person's salary is much higher than mine :(
First time rant. Thanks for listening!10 -
Its that time of the morning again where I get nothing done and moan about the past ... thats right its practiseSafeHex's most incompetent co-worker!!!
Today I'd like to tell you the story of "i". Interesting about "I" is that he was actually a colleague of yesterdays nominee "G" (and was present at the "java interface" video call, and agreed with G!): https://devrant.com/rants/1152317/...
"I" was the spearhead of a project to end all projects in that company. It was suppose to be a cross-platform thing but ended up only working for iOS. It was actually quite similar to this: https://jasonette.com/ (so similar i'm convinced G / I were part of this but I can't find their github ID's in it).
To briefly explain the above + what they built ... this is the worst piece of shit you can imagine ... and thats a pretty strong statement looking back at the rest of this series so far!
"I" thought this would solve all of our problems of having to build similar-ish apps for multiple customers by letting us re-use more code / UI across apps. His main solution, was every developers favourite part of writing code. I mean how often do you sit back and say:
"God damn I wish more of this development revolved around passing strings back and forth. Screw autocomplete, enums and typed classes / variables, I want more code / variables inside strings in this library!"
Yes thats right, the main part of this bullshittery was putting your entire app, into JSON, into a string and downloading it over http ... what could possibly go wrong!
Some of my issues were:
- Everything was a string, meaning we had no autocomplete. Every type and property had to be remembered and spelled perfectly.
- Everything was a string so we had no way to cmd + click / ctrl + click something to see somethings definition.
- Everything was a string so any business logic methods had to be remembered, all possible overloaded versions, no hints at param types no nothing.
- There was no specific tooling for any of this, it was literally open up xcode, create a json file and start writing strings.
- We couldn't use any of the native UI builders ... cause strings!
- We couldn't use any of the native UI layout constructs and we had to use these god awful custom layout managers, with a weird CSS feel to them.
What angered me a lot was their insistence that "You can download a new app over http and it will update instantly" ... except you can't because you can't download new business logic only UI. So its a new app, but must do 100% exactly the same thing as before.
His other achievements include:
- Deciding he didn't like apple's viewController and navigationBar classes and built his own, which was great when iOS 7 was released (changed the UI to allow drawing under the status bar) and we had no access to any of apples new code or methods, meaning everything had to be re-built from scratch.
- On my first week, my manager noticed he fucked up the login error handling on the app I was taking over. He noticed this as I was about to leave for the evening. I stayed so we could call him (he was in an earlier timezone). Rather than deal with his fucked up, he convinced the manager it would be a "great learning experience" for me to do it ... and stay in late ... while he goes home early.
- He once argued with me in front of the CEO, that his frankenstein cross-platform stuff was the right choice and that my way of using apples storyboards (and well thought out code) wasn't appropriate. So I challenged him to prove it, we got 2 clients who needed similar apps, we each did it our own way. He went 8 man weeks over, I came in 2 days under and his got slated in the app store for poor performance / issues. #result.
But rather than let it die he practically sucked off the CEO to let him improve the cross platform tooling instead.
... in that office you couldn't swing a cat without hitting a retard.
Having had to spend a lot more time working with him and more closely than most of the other nominees, at a minimum "I" is on the top of my list for needing a good punch in the face. Not for being an idiot (which he is), not for ruining so much (which he did), but for just being such an arrogant bastard about it all, despite constant failure.
Will "I" make it to most incompetent? Theres some pretty stiff competition so far
Tune in later for more practiceSafeHex's most incompetent co-worker!!!6 -
Sad story about refactoring.
Programmer: I cleaned up the codes, extract reusable methods, reduced repetitive code and improve overall readability and maintainability.
Manager: why the page still display the same.
Programmer: ...7 -
I apologies for my bad English.
I was 14 and addicted to PC games, I take money from my dad and bought new games every day
One day he got angry and told me: "What's are you doing with your life son? I don't pay for your games anymore! If you can build your own game and play with it!"
My mother had a computer academy, So i ask her to teach me how to build a game! She starts teaching me VB6, It was amazing.
After that, i started programming, Searching for VB6 sample code all day.
We had a local online game and it was a time killer, So i build an auto bot for this game to play for me, wit VB6. It works great, And send it to my friends and they loved it. Then I create a website and put it there so other players can use it, And after some days downloads reach 5000 times! I was shocked! Then I put a lot of time and improve it, Downloads reach 15000! After three years it reaches 50,0000 and more.
Between these years I learned VB.Net, C#, HTML, CSS, JS, Java and Android programming. Just because of some game.
And really thanks to my parent to put me in this path, It's great.
I think I can never get enough of coding!
But haven't created any games yet, So learning continues :)9 -
Reviewed the code of one of my employees and found that comment: Todo: Improve this if thomas complains.5
-
So I was hired about 4 months or so in this companty, we will name it 'Derp & Co.'
The first task they want me to do was to 'clean' an android app that, for what they told me:
- Previous dev fired. said that tasks have been done but totally a lie.
- Took a fully week of 2 fellows coworkers to 'undo' the mess.
- And for the last but not least, zero documentation, like ZERO.
So, I clone the repo, install android studio, blah blah blah, get hands to the pile of code and jesus...
- The whole app was working with a gargantuan json, there was no use of POJOs at all. Objects are for normies.
- A masive copy/paste code, like 'I will need this here, crtl-c... ctrl-v, DONE!'
- Threads are free, isn't it? let's just put a thread whenever I desire to make an HTTP request and not reuse code at all.
So... with this on mind, my first task is to make proper objects:
- Coworker: 'Sorry dev, we don't have documentation for this, you must debug the code to se what the server will send to you'.
- Me: 'Real?'
Shit... ok. So I first try to figure out how the hell is made my gargantuan json. A month was entirely lost to unravel this data and implement Objects, improve their code, reuse code, etc. but at the very end:
- coworker: 'Good job dev, when the POJOs are done, we can focus on the next task, whe have to define a new DATA MODEL because the one we are using now is not good at all'.
*note: the app is on production and working with all the previous 'features' and today it still on use on some enviroments.
- Me: 'Wait... this is a joke, now you want to define new data models? This should have been done in first place!' <WTF face>
- Coworker: 'I don't think so dev, Mr. boss have this list with things to improve on the app an this is the order of do the tasks'.
Mr. boss is on vacations, two days after he came back:
- Mr boss: 'Coworker said that you have been working with POJOs, is that right?'
- Me: 'Yes'
- Mr boss: 'Why? Did not see the need of a new data model?'
- Me: 'I told that to him, but he insist on "the order" of the list.
- Mr. boss <facepalm>
This is one of the few tales i have from 'Derp & Co.'
PS: Sorry if i made a mistake on writing, english is not my first language and maybe I have done some mistakes.7 -
[This makes me sound really bad at first, please read the whole thing]
Back when I first started freelancing I worked for a client who ran a game server hosting company. My job was to improve their system for updating game servers. This was one of my first clients and I didn't dare to question the fact that he was getting me to work on the production environment as they didn't have a development one setup. I came to regret that decision when out of no where during the first test, files just start deleting. I panicked as one would and tried to stop the webserver it was running on but oh no, he hasn't given me access to any of that. I thought well shit, I might as well see where I fucked up since it was midnight for him and I wasn't able to get a hold of him. I looked at every single line hundreds of times trying to see why it would have started deleting files. I found no cause. Exhausted, (This was 6am by this point) I pretty much passed out. I woke up around 5 hours later with my face on my keyboard (I know you've all done that) only to see a good 30 messages from the client screaming at me. It turns out that during that time every single client's game server had been deleted. Before responding and begging for forgiveness, I decided to take another crack at finding the root of the problem. It wasn't my fault. I had found the cause! It turns out a previous programmer had a script that would run "rm -rf" + (insert file name here) on the old server files, only he had fucked up the line and it would run "rm -rf /". I have never felt more relieved in my life. This script had been disabled by the original programmer but the client had set it to run again so that I could remake the system. Now, I was never told about this specific script as it was for a game they didn't host anymore.
I realise this is getting very long so I'll speed it up a bit.
He didn't want to take the blame and said I added the code and it was all my fault. He told me I could be on live chat support for 3 months at his company or pay $10,000. Out of all of this I had at least made sure to document what I was doing and backup every single file before I touched them which managed to save my ass when it came to him threatening legal action. I showed him my proof which resulted in him trying to guilt trip me to work for him for free as he had lost about 80% of his clients. By this point I had been abused constantly for 4 weeks by this son of a bitch. As I was underage he had said that if we went to court he'd take my parents house and make them live on the street. So how does one respond? A simple "Fuck off you cunt" and a block.
That was over 8 years ago and I haven't heard from him since.
If you've made it this far, congrats, you deserve a cookie!6 -
#3 Worst thing I've seen a co-worker do?
A 20-something dev, 'A', back in the early days of twitter+facebook would post all his extracurricular activities (drinking, partying, normal young-buck stuff). The dev mgr, 'J', at the time took offense because he felt 'A' was making the company look bad, so 'A' had a target on his back. Nothing 'A' did was good enough and, for example, 'J' had the source control czars review 'A's code to 'review' (aka = find anything wrong). Not sorting the 'using' statements, and extra line after the closing }, petty things like that. For those curious, orders followed+carried out by+led by 'T' in my previous rant.
As time went on and 'T' finding more and more 'wrong' with A's code, 'J' put A on disciplinary probation. 'A' had 90 days to turn himself around, or else.
A bright spot was 'A' was working on a Delphi -> C# conversion, so a lot of the code would be green-field development and by simply following the "standards", 'A' would be fine...so he thought.
About 2 weeks into the probation, 'A' was called into the J's office and berated because the conversion project was behind schedule, and if he didn't get the project back on track, 'A' wouldn't make it 30 days. I sat behind 'A' and he unloaded on me.
<'A' slams his phone on his desk>
Me: "Whoa...whats up?"
A: "Dude, I fucking hate this place, did you hear what they did?"
<I said no, then I think we spent an hour talking about it>
Me: "That all sucks. Don't worry about the code. Nobody cares what T thinks. Its not even your fault the project is behind, the DBAs are tasked with upgrades and it's not like anyone is waiting on you. It'll get done when it's done. Sounds like a witch hunt, what did you do? Be honest."
A: "Well, um...I kinda called out J, T, and those other assholes on facebook. I was drunk, pissed, and ...well...here we are."
Me: "Geez, what a bunch of whiney snowflakes. Keep your head down and you'll get thru it, or don't. Its not like you couldn't find another job tomorrow."
A: "This is my first job out of college and I don't want to disappoint my dad by quitting. I don't even know what I'm supposed to be doing. All J told me was to get better. What the fuk does that even mean?"
Me: "He didn't give you any goals? Crap, for someone who is a stickler for the rules, that's low, even for J."
Fast forward 2 weeks, I was attending MS TechEd and I was with another dev mgr, R.
R: "Did you hear? We had to let 'A' go today."
Me: "What the hell? Why?"
R: "He couldn't cut it, so we had to let him go."
Me: "Cut what? What did he do, specifically?"
R: "I don't know, 'A' was on probation, I guess he didn't meet the goals."
Me: "You guess? We fire a developer working on a major upgrade and you guess? What were these so-called goals?"
R: "Whoa...you're getting a little fire up. I don't know, maybe not adhering to coding standards, not meeting deadlines?"
Me: "OMG...we fire people for not forming code? Are you serious!?"
R: "Oh...yea...that does sound odd when you put it that way. I wish I'd talk to you before we left on this trip"
Me: "What?! You knew they were firing him *before* we left? How long did you know this was happening?"
R: "Honestly, for a while. 'A' really wasn't a team player."
Me: "That's dirty, the whole thing is dirty. We've done some shitty things to people, but this is low, even for J. The probation process is meant to improve, not be used as a witch hunt. I don't like that you stood around and let it happen. You know better."
R: "Yea, you're right, but doesn't change anything. J wanted to do it while most of us were at the conference in case 'A' caused a scene."
Me: "THAT MAKES IT WORSE! 'A' was blindsided and you knew it. He had no one there that could defend him or anything."
R: "Crap, crap, crap...oh crap...jeez...J had this planned all along...crap....there is nothing I can do no...its too late."
Me: "Yes there is. If 'A' comes to you for a letter of recommendation, you write one. If someone calls for reference, you give him a good one."
R: "Yea..yea...crap...I feel like shit...I need to go back to the room and lie down."
As the sun sets, it rises again. Within a couple of weeks, 'A' had another job at a local university. Within a year, he was the department manager, and now he is a vice president (last time I checked) of a college in Kansas City, MO.10 -
(Interview for sde-3 position)
(continuation of https://devrant.com/rants/2132431/... )
Interviewer - *opens laptop. Gives a question.* solve this.
Me - *a bit surprised that such questions were being asked on a sde-3 level*
this is the 4th or 5th question from geeksforgeeks, isn't it? I know the answer to this. Do u still want me to solve it?
Interviewer - *not believing me* Yes
Me - okay. Well this *writing down the original solution mentioned on the site* is the verbatim code mentioned on the website, with complexity O(n^2).
However I feel this is not the optimal solution. Let me write a better solution.
*I provide a better solution*
This has a complexity of O(n log n) . What do you think?
Interviewer - Nope. This could be a lot better.
Me - okay. Let me see. Did some minor changes, added some caching (obviously this will have no effect on the base algorithm) etc
How about now?
Interviewer - nope. Still not good.
Me - okay. Can you tell me how to improve it?
Interviewer - no we are not allowed to solve problems for you. It is not our interview, it is yours.
Me - that makes no sense. Interviews are a two way street. I'd very much like to know the optimal answer to this.
Interviewer - okay
*copies down the answer from geeksforgeeks*
This is good
Me - *at first I thought this was a prank or something. *
I just mentioned this answer here.
Then I spent the next 10 minutes providing a BETTER solution.
May I know how yours is better?
Interviewer - this solution has 2-3 loops. Yours has a function calling itself.
Me - that's called divide and conquer using recursion mf!
Anyways let's take an example and do a dry run.
Interviewer - okay
*we do dry run*
Interviewer - oh yes. Yours ran faster. But it will run fast only sometimes.
Me - yes. Each time the algorithm rolls a dice to decide if it should run fast or slow. You have one goddamn awesome weed dealer man.
I got to go. Thank you for meeting me.14 -
Juniors are a fun bunch to work with.
Over confident, hero complex of that fresh graduate high, and then thrown in to the real world! Where there hopes and dreams are crushed in minutes when they see what monolithic applications really look like!!
But don't let that overwhelm you, your not going to be changing all of it any time soon, hell some of this code hasn't been touched in 5+ years and still works without fail.
Don't stress about the work load, you can only write 1 line of code at a time anyway, and hell, even seniors make mistakes.
The key about being able to manage this beast is simple, break it! Because the more you break it, the more you'll understand how a project is put together, for better or worse. Learn from the examples in front of you, and learn what not to do in the future 😎
But more importantly, plan your changes, whiteboard the high level logic of what it is you want to add, then whiteboard in the current codebase and determine where to slice this bitch up, then when it all looks well and good, take out your scalpel and slice and dice time.
Don't worry, your changes aren't going to production anytime soon, hell, you'll be lucky to get past the first pull request with this working 100% the first time, and that's a good thing, learn from tour short comings and improve your own knowledge for the next time!2 -
IF LIVES DEPEND ON A SYSTEM
1. Code review, collaboration, and knowledge sharing (each hour of code review saves 33 hours of maintenance)
2. TDD (40% — 80% reduction in production bug density)
3. Daily continuous integration (large code merges are a major source of bugs)
4. Minimize developer interruptions (an interrupted task takes twice as long and contains twice as many defects)
5. Linting (catches many typo and undefined variable bugs that static types could catch, as well as a host of stylistic issues that correlate with bug creation, such as accidentally assigning when you meant to compare)
6. Reduce complexity & improve modularity -- complex code is harder to understand, test, and maintain
-Eric Elliott12 -
To improve our user's "experience" I suggested to my boss to add a status page showing...well, the current status of our services. Everybody was up for it, so I go off and implement a basic version + automated monitoring backend, get lots of positive feedback, all seems fine.
Then it starts:
Boss: "Can you get it all set up by this Saturday?"
Me: "Uh, today is Wednesday and I've never set up all the stuff needed on a proper server before"
Boss: "Well, you still have a few days. Please also contact your coworker to get it all hooked up in our launcher"
Me: "I'll try, can't make any promises though"
Contact my coworker and tell him what the plan is. I had already given him access to the repo and he is positive to get it all hooked up (I doubt he ever cloned my repo, let alone ran my code)
Spend all Friday getting my stuff set up on the production server, feeling pretty good thanks to the many tutorials.
Contact the boss Friday evening:
Me: "All up and running"
Boss: "Thanks, but we decided to go with a basic HTML page instead. We can just manually edit that, should be enough.
Me: "..."
In the end my stuff was never used, the server I set up was finally taken down a month ago. The gratitude you get when not hacking together some absolute shit that causes problems when you don't add <br/> tags at the correct places to prevent an ugly overflow, cause the coworker was too lazy to implement some form of line wrap in the launcher. I'm not saying my stuff is the best of the best, but at least it was professional looking to a certain extent.8 -
When I quit my previous job, they hired 3 guys to replace me. One of them was a swedish guy that was completely useless. He lived in another part of the country, and our manager and a senior dev flew him in and interviewed him at the airport. That was obviously not sufficient.
I got tasked with helping him get started. The code base seen in retrospect sucked really hard, but he got the simplest tasks at first. One time he needed to add a checkbox to a form, and do something different in the BL when that box was checked. I showed him where in the code he needed to do the change, and let him on his own. 1 hour later he asked again. He hadn't even been able to place the if-statement. Omg.
I told our manager that they really should get rid of this guy, since he isn't qualified to be a developer. They didn't listen.
In Norway we have a 6 month test period where it's easier to let someone go. After that, it's quite hard to fire someone.
After a while I talked to a old colleague of mine, and they had finally been able to get rid of him. That had taken months. When he was told that he had to improve, he went to the doctor and got a sick leave. You can't fire someone on sick leave.. Finally he got the option of resigning himself, or being fired. He chose the first option..
He should have been transferred to sales. If he could sell himself as a developer, he could sell anything to anyone... :D2 -
Following on from: https://devrant.com/rants/1345037/...
I sent a polite but very frank email to the manager telling him I don't agree and think its extremely unfair to overlook the breath and scale of work we have done in the past few months. Instead to criticise us for this.
He didn't reply, or really speak to us for a week. Then suddenly one day the developers were all in a meeting room and he butted in to talk.
He first of all said he wanted to let things settle before talking to us, which gave me high hopes as I expected him to then say something like we miss understood, or he didn't realise etc.
... but no ... the next words out of his mouth were "I'm not apologising for anything, and I don't want to be told to piss off in an email".
A) Piss off = completely untrue and a massive exaggeration.
B) Go fuck yourself with a cactus.
C) See point B.
In that meeting we discussed the massive amount of meetings and work we have to do which was described as "just the job".
We were told we all have to be in until 5pm, but that we also don't. We need to be in the office more, but its fine if we can't be. And we need to cut down on WFH, but its ok to WFH ... so yeah everything is crystal clear.
I haven't written any code in 3 - 4 weeks. I'm now dealing with GDPR shit, and our internal processes to handle it (despite having no legal background). Have to fill out 140+ question surveys about each of our projects, which are the most vaguest things i've ever seen.
"Are you processing large scale data" - The fuck is large scale, oh wait heres a definition. "Large scale is determine by volume or percentage of population size" - How in the name of christ is that a definition? Fucking lawyers and their bullshit.
The next round of applications for research funding is coming around soon and were being told to work on proposals (which are huge and a lot of effort). While being told we need to define and improve on our KPI's for the year. While trying to find time to ... you know ... do ... work?
I'm just so fucking bored and pissed off with this place. I have to do the work of 6 people, nothing is ever good enough, devs have to do very non-dev tasks with little to no support. Bosses are just annoyed about everything, everyones in a bad mood and everything sucks.
A friend put me forward for another senior role in another company. Thought this would be my saving grace. They have a strict interview process with white-boarding (which I hate) and will likely ask about algorithms etc which I suck at. I'm so burnt out from this place I just can't find the motivation to go study up or prepare properly.
I just wanna write code, why is there so much bullshit in life11 -
When you start a new job as a Senior Developer, and start asking questions about the code, and you have these collections of conversations with other front-end people:
Exhibit 1:
Me: Ahh so I see the filtering and pagination is all done with Javascript in the front end...
Random dev: No, it's done with Angular.
Exhibit 2:
Me: I think we should add frontend pagination to this page. There will be too many elements on it if you're a customer with 2000 servers.
Random dev: Don't bother, there's no pagination in the API call... So that will not gain any performance.
Me: But it wouldn't take long to implement and it would improve the user experience, why would you want to show ALL the elements, when you have an option not to... Also, it WILL be a major performance hit, especially on mobile.
Random dev: People will use search anyway.
😥🔪
Also, there are no coding standards, every file looks different, and my opinion is being disregarded in everything, and I thought my last job was bad...
Seriously how are some people hired as front-enders?
Since I just took this job, I feel obligated to stay a couple of months... But hey, don't cry for me, I might have more rants for you. 😂
Sorry for the long rant, here's cake: 🍰5 -
I recalled a seemingly simple task I took on.
We were building a booking system, and I had to figure out how to retrieve bookings by a certain date range.
Upfront, the tasked seemed simple until I realised I had to both figure out the logic and the SQL statements needed to retrieve all bookings within a certain date range in one query.
I ended up drawing a model to help me visualise the various date-range criteria to be satisfied. And used unit tests to help me think through each date range criterion and make sure they were accurate. Some were obviously from paranoia, but better to be safe than sorry...
After that, I had wrote down raw SQL directly into Sequel Pro first to make sure my query logic was accurate too, before translating into something the ORM equivalent. This was when I learned how to define and use variables in SQL. The variables were throw-away code; I just didn't want to have to hard-code the test date-ranges over and over again; minimise chances of spelling errors.
Needless to say, felt my problem-solving skills went up one level after this task. Saw my coding style and unit tests improve. And also the thought processes that go into how to maintain code quality...4 -
I joined a company 6 months ago.
No CTO.
No development process.
Spagetti code.
Takes loads of new requirements on top.
Later
I advised the software head and managing director on how to improve our software development process.
New tools
Less requirement good quality software
New products and micro services.
Both of them agreed but they said they are waiting for new CTO to confim as an authority and responsibility.
Well I cant do much just to do my work.
1 month ago new CTO joined
Revised whatever I advised and implementing it right. I like it.
Got my confirmation after 6 months instead of 3 months.
CTO called me in for review and gave me 2/5. And said you need to improve more.
I asked him, in what do I need to improve.
He replies in technologies and development process.
And he takes credit for all changes and implementation.
I argued about it. I already suggested what you did but was ignore because we didnt have CTO.
Hes like ignored me.
Fucking you CTO.3 -
!rant
Some days ago I finished "Ray tracing in a weekend" (Peter Shirley) and I'm learning a lot :D
In the new year I will start with "Ray tracing the next week", but there are still some things I want to tackle before that (improve code quality, optimize... it's my first project that is bigger than a codeforces problem solution, a part from the projects at work).
Any sources of wisdom and recommendations are welcome!!9 -
So my team lead told me in a code review that you shouldn't use 'else if' in code.
Instead you should best them like:
if
else
if
else
if
else
Apparently that would improve readability...
Am I crazy, or what?18 -
Fuck off cancerous piece of shit on stackoverflow whose dick is an obvious inverse proposition to ego and incapablility to read.
I asked if there's "clean" way, of doing something. I provided my solution to the problem
Your answer and coments make it pretty obvious that you:
* don't really care about (code) quality
* value your reputation just as much as some teen on facebook sucking cook for likes or whatever they use now
* downvoted my question because you can't handle critique in the slightest
* You immediately replied with "but op said..." even though I am the fucking op and if I say _imo_ a fucking for-loop within function is less readable than 3 chained function-calls it and does not include the feature I asked for, it means you have to justify your answer and not get triggered and downvote my fucking question.
After I confronted him about this shit he just said "If you had studied the language for more than 10 minutes you would have known than you can't do that."
And if you had some a basic reading skill you could improve my workaround or tell me just that, instead of providing me with that useless information you vomited out just to get some ez SO reputation.
Piece of shit didn't even deny the anyyhing.
Shove a vibrator up your ass until it arrives at your skull and activate it. Maybe that will stimulate your brain or hopefully upgrade it.
I don't care how much "reputition" you may have "earned" on the internet. I am not afraid to call your bullshit or your sheer pathetic existence out.
People like this are are the reason SO gets so much hsge and even tough I got an improved version for my workaround (from an other user), I'm nowhere near happiness.
Note, the Useful-to-retarded-ratio is
1: 3rant i want to punch prople over the internet stackoverflow is being a downvote bitch waste of oxygen8 -
You know what you sound like when you say that "I want to be a programmer but this code is offensive so remove it"? It's like saying that "I want to be a surgeon but I don't like blood, so remove the blood right now."
I personally don't really like blood a whole lot, especially when it comes out of the bodies of other people. I don't really want to become a surgeon, but let's say that I would. "Teacher, I don't like blood, I want to become a surgeon but I hate blood!!! MAKE ALL PATIENTS STOP BLEEDING NOW!!!"
To which my teacher surgeon would of course respond: "Well how about you don't become a surgeon then, because humans that are cut open do bleed, and there's nothing we can do about it."
Same thing with code. You know why code is written? To be a useful tool, for people to become more productive by running the thing (unlike the average SJW). And normal people, you know how much they care about the code? They only care for it as much as for it to be able to run properly. And the ones that do look in the source code either want to improve its functionality or check whether it's actually something decent, secure, safe to run etc etc. People don't normally look at code for the sake of getting offended by something.
But the formulation used in the code, does it even matter? Jerk, it's a term that's used in physics. Does it refer to your despised white cis males whacking off? Of course it doesn't, it's a term to describe change in acceleration. Masters and slaves in code, does it refer to slavery? Most certainly it doesn't. So why bother?6 -
This Part 3 and finale of the tale of Mr DDTW, or the worst coworker I've ever had to deal with. I suggest you start from the beginning if you don't have the context, it's been a trip.
Part 1: https://devrant.com/rants/4210605
Part 2: https://devrant.com/rants/4220715
The problem with this man threatening to snitch on me to the professor if I didn't revert my commit was that he backed me into a corner. Letting him go at his pace with his quality standards would have ruined the project for the rest of us, and I'm not going to let three other people's grades suffer because one was lazy. I'm the PM, team lead, the guy who will ultimately be held responsible for this project succeeding or failing and the mediator of problems.
So I snitched first.
The professor knew us. He had an idea of how we worked as a team, who was enthusiastic about this subject, who was diligent, and who wasn't. It'd been half a semester and he wasn't stupid. I'd also taken the not-so-minor task of testing our software and handling all the little integration problems between components and between the professor's server. This had resulted in several calls between me and him because he'd been flying by the seat of his pants with some of the upgrades he'd been doing to the server code and as the fastest group we were the ones running into all the bugs on his end. And he'd also noted our prior complaint and seen the discrepancy in commits, author tags and hours logged. Mr DDTW had been graded significantly worse than the rest of us. So when I sent him a goddamn novel about our team's internal problems, the bomb was set. And so we get to the conference call, with everybody panicking and with no clue what any of this is about. Except me.
Dear god. That call was pure catharsis. Never have I seen a man get demolished so hard. Mr DDTW got a 45 minute LECTURE, a goddamn SMACKDOWN, about how he needs to take some responsibility for this team effort and that in the real world he'd have been fired. And the professor was so incredibly serene throughout! He could've blasted him with the rage of a thousand suns but he said it in such a way that Mr DDTW's only real responses were "yes", "I understand" and "I'm sorry". An entire semester of this useless fucking bitch being nothing but a leech on our team in three separate projects and he was finally getting SCHOOLED. And then, it gets even better. The professor asked how we could solve this problem, as Mr DDTW needs to do work to be graded but he can't hold us back.
I dropped a suggestion: As I had implemented the module in a way that worked, we could carry on using my version while Mr DDTW could work on a separate branch. Everything else was working reasonably well for an MVP, we just needed to improve and test now, so if Mr DDTW got it working we could merge it back into the main branch. This solved the team's problem of not being able to progress, it solved Mr DDTWs problem of not wanting to fail the course, and it solved my problem of not having to work with this shit-for-brains for the forseeable future. A weight was lifted off my shoulders. No more Mr DDTW. No more bitching and no more shitcode. A grating arsehole that had been bugging everyone all sememster put in his place and out of my hair.
On the way home from uni that day, I rang a friend and told him the entire story as I needed to get it off my chest. Every time I brought up a problem, an issue, a setback, an argument, he made a remark.
"Damn, if only he just... did the work."
Every time he said it it was in a slightly different way, but every time it made me laugh harder as he just didn't stop interrupting me with the same comment. If only he did the work. But the funniest part of all was how right he was. Mr DDTW had so many opportunities to just sit down, shut up, and do the work like the rest of us, but instead he decided to do fuck-all until he got flak for it and proceeded to dig his own grave. What sort of delusional entitlement, sheer incompetence or other dumbfuckery was he suffering from to make such terrible decisions? It's his last year of university and he still hadn't learned to just do the goddamn work (I would later find out that his friend had covered his shortcomings a lot and was apparently the reason why he hadn't flunked out of uni yet).
And so ends the story of Mr Didn't Do The Work the worst person I have ever had the displeasure of working with. We never did merge his branch as we ran out of time during testing. The professor passed him, possibly out of pity or just so that he wouldn't have to resit the course and burden some other poor sods. We weren't the top scorers this time, partially because of my shortcomings as PM but mostly because of the huge delays and manpower deficit, but we did well enough to pass the course with some very high grades. With one exception of course.5 -
In our morning stand up, dev was bragging about how much code he was refactoring (like over-the-top bragging) and how much the changes will improve readability (WTF does that mean?), performance, blah blah blah. Boss was very impressed, I wasn't. This morning I looked at the change history and yes, he spent nearly two solid days changing code. What code? A service that is over 10 years old, hasn't been used in over 5, mostly auto-generated code (various data contracts from third party systems). He "re-wrote" the auto-generated code, "fixed" various IDisposable implementations and other complete wastes of time. How –bleep-ing needy are people for praise and how –bleep-ing stupid are people for believing such bull-bleep? I think I should get a t-shirt made with a picture of a BS-Meter and when he starts talking, “Wait a sec, I gotta change my shirt. OK…you were saying?”5
-
Allright, I'm pissed.
Warning: more than 4k characters written by a non native english speaker ahead.
Legend:
Storytelling
> Short summary of the current situation
> "Something being said"
> (Something being thought)
* Actions *
-- Background --
In an attempt to reorganize my desktop I accidentally deleted a folder I called "development". In there I stored links to all my IDEs (Not sure how you call these in english), but also some workspaces like unity (Not much stuff there, processing (just some hobby stuff) AND Eclipse (FUCKING EVERYTHING RELATED TO SCHOOL WEB DEVELOPMENT). Now 3 days have passed and I realized this important folder was missing. Cleared that windows trash the instant I deleted the trash on my desktop.
> Shit, Regret
Install a file restore programm. Do every possible search. Nothing found.
> Big shit
Deadline was in like 3 days. Week was fucking rough so:
> "Screw this, the teacher nevet corrects the assignments and also fuck JSP"
Fast forward 2 months to last week. Teacher starts checking assignments.
> Fuck
* Sees pattern: Only students with missing or bad marks are checked. *
* Feels save *
Teacher approaching me while working on current projects.
* Doesn't feel save anymore *
> "Well, I'ld like to see your THAT programm"
> Well fuck
* Tells the truth *
> "Well that's unfortunate, but I must write a mark. Do you really have nothing to show?"
* Remember that I worked on the school pcs when I started *
> (Better than nothing. Gotta try it)
* Teacher checks programm, not pleased *
> (Fuck me, but at least it's over...)
> Nope
* Teacher calls me over *
> "With the mark I had to write today you can't reach that good mark even with a good examination, what are we gonna do about this?"
> "Well, there were other assignments that were never checked. Could we replace that mark with one of those?"
* Teacher agrees *
> (Srly bless this guy for that support)
My best choice was an Android app we had to develop during December in pairs. I did the front end (90% of the whole work) and my partner the backend (10 %). I also did 30 % of these 10 %, because I had to review the shit he wasn't able to debug himself.
> brainlogic.exe provided by windows vista
This distribution was partly my fault since I overestimated the work needed for the backend, but also the fault of that fucker. I mean, he didn't tell me the professor already provided 90 % of the backend...
Rest of the week was really busy (always 1 or 2 things to study for each day, workout and family stuff).
Yesterday (It's past 12 already) I arrived at ~9 pm in the dorm I could finally start reviewing my code.
Internet gets shut down at 10 pm.
Gotta hurry.
* Opens project *
* Sees half a year old code *
* Fights urge to puke *
> (Alright I gotta do this. For the mark!)
* waits for gradle to index files *
* Remembers the fact that I haven't opened Android Studio in the last 2 months *
For those who don't develop with android studio: This is an equivalent to ~10k windows updates waiting to be installed
> (Well, gotta work with this kinda old version)
"gradle sync failed"
> ( Ok, just restart it. You're fine )
* Android Studio doesn't react anymore and/or renders *
* Waits 5 min *
* Restarts laptop *
* Android Studio is reacting again*
"gradle is synching"
9:45 pm: gradle is done and I can finally compile my app
> FML
* Sees App launched on phone *
* Almost pukes again *
> (This was the assigment for the UX chapter, so design doesn't matter)
UX is decent. Proceeds with testing stuff. Save paths work, but some bugs can be caused by going of it
* fixes as much as possible *
* Takes quick look at backend *
Date date = new Date (GregorianCalender.getInstance().getTimeInMillis());
C'mon, I asked you to be the backend. You got 90% of the methods already written by the teacher and had 2 months to write the interfaces to my Front end AND you come up with shits like that.
Note: this example is a minor example of brainlogic.exe
I did what I could to make improve my situation. Hopefully he doesn't discover the bugs. And If it's a backend bug then I could't care less, since that was not my job!
Wish me luck for today!undefined web development jsp school assignment not my job fuck up android studio tldr; not getting paid enough for this shit gradle blame backend9 -
"Don't reinvent the wheel..." - I read it often, still I hate to use foreign code. It's not only that I do it for learning purposes. I just don't trust them. I want to keep the control, I want to understand my application and I want to be to blame when things fuck up.
I would probably through my laptop if my website gets hacked because of some fucking plugin or code I found somewhere on the internet.
So yes, I will invent the wheel new. At least I will spent some time to understand how this particular wheel is made, how it rolls and how I can improve it for my specific situation.
Sometimes my tires have some uncommon profile, but they fit to the stuff they are made for.16 -
"WTH! Get the fuck out of here, bitch!!".
I started a new job today (remote) and my first task was to improve product sign-up process, basically the UX is shit and the backend is even worse, never felt so bad looking at terrible software design my entire life and career. My first assignment was to introduce some sanity. (Mr. Supervisor's exact words)
Anyway, I report directly to upper management but need to get onboarded by current technology expert who's highly skilled at writing shitty code and is also stupid, literally.
It took the whole day to get him to grant access to the private repo in order to start working but that's not the story.
So, I'm seated, demoralised about the structure of software I have to work on and here I was refreshing localhost:7878 consistently and was consistently getting the message:
"WTH! Get the fuck out of here, bitch!!".
So, this same codebase I have is suppose to be the exact same one that's powering the app in production. I was furious and confused. Is stupid calling me a bitch already??? He wants to fuck??? What the hell!!!
I called him and turns out, I was suppose to switch branches. The branch I had was suppose to show that message intentionally (??!???!???) (His words exactly), I couldn't even muster the words "Why" completely before he hung up.
So basically, I got onboarded today. Quite successfully, I must add, because I know exactly the battlesuit I have to wear to my new remote job going forward!11 -
What the PMs always say: Always be thinking of ways to improve our system.
Me: Hey this is really poorly built. We should rebuild it before moving forward.
PMs: No just use the same code we used before. It was working so we don't need to rebuild it.4 -
STOP CODING MUTHERFUCKER AND THING YOU DUMB FUCK!!! THIIIINK!!!! IMPROVE!!! LEARN NEW SHIT!!!
STOP CODING TO CODE BETTER!13 -
I think we're going two sides:
For one, more and more technology is being developed/engineered which is even more and more and more intrusive as for personal privacy, I'm genuinely worried how this'll go as privacy isn't just a about not exposing certain things like passwords/bank account details and so on, it's also about being an individual who has their own thoughts, opinions and so on. If we keep taking that away more and more often, society will change and go towards the Orwell scenario (we're on our way there right now). We can change this as software/design/server engineers but that's up to us and I sadly don't see that happening quickly, also due to the 'nothing to hide' bullshit.
Second one is that were going more and more towards open source.
This is a good thing as this:
- gives freedom to devs around the world to improve software and/or modify it to suit their needs.
- gives people the opportunity to look through the source code of softwares in order to verify it as for backdoors and find security vulnerabilities which otherwise can remain hidden for the general public while spying agencies have way more resources to go vulnerability hunting.
For the people who think this isn't a good idea (even more open source), without it we'd be completely fucked as for moving forward/security/privacy. (I can give examples if wanted).3 -
So a few months ago I started dating. I love my girlfriend with all my heart, but something has been bothering me a bit. I can no longer easily do my day-to-day work. Whereas previously I would be productive at any time I want, now it's more of a "I can work whenever she wants to work". It's hard to balance and even harder to actually get to it.
Previously I would stay with her during the day, and then wake up in the night to do all the household chores, learn her language and if I can get to it, even improve some of my shitty code. Needless to say, she didn't like that I didn't sleep with her and it's not exactly healthy either - I barely slept at all.
How do you balance work/relationship without throwing sleep time in the mix? Both work and girlfriend are at home for me.7 -
We made a software for hospitals in my old department. The senior Dev kinda gave me the software, because he thought it sucked and was perfect for a newbie like me. I really loved my work and gave everything I had to improve the quality of software, introduced tests, refactored old smelly code and talked with the product manager to overhaul the ui. Several months later this little shit project the senior gave the newbie, was a huge success and better than any thrash that the senior has created. The senior was really pissed, so everytime I had some days off, he tried to sabotage me in any way. I couldn't take that and many other things anymore, so I left the company. The most tragic part is, that my software could become a massive foundation for the company, but after I left they abandoned it. I still had some good contacts within the old company and they said, that the senior dev told everyone how bad everything was, that I have done through the years and that they can't even describe how bad the architecture of the software is. tl;dr fuck off!! I've done so much things for the company and they never appreciated it. I'm glad I quit that job. Best decision ever!!2
-
"As a team, we have the shared responsibility to ___".
(replace with ALL of the following: resolve bugs, do junior's code reviews, clean up dead code, keep the kitchen clean, improve test coverage, write documentation, order coffee beans, etc)
NO. JUST FUCKING STOP RIGHT THERE. Shared responsibilities do not exist. A single person is responsible, and can optionally delegate tasks.
EITHER I DO IT AND I'LL BE FUCKING AWESOME AT IT, OR SOMEONE ELSE DOES — BUT I'LL SLAP SLACKERS IN THE GENITALS WITH MY KEYBOARD.
Fucking startup hipsters with their community driven attitude, this way no shit gets done, ever.7 -
Boss decides he can improve my code.
Spends the whole day ”improving it” and in the end he doesn’t change anything..6 -
I am like the weakest programmer at my job. I wanna improve and get better. Understanding how to write good unit test to reading code. Damn it. I just wanna be better.9
-
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 -
Building a business can hamper one's development urges!
I have been building stuff since 2008. Took my first job in 2012, won a hackathon at Yahoo right after that. Got an amazing team to work with! Our team converted the hacked product into a proper product using Django and AngularJS. Those were the fun days. At that time AngularJS had just come out and I was under the dilemma to use Angular, Ember or backbone. But with all this came the responsibility to build a business out of our product. It didn't happen eventually though.
So I moved on to cure my entrepreneural itch and went on to start up an e-commerce startup along with my day job. It started getting good traction and I finally left my day job to focus completely on it. It's a sticker marketplace and I had to focus a lot on the actual physical product, improve the quality, tackle business development and stuff etc. In all this, my habit of creating stuff with code kind of got the back seat. Everyday, I see such exciting technologies come up and I want to try them out. I have been itching to create a native app using react native. Try to build a skill for Amazon Alexa.
On one side I am happy that I have been able to build a brand and become the largest sticker marketplace in India providing super awesome reusable stickers, but on the other hand, managing the business on a daily basis is killing the developer in me :(
Does anyone else building a business which involves a physical product also face a similar problem? I think I should just take up weekend hackathon type problems and try to solve them using the technologies I want to learn. Example, I have been meaning to build an app for our company. I think I will start with that!
I have been following devRant for quite sometime now and it has been awesome. Finally, signed up and ranted today! 😊😊5 -
Assigned to a new project team..
Using git, in a creative way. So.. "master" is "dev" branch, usually. Everyone can push their branch to dev server .. so it's "dynamic for us". Production branch is whatever, as long as the branch has the release version. Sometimes, the release comes from "master".. that mean "dev" in normal geek..
That's just Git. The source code is a saturated spagetti of Entity framework and Caliburn. It is littered with antipatterns, especially basebean. Holy Christmas and Easter that baseclass do a lot of stuff that has no place as a base class ..
Fucking frameworks, I'm gonna start to evangelize frameworks as the no1 antipattern.
MS SQL as the main DB, but is dumped to json FILES through a scheduled task to increase read performance on web.
There is a soap endpoint to expose the json files, fml..
I am assuming I was placed here to improve stuff, I have never in my life seen anything like this before.
There is a special place in hell for this repository7 -
So a few days ago I shared about the conflict with my colleague on learning React. Today I was let go. Obviously I asked why they would do that and they said they feel the problem isn't even my React knowledge but the fact I don't grasp the fundamentals of OO programming.
Thing is in these 3 months there has not been a single code review. They are either going of what my lying colleague told them (they claimed he was excluded from giving feedback), or the consultants who were hired to help us. And yes, I got feedback I should improve but at the same time the assurance so long as I show improvement it'd be fine. And I was told they could see improvement. So I'm not sure what changed but suddenly there is no budget to keep me on. In any case it feels like shitty corporate bullshit.
But I can't say they are wrong. I struggle to explain simple concepts I know in words. I've worked a series of bad jobs where nobody cared how you did stuff as long as it got done. I feel I'm so behind now and so affected by bad knowledge it's even harder to fix than to learn the first time. So I'm wondering how to fix this.
I'm really gutted too because I loved this company. I was finally getting a fair wage instead of being underpaid. The people were excellent. I felt I could finally relax and feel safe at work. And now I feel betrayed. Which for someone with self esteem issues is very hard. Can't trust in myself and can't trust in others.
I'm gonna try and pick myself up in the morning, but today I feel totally shit. This wasn't how I'd expected things to go. I thought my manager had intended to talk conflicts over but instead I get the boot. And the advice to stop overselling myself. Real useful that. Like it is on me that they hired me despite my subpar interview because my CV looked good. It's a shitty excuse. In any case they're now stuck with a dev that walks out of work, throws false accusations about colleagues, and another person warned me about to not engage because nothing good ever came from it. He's gonna keep over engineering everything and make up for all the time he wastes outside of work creating a dysfunctional environment for everyone. But yeah, easier to fire the new person who does her best despite the odds. And who cautioned against over engineering because we kept missing deadlines. And who believes in refactoring when it is needed because that's how agile works. Yeah better keep someone who has no sense of work life balance and makes others miserable then claiming he's being driven out by your ignorance. And of course the consultants who throw your own people under the bus. Can't get rid of those now.7 -
Hey, i took a look at your code and heres how you could improve your performance!
"No thanks lol it works this way too"
Okay you fucking idiot, thats not how you do normal distribution
"Why are you so mean"1 -
I have a junior who really drives me up a wall. He's been a junior for a couple of years now (since he started as an intern here).
He always looks for the quickest, cheapest, easiest solution he can possibly think of to all his tickets. Most of it pretty much just involves copy/pasting code that has similar functionality from elsewhere in the application, tweaking some variable names and calling it a day. And I mean, I'm not knocking copy/paste solutions at all, because that's a perfectly valid way of learning certain things, provided that one actually analyzes the code they are cloning, and actually modifies it in a way that solves the problem, and can potentially extend the ability to reuse the original code. This is rarely the case with this guy.
I've tried to gently encourage this person to take their time with things, and really put some thought into design with his solutions instead of rushing to finish; because ultimately all the time he spends on reworks could have been spent on doing it right the first time. Problem is, this guy is very stubborn, and gets very defensive when any sort of insinuation is made that he needs to improve on something. My advice to actually spend time analyzing how an interface was used, or how an extension method can be further extended before trying to brute-force your way through the problem seems to fall on deaf ears.
I always like to include my juniors on my pull requests; even though I pretty much have all final say in what gets merged, I like to encourage not only all devs be given thoughtful, constructive criticism, regardless of "rank" but also give them the opportunity to see how others write code and learn by asking questions, and analyzing why I approached the problem the way I did. It seems like this dev consistently uses this opportunity to get in as many public digs as he can on my work by going for the low-hanging fruit: "whitespace", "add comments, this code isn't self-documenting", and "an if/else here is more readable and consistent with this file than a ternary statement". Like dude, c'mon. Can you at least analyze the logic and see if it's sound? or perhaps offer a better way of doing something, or ask if the way I did something really makes sense?
Mid-Year reviews are due this week; I'm really struggling to find any way to document any sort of progress he's made. Once in a great while, he does surprise me and prove that he's capable of figuring out how something works and manage to use the mechanisms properly to solve a problem. At the very least he's productive (in terms of always working on assigned work). And because of this, he's likely safe from losing his job because the company considers him cheap labor. He is very underpaid, but also very under-qualified.
He's my most problematic junior; worst part is, he only has a job because of me: I wanted to give the benefit of the doubt when my boss asked me if we should extend an offer, as I thought it was only fair to give the opportunity to grow and prove himself like I was given. But I'm also starting to toe the line of being a good mentor by giving opportunities to learn, and falling behind on work because I could have just done it myself in a fraction of the time.
I hate managing people. I miss the days of code + spotify for 10 hours a day then going home.11 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
Something I refer to as the "Lost Cause Syndrome".
Basically you start working on a project enthusiastically with the resolution to write the best possible code. But either one (or some or all) of management, client and colleagues succeed in transforming the project into a comedy (or tragedy, depending on your outlook) of errors.
Then finally, one day you decide that the project is a lost cause and stop caring about it. You end up in a "Let's get this over with and get out of here" type of mindset without making any efforts to improve the situation.3 -
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17 -
Boss: Can you refactor some of the code [dev who recently quit] wrote? Y'know, improve the readability a little bit.
Me: Sure thing. *opens project*
Project: *has 76 variables named var2 through var78*11 -
Before a month I wrote I would like to create my own pastebin-like service.
And here it is... Pastitude!
End-to-end encrypted open-source service for sharing your awesome code :)
Tell me your opinions for this project in comments. Feel free to create an issue if you found any bug or have an idea how to improve Pastitude.
https://pastitude.com
GitHub link: https://github.com/PapiCZ/pastitude16 -
So here's the deal. I am a team lead of a small company and I have a junior who is an idiot. I mean literally, idiot. We code in Python mostly and as Python is not structured as a default Java or C# project, the developer needs to be very careful so that the structure (or tiers) is maintained properly.
Now this girl, always messes up the tiers. Say one enhancement can be easily implemented in the UI tier, she would do the implementation in the core Db access layer, which may complete this particular enhancement, but breaks all the other functions (sometimes the whole project) connected to that particular module of the Db layer. She doesn't do any integration testing after updating the code, she only checks the current enhancement she is working on. When the enhancement goes to the testing phase, the testers find those broken functions and that results a re-work (most of the times done by me).
I have warned her. Even our manager has warned her. She always tells that she is working to improve herself. But I know, she isn't. She mostly chats with her boyfriends (yes, with an 's') when she has no work to do. She never upgrades herself or works on her skills.
I can easily report about her, and they will fire her without any warning (they did it already with a guy earlier). I don't want to do that again. What should I do? Any suggestions?
Oh, she has a great ego. She thinks that knows and understands everything. She will listen to your suggestions carefully, but will never follow those.11 -
Update log: performance improve, API rewritten, fixed all bugs reported, new features implemented, general cleanup of code, documentation and comments update
Feedback: love the new background colour!
😞3 -
The other day, I customer of ours asked me to try to improve the performance of an application of his in a particular method. The method in question taking more than 5 minutes.
I took a look at what it did in the profiler, and it shocked me. More than 100k selects to the database, to retrieve 116 records...
I took a look at the code... Scores of selects in nested loops inside other nested loops inside of... That seemed normal to them...
At the end after we improved it's performance it took 3 seconds...
What shocks me the most is that the customer is a developer himself, really knowledgeable and has an order of magnitude more experience than I do. Am I too anti "worthless database round-trips"? Is that normal? :S1 -
No rant, just appreciation
A thank you to the senior developers out there who take the time to help us juniors out, to look at our (potentially) shitty code and point out how to improve it.
To help us to see the bigger picture and maybe take a more lengthy approach to a problem that'll pay off in the end.
And lastly, thanks for allowing us to learn from your years of bug splatting, stack tracing, null pointers and error messages.
You guys rock5 -
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. -
Today I finished my robotics project. I had in my team a total idiot (the one who used the hidden divs, some might remember from another rant). I wanted to share with you the beginning of a ranting adventure.
Me: "you can begin with a simple task. I will send you the obstacle avoidance sensors values from Arduino, and you will send the data for the Arduino motors to dodge the obstacle".
The sensors give 1 if clear, 0 if obstacle is detected.
Below is his code (which I brutally rewrote in front of him).
Now, in the final version of the robot we have something like 9 sensors of the same time to work with.
Imagine what would have happened if we kept him coding. (Guess it: 2^9 statements! :D)
I was not that evil, I tried to give him some chances to prove himself willing to improve. None of them were used rightfully.
I'm so fucking glad we finished. I'm not gonna see him anymore, even if I'd like to be a technical interviewer for hiring just to demolish him.
I'm not always that evil, I promise (?)
Ps. He didn't even have any idea on what JSON is, even if we had already seen it during FIVE YEARS of computer engineering. (And should've known anyway if he had a bit of curiosity for the stuff he "studies")10 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
Well there were quite some teamwork fails concerning Git and build environments. I covered a few in my previous rants.
Basically I become a tiny bit of FUCKING ANGRY when I have to work with lobotomized pricks who get a segfault at address 0x00000000 in their brain_x68.exe when it comes to handle Git in the simplest ways possible.
Horrible commit messages, unfinished/buggy stuff pushed to master, force-push with fucking 6 months old code +1 change, pushing "resolved" mergeconflicts without resolving, 1 year old issues which are not closed or marked in any commit message, copying repofiles into a backup folder and committing it, not commiting files and change it directly on the FTP...
I HAVE SEEN IT ALL.
If I was not a calm and thoughtful guy I have had exploded and quit a long time ago!
I only help them so they can improve their dev style and workflows.1 -
Programming commandment: Thou shall, from time to time look at your old code, introspect and improve!
-
Serveral users complain that the error messages our software produces are completely useless, so I get assigned to improve the error reporting.
Starting the task by checking what's there and how it works together.
Looking through the code I discover 4 completely different error reporting implementations, each having the same intent and promised functionality. All of them are used somewhere, sometimes next to each other. Needless to say: None of the implementations actually implements all it promises.
My favourite part is the setErrorMessage(string) method that is defined in one header and used in many places, which has the implementation
void setErrorMessage(string){}
Fuck my life.2 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
2019 goals:
- finish my masters
- improve my code quality
- build at least 3 personal projects
- learn 2 new technologies
- find better clients or a good job1 -
Hey Designer/Developers, I got a question for you. Yeah, you 👇🏽
When working on a project codebase that is expected to grow and evolve heavily. How do you usually split up your CSS (SASS, LESS etc) in a good way to take into account all the different device sizes?
I am not asking how it is done but more about the design of the code. This would be for a production codebase to be released.
Do you use large blocks broken down by media...
(Media width) {
~site code
}
(Other media) {
~same site code with diff sizes
}
Or do you do individual media queries inside css classes...
.className {
(Media size) {
}
(Other media) {
}
}
Or a mixture of both?
If it is a mixture of both then how do you decide which way to go about structuring the code.
I have been endeavouring to greatly improve my CSS and have done so. But this question has been bugging me. Both sides seem to be a bit sloppy and my programmer side is fighting the repeatitipve code.
Note: all code examples are gibberish and only intended for visualization.17 -
Our CTO doesn't believe that tests improve code quality. We have no tests on any level, no testers/QA, no code reviews. Nada. I wonder why production keeps breaking 🤔 Guess I'll start looking for another job 🤷♂️20
-
My time in devRant is the time it takes for code to build and deploy. devRant is why I don't improve code performance 😎
-
Today I am gonna start writing code in react to replace/improve an old silverlight project.
I need to show react is faster, easier and more efficient than angular.
Thumbs up if you like react and comment if you think I'm wrong 🙂9 -
Former boss taught me to care about the place where you work and how to think always as a team and not just to improve my skill.
Current boss taught me that you can be excellent designing and writing code, bur if you don't know how to transmit your ideas to others in a way that they understand, you're pretty much stuck.
Great bosses so far...2 -
1. Learn to read and understand the errors and exception messages. While writing code you're going to be facing exceptions most of the time and the real cause of them is under a lot of generic error messages. That and a lot of patience and perseverance.
2. You're going to face clients and bosses that ask you to do a temporary "workaround" even though you know there is a best way to solve a problem even if it takes more time and effort. Don't "crash" against their ideas, try to find a mid-term between the fast and easy work around and the best solution and leave it open to improve it in the future. I have met a lot of developers that let the frustration stops them to be creative just because the approved development is not what they wanted to do. -
I hate time.
Yes, that dimension which unidirectionally rushes by and makes us miss deadlines.
Also yes, that object in most programming languages which chokes to death on formatting conversions, timezones, DST transitions and leap seconds.
But above all, I hate doing chronological things from the point of view of code, because it always involves scheduling and polling of some kind, through cron jobs and queues with workers.
When the web of actions dependent on predicted future and passed past events becomes complicated, the queries become heavy... and with slow queries, queues might lock or get delayed just a little bit...
So you start caching things in faster places, figure out ways to predict worker/thread priorities and improve scheduling algorithms.
But then you start worrying about cache warming and cascading, about hashing results and flushing data, about keeping all those truths in sync...
I had a nightmare last night.
I was a watchmaker, and I had to fix a giant ticking watch, forced to run like a mouse while poking at gears.
I fucking need a break. But time ticks on...2 -
it is really frustrating not to be able to actually maintain and improve the code you're working with. i'd be happy to completely dig in and live in the code and get it all - not so much fucked up - , or, totally spitballing here, do some research on how we could improve the functionality and performance in general (which is not "nice to have", but rather ongoing customer pain points), but I'm not allowed to, because management hates having maintainable code or even an adequate number of devs. it rather has me doing hippity hoppity between different projects to make sure nothing gets my full attention. -.-
the only thing i can do is to clean it up a bit during bug fixes, but even heavy polishing won't fix this giant pile of garbage that is called our code base.2 -
After a few weeks of being insanely busy, I decided to log onto Steam and maybe relax with a few people and play some games. I enjoy playing a few sandbox games and do freelance development for those games (Anywhere from a simple script to a full on server setup) on the side. It just so happened that I had an 'urgent' request from one of my old staff member from an old community I use to own. This staff member decided to run his own community after I sold mine off since I didn't have the passion anymore to deal with the community on a daily basis.
O: Owner (Former staff member/friend)
D: Other Dev
O: Hey, I need urgent help man! Got a few things developed for my server, and now the server won't stay stable and crashes randomly. I really need help, my developer can't figure it out.
Me: Uhm, sure. Just remember, if it's small I'll do it for free since you're an old friend, but if it's a bigger issue or needs a full recode or whatever, you're gonna have to pay. Another option is, I tell you what's wrong and you can have your developer fix it.
O: Sounds good, I'll give you owner access to everything so you can check it out.
Me: Sounds good
*An hour passes by*
O: Sorry it took so long, had to deal with some crap. *Insert credentials, etc*
Me: Ok, give me a few minutes to do some basic tests. What was that new feature or whatever you added?
O: *Explains long feature, and where it's located*
Me: *Begins to review the files* *Internal rage wondering what fucking developer could code such trash* *Tests a few methods, and watches CPU/RAM and an internal graph for usage*
Me: Who coded this module?
O: My developer.
Me: *Calm tone, with a mix of some anger* So, you know what, I'm just gonna do some simple math for ya. You're running 33 ticks a second for the server, with an average of about 40ish players. 33x60 = 1980 cycles a minute, now lets times that by the 40 players on average, you have 79,200 cycles per minute or nearly 4.8 fucking cycles an hour (If you maxed the server at 64 players, it's going to run an amazing fucking 7.6 million cycles an hour, like holy fuck). You're also running a MySQLite query every cycle while transferring useless data to the server, you're clusterfucking the server and overloading it for no fucking reason and that's why you're crashing it. Another question, who the fuck wrote the security of this? I can literally send commands to the server with this insecure method and delete all of your files... If you actually want your fucking server stable and secure, I'm gonna have to recode this entire module to reduce your developer's clusterfuck of 4.8 million cycles to about 400 every hour... it's gonna be $50.
D: *Angered* You're wrong, this is the best way to do it, I did stress testing! *Insert other defensive comments* You're just a shitty developer (This one got me)
Me: *Calm* You're calling me a shitty developer? You're the person that doesn't understand a timer, I get that you're new to this world, but reading the wiki or even using the game's forums would've ripped this code to shreds and you to shreds. You're not even a developer, cause most of this is so disorganized it looks like you copy and pasted it. *Get's angered here and starts some light screaming* You're wasting CPU usage, the game can't use more than 1 physical core, and after a quick test, you're stupid 'amazing' module is using about 40% of the CPU. You need to fucking realize the 40ish average players, use less than this... THEY SHOULD BE MORE INTENSIVE THAN YOUR CODE, NOT THE OPPOSITE.
O: Hey don't be rude to Venom, he's an amazing coder. You're still new, you don't know as much as him. Ok, I'll pay you the money to get it recoded.
Me: Sounds good. *Angered tone* Also you developer boy, learn to listen to feedback and maybe learn to improve your shitty code. Cause you'll never go anywhere if you don't even understand who bad this garbage is, and that you can't even use the fucking wiki for this game. The only fucking way you're gonna improve is to use some of my suggestions.
D: *Leaves call without saying anything*
TL;DR: Shitty developer ran some shitty XP system code for a game nearly 4.8 million times an hour (average) or just above 7.6 million times an hour (if maxed), plus running MySQLite when it could've been done within about like 400 an hour at max. Tried calling me a shitty developer, and got sorta yelled at while I was trying to keep calm.
Still pissed he tried calling me a shitty developer... -
Ask yourself a couple of simple questions:
Do you like to code?
Do you like to learn new things and improve?
Do you like to solve problems and spend hours on a single detail until it finally works?
If your answers contain a "no", then development is probably not for you. You will hate it and you will suck at it. And you will make lifes of devs who actually love it miserable. So do something else.6 -
I just watched this documentary called "take your pills" and seeing the weird programmer they interviewed I got curious about how many DevRanters use Addy as a coding booster? Would you consider it just a normal performance enhancer like caffeine? Have you tried it?
I've only noticed coffee heads like myself here and I was wondering if some of the people that aren't are against the use of Adderall too.
I'd love to hear some thoughts on the subject.37 -
My NDA prevents me of revealing a lot but here we go...
Hi,
during a 2 year hiatus after High School I decided to study CS. Coming from a third world country with no prospect of getting a nice job without breaking my back or getting spit on by overconfident CS geeks who now actually make a living wage there, I decided to study abroad.
I immediately realized what I have been missing... the culture, the people, the happenings,... I have been starved of LIFE
Anyways, I got the language pretty much down, uni is pretty hard but doable and I got the unthinkable... A JOB. I am currently a working student for a year at a multimillion dollar global conglomerate, doing what some may think of as scripting/data tinkering. I get payed more than both my parents combined, which is why they don't know anything... 😂 (yet, gotta ease em into it).
Now I have gotten my contract extended, which shows that I am doing a decent job there, the boss is firm but chill, coworkers are helpful and resourceful.
But what really grinds my gears is that I am mashing code together whilst googling my brain out, but I am not gaining any skill...
Now comes my grievance, the bane of my existence, the evil Morty to my Morty,... GitHub.
In this professional surrounding, where I got handed a $2,5k notebook and a overly huge paycheck, I never use Git (because we have a proprietary, internal, and very transparent alternative (transparent for the higher ups 😬 ))
I always wanted to contribute on GitHub, but I get very intimidated by the projects there and their scopes, people are waaay too knowledgeable in comparison to me and I will most certainly screw something up and embarrass myself. Since I am very self-conscious and awkward I would most probably just delete my profile there and lurk in the shadows again.
I need help, not only for my mental health, but also to expand my skillset and improve myself, since skill is the only thing I can still acquire.
Does anyone know where I should start as a overglorified python script-kiddy who still thinks 1337 is cool and mr Robot is a decent show?
Thanks,
@rn11 -
I miss when my job was just about coding, I could spend entire workdays writing C# or TypeScript while listening rock or metal with few meetings in between, being very passionate in programming and computers sometimes I found was I doing so engaging which I spent more than my 8 hours workday on company's code base trying to improve it and my older coworkers were very happy with my code.
Then a "promotion" happened, I went to work directly with a client, a huge enterprise which is working on renovating his internal software and here the fun stopped. Long useless meetings are a regular occurrence, there are absurdly long procedures to do everything (for example since CI/CD is leaky we have to do dozens of workaround to get a microservice deployed) and having very little written documentation this gives an huge advantage to people which actually enjoy to spend their entire workdays on a MS Teams call over "lone programmers" like me which actually feel significant fatigue in doing that (alone sometimes I was able to log 12+ hours of programming daily between work and personal projects while after 3 hours of PP I feel drained) since the information passes in meetings/pair programming and I dread both.
I feel which my passion is still there, I still enjoy coding, tinkering with Linux and BSD, broadening my knowledge with technical books and having passionate conversation about tech but I dread my job, sometimes I try to look at it under a more optimistic eyes but most of the times I just end disappointed.3 -
1.5 million lines of undocumented spaghetti code. Think 500~1000 lines functions, 5k+ lines classes, string html concatenation. You name it, it had it. And complete unwillingness to improve it by the company. I eventually quit after considering doing it about 2, 3 times.4
-
With over 10 years as a dev under my belt I never wanted to change company before my probation is even over. I never felt so drained, and pissed off for the entire duration of my working hours, every day for about 4 months straight. I was thinking it should get better, I listened to all the rubbish webinars about the company culture, how inclusive and diverse we are and how they value phycological safety and how everyone should feel safe to speak their mind. The people are fucking reviewing my approved and merged PRs and expecting me to address their comments. Like someone goes on holiday and when they’re back they want to spray wisdom around, and that seems to happen to everyone not just me. When we have technical discussions and I express my opinion I get given out to for speaking too much. Like what the actual fuck, your code is shit, everyone knows it and complains about it, but we should look at what we already have as an example. How the fuck you think you can improve your code if your not going to change your shit. Writing class diagrams for about two weeks at start of each project and nitpicking every fucking thing, only to abandon it after our first sprint as the fucking requirements have changed and what we agreed at the beginning as no longer relevant. No shit as if they don’t know requirements change ALL THE FUCKING TIME AND THIS IS EXPECTED. I was also asked to send a slack message every morning when I start working, when I get my lunch, when I am back from lunch and when I finish work. Have to fill in some stupid weekly update system with what tickets I’ve worked on during the week, like have you heard of Jira filetrs ? Stop asking me how I am getting on if I’m fucking closing all my tickets every sprint. I don’t ask you questions, if I finish all the work you asked me to on time, you can safely assume I am doing fine. Also your fucking back to back meetings are not helping me close my tickets any faster. Already got an offer from another company I am out of fucking here.
YOU CAN ALL STICK YOUR PR COMMENTS, ENDLESS MEETINGS AND WHAT NOT UP YOUR FUCKING ARSES. 🖕🏻🖕🏻🖕🏻🖕🏻🖕🏻🖕🏻4 -
Everytime I don't sit in front of my code (and go for a walk or something), I immediately find bugs or things to improve from all the code I've written, IN MY HEAD. If you have a hard time finding bugs, try this, maybe. Might help.3
-
When I realized my job isn't to code, it is to hack for hacks.
As smart developers our job is to be accountable to non-technical product management types who care nothing for elegant system design or DRY code. They expect features get done fast and "technically complete." They use terms like "minimum viable product (MVP)" to imply we'll go back and improve things like refactoring and tech debt later.
They will not. Most likely they won't even be around. Producers and scrumlords have the highest turnover rate of any role on a team. By design they get bored or frustrated easily and are constantly looking for greener pastures. Many people in self-proclaimed "non-technical" roles like this never had the patience and attention span to learn a real vocation, and they've discovered a career path that doesn't require one.
These are our masters. As developers, we will answer to them forever and always.1 -
So, first time ranting, sorry if I mess anything up.
When I first started my current job and got introduced to the system we were coding in, something seemed a little fishy to me. Didn't like the system anyway, but at least the language is a compiler language, so it runs quite quickly, right?
In theory, yeah. If the lead dev liked the IDE that came with it. But he has to REALLY fucking hate it, because rather than using it, he codes in plaintext. No syntax highlighting, no auto-indent, nothing. And he's built the entire damn system around doing that. Sadly the compiler is only integrated into the IDE, so what do we do there? Copy the code from the plaintext file to the IDE to compile it there? No no, why would you. The language has a function you can use to compile some code at runtime.
And so he does. Every. Single. Fucking. Script. There's a single main script that runs and finds the correct textfile to then runtime-compile and execute. So we effectively made a compiler language into a massively unoptimized interpreter lang.
I even mentioned that this might be a problem, but I was completely dismissed, so at that point it's not my problem anymore and I have then switched to a different system anyway.
Couple weeks later I heard the same guy complaining that the scripts were running almost the whole night so we'd probably need some better hardware or something.
Well if only there was a really obvious solution that would improve the performance by probably about a factor of 20 or so...13 -
Hello everyone!
This is a kinda follow up to my previous rant:
https://devrant.com/rants/1442655/...
So, it’s been a week since I started the internship. I am kinda lost to be honest.
The first day was awesome, but I have been going downhill since then. I make so stupid mistakes and it seems like I always think different than my mentor/employer (me making mistakes). Then he corrects me and I have to rewrite the code which I had to spend hours to think and get working. 😕😕
As @RantSomeWhere said, the guy is actually nice and still appreciates me and helps me all the time. I am really thankful for that. 🙂
As @plant99 said, I do have to be working a lot to try and meet the tasks that I am given. The employer does tell me to not over work but I still do if I have to, to get the thing done. I don’t feel nice if I don’t finish the work. So I do spend up to 12 hours (not continuously) on it at times. 😅
The code base… oh my god!! It is so bad (to me). Don’t get me wrong, we use the linting and auto formatting tools, but I can’t get over the 2 space tabs in C++ code. It makes me feel like I am not looking at code but at paragraphs of mumbo jumbo stuff. 😭😭
Oh and yes, it is confirmed. I HATE FRONTEND WORK! Especially when languages like JS and C++ are used in combination and interact with each other. 😨😨😱😱
Don’t get me wrong, I don’t hate JS or frontend, but I hate doing it myself. So not my cup of tea. Kudos to those who actually do it! 😎👏🏻🎊
Overall, I guess, it is going decently. I feel so scared at times, consumed by the fear, that my code will be wrong and he’ll be disappointed in me. Yea I know that I shouldn’t be upset with how others feel. But it does make me sad when I disappoint my mentor (who is still rooting for me). 🙁
I am hoping to get better over time. This is definitely a great experience for me because my code has never been judged before. I have always been the “king of code” in my college/social circle. 🤭🤭
Honestly, this is actually humbling. I guess I definitely needed this 😅😅. And as they say, you don’t improve by being the top. You improve by leaping forward, ending up at the bottom of the heap of the next level, and growing up from there. 😅
Oh and I also realized - remunerative benefits are DEFINITELY motivating 😂😂😂😂
And the 5 days work also definitely makes me MUCH more excited for the weekends 😆😆😂😂
Thanks everyone for cheering, motivating, and giving me advise.
@oudalally I definitely found your advise quite helpful 😁😁😊😊
PS: ooh this my biggest rant/story yet! Yiiipppeeeeeee 😁😁😊😊7 -
Hello everyone, first time ranter here! I have been studying Computer Science for 2 years starting September. The program introduced me to Java,HTML,CSS, JS and php. I feel like even though I am currently studying this I still do not "know" how to code. For example when I look at my classmates when they code it all seems so effortless and smooth, if they run into an issue they will usually solve it within the hour where as when I run into an issue I struggle to even see what the problem is. So the real point of this rant is, how do I improve? I am currently doing the #100daysofcode to get better but sometimes I feel so far away from calling myself a "developer" what is your road to the "developer" title? did you struggle as much as I am at the moment? or did you just sail into it like my classmates?14
-
So here's my problem. I've been employed at my current company for the last 12 months (next week is my 1 year anniversary) and I've never been as miserable in a development job as this.
I feel so upset and depressed about working in this company that getting out of bed and into the car to come here is soul draining. I used to spend hours in the evenings studying ways to improve my code, and was insanely passionate about the product, but all of this has been exterminated due to the following reasons.
Here's my problems with this place:
1 - Come May 2019 I'm relocating to Edinburgh, Scotland and my current workplace would not allow remote working despite working here for the past year in an office on my own with little interaction with anyone else in the company.
2 - There is zero professionalism in terms of work here, with there being no testing, no planning, no market research of ideas for revenue generation – nothing. This makes life incredibly stressful. This has led to countless situations where product A was expected, but product B was delivered (which then failed to generate revenue) as well as a huge amount of development time being wasted.
3 - I can’t work in a business that lives paycheck to paycheck. I’ve never been somewhere where the salary payment had to be delayed due to someone not paying us on time. My last paycheck was 4 days late.
4 - The management style is far too aggressive and emotion driven for me to be able to express my opinions without some sort of backlash.
5 - My opinions are usually completely smashed down and ignored, and no apology is offered when it turns out that they’re 100% correct in the coming months.
6 - I am due a substantial pay rise due to the increase of my skills, increase of experience, and the time of being in the company, and I think if the business cannot afford to pay £8 per month for email signatures, then I know it cannot afford to give me a pay rise.
7 - Despite having continuously delivered successful web development projects/tasks which have increased revenue, I never receive any form of thanks or recognition. It makes me feel like I am not cared about in this business in the slightest.
8 - The business fails to see potential and growth of its employees, and instead criticises based on past behaviour. 'Josh' (fake name) is a fine example of this. He was always slated by 'Tom' and 'Jerry' as being worthless, and lazy. I trained him in 2 weeks to perform some basic web development tasks using HTML, CSS, Git and SCSS, and he immediately saw his value outside of this company and left achieving a 5k pay rise during. He now works in an environment where he is constantly challenged and has reviews with his line manager monthly to praise him on his excellent work and diverse set of skills. This is not rocket science. This is how you keep employees motivated and happy.
9 - People in the business with the least or zero technical understanding or experience seem to be endlessly defining technical deadlines. This will always result in things going wrong. Before our mobile app development agency agreed on the user stories, they spent DAYS going through the specification with their developers to ensure they’re not going to over promise and under deliver.
10 - The fact that the concept of ‘stealing data’ from someone else’s website by scraping it daily for the information is not something this company is afraid to do, only further bolsters the fact that I do not want to work in such an unethical, pathetic organisation.
11 - I've been told that the MD of the company heard me on the phone to an agency (as a developer, I get calls almost every week), and that if I do it again, that the MD apparently said he would dock my pay for the time that I’m on the phone. Are you serious?! In what world is it okay for the MD of a company to threaten to punish their employees for thinking about leaving?! Why not make an attempt at nurturing them and trying to find out why they’re upset, and try to retain the talent.
Now... I REALLY want to leave immediately. Hand my notice in and fly off. I'll have 4 weeks notice to find a new role, and I'll be on garden leave effective immediately, but it's scary knowing that I may not find a role.
My situation is difficult as I can't start a new role unless it's remote or a local short term contract because my moving situation in May, and as a Junior to Mid Level developer, this isn't the easiest thing to do on the planet.
I've got a few interviews lined up (one of which was a final interview which I completed on Friday) but its still scary knowing that I may not find a new role within 4 weeks.
Advice? Thoughts? Criticisms?
Love you DevRant <33 -
New dev hired to assist me told the boss that he was going to refactor the code to improve stability.
He converted all my fragments into activities. Because he didn't understand working with the back stack. Now everyone is asking me what happened.3 -
Me.
Because every time when I see my old code, I begin to criticize it and think how can I improve it. -
Write a piece of code that works just fine and it's fairly extensible in 20 minutes.
Then proceed to spend the rest of your night rethinking and replacing said piece of code numerous times, with slightly more elegant code.
7 hours later and I'm still not done. Although a fine way to improve your skills, I seriously need to stop doing that for every single thing I write and start managing my time better. Got lots of other stuff I need to be working on...
Surely I can't be the only one doing this4 -
Elon musk has shown himself to be a terrible person, a worse manager and someone who hasn't a clue of what a code review is. A summarily fires so many people that he can't find someone to open the doors for his big in person meeting or the vet the badges. He offers 3 months termination pay or you can work 12 hours a day 7 days a week hardcore. But none of the payroll people are around anymore either. Critical subsystems have not a single engineer left to work on them. He's paranoid that employees will sabotage the software. But I think he's doing such a good job it would be impossible to tell that anyone else was helping him.
An engineer wrote a prescient seven page report listing problems ahead including user verification. So Elon twit-fired him.
Also entirely predictable is the stress that the world cup will put on the system beginning today, I believe. He doesn't "like" microservices.
I work for the psychiatrist once who barely needed to sleep. Maybe Elon can function with 12-hour days week in week out. But it's cool to think you're going to squeeze substantially more work out of people by doubling their hours. More likely you will more than double their errors and what will that do to you budget? 50 years ago IBM determined that the best way to improve programmer productivity was to give each one their own office.
I can't believe he's whining over spending 13 million dollars a year on food. That is so far from being a strategic item. Soapbox out.28 -
I am driven by my love for this industry and wanting to do everything to the best of my ability.
Being a strong advocate for quality i am always on the look put for new practices and finding new ways to improve my code.
If you consider a project 'done' then you gave up on it.1 -
Some people are really getting high on this Agile shit. Probably because they learned some new bullshit bingo phrases - and it suits them: lots of vapory talk and expensive meetings and others will have to do the work anyway, while they can circlejerk on how to have shorter iterations to improve the time to market, increase the business value, inspect and adapt to faster deliver a minimal viable product - yeah, do the agile transformation, update to the digital age, you noobs. Throwing around some catchy phrases will let you compete with Google? Maybe need some blockchain or machine learning?
While you are clustering your post its, the coders who keep the ship afloat, sit in their legacy code base that's so bitrot they are mainly doing bugfix releases without a single feature for three fucking years. Consider this.5 -
Depressed since yesterday.
Updated all our clients Dialers. Stellar performance. Suddenly one of 15 can’t hang up three way calls.
It’s one of our biggest clients. And they just started. We upgraded the dialers so the answering machine detection would improve for them and it did, along with vast performance upgrades as well. Suddenly, this issue.
2 days in they pull the plug until we fix it. The issue is sporadic and we cannot reproduce. No one else is having the issue. I can’t even debug it properly as it’s a third party dialer with no customizations on it. I found out where the error is, but no idea the workflow they got it to happen with or why. It’s so frustrating. It happens using the dialer native interface, and our integration via api calls. The channel doesn’t get sent to the command for some random reason, and only sometimes.
So even if it’s fixed they don’t trust the system. Now they are losing the full integration we have with the crm and dialer and it’s going to be a mess of data for them. All because of this one issue. They love the CRM though...
If they had just stayed on one more day I’m sure I could have found it. Now I have to play forensic scientist and look through old data, without being able to see the client code that was causing the issue.
Just threw some cash down to be able to talk to the dialer engineers and hopefully see what’s up. What a nightmare. And I have so many other projects for the platform due so soon...
Sigh. Super depressing.1 -
We spent 9 hours taking a vote, across all of the dev team (including junior devs), about how to design the backend architecture and which security measures we should take.
The CTO refused to listen to the person assigned to the design (me at the time) because he preferred fire-and-forget for EVERYTHING, ignoring all of the blatant drawbacks, and claimed that "there is no truly fault tolerant system", which is such a cop-out that my mind still cannot fathom it.
So therefore, since he couldn't have it his way, we took it to a vote (not my decision). Spent nine hours discussing the pros and cons of HTTP vs MQ systems to arrive at a vote.
I "won", and then left the company shortly after, because it was clear that even though the votes were in my favor, I was going to be "nickel and dimed" to death about the changes and how it's deployed, etc. to the point the system will end up like the previous systems they wrote.
Oh and the fact I was asked to help "improve morale" for the team that was working on the old, broken, overengineered project (I don't manage them nor did I write any of that code) by being assigned to arrange breakfast catering because it'd somehow mean more "coming from a senior dev".
I loved the people there - truly, some of the best people - but the company was broken from the ground to the ceiling.
CTO was let go a while after I left, I guess - most of the dev team has since left too and the majority of their work is being outsourced to Indian subcontractors. -
My worst legacy code experience was when I worked as a freelancer and got a tiny job to improve a VBA module in some Excel file for a very big company. So what's worse than VBA? Having to change parts of VBA code that was passed around to other freelancers before like the cheapest dockside whore. After meddling in there for about half an hour I felt like all those cheap ass punter, so I decided to write the whole thing from scratch. What a relief, after 3 hours I was very proud of the thing and it looked clean and well maintained again so I let it back on the streets. 😉
To the coder who comes after me: Please treat her (the code) nice or I will burry you alive in dog poop and burn the whole thing!1 -
(I guess the Question category is the best for this)
Do you believe that someone can be a good dev even if they write shit code?
I personally do, if that person acknowledges the fact that their code is shit, wants to improve it, is humble, is always in the search for constructive, etc as in to make their code better and more readable, I'd think they are a pretty good dev.2 -
Our code base is shit.
To improve, we went through different coaching style: Freudian Psychoanalysis, behavioural psychology, gestalt
- Freudian Psychoanalysis: After several years refactoring and discussing our technical debt we can say that we really understand our code in deep. But it's still shit
- Behavioural psychology: after some months of work, we built a lot of testing. Now the code is still shit, but we don't get dirty anymore
- Gestalt: after few weeks sessions, the code is still shit. But we don't care anymore, we accept it and we are happy
(note. it's an adapted psychology joke)1 -
I don't know what you did yesterday, but i did make my company throw away 2 months of progress.
It all started in the beginning, since that i've made numerous complaints about the workflow or code and how to improve it. I've been told off every time, and every time i either told the boss who agreed in the end or wrote code to prove myself. Everything was a hassle and my tasks weren't better.
Team lead: you'll do X now, please do that by making Y.
Me: but Y is insecure, we should do Z.
Team lead: please do Y
Later it turns out Y is impossible and we do Z in the end...
Team lead: please do W now
Me, a few days later: i've tried and their server doesn't give http cors headers, doing W in the browser is impossible
Team lead, a few days later: have you made progress on W?
Me: * tells again it's impossible and uploads code to prove it *
Team lead: * no response *
After that i had enough. Technically i still was assigned to do W, but i used my time to look over the application and list all the things wrong with it. We had everything, giant commits, commented out code, unnecessary packages, a new commit introduced packages that crashed npm install on non-macs, angularjs-packages even though we use angular, weird logic, a security bug, all css in one file even though you can use component-specific css files...
I sent that to my boss, telling him to let the backend-guys have a look at it too and we had a meeting about this. I couldn't attend but they agreed with me completely. They decided to throw away what we have already and to let one of the backend-guys supervise our team. I guess there will be another talk with the team lead, but time will tell.
It feels so good having hope to finally escape this hellish development cycle of badly defined task, bad communication and headache-inducing merges. -
Find what you want to build. Watch some videos. Code. Grab some books. Code. Find some friends to code. Code.
And learn some theory to improve your code. Code.
Get a job. Code. Get paid.1 -
Ok, so one of the oldest guy is leaving from my company (on a good note) and he was involved in multiple things in our organization. From having access to almost everything (AWS, Github and owning multiple projects and our legacy code). I am supposed to take KTof one project and man THE CODE IS MESS. YOU DONT PUT A RANDOM NUMBER WHILE CALLING A FUNCTION. You are supposed to define a constant and use that. I've told my manager that I need at least 1 week just to improve logging.2
-
First week at job as newly graduated from CompSci. And I feel like a fucking monkey trying to figure out how everything works, I have help from the main developer but it feels like I have to ask questions all the time and I can feel the judgement in his voice. Today I committed my first lines of code (phoneformatting) and he basically had to hold my hand the whole way through. I feel like shit atm, I really want to be good at this, I watch tutorials but when it comes down to it my mind just blanks out and I can't figure out how to even write a simple fucking method in php (which he did and my brain just shut down ). Please help me, how do I improve at remembering all these terminologies, I feel like if I keep it up like this they won't have me around for long.7
-
I'm here in my bed. I can't sleep and in less than 5 hours I will have an important exam. I was thinking that a few months ago I went to a IT company as a school program. I would have to stay there for 2 weeks and "work" for them.
Upon arrival, the guy who had to monitor me gave me a sheet of paper with 5 alghoritmic problems to solve. He tells me to use java and hands me a laptop. naturally with windows. I try to look for some ideas but I can not find anything. I go to the control panel and search for something. Obviously there is a lot of bloatware and nothing catches my attention. then strangely I find something called oracle ... something ... but when trying to open it it gives me an error.
Fuck me. I decided to open notebook(normal one not ++ or something) and start solving the problems trying to remember the names of the methods and the classes based on what I had learned in school. then the guy comes back and looks at me puzzled. I tell him I did not find any IDE for java and the only one I found seem to give me an error. The guy double clicks and the program opens...fucking shit... He tells me to finish the problems and goes away perplexed. I copy the code from notepad to the IDE, I check the errors, I run it and the add some comments and I call the guy. he looks at the code, says that everything seems fine and then assigns me other things to do.
Now. HOW FUCKING STUPID MUST SOMEONE BE TO THINK THAT WRITING JAVA IN NOTEPAD IS A VIABLE CHOICE, AMONG ALL THE POSSIBLE SANE CHOICES I COULD HAVE MADE LIKE TRY TO UNDERSTAND THE ERROR OF THE IDE OR CALL THE GUY... NO. MY LITTLE SHOTTY FUCKING BRAIN DECIDED THAT NOTEPAD WAS A GOOD CHOICE. IF I COULD GO BACK IN TIME IN THE SAME MOMENT THAT I OPENED NOTEPAD I WOULD BITCH SLAP MYSELF SO HARD THAT I WOULD LOSE MY SOULD AND THE LAST 2 NEURON THAT MADE THAT SHITTY CHOICE. I WOULD BITCH SLAP MYSELF SO HARD THAT THE KINETIC ENERGY PRODUCED WOULD COLLAPSE THE UNIVERSE ITSELF. AND FROM THE DARKNESS A NEW UNIVERSE WILL BE BORN. A UNIVERSE WHERE THERE IS NO JAVA OR WINDOWS. A UNIVERSE WHERE MY 2 NEURONS WOULD HAVE MADE THE SHITTIEST DUMBEST CHOICE EVER IN A I LAST MISERABLE SELF DESTRUCTIVE ATTEMPT.
but then I come on devrant and I read about people who did thing worse than writing java on notepad and then everything is fine
PS my English is so bad I had to use Google translate, write an original version, translate it and do a side by side comparison with my translated version to check If I could improve something. Don't now If It improved the quality or not...3 -
I'm a student at a cyber education program. They taught us Python sockets two weeks ago. The next day, I went home and learned multithreading.
Then, I realized the potential.
I know a guy1 who knows a guy2 who runs a business and could really use an app I could totally make. And it's a great idea and it's gonna be awesome and I'm finally gonna do something useful with my life.
All I gotta do is learn UI. Easy peasy.
I spent the next week or so experimenting with my code, coming up with ideas for the app in my head and of course, telling all my friends about it. Bad habit, I know.
Guy1 was about to meet Guy2, so I asked Guy1 to tell Guy2 about my idea. He agreed. I reminded him again later that day, and then again in a text message.
The next day, I asked him if he remembered.
Guess what.
I asked him to text Guy2 instead. He came back to me with Guy2's reply: "Why won't he send me a message himself?".
So I contacted Guy2. After a while, he replied. We had a short, awkward conversation. Then he asked why he should prefer a new app over the existing replacement.
He activated my trap card. With a long chqin of messages, I unloaded everything I was gathering in my mind for the last week. I explained how he could use the app, what features it could have and how it would solve his problem and improve his product. I finished it off with the good old "Yeah, I was bored😅" to make the whole thing look a bit more casual.
Now, all that's left to do is wait.
...
Out of all the possible outcomes to this situation, this was both the worst the least expected one.
I'm not familliar with the English word for "Two blue checkmarks, no reply". But I'm certain there is no word in any language to describe what I'm feeling about this right now.
By that point, Guy1 has already made it clear that he's not interested in being my messanger anymore. He also told me to let the thing die, just in case I didn't get the hint. I don't blame him though.
It's been almost a week since then. Still no reply from Guy2. I haven't quite been able to get over it. Telling all my friends about it didn't really help.
Looking back, I think Guy2 has never realised he has that problem with his product.
But still, the least he could do is tell me why he dosen't like it...
"Why won't he send me a message himself?" Yeah, why really? HMMM :thinking:
You know what? If I ever somehow get the guts to leave my home country, I'm sending a big "fuck you" to this guy.9 -
Anyone wanting to improve OpenSSL fulltime?
Understanding of Cryptography or ability to write secure code are not required...
https://openssl.org/blog/blog/...4 -
I have been keeping this inside for long time and I need to rant it somewhere and hear your opinion.
So I'm working as a Team Lead Developer at a small company remotely based in Netherlands, I've been working there for about 8 years now and I am the only developer left, so the company basically consists of me and the owner of the company which is also the project manager.
As my role title says I am responsible for many things, I maintain multiple environments:
- Maintain Web Version of the App
- Maintain A Cordova app for Android, iOS and Windows
- Working with pure JavaScript (ES5..) and CSS
- Development and maintenance of Cordova Plugins for the project in Java/Swift
- Trying to keep things stable while trying very hard to transit ancient code to new standards
- Testing, Testing, Testing
- Keeping App Stable without a single Testing Unit (sadly yes..)
- Just pure JavaScript no framework apart from JQuery and Bootstrap for which I strongly insist to be removed and its being slowly done.
On the backend side I maintain:
- A Symfony project
- MySQL
- RabbitMQ
- AWS
- FCM
- Stripe/In-App Purchases
- Other things I can't disclose
I can't disclose the nature of the app but the app is quite rich in features and complex its limited to certain regions only but so far we have around 100K monthly users on all platforms, it involves too much work especially because I am the only developer there so when I am implementing some feature on one side I also have to think about the other side so I need to constantly switch between different languages and environments when working, not to mention I have to maintain a very old code and the Project Owner doesn't want to transit to some more modern technologies as that would be expensive.
The last raise I had was 3 years ago, and so far he hasn't invested in anything to improve my development process, as an example we have an iOS version of the app in Cordova which of course involves building , testing, working on both frontend and native side and etc., and I am working in a somewhat slow virtual machine of Monterey with just 16 GB of RAM which consumed days of my free time just to get it working and when I'm running it I need to close other apps, keep in mind I am working there for about 8 years.
The last time I needed to reconfigure my work computer and setup the virtual machine it costed me 4 days of small unpaid holiday I had taken for Christmas, just because he doesn't have the enough money to provide me with a decent MacBook laptop. I do get that its not a large company, but still I am the only developer there its not like he needs to keep paying 10 Developers.
Also:
- I don't get paid vacation
- I don't have paid holiday
- I don't have paid sick days
- My Monthly salary is 2000 euro GROSS (before taxes) which hourly translates to 12 Euro per hour
- I have to pay taxes by myself
- Working remotely has its own expenses: food, heating, electricity, internet and etc.
- There are few other technical stuff I am responsible of which I can't disclose in this post.
I don't know if I'm overacting and asking a lot, but summarizing everything the only expense he has regarding me is the 2000 euro he sends me on which of course he doesn't need to pay taxes as I'm doing that in my country.
Apart from that just in case I spend my free time in keeping myself updated with other tech which I would say I fairly experienced with like: Flutter/Dart, ES6, NodeJS, Express, GraphQL, MongoDB, WebSockets, ReactJS, React Native just to name few, some I know better than the other and still I feel like I don't get what I deserve.
What do you think, do I ask a lot or should I start searching for other job?23 -
When you get a summer job at the university to improve internal tools and asking your guarantor why the crappyness of his code is evident even to a noob pythonista like me and getting the answer like "I'm writing this only until it does what I want" kinda frustrates and demotivates. I'm sure this is NOT how things should be done.1
-
We're having a mini-hackathon at our school last Saturday as a final exam of our Web Engineering course, showcasing what we learned throughout. The theme is all about helping university students gain their productivity and improve their interaction with technology.
Me and my team tried to create a note-sharing platform for students. We loved the idea and we're so excited to create it. But excitement turned into shit hole during development.
A fuckton of merge conflicts, divisive code conventions, and usage of god-awful Bootstrap for front-end came in. 😱😬😣
Despite these things, we are able to win the hackathon (i still can't believe we won). but he worst part of winning is that the prize is not cash nor the internship (the judges are from the company who somehow looks for interns), but fucking useless GIFT CARDS!!
But in the end, we're proud of it. I thought that it will be just a concept but in the end, it became real and it turned out to be great. ☺4 -
My senior and I started pair programming to improve my code quality. He likes it and I find it fun (and convenient that he helps me) but it feels like I'm making him do my work. I also fear that I am too horrible to be trusted with code alone but if that was the case they would kick me out right?5
-
At first my dad was against it, I'm studying electronics engineering and he didn't want me to code because he is a software developer and he know that in my country it's really hard to make a living out of it. But since he realized that there is not much he can do about it he became really supportive and always review my code to help me improve it.2
-
So, I had to listen very badly in a scrum about my poor code quality. Just because I haven't used the latest version of the library in my gradle build file, I haven't used DTO in the response of few endpoints in the controller class instead I used entity,... Etc was the mistake.
I admit that I have a long way to improve myself and there is a lot to learn, but there should be a proper way to escalate the situation rather than publicly pointing out mistakes rudely.
He is a senior with 10+ years of experience who badly told me in the scrum and not only that whenever there is a change needed in my PR he takes the screenshot and puts it in our dev team group and shows the mistakes and gives the suggestions instead of writing comments on the github PR.
Not only that, if I inform in the daily updates that I took 2 hours for this and that task, he says it should be done in 20 to 30 minutes.
Upper management has given him a lot of respect because he is knowledgeable and knows the stuff but it doesn't mean he is entitled to behave like this and demoralise other juniors.
The matter is cool now but this incident happened to me a few months back and those days were really toxic for me at work.6 -
After coaching for Django Girls organization and GirlScript Summer of Code, it can be known I clearly have a thing for Django. So I decided to make a new Portfolio from scratch and this time, using Django (seemed a good idea as I wanted to migrate my blogs from Medium to the portfolio).
So, I made the project, got a domain name and hosted it on Heroku. Then it struck me to make my portfolio open source so everyone can use it to make their own! I am looking forward to add a lot new features and improve the existing ones. Here’s a link to it: https://github.com/hmangukia/...
Do create an issue if you feel something needs to be improved!
Projects, Blogs and Social Media handles can be added from the admin panel. If the user does not have coding background, the installation process might be tough. That is why, I am looking forward to add the Sign Up functionality so that the user does not have to go through all that hassle of installing and hosting the project.
If you are wishing to use this to make your Portfolio, please go through the installation steps in readme.md. I would be more than happy to help you install and host on Heroku if you get stuck :)5 -
Just learnt perfectly what the below joke means:
'I wanted to improve the world, but they wouldn't give me the source code'
I really don't understand why the world is full of obsolete processes that people fight against daily when changing things ever so slightly could take the weight of the world off their shoulders. The same thing goes for my work, I work in finance, and we use a remote app built in Windows forms (not xaml or wpf, the original forms) and it's insecure, slow, buggy, and crashes whenever you press ESC (yes, really). Even worse, I've offered to rewrite their whole network for nothing, just the improvement to people's lives. And they say no! WELL FUCK YOU FOR BEING A PLAGUE ON THE FUCKING WORLD! Why do people insist on staying behind the times when the world could be such a beautiful place?!?3 -
>Gets assigned to this private Game server's project
>Boss wants me to improve the anti advertisement chat
> k
> Looks at old code
> Code is replacing unicode characters to latin ones that look similar which are being used for advertising
> lol'd who tf developed this
> regex101, building a regex query with endless of possibilities (would look something like this) /((L|\|_|I_)(O|0|\[\]|\(\))(L|\|_|_))/gi to detect lol
> Adds alot of similar looking unicode characters to assure that it will find something
> Works really well in the dev version
> Server open hour
> 30 players
> All chat at the same time
> CPU 100%
> BOSS NEVER TOLD ME TO MAKE IT EFFICIENT1 -
I can barely code properly while sober. Why would I introduce drunkenness into that equation? If drinking impairs driving heavy machinery, by what logic would it do anything to improve writing code?4
-
Not really a rant (?)
I started my first programming job in January this year. I went there staight after Highschool, so i had no real experience, knew only the basics of software development and my written code was quite a mess. So one of my first real tasks (after 2 months) was to write a business logic for batch handling (for a warehouse management system). I invested quite some time to develop a suitable architecture, talked with some other developers and wanted to cover the whole thing with unit tests (which really nobody at the company uses). So I spent about 3 weeks to write the whole thing, test it and improve it many times. It worked perfectly and I got pretty good feedback from the code-review.
1 month ago - the code worked perfectly and was multiple times testet (also by the client) - the client came with some totally new requirements for the batch handling. I tried to impelemt them, but soon found out, that the architecture doesn't supported them, it was not build for the required handling and would soon become a totally mess, if i tried to make it work.
So I was pretty mad, because I had to change the whole fucking thing, but I also wanted to make it better. I hab gained some experience and decided (with some help of a senior dev) to make a completely new try with a different architecture, that can be easily expanded, if needed. I build my concept, wrote and tested the whole new code in 3 days. Fucking 3 days compared to the initial 3 weeks, and it worked, better and even faster.
I was quite pissed to delete the old code, and especially that i had wasted 3 weeks for it and had to struggle with many different things. But I lerarned so much from it and also in the months between, that I was also really glad that I had the opportiunity to write it again.
This whole thing made me now realize that this is, what I really like to do and what I'm good in. I really enjoy learning new things and for me, programming is the best and easiest way to do it. Despite alle the cons and annoying side effects of it, I really found my dream job here.1 -
!rant
I spent a few hours making a VS Code plugin to improve my work flow, published it on the marketplace a few days ago so that I can easily install it everywhere. But to my surprise that shit gets about 7 installs a day! I don't get why. I don't have clear instructions on how to use it anywhere.
But hey, I'm not complaining! 😁4 -
My dev Goals:
- Write better code commenting more.
- Create my first Open Source Project and publish it on GitHub.
- Improve my design skills.1 -
Is it just me or is it really fuckin amazing when ur teacher tells you after a year that you are a better programmer than he is 😒 even tho ur just a beginner?
I just started learning to code and i was already better at it than the person who is supposed to teach me... which is great if you ask me #sarcasm
And when we finish a simple task on if statements - which he thought was gonna take us a whole hour - in like 5 minutes, he doesnt let us work on our own programs: "Can you close that? Its not related to the lesson"
Ffs man! 😤 Am i supposed to sit here for an hour just staring into the void, doing fuck all, while i could actually improve my skills?
Then you go home and learn more in two hours than you'll ever do throughout the following 3 years in school.... 😧
If this is not a complete waste of time then i have no fucking clue what is.
GCSE Computer Science sucks (at least in my school). Is there anyone out there with similar issues or is it just our lucky bunch?
My advice to young/beginner programmers:
If you really want to learn, please just google what ur interested in and use stackoverflow6 -
(I highly recommend to you to not read this, it's just something that I had been wanting to take off my head; seriously, if you want to read it, do it at your own risk, because it will be a huge waste of your time)
Oracle Academy is the worst crappy attempt from a Corporation to create a learning platform.
The directive and academic personnel of my faculty decided that it could be a good idea to teach SQL and PL/SQL during whatever online classes will last with Oracle Academy, and I truly strongly believe (including most of my friends and classmates) that it's one of the worst ideas that could be done.
At that platform you simply don't learn shit, you read page by page of shitty PPT-like PDF presentations (that most of those are from a decade ago and other from 5 years ago) that are a pain in the ass to read due to how poorly formatted they are or how it explains badly certain concepts due to how badly made some explaining examples are, and then at each section of the "Learning Course" I have to do a Quiz that asks theorical questions and tells you to make certain code reviews to see if something is wrong or not (also which they are just alike the presentations, poorly formatted, up to the point that those have many syntax errors that end up consufing anyone a lot) and the main problem with the quizes is that also the Oracle's PL/SQL Docs are so fucking badly made, that I have to check PDF by PDF and page by page the concept that I just forgot to see how to answer the goddamn question; I mean, there are Doc pages that are way better structured and obviusly external to Oracle, but not even those pages fully cover certain SQL and PL/SQL concepts.
Seriously though, who could be so fucking ill-minded to create a shittyful learning platform and not try to fucking improve nor enhance it at least every 2 fucking years, so the goddamn "learning" process isn't that stressful.1 -
I hate my current work with this piece of bad written legacy $hit. As 2 year old 'junior' without any code review and mentor I feel depressed. I should improve my skills at home and run away from it.
F#$ck you, corpo.3 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
!rant
I had a talk with my manager about my future role in the company. I had talked with him before about my interest to dive deeper in the technical side - rather than the business side, for which we have a higher dev demand.
The outcome is that I will work more closely with the senior devs on technical improvements and also tech strategy (e.g. implementation of code reviews). I will also advise the upcoming manager of the development team (who is coming from a PM position) on technical decisions. Lastly the roadmap for the company is to work more with cloud technology (azure), which is also going to be in my new duties.
I'm looking forward to these new challenges where I can improve myself on the technical side (yay!) rather than on the business side (which bored me).1 -
This year I want to become a better programmer. I ordered the book clean code and want to focus on writing more and better unit tests.
If anyone has any tips on how to improve or how to get tips on your code6 -
So just saw an email from our team's vice manager about need to improve code quality by using some new system.
Well that set me off on a huge rant about all the issues I see in my team and what exactly needs to change... (just some new sytem he's pushing isnt going to help)
wonder if i might get fired... even though i m right...
And so much for my plan to update docs... I've forgot what I wanted to do...2 -
All i want to do is write code. Give me time, space, and stop bothering me so often and I can fix the shitty outsourced code. I can do it, really. I can write a ton of resdesign docs and improve so much shit. But I can't do ANY OF IT BECAUSE THESE FUCKS ARE ALWAYS PAWNING OFF WORK ONTO ME AND REFUSING TO LET ME GET MY HANDS DIRTY.
Stop asking me to email people. Stop asking me to update documentation that isn't for my features. Stop bothering me. Stop. Fucking. Bothering. Me. All. The. Goddamn. Damn.
Stop it stop it stop it fucking stop. I don't care about the PM's dumbfuck braindead statements and always wanting to pick a fight with me. I don't care that x environment is down. I don't care that your shitty overseas programmers can't tell their own ass from their head. I do care that I have the skills to fix it if you would give me the fucking time and space.
Instead of having me do all the mundane tasks that your shitty ape programmers could do overseas, let me have some fucking room to breath and I can fix this shitty fuck of a project and Maybe I can save it before it collapses on itself you dumb fucks
Holy shit im pissy today4 -
Someone gave me his code and told me to improve it and being the nice guy I am I agreed. Then while trying to work on that, a dozen other people asked me to help them with their code too, so in the end I barely got any work done.
I should stop helping people2 -
Just when I had almost fallen in love with this new job which I started 8 months ago, this happens.
My “manager” had conversation with me. He was complaining that my work is of poor quality (objectively speaking, it is not). I don’t even directly work with this manager anymore. He “leads” this big project and he really wanted me to get involved in it but I struggled because it’s a big codebase and I was a new joiner. Months later, a new project was started and I worked on the backend for it. And I really liked that project more as I literally wrote it from scratch. And even the “mangers” for that project was a bit chilled out.
Now, the first “manager” kept trying to involve me in the first project but new requirements kept popping up in the second project and I was happy to work there. Somewhere down the this, this irked the first “manager”. Also, the company is known to be very cheap with salaries (a good work culture though) and they are paying me more than others since I switched from another company to work there. So they are probably expecting more output for the salary they are paying me. That seems to be the main problem here.
Obviously this first “manager” has never worked a development job before, let alone reviewing my code or something. So I was confused after this conversation. He’s asking me if I noticed these issues in my work and how I can do better and I bluntly replied no, I don’t see any issues in my work. He said he’ll speak to me again on Friday (2 days from now) and expects me to give an answer about how I can improve and stuff. He seems to be power-tripping do so I’ll probably be firm about my position. Will probably mention the money part as well.
It sucks that I left a corporation because of work culture issues and joined this smaller company. And I see the same corporate disconnect cropping up here.3 -
I work as pharmacist, but code as hobby and recently change job. Have far more options to improve work enviroment, but IT guy sucks balls so much.
Better no password, because you have to remember them.
Some users don't have privilages to do some things, but everyone knows boss password with all privilages.
It guys connects via teamviewet whn I check prescriptions with quite vulnerable data and after my step in he responds that he creates this Pharmacy store and has deal with boss to access database and others.
Due lack of controls there is working against law all the time
Small city so everyone knows everyone and you have to be ultra polite to doctors and after my little unpleasent situation doctor starts to be mad at all employers.
It guy was asked to change disc space on OS drive, but he replies that it will takie at least 2 hours and he doesn't have time, but it takes me 15min top and he was mad at me.
Ffffff.... -
Sooooo... I've felt a bit lost during my years as a student and maybe this is a nice place to finally talk about it.
I've had my first programming experiences in school (back then it was delphi, a Pascal variant), then decided after graduating I want to study computer science. I've stuck with it and will finish my masters degree in a few months. (Took me a year longer than the university plans but will likely have a very good grade)
Since i have little programming experience and never coded anything useful (mostly study projects or simple programming tasks) I've always been struggling with depressions, worries of being not good enough and never finding a job etc pp, but in the last few months it got worse since I NEED to apply for jobs now as i graduate next may. I'd really like to improve and found some "learn how to code" websites but the progress seems still slow and meaningless when I compare myself to all those guys out there:
- those comparing several hardware/software pieces casually since they know all the (dis)advantages and specs off by heart
- those who have fierce discussions about languages, libraries, runtimes etc
- those who solve the problems in coding websites with 3 lines and incredibly mathematicsl proofs for why this shortcut works (fastest)
- basically the guys who discuss so many things i've never even heard of
I just feel so lost, useless and like i missed years of learning things everybody else just obviously knows now. Is there any way to catch up? I thought about trying to join a local Chaos Computer Club but they sound like they wouldn't be fond of a noob like me.6 -
I'm considering quitting a job I started a few weeks ago. I'll probably try to find other work first I suppose.
I'm UK based and this is the 6th programming/DevOps role I've had and I've never seen a team that is so utterly opposed to change. This is the largest company I've worked for in a full time capacity so someone please tell me if I'm going to see the same things at other companies of similar sizes (1000 employees). Or even tell me if I'm just being too opinionated and that I simply have different priorities than others I'm working with. The only upside so far is that at least 90% of the people I've been speaking to are very friendly and aren't outwardly toxic.
My first week, I explained during the daily stand up how I had been updating the readmes of a couple of code bases as I set them up locally, updated docker files to fix a few issues, made missing env files, and I didn't mention that I had also started a soon to be very long list of major problems in the code bases. 30 minutes later I get a call from the team lead saying he'd had complaints from another dev about the changes I'd spoke about making to their work. I was told to stash my changes for a few weeks at least and not to bother committing them.
Since then I've found out that even if I had wanted to, I wouldn't have been allowed to merge in my changes. Sprints are 2 weeks long, and are planned several sprints ahead. Trying to get any tickets planned in so far has been a brick wall, and it's clear management only cares about features.
Weirdly enough but not unsurprisingly I've heard loads of complaints about the slow turn around of the dev team to get out anything, be it bug fixes or features. It's weird because when I pointed out that there's currently no centralised logging or an error management platform like bugsnag, there was zero interest. I wrote a 4 page report on the benefits and how it would help the dev team to get away from fire fighting and these hidden issues they keep running into. But I was told that it would have to be planned for next year's work, as this year everything is already planned and there's no space in the budget for the roughly $20 a month a standard bugsnag plan would take.
The reason I even had time to write up such a report is because I get given work that takes 30 minutes and I'm seemingly expected to take several days to do it. I tried asking for more work at the start but I could tell the lead was busy and was frankly just annoyed that he was having to find me work within the narrow confines of what's planned for the sprint.
So I tried to keep busy with a load of code reviews and writing reports on road mapping out how we could improve various things. It's still not much to do though. And hey when I brought up actually implementing psr12 coding standards, there currently aren't any standards and the code bases even use a mix of spaces and tab indentation in the same file, I seemingly got a positive impression at the only senior developer meeting I've been to so far. However when I wrote up a confluence doc on setting up psr12 code sniffing in the various IDEs everyone uses, and mentioned it in a daily stand up, I once again got kickback and a talking to.
It's pretty clear that they'd like me to sit down, do my assigned work, and otherwise try to look busy. While continuing with their terrible practices.
After today I think I'll have to stop trying to do code reviews too as it's clear they don't actually want code to be reviewed. A junior dev who only started writing code last year had written probably the single worst pull request I've ever seen. However it's still a perfectly reasonable thing, they're junior and that's what code reviews are for. So I went through file by file and gently suggested a cleaner or safer way to achieve things, or in a couple of the worst cases I suggested that they bring up a refactor ticket to be made as the code base was trapping them in shocking practices. I'm talking html in strings being concatenated in a class. Database migrations that use hard coded IDs from production data. Database queries that again quote arbitrary production IDs. A mix of tabs and spaces in the same file. Indentation being way off. Etc, the list goes on.
Well of course I get massive kickback from that too, not just from the team lead who they complained to but the junior was incredibly rude and basically told me to shut up because this was how it was done in this code base. For the last 2 days it's been a bit of a back and forth of me at least trying to get the guy to fix the formatting issues, and my lead has messaged me multiple times asking if it can go through code review to QA yet. I don't know why they even bother with code reviews at this point.18 -
I own a start up with two friends of mine - one is great with business, and the other tries to be both a developer and on the business side. I'm fully on development and I find it extremely frustrating to work with him. He copies and pastes code, doesn't understand it, and worse still will never admit it and digs himself in deeper into the hole he's dug. He doesn't code as a hobby and it's purely just assignments in university that he spends any coding time on. I've tried helping him to improve over the past few months, but nothing seems to ever do anything as there's no desire to solve problems - just really dollar signs in his eyes is probably the only reason he's in computer engineering. Recently we got a contract with an organisation to make an extremely simple app for android and iOS as the first stage of their planned development. As I did the most of the work on another project during the summer (while juggling a job with another company as an internship), I asked if he could take this so he can try to improve and equalise work so he does his share. Not only did it take 3 weeks, but it's shoddy as hell and looks like it was done in the space of an hour. In reality it took days for him. It's unbearable! The android code I saw was clearly just copied from various sources and mashed together - there was no planning, no understanding of abstractions, and was legit a giant class or two with extreme amounts of redundancy. Hell, he even asked me for help for trying to implement fragments when I pointed out that making screens with buttons and such will be extremely difficult if he is only passing in strings. Any of you guys experiences something like this before? I'm planning on bailing in the coming weeks once my exams are over with for university as it's becoming unbearable.6
-
A couple nights ago I was thinking how can absurdly incompetent programmers exist out there (based on stories I read here), and I think I know the reason. They just don't like doing it, to them it's just a job. They get into the building, work and go home. They learned programming in college but probably never wrote anything for fun. Because of that they don't dedicate themselves to learning new tech, don't try to improve and be good at the job, all they want is the money to be able to survive and that's it. Since they don't have the curiosity to drive them forward, they just don't and keep writing shitty code.
I'm not saying you need to have a bazillion side-projects, work an 8h shift and then go home and spend 3h on personal projects, or that you have to breathe programming and tech. All I'm saying is that, to be competent and good (this probably applies to most jobs) you have to like what you do and have at least some interest in it.7 -
I don't know if this is exactly a rant. But - I am sure somewhere out there has run into this situation before.
I've been a developer (professionally) for a 3 years. And in that time I've stayed with that same company.
Over that time its become incredibly apparent that my boss (senior developer) isn't exactly keen on new technologies, source control (I had to push hard for this. And even then he doesn't use it properly), or any kind of project management. It's only he and I.
I've started interviewing other places and while I have no problems answering their technical questions. I'm worried my lack of experience in a team is becoming a problem.
We don't work on projects together. We don't do code reviews. He does not ask my opinion on anything. We are basically two separate teams. I want to improve as a developer. I love the rest of the company and I enjoy what I'm working on. I just feel I'm hindering my growth as a developer.
Anyone have any advice? I know I can find a project to contribute to on github or something. But honestly that's intimidating to me for some reason. I am self taught. And don't have any experience in working with teams.4 -
I need to get this out there because you guys and gals are honestly the only people I can vent this to.
I’m working on a program for fun that’ll transfer files over sockets. Nothing too special. But this project is just boring me. I’m not getting any motivation even when I’m getting started. Which didn’t happen last project.
I have a general idea how I’m going to do it but I just can’t sit down and do it because I start overthinking about everything. Like how am I going to do this or that. How am I going to handle feature a, feature b, etc. And I’m just getting a headache and I’m not writing code and I’m JUST FUCKING STARING LIKE AN IDIOT. I don’t even know why it’s not inspiring me because I’ve always wanted to program a file transferring application of some kind and I still do.
I keep doing a bunch of small patches when I work on it and they work and improve it but I am hard on myself because it’s not one big feature or I didn’t work on it for hours. I’m always so fucking hard on myself fuck.
I want to do so much other stuff but I just wanna tough it on through and finish but it’s so uninspired because I don’t even feel like what the final product will feel like others. Like any service that involves transferring files I feel like they don’t function like how I’m thinking they do like I’m trying to make this function.
I feel like everything I’m making is just subpar and not good and I’m trying and I’m trying to improve but I feel like I’m not getting anywhere. And I want to learn a lot of stuff I have shit planned but I can’t get to it because I have to go through uninspired bullshit hell.
Idk14 -
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
After having my soul suck away by "corporate", I installed VS code on my Windows 10 gaming machine.
Now, I have a pretty hardcore dev setup on my MacOS (it's unix-based and it's good, so stop the hate). I'm talking about fully automatized Rakefile that will provision it from scratch: vim, macvim, tmux, iterm configs, 15+ brew tools, 15+ brew-cask tools, themes, plugins, etc.
Installing VS Code, Node and MongoDB on Windows, just for the fun and giggles, and not having any of my hardcore tools, made me feel like... it's something silly and fun again. I'm once again that softcore developer with no stress and no constant self-reminder to improve workflow effectiveness.
Made me a little happy.
Checkout this picture, this is my Windows 10's "tmux" lol3 -
I begin with the optimism and the joy that I am creating something new that will improve people's lives.
I listen to the user and analyze the current process in depth.
I try to suggest additional value to the system for the users consideration. Sometimes they do not realize we can improve 10x rather than 2x.
I learn what the users goals are and what they want out of the system. We think about reports and downstream value. Sort of working from the end to the beginning (data ingests and upstream processes that will feed the system).
After the user signs off on the requirements and deliverables and I have a realistic project plan I begin to code.
It works and has worked for me every time for a long long time. -
Our dev uses laravel and instead of doing a sum to get a total of a couple columns he is getting all values and manually counting them up in the php.
he keeps telling he cant improve and i cant work on his code because i know i will break the rest.
when i looked at the code i had the following feeling.2 -
My coding style is extremely fundamental (I guess); meaning I have to write every piece of code myself and I don't like to use anything ready, which makes me very slow and costs the employer lots of money and time.
It's becoming very discouraging, but I just can't give it up!
Any ideas how to improve this situation?5 -
Re-reading old code I wrote some time ago and trying to improve it. It sounds and it definitely is scary to do at first, but it truly helps me approach things from a different perspective and question what I did.
-
I really resent people who reduce the occupation to tickets. Our world is just tickets, tickets all the way down.
"well the ticket just says this, but that's vague, so what should I do?"
You either ask for clarification, or you get creative with the blank canvas you were handed.
"well that edge case wasn't called out in the ticket's specs"
this is _why_ we do TDD - to design our code to be able to function as expected for ALL cases
"is there a ticket to refactor that?"
what?! no, it's your job to always leave code better than when you found it (within scope/reason of course)
FFS we are not hired to be code monkeys or glorified typists. There should be joy that comes from getting to be more clever than the average bear and to solve problems and improve things with your code and logic.
shit bums me out.7 -
Why is so hard to find engineers that actually care? It feels like the majority of people always want to do the bear minimum, no one wants to fix their shitty code even when it clearly violates the project or company standards. Everyone constantly comes up with shit about why they can't do things properly or how they'll fix it later and then get their mates to push their shit through review. The majority of lower management usually care equally as little so there's no point explaining the situation to them and the lack of care probably goes much higher. It seems like so many people go from job to job getting bump after bump in salary, which granted is absolutely fine and probably advised, but have nothing to show for it. Usually very little skills but alleged mountains of experience and a lazy piece of shit attitude. I hear all the time people saying you'll never change anything so why try and it feels like that most of the time but more because everyone keeps saying it. If everyone pulled their fingers out their arse, maybe we would stand a chance. I'm sure a lot of people on here have a real passion for computer science, whichever division you're in and love to learn and improve and reflect. What I really want to know is how you deal with people who are just taking their paycheck and enjoying the ride but don't actually care and how you discover these people as early on as possible to get shot of them.14
-
I need guidance about my current situation.
I am perfectionist believing in OOP, preventing memory leak in advance, following clean code, best practices, constantly learning about new libraries to reduce custom implementation & improve efficiency.
So even a single bad variable name can trigger my nerves.
I am currently working in a half billion $ IT service company on a maintenance project of 8 year old Android app of security domain product of 1 of the top enterprise company of the world, which sold it to the many leading companies in the world in Govt service, banking, insurance sectors.
It's code quality is such a bad that I get panic attacks & nightmares daily.
Issues are like
- No apk obfuscation, source's everything is openbook, anybody can just unzip apk & open it in Android Studio to see the source.
- logs everywhere about method name invoked,
- static IV & salt for encryption.
- thousands of line code in God classes.
- Irrelevant method names compared to it's functionality.
- Even single item having list takes 2-3 seconds to load
- Lag in navigation between different features' screens.
- For even single thing like different dimension values for different density whole 100+ lines separate layout files for 6 types of densities are written.
- No modularized packages, every class is in single package & there are around 100+ classes.
Owner of the code, my team lead, is too terrified to change even single thing as he don't have coding maturity & no understanding of memory leak, clean code, OOP, in short typical IT 'service' company mentality.
Client is ill-informed or cost-cutting centric so no code review done by them in 8 years.
Feeling much frustrated as I can see it's like a bomb is waiting to blast anytime when some blackhat cracker will take advantage of this.
Need suggestions about this to tackle the situation.10 -
Hey. Can I borrow your ears for 5 minutes?
Since I've been out of school, I've often felt that even though I've learned how to code, the education went into a totally direction than the one I want to go. Of course a school can't teach you everything perfectly, but having almost no experience in frontend (mind you we learned the BAREST basics) just makes me feel entirely empty in that regard stepping up to a company. I've been pretty loaded during school, since I was struggling with a lot of things so I couldn't really find myself pursueing the direction of coding frontend apps being fun. I needed the little time I had to blow off steam playing games etc.
So the few things I know are all self taught, but I was never given a hand been shown best practices or solid advice where to look. Sitting down now at my pc trying to learn ReactJS for example feels incredibly draining and difficult, since we've never done JS in school ONCE. All the C# experience barely helps, since with ES6 being rolled out parallel to "normal" JS it's even harder to me to connect the lego blocks that is frontend development. Since many best practices are applied to ES6, I can barely even tell what previous practice they are replacing, making the entire picture even more spongy. In one sentence it's very overwhelming.
I've thought I'd apply maybe as a UX/UI Designer since I've got a great visual sense (confirmed countlessly by many, friends and strangers alike) maybe contributing to the frontend part that way. But as I was applying I've noticed that chances are seemingly pretty low to get accepted since it seems you've got zero reputition if you don't have a degree in Design.
It breaks me apart. I could probably apply as a frontend developer, but I am not sure if I would be happy doing that on the long run. Since just fucking around in Photoshop creating things seems like no effort and brings me joy, as compared to coding out lines for example.
I wanted to make money after school, improve on myself and my quality of life since I've drained that entirely for the sake of my education. Not spiral into another couple years just to eventually maybe get in the direction I want to.
On the flipside going into frontend dev with 0 skills, 0 experience, but being expected to have 2 years of hands on experience with the newest frameworks makes me feel empty and worthless.
I often hand out advice to other people on devRant, but this is the one time where I need some. Desperately. I feel shattered inside, getting out of bed in the morning has no incentive to me since I'll just feel like shit all day, watching YouTube to cheer me up temporarily, only to feel immense remorse not spending the day learning or improving on myself. Barely anything brings me joy. I don't wanna call myself depressive, but maybe I am just dodging the term and I am exactly that.
Thanks If you've read through this monstrosity of a rant/story. I'd be glad if you'd be so kind to give me a different take on my situation or a new perspective.
I am stepping on the spot and I am slowly dying inside because of it.
It dreads me to say it, but I need help.12 -
You had two additional weeks to improve your project.
You could research different marketing strategies to increase revenue. You could add some new features to attract more users and ensure your existing users are satisfied. Finally, you could optimize performance to make your UI quicker.
But you’ve chosen to write some unit tests. Now that two weeks are gone, you got no new features, no performance improvements and no new marketing strategies while your competitors got them all.
Tests caught obvious bugs that can even be caught by static typing, but you by definition couldn’t write tests that’ll catch unpredictable bugs, so they are still present.
After six months you realize you have to rewrite a major part of your project because your project (surprise-surprise) has to chase market needs to stay relevant. Your tests are thrown into trash along with your old code.
“Having trouble with code quality? Write a lot of tests. And I mean a *lot*. Test every file in isolation. Mock as many imports as possible.
When you're done, your code will still be bad, but now your tests will make sure it's impossible to improve anything in any meaningful way.”12 -
So, I'm looking into something and end up on Stack Overflow. Someone posted the question:
"Does minified javascript improve performance?"
This question was old as shit, all they way from 07/25/09, and about an Adobe Air application. (Remember that? Me neither...) It had a great, accepted, and still accurate answer, posted the same day the question was asked. Now, fast forward 8 years and on 12/08/17 (A mere 7 months ago...) the following answer was posted. I don't know what they were thinking, but here it is, complete and unabridged, with my comments in square brackets:
"I'd like to post this as a separate answer as it somewhat contrasts the accepted one: [Somewhat contrasts? More like completely contradicts...]
Yes, it does make a performance difference as it reduces parsing time - and that's often the critical thing. For me, it was even just simply linear in the size and I could get it from 12s to 4s parse time by minifying from 3MB to 1MB. [First off, your parse time should NEVER be THE critical thing, but secondly, and more importantly, WHO THE FUCK HAS 1MB OF MINIFIED JS ON A PAGE!!!]
It's not a big app either, it just has a couple of reasonable dependencies. [THERE IS ABSOFUCKINGLUTELY NOTHING REASONABLE ABOUT ANYTHING HE JUST SAID! What dependancies is he using?! You could use minified and not even gzipped jQuery, AngularJS, Vue, Ember, React, AND Dojo libraries on the SAME PAGE, AND have 118k of application code, AND STILL NOT HAVE HIT 1MB QUITE YET!!!]
So the moral of the story here is: Yes, minifying is important for performance - and not because of bandwidth, but because of parsing. [Javascript should NEVER take longer to parse then to download, even on a low powered device...]"
So, yeah, I'm at a loss for what this guy was thinking, but the thought the people like this exist, and that my browser might one day be subjected to their horrific nightmare of code terrifies me...2 -
Best: gaining experience and learning new ways to write programs in the best way possible, even beyond working hours
Worst: the amount of ABAP code I saw these past two years gives me nightmares, and older programmers don't seem to want to improve and advance from the old ways of the language 😥1 -
Fighting against a occasionally occurring bug, in a networking, multithreading, server-client game.
Thanks to the good excellent front end each client only uses around 20% of my cpu and ~1.3Gb of ram.
Shit happens when you join the development late and your partners code happens on-the-fly.
Maybe redoing it from scratch with something else than JSwing could improve the performanxe slightly -
After learning a bit about alife I was able to write
another one. It took some false starts
to understand the problem, but afterward I was able to refactor the problem into a sort of alife that measured and carefully tweaked various variables in the simulator, as the algorithm
explored the paramater space. After a few hours of letting the thing run, it successfully returned a remainder of zero on 41.4% of semiprimes tested.
This is the bad boy right here:
tracks[14]
[15, 2731, 52, 144, 41.4]
As they say, "he ain't there yet, but he got the spirit."
A 'track' here is just a collection of critical values and a fitness score that was found given a few million runs. These variables are used as input to a factoring algorithm, attempting to factor
any number you give it. These parameters tune or configure the algorithm to try slightly different things. After some trial runs, the results are stored in the last entry in the list, and the whole process is repeated with slightly different numbers, ones that have been modified
and mutated so we can explore the space of possible parameters.
Naturally this is a bit of a hodgepodge, but the critical thing is that for each configuration of numbers representing a track (and its results), I chose the lowest fitness of three runs.
Meaning hypothetically theres room for improvement with a tweak of the core algorithm, or even modifications or mutations to the
track variables. I have no clue if this scales up to very large semiprime products, so that would be one of the next steps to test.
Fitness also doesn't account for return speed. Some of these may have a lower overall fitness, but might in fact have a lower basis
(the value of 'i' that needs to be found in order for the algorithm to return rem%a == 0) for correctly factoring a semiprime.
The key thing here is that because all the entries generated here are dependent on in an outer loop that specifies [i] must never be greater than a/4 (for whatever the lowest factor generated in this run is), we can potentially push down the value of i further with some modification.
The entire exercise took 2.1735 billion iterations (3-4 hours, wasn't paying attention) to find this particular configuration of variables for the current algorithm, but as before, I suspect I can probably push the fitness value (percentage of semiprimes covered) higher, either with a few
additional parameters, or a modification of the algorithm itself (with a necessary rerun to find another track of equivalent or greater fitness).
I'm starting to bump up to the limit of my resources, I keep hitting the ceiling in my RAD-style write->test->repeat development loop.
I'm primarily using the limited number of identities I know, my gut intuition, combine with looking at the numbers themselves, to deduce relationships as I improve these and other algorithms, instead of relying strictly on memorizing identities like most mathematicians do.
I'm thinking if I want to keep that rapid write->eval loop I'm gonna have to upgrade, or go to a server environment to keep things snappy.
I did find that "jiggling" the parameters after each trial helped to explore the parameter
space better, so I wrote some methods to do just that. But what I wouldn't mind doing
is taking this a bit of a step further, and writing some code to optimize the variables
of the jiggle method itself, by automating the observation of real-time track fitness,
and discarding those changes that lead to the system tending to find tracks with lower fitness.
I'd also like to break up the entire regime into a training vs test set, but for now
the results are pretty promising.
I knew if I kept researching I'd likely find extensions like this. Of course tested on
billions of semiprimes, instead of simply millions, or tested on very large semiprimes, the
effect might disappear, though the more i've tested, and the larger the numbers I've given it,
the more the effect has become prevalent.
Hitko suggested in the earlier thread, based on a simplification, that the original algorithm
was a tautology, but something told me for a change that I got one correct. Without that initial challenge I might have chalked this up to another false start instead of pushing through and making further breakthroughs.
I'd also like to thank all those who followed along, helped, or cheered on the madness:
In no particular order ,demolishun, scor, root, iiii, karlisk, netikras, fast-nop, hazarth, chonky-quiche, Midnight-shcode, nanobot, c0d4, jilano, kescherrant, electrineer, nomad,
vintprox, sariel, lensflare, jeeper.
The original write up for the ideas behind the concept can be found at:
https://devrant.com/rants/7650612/...
If I left your name out, you better speak up, theres only so many invitations to the orgy.
Firecode already says we're past max capacity!5 -
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 -
Sharing a first look at a prototype Web Components library I am working on for "fun"
TL;DR left side is pivot (grouped) table, right side is declarative code for it (Everything except the custom formatting is done declaratively, but has the option to be imperative as well).
====
TL;DR (Too long, did read):
I'm challenging myself to be creative with the cool new things that browsers offer us. Lani so far has a focus on extreme extensibility, abstraction from dependencies, and optional declarative style.
It's also going to be a micro CSS framework, but that's taking the back-seat.
I wanted to highlight my design here with this table, and the code that is written to produce this result.
First, you can see that the <lani-table> element is reading template, data, and layout information from its child elements. Besides the custom highlighting code (Yellow background in the "Tags" column, and green gradient in the "Score" column), everything can be done without opening even a single script tag.
The <lani-data-source> element is rather special. It's an abstraction of any data source, and you, as a developer can add custom data sources and hook up the handlers to your whim (the element itself uses the "type" attribute to choose a handler. In this case, the handler is "download" which simply sends a fetch request to the server once and downloads the result to memory).
Templates are stored in an html file, not string literals (Which I think really fucks the code) and loaded async, then cached into an object (so that the network tab doesn't get crowded, even if we can count on the HTTP cache). This also has the benefit of allowing me to parse the HTML templates once and then caching the parsed result in memory, so templates are never re-parsed from string no matter how many custom elements are created.
Everything is "compiled" into a single, minified .js file that you include on your page.
I know it's nothing extraordinary, but for something that doesn't need to be compiled, transpiled, packaged, shipped, and kissed goodnight, I think it's a really nice design and I hope to continue work on it and improve it over time1 -
Co-worker: "You don't need to know the math! Stop going on about it."
Me: "I think you do for some things, my algebra is not good at all, I need to improve it a lot and I just think you should too."
Co-worker: "Oh stop it, If the code runs it's OK!"
Me: "Well yeah, the code runs but you're over-fitting like a mad man and have a P-value of a bejillion."
Co-worker: "What!?"
"data scientist" -
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. -
Comments belong here on devRant, not in your code!
Code cleanly folks.
“Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?'”
– Steve McConnell7 -
Feels like my body(?) got slower while head's where it's at
I can still chalk out a project's overview, divisions, core-code/logic but actually working on it beyond a point I go "urghhhhhhhhhhhh"
even making model-classes is a chore.. I wonder if that's a sign of something worse to come. Maybe I should go to the gym to improve focus or something T__T6 -
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 -
Am I the only one missing ``` // some code ``` backticks/tags (the ones that convert wrapped text to monospace code) here? @trogus -- Since this is a dev-oriented community.. could this be an area to improve devRant?2
-
🔥👽🤘🏻
I've been CRUSHING it lately, so stoked!!!
**Also, this means that in the near future something will crush me because I have a few subjects on deck I need to lock down.
1. Deno
2. TypeScript(deep dive)
3. CPP (currently 75% done with my 2nd masterclass, first one complete)
4. Multi-platform local device storage (Sqflite/mongoDB/shared preferences/Hive)
5. REST/api/requests/json management && application
6. Implementing Firebase authentication using Apple, Twitter, and mobile OTP
7. Cloud functions && server scripting/automation
8. Intro to embedded systems/OS/kernels
9. Steadily improve my code style, design strategies, and build patterns that are team friendly && provide easier code base maintainibilty
10. Influence, teach, and/or spark the interest of someone new to development in any possible- all that matters is getting new people on board, making sure they are stoked about, and last but not least making sure they feel welcome in the community and are able to start off in the right direction.
cheers, ya fockers!!!! -
Legacy code that has a really long and convoluted way of integrating Dropbox authorisation to save files etc.
This happened in a meeting discussing where I’m at with the upgrade.
Me: This upgrade is going to take a while because of how outdated the app is. Also for assets uploaded by the user why don’t we just use active storage for this now as we have rails 6 now. Plus it will reduce a lot of code.
Other Dev: why would we do that? It’s a big change and will need testing.
Me: A lot of stuff is broken after the upgrade anyway and if we have a more built in simple way to do it why wouldn’t we? Also simplifying the code base is always good. The PR is already 1000+ files and we’re going to have to retest the app anyways.
Other Dev: *crickets*
I’m trying to make the app more smooth and streamlined and overall a better codebase as currently it’s shocking there and security holes galore, its like they don’t trust me with changing anything big haha honestly I think I’m the only one who wants to actually improve the application.2 -
Curiosity killed the cat.. or was it Opportunity?! 🤔
You get to learn new stuff daily.
Not one assignment is the same, and if it's similar, you can hijack the old code, improve it & turn in the better version of it.. or don't improve..totally how you feel that day..if you're not a crappy developer no improvement should still also be ok..
I love mostly adjustable schedule, so there's no biggie of I have a day or two of coders block & can't produce much of value..I can switch tasks & do some simple ones on those days..or just refactor.. all's good..
I love solving puzzles, every bug is a new puzzle I can play with..
So basically, I love being a dev, because it's like being back in school, but only with the subjects you like! -
Anybody wanna contribute to this, find issues...?
https://github.com/Ganofins/...
I know the code structure is worst...but I am trying to improve it
Sorry for that16 -
Going to go old school D&D. The more I learn in school, plus messing with code to improve my job at work, the more I feel like one of the Magi. The more I level up the more I can interpret the spell books. I may not be able to cast an amazing spell yet, but I can at least know when it is a good time to duck behind something because I fireball is coming my way.7
-
- finish that ML course I started back in June 2017
- get more experience from my job
- improve my code quality even better.
- build some cool project in Java ( there's this company I need to impress, but I haven't found any good idea to implemen 😣)
- be more active on Hackerrank
- do some stuff here and there
- use that freaking LinkedIn to create some meaningful connections
- contribute to an open source project
Hmmm ...
... yeah that's a lot ... *sigh*7 -
Stating the obvious when writing comments. 🙈
I used to this when I was starting to learn how to code and let someone read it, 'cause it's better to have comments than nothing, right? 😂 I was wrong.
But that led me to improve writing informative comments and self-documenting codes. -
In programming world there is lot of stuff to learn and there is lot to great developers in the world after seeing code and project's of these developers I feel I am very weak in coding currently my confident is quite low cause I cannot make a simple project by my self without seeing a project tutorial video and I don't know how do I improve my dev skills and I feel stuck any suggestions?15
-
How do i handle code review as a junior developer?
I understand its need and I don't want to skip it.
But I feel under confident after code review when my mistakes are pointed out. They always seem so trivial and wonder how did I even miss them. How should I handle such situations? And how do I improve from here?6 -
for the life of me I cannot figure out in my mind how to structure this project I want to start, and jumping right into coding does not improve this mental block.
At work this Golang code base has a clean architecture, so easy to maintain and extend, and I'm unable to replicate it on my own project(s). It sucks to be an ignorant.2 -
I am now going to attempt the problem solving ritual.
Requirements:
-have a problem or piece of unoptimized code and you don't know how tk fix/improve it
-be able to sleep/take a nap
Now before I fall asleep the ritual should provide me with an epiphany to solve my problem
Plan b:
I have a class ninja (model), with an observablecollection<property> properties and an observablecollection<gearslot> gearslots;
,a class gear with an observablecollection<property> properties and an Category category:
And a class gearslot with a Gear gear and a Category category;
Via entity framework this results in several property entries per ninja
And several property entries per gear item
All good so far.
I now actually want the ninja property values, to be the sum of the gear property values
So a ninja has int, agi and str of 0.
Gear has 0 or more stats.
If the ninja has two pieces of gear on with agi +1, then the ninja agi should be 2
If possible i would like the logic in the model.
Else i have to put it in the viewmodel.
That i can figure out, its just so inelegant.... -
Have you ever tried to share your very simple project on FB groups which you just learned how to build? I got a lot of cheerful remarks and 2 to 3 haters. I don't know why they're trying to hate on but I'm just sharing my work and code. How do u not get a bad day and continue to improve yourself with this type of situation?3
-
Just wasted 2 hours wondering why my simple bit of code didn't pass the test cases. Turns out what I thought was an add was actually supposed to be an xor. It was a hacker rank challenge. So much for trying to improve myself.
-
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. -
I found out the importance of time complexity. It might not seem like a big difference between O(1) and O(2). But there's a big difference hardcoding 500 lines and 1000 lines of data.
I made a navigation app for school using dijkstra's algo. However it had no data available so I had to hardcode it. Long story short, there was a ton of hardcoding. Always try to improve the time complexity of the code you write.2 -
Code what you enjoy. Don't code what people say will "improve your skills." If something interests you, learn about it. Also, try broadening your interests. Learn new things that you may not have thought about before. It might be fun.4
-
I'm currently working on updating our SAP Hybris code base (unreleased) to the latest hybris version ... god, there are so many bugs I could scream. SAP, how can you release such a saftware*, or wait the actual question is, SAP aren't you ashamed for that peace of shit you sell for 1M per licences!?!?!
Allegedly SAP has >100 people sitting there working on hybris. Every new version I wonder the same, when do the finally fix the bugs, improve performance, update the 10year old ant version, migrate to maven, remove the bloat ...
what they actually do is just add bugs and more bloat "§$%&/()=)(?/&%(&
* german "saft" means juice. A "saftladen" is a shitty company, "saftware" ... you get it right ;-)2 -
So I have a colleague who never tests and claims to not have time. I've sent him various emails with errors and their solutions, because he keeps breaking my finished code and I'll find out about it by pure luck. I've informed my team lead, I've also informed HR when he got downright nasty in email. But it feels nothing gets done. Today again I get finished code back because the save function is broken. Again changes that weren't tested were made. I'm so sick of this! Do I really have to escalate this to the CEO because nobody takes responsibility? The colleague is a junior in his first role and without a degree. But in the half year I've worked here I've not seen him improve, and he recently had his one year work anniversary :/3
-
This is a question and a rant about my frustrations with an API description. First take a look at this usage information for a library I have been playing with:
https://github.com/avaneev/avir/...
Now my first question: Is it clear as to you what the formats are for the InBuf and OutBuf parameters are?
Now, read his response to people (including me) struggling with determining the format of the buffers for this resize function:
https://github.com/avaneev/avir/...
Does the guy come across as condescending as hell? Am I reading into this? It is like the guy takes every opportunity to find fault with people not understanding the details he didn't put in his API description. I would find it difficult to have to work with someone like this.
The irony about this is the description of his code makes me think it is going to magically create this wonderfully rescaled image preserving details. The result is that a standard bilinear filtering scaling function looks practically the same. I saw no real perceptible improvements of his code over the scaler I tested against. When I adjusted parameters using presets he provided it didn't improve the results and added artifacts I could not accept. His scaler is also at least a magnitude slower than the bilinear version. So the code is pretty much a non-starter for my current project.
Ah well, I appreciate him posting the code and making it a very permissive license. That part is really cool.16 -
I really don’t get it, how can most people just so easily accept shortcomings and not even try for a second to improve the situation?
It drives me crazy ...
story:
I’m debugging an issue with a colleague over screen sharing, both of us have huge 4k screens. Colleague sets a breakpoint, popup opens „do you want to switch to debug perspective“, clicks on yes for the umpteenth time. Breakpoint halts, IDE is full of open and unrelated panels, he doesn’t even see the whole line if code but still grabs the scrollbar every friggin time and scrolls left, right, left, right, ...
changes some code, popup that hot code reload didn’t work, clicks ok for the umpth time here as well, although it has a don’t show again checkbox, like every frigging dialog in eclipse.
how can people work like this, it’s driving me nuts. Am I the only sane dev here??
Other colleague has weird message in the browser console (angular). I ask whats the problem and if he can’t just set a breakpoint to analyze the situation. No thats not possible, he says, instead he’s going to add a return statement to check how far the code execution goes ...
I wonder sometimes if I‘m already dead and have to suffer in dev hell for an unknown reason ... 🤔 -
I'm really trying my best to improve but the work I'm doing (both the code and the business theme) is so god damn boring that I feel like I'm torturing myself just trying to keep up. How am I supposed to learn and build myself when everything is so dull and gray? I can't even talk semi-passionately about the work I do, its all just picking up user stories with lengthy business specs on them updating old code or writing up some new code to fit some business / API standard I know nothing about. Occasionally I'll review other code from a developer doing the same thing and sift through trying to find some way to improve a project I don't care about. Hold down the nausea that comes from fighting off the mental fatigue as I struggle to find the words to explain how a component I made works in terms I don't understand too people that know and care much more than I do...
I'm exhausted, I'm burnt out. This isn't me, and every day I wake up and tell myself that my salary makes me happy because it gives me the ability to do the things I enjoy and live on my own and provide for loved ones, and then struggle to swallow the lump in my throat as I drive in the cold to a giant corporate office with a thousand other Me's doing the same shit but better and improving.
I honestly love what my company offers me as compensation, I'll likely not find any better. But once I have some experience under my belt and some debt paid off I have GOT to find a jobs somewhere that doesn't drain the will to live out of me2 -
Someone just explain me why. I really can't figure other reason that beeing too lazy to think a condition while writing a "while loop".
At university, a colleague asked me what i think of his code. I see something like that:
while ( 1 ){
...
if (condition)
break;
...
}
Am I a fucking genius thinking that just moving condition into while will improve readability, or am i a fucking stupid ? Really not the first time seeing this, maybe i am missing something.4 -
When and how do you improve documentation?
I dont mean "added new/refactored code, gotta document it" but active improvement.
Which feeback channels do you have for your docs?3 -
Working with others is always a great way to improve, no matter their skill.
If -
They're better than you, you get to learn new things
They're worse than you, you get to learn how to be a better leader.
Rest assured, folks.
<!-- Was too lazy to write this in code. --> -
Strapi...
So much promise let down by poor documentation. Adding custom commands is not in the docs but is supported in the code.
Spent 2 weeks through trial and error trying to get custom commands written to import content and its been a pain in the ass.
When your documentation is written, give it out to novice or intermediate programmers with minimal exposure to your system. Note down their issues and improve the documentation.
Hell, why not add a form to submit feedback on the docs to a dedicated team of writers.
Anyone here good with Strapi who could assist?1 -
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 -
Sometimes i like to break my code on purpose, to force me to refactor those parts and rewrite them more efficiently.
I find it hard to improve existing, working code, because it limits me and it does not inspire me to come up with something better -
Fellow web devs, your favourite tool for coding ?
I use and love phpstorm because it prevents my 90% typos and provides code completion.
What tool do you use to improve your coding, and if there is any tool which you use to get more productive?14 -
Do you plan the application, on which you will be working, before you actually begin to write code?
I do web development and usually begin with something rough or look at designs of other developers. Like an dashboard example, when I see an image on google search that I like, I try to make something simmilar and when I have the surface I can add the functionality and improve the design.
Sometimes I have to make changes in half of the development because at the beginning there was no assumption that there will be a need for a certain functionality or I change a implemented feature to work properly, so I have to refactor something I made as a ground on which other parts will rely, although if I had planed the application in detail, maybe it wouldn't come to such refactoring.
In school we did prototypes, used to draw flowcharts and hold on a precedence diagrams that we made, but now at work when I receive an projekt I just begin to code :-D maybe this should change, how do you do it? If you plan your project, how do you do it?9 -
Am I in developer hell already? A shitty project is about to come to an end (hopefully), or should I rather say: It needs to come to an end. But I am still quite lost in how to deal with it, hence procrastinating on it - making the deadline come closer and with it the realization that I'll probably have to rewrite almost everything. I'm not sure how, but I do know that the current code is a dumpster fire.
Basically what I need to do is dealing with the APIs of different payment providers/gateways (like PayPal, AmazonPay). For most cases I'll get a payment ID from the shop and need to act on it later, e.g. capture the authorized money in the case of a credit card transaction or do refunds (without user interaction, unless there is an error). Now at first I put something together where I try to abstract the payment information into two tables:
orders{1}<->{0..n}payments
payments{1}<->{1..n}paymentDetails
Unfortunately trying to abstract the different payment methods and to squeeze them (and their different possible stati and functions) in these tables was not very successful, it's a total mess with magic numbers, half-broken behavior and without any consideration for partial payments/captures or unfinished requests (i.e. if there is an exception before the response is dealt with, there is no indication that anything has ever been sent). Also the current amount is calculated through the history of the paymentDetails table, which basically works differently for each payment type.
How to fix this mess in a way that I'll still have a job by next week?
I'm trying to improve the db schema first, as I think my biggest problems are lying there. Through some research I've come across a recommendation for making payment type specific subtables (with a magic number/string in the main table to prevent having to look up all subtables). That way I can record what I send and receive without having to abstract it too much, so I'll have an acceptable transaction log. The paymentDetails table can be removed (necessary fields go to the payments table). The payments table gets multiple fields for the amount (differentiating between open, authorized, captured, processing and refunded values) and always reflects the current status.
Tables:
payments
paymentRequestsPaypal
paymentRequestsAmazonpay
paymentRequestsXyz
I think I'm going in the right direction here. hm. Maybe there's some light at the end of this long, dark tunnel. Or a train. I'll have two days to find out.question kill me already send help thank you for being my rubber duck payment gateways deadline approaching rant/question burnout6 -
Colleague says some of my code sucks, says he's gonna rewrite and improve it.
After he finish his work, I look in his new written code:
F*ckload of unused methods and classes,
some usings of deprecated API calls...
god. It's okay, if you want to help and improve code (my code wasn't the best, I admit)... but when you do, do it the fuck right. -
Do you think we can, one day, teach an AI it's own coding language and make it improve itself to a point where it can code better versions of itself in an infinite loop until the perfect AI emerges? 🤔3
-
- Dealing only with your own code
- Having enough time to improve and refactor your code whenever you want
- Bug reports are detailed af and not just like "doesn't work"
- Choosing the IDE (and OS maybe, too) by yourself
- Having enough time for bugfixes, implementations
- Software is ready, when you want it, not anyone else.
- Visiting trainings or seminars to improve your skills whenever you want
Yeah, that would be pretty awesome.3 -
Any SUPER AWESOME patient... JS PRO that wants to help me with a few problems it would be appreciated..
Okay so I'm having trouble with JavaScript and this can apply to other languages but for now focus on JS. so I'm learning how to manipulate the DOM and I don't really know how to start I picked out a tutorial but I'm afraid I wont learn a lot from it. here are my concerns and yes they don't all have to do with the DOM
> I don't know how to learn without mimicking what the person is doing and when I try something that's related I cant use the related information and techniques because I either don't remember, dont want to do the literal same thing for something slightly different or dont know how and somethings not working even though it should be.
> I do it one way and when people offer to help its just me getting responses of how it could be done completely different and I dont understand why either way should be used
> Why should I have to generate a webpage or div if I can just use HTML5
>whats the difference between JSON and Arrays???????????
>I am not good with arrays, lists, dictionaries, (I'm stretching to python with lists and dictionaries)
>I recently tried the basic quiz project and it was more complicated and fun than I was giving credit for but I want to do it a different way to show myself I learned but I cant because I dont understand how the person managed to loop through the entire array printing the individual questions and answers to the div. like I understand the parts that use the html tags in the code but I dont know how when or what to use it all
>any good javascript/dom resources?
At this point Im just stressing because all I want is a basic skillset with JS but I dont feel like Im learning anything and I dont know how to apply my knowledge or improve upon the programs ive been learning from or trying to make. and arrays have been tripping me up to especially since I have no clue what the difference is between them and JSON and why I should use one over the other and dont get me started how shit I am with manipulating them. FUCK IM STUPID10 -
I thought my code was bad and that was why it was taking twice as long as any other group to run
No it’s just Illinois the state my group was assigned has almost 2000 more data rows to scrape compared to any other group. My code wasn’t running slow. It just had longer to run
I’ve spent 4 days trying to fucking refactor and improve my code Ignoring clean code and attempting clever code to run faster and now I need to revert back to clean code since no one else in my group would be able to understand or work on the damn file if I left it at clever
Fucking hell 😫1 -
I recently joined DevRants, and with me joining any new site or media where you can share I am usually the guy who is shy and likes to sit back and watch/read. However I wanted to post a question as I am trying to get a job within the Cyber Security field. I have a computer science degree and honestly I feel like I can't even code at a level I should be able to. I am also currently working/studying for my CompTIA Security+. It has been going good but, I always second guess myself and doubt my abilities. I guess this a a slight rant and question so far.
My question is how can I better improve both my skills (coding, linux, and security) and also my mental. I would say its imposter syndrome but I don't have a job so I don't think it would be fair to say it is. I just want to break into the job field and show people that if given the help and resources I can excel at the task given. I do learn fast and pick things up pretty good. Any help/recommendations is much appreciated, and I look forward to more talks.3 -
not sure if actual bad habit, or just a natural consequence of what i'm writing often being de-facto "exploratory code" so the "bad habit" is actually the right choice, or...
but very often when i finish a functionality and look at the first version of the code, and realize how bad it is, and how it blocks me to implement following features... rather than just fix/improve that code, i just want to nuke all of it and write it from scratch again, and "better this time", because it seems like much less work and effort than trying to gradually fix it "in-place".
it definitely feels like a bad habit though, because it often results in me deleting and implementing to completion the same thing 4 times in a row. -
1. Sum up all the behaviours/functionalities the program should have
2. break each functionality down to the data/procedures that it uses(mindmaps can help)
3. get an understanding of a naive implementation and implement it (fast)
4. collect improvement opportunities (opitimization/simplification/expansion) and get a deeper understanding of the solution
5. spend a few days on some real life issues
6. improve the naive code, if appropiate, start all over -
when i look at the code structure of the project i work on with my friends, i always think about how to implement the SOLID principles of bob martin for clean code
... and then i think about the clusterfuck of almost unmaintainable code that has been created over time and all the unit testing that doesn't exist at all and how much time and effort it would need to correct that code and how i realize that i don't even understand the principles and how to implement them
... and then i give up and go on coding even more mess
... and then i repeat😅😖😩3 -
I guess it's my third or the fourth company that am currently changing.
I have the will to improve and write better code quality level up. But sometimes i guess i have the lack to find the how to do these stuff and how to practice and who is going to tell me that i have to change these lines of code so you can improve am just in a big mess and i feel so bad about it.
Now i had just received a new warning at my current company that i either improve or i get fired. So i have been searching over google and internet how to improve as well i had just created a new project for the will to practice and become better.
Can someone tell me what i should do?
How to fix everything and let my colleagues gain my trust in my code commits ?
Because literally i feel so bad about everything and you can't imagine how miserable i feel.3 -
Update to my last rant*:
I got to know what my colleague did as he "rewrote" my code:
He just searched some GitHub-Projects and used the good old copy+paste method.
Awesome bro, "rewriting" code until nobody's understanding it is the best method to improve code.
*https://devrant.io/rants/735762/...2 -
I am an average Dev who is striving to improve. I currently work in a setting where I have the most experience in a corporate setting. I came from a very disciplined team where I had a great mentor. Now I am in a looser team with very bright people who don't have that experience. They are mainly JavaScript devs without much production experience. We are working in .net but they don't like working with back end code or databases. This is a 3 month contract. I want to do a good job. I have made enemies in the past and I just want to leave on a good note.
-
February will be the first full year at this company as full time employee.
I've updated so many legacy projects, optimized a lot of workflows as well as built new tools to improve efficiency and remove unnecessarily duplicate projects (sometimes literally only 3 variables were different between multiple projects)
My one co-worker taught himself enough code to do the job but doesn't think like a programmer though he is asking me for help and advice to improve what he does since ive proven i know a little. my other direct co-worker I'm practically teaching a Programming 100 course to them
My direct manager at one point said he was so happy he took a chance on me even though I didn't interview well
I like my job, I find it so much better than my last job which was horribly toxic, and more fun than my first 'real' job as a night shift help desk for basically a warehouse environment.
But I feel under paid sometimes for how much i do and all ive improved in my first year, I have my first yearly review coming up. I'm hoping to get a decent raise for all ive done and I want to somehow go over everything with the HR person to justify it. But I have no idea how to talk about my dev work to them in a way a non technical person could understand. I'm also not sure how the review process will work. Like will my manager be there. Or is it just me and HR, is there a paper I'll be sent to fill before hand,1 -
I once had this discussion with my manager
Me: Hey i have an idea to improve our overall system but since it requires design changes which may break the system , can you provide me an experimental environment to implement and test it.
Manager: you should write code in a way you can flight it (disable/enable any changes)
I was totally out of words.... Who the hell flights a system design change?! -
That moment when you fcked up in a technical interview and realize oh I need to sharpen my skills, I need to improve my skills! I am not a worthy programmer now 💔
Then you go to work next day and have a busy day working as a project manager!
Now I know why my skills got rusty, and am not able to code as I used to be 😭😭😢2 -
Atm we're merging everything straight up to production because we only have our first client going live tomorrow. No problem except for the fact boss is using production to give demos to clients already. And so some JavaScript change that broke search made it to production and cropped up during a demo. So what does boss do? Call HR/support and yell at her that everything which works needs to keep working. Which is fair if we were live and we go back to merging to production being rare. So HR/support was in tears during our meeting where we were taking about the new live branch structure. GG boss. We consoled HR/support but really boss man knew how we work but ignored it.
Question for everyone though: what can we use or do to prevent changes to more general JavaScript breaking things around the code? We talked about unit tests and maybe code linters but is there more? Because it seems now might be the time to improve our working and even get budgets for tools.1 -
Well it's not exactly a startup idea but something that I and my team built during my first-ever hackathon.
The theme was to build some tools for developers to improve their speed and be more productive.
In our team we were some bunch of students who just knew how to build a basic front end and a little bit of backend and we came up with an application that lets developer query any command line shortcut through his voice and the website will return the keyboard shortcut for that. For example the developer can ask what is the shortcut for splitting the view into two halves in vs code and the website will look it up in database and give back the shortcut
Now when I look back it feels so funny. I still remember that the judges gave us a funny look but they appreciated our efforts as we were too young to be there.. lol
btw If anyone is curious about the project it is present here ..
https://github.com/LaurenAssistant/... -
So I'm in my last year of university. The GPA is high. Did one internship the summer after second year in one of the best companies in my country. Third year in my department we do a semester long internship for 5 months, I joined a company and worked on back-end using Go. This was the spring semester and I wanted to continue working in the summer. The internsip company didn't tell me anything so I looked for a job. Found one that paid great, I was getting the salary a new graduate was getting. I worked as a full-stack there. Mostly prototyping, the company was new and I was in the R&D side. After 2 months the company had some budgetary problems and we parted ways. I was in the market again for part-time job in my senior year and because of my prior experience with Go, a friend mentioned me to a company executive he met and I had an interview and got in as a full-stack part-time dev. This was for some background information.
My story is;
The work is actually great in terms of what I do. I'm learning a lot here. The problem is that I'm having imposter syndrome for the first time ever. The projects are demanding and because that I'm part-time they take time to finish. There are no due dates or anything but sometimes the CEO is coming to me and saying "Aren't you finished with it?" or "Are you going to finish it soon?". Because that I'm more qualified in Javascript and React when they gave me my current frontend project I told them that its better if they give javascript/frontend projects from now on so that I can do a better job finishing them. What the CEO told me after that was, "Then hopefully you'll finish them sooner.". The people are nice and stuff like this only happened 2-3 times and the lead that I'm working with acknowledges my pros and cons and we have a good relationship, when I do something wrong he tells me why and how I can improve my code. But I just can't get over the syndrome and for some time I actually thought they would fire me when they get a full time dev.
Everything is great for some time. It's my fourth month and I think I felt this way because this is the most demanding job I have with senior year and also I didn't know people that well because I was the new guy. Although I still have concerns, have you ever felt this way? If you share tips or any recommendations I would feel great.
Thank you for reading.2 -
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 -
Hey :) I've started studying and I have to submit programming work together with some other students (who don't know much about programming) One of them has produced 70 lines of code to sum the numbers from 1 to n... How do I tell them they suck? And how do I help them improve?2
-
While I read your posts I realize that I need to improve my workplace at home. About the question: For me the best place to code is my home because I live alone2
-
I have an upcoming team meeting whereby we are going to ask the team on how they think we (as in the department) are doing? This can cover anything really from the way deliver code, interact or even just the wider context such as the office space we occupy.
I don’t want the session to be a free for all moan, so what techniques have other developers employed to elicit feedback?
In the past I’ve done a big piece of paper with sections:
What we do well
What we can improve
What we are poor at
We then asked people to write post it’s and attach them to the paper. These were gathered into broad themes and we then voted on as to which people felt most strongly about.
Just looking for suggestion of how I could make the session more successful. Thanks.1 -
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 -
Together with colleagues from University of Zurich I am conducting a survey about skills for code review! With this survey, we aim to investigate skills that reviewers need to perform an efficient code review. Our main goal is to improve developers' code review practices. Therefore, we are looking for developers with experience as code reviewers. This questionnaire takes 15-20 minutes and consists of 21 questions.
https://uzh.ch/zi/cl/...
Thank you for your help!4 -
I keep myself motivated by reading about new technologies, language features and constantly trying to improve my code.
I see great reward in having fast and readable code. -
Oh... I dont know what to pick...
So i will pick 3 projects from my 3 stages of my dev "carrier"
1.Right after i discovered programing and learned how ,if, while and similar structures worked. The launguage was object pascal with delphi 2007
That was a "safe" with a stupidly complicated lock (text inputs, sliders, ect) it opened a secret folder in the end.
2. It was a embedded code for a Atmega8 AVR, Atmel studio, pure C but without memory managment (i didnt even know that it even existed)
It was a Pip boy knockoff, 16x2 display and a small keyboard connected to the arduino like board that i made on a proto board.
It wasnt that much of a pipboy, it was more of a showoff of atmega8 internal systems, (ADC, timers, interrupts and such)
3.DataLab, after helping my friend with his master thesis, (we meet on discord long story, i was in high school) i decided that mathlab is shit and i created a visual scripting enviroment, launguage C# .net 4 (in the latest version)
I remade the whole program from scrach 1 time, significantly improving everything (code reuse, better algorithms, data processing, code redability and edge cases) I have learned good practises from everywhere. I learned how to use git.
DataLab project looks just like LabViev (i didnt notice that it even existed...), it is frozen now because of my mental status but im planning on using it on my CV when i will be looking for jobs on holidays. There are many things that i can improve in that program but ... first i have to fix myself. -
Working as a Dev for a while now, I tell new people not to bother with it. There is never any job satisfaction as people in charge never understand the basics.
Instead of learning to write efficient code, figure out how to solve real business problems, work towards a maintainable flexible product to quickly deliver value on changing requirements, write automated tests to improve quality, maintainability and prevent live issues - basically do anything a good Dev strives for - you will just constantly end up working for people with no interest beyond the next couple days, on a shit code base that no one can understand, with people that don't want to learn anything about software design and just check boxes off.
Apart from pay this must be the worst career possible in a technical field.4 -
So StackOverflow has a new code of conduct. Let's see if it's going to actually improve interactions there. https://stackoverflow.com/conduct2
-
Alright so this is just me throwing my thoughts down from today cause I need some outlet.
Gonna start programming a lot more than I do now cause I want to improve and I enjoy it.
I started my JavaScript course and that's going well so far. I need to figure out a way to make the info stick. I'm gonna def use the projects from each day as resources though.
I need to practice python (which I'm good with) occasionally so I dont lose my magic touch. I was thinking of doing a project on a raspberry pi that uses a camera for object/facial recognition and picking projects like that and occasional small ones I do in js.
Although theres still a lot I have to learn on the DOM side of js. I dont want to be a front end dev cause I dont have that artistic eye so I'm mostly gonna use it for node and small front end stuff
But mostly I need to be able to grasp more from tutorials, examples, courses, etc. And understand how and when and why I should use whatever it is.
Also I wanna use someones code to learn but it's never documented well enough for me to know what's happening I'm mostly referring to when theres a library or api I'm unfamiliar with.
Also JS is getting a little boring so hopefully python will help dull that feel6 -
If a project's structure is shit, well of course, let's continue using it because "it is known". Doing it any other way "will add complexity".
That I wasted three days making my working code adhere to the clusterfuck of a structure, nevermind that. Let's continue. And yes, colleagues do agree that the structure is shit, though let's improve it ... later.
Or in other words: Suck it up, we always have done it this way. Fuck you and your ill-advised attempts of trying to improve it. -
As this weeks rant is about how to improve CS education I want to share one new university in Berlin called CODE that does many things quite differently:
From the beginning students are working together in small interdisciplinary teams on projects. Meaning software developers, interaction designers and product managers are all already working together. The projects are developed in collaboration with companies and usually last a couple of weeks to multiple months. The students are supposed to learn more if they are faced with an actually problem instead of learning with frontal teaching (“Frontalunterricht”) in a lecture hall.
The founder himself started programming in his teens but studied business administration because he found that the CS courses had an outdated didactic.
PS: And if you are in Germany and between 15 and 21 years old have a look at the “Code+Design Camps”. They are basically longer Hackathons (4 days) with professional mentoring from programmers, designers, … from the industry. I attended four in total (all over Germany) and they were a lot of fun!!!
What do you all think about this?
Website: https://code.berlin/en/
English Article: https://global.handelsblatt.com/com...
Some Articles in German:
http://faz.net/aktuell/finanzen/...
http://sueddeutsche.de/wirtschaft/...2 -
Critical Tips to Learn Programming Faster Sample:
Be comfortable with basics
The mistake which many aspiring students make is to start in a rush and skip the basics of programming and its fundamentals. They tend to start from the comparatively advanced topics.
This tends to work in many sectors and fields of Technology, but in the world of programming, having a deep knowledge of the basic principles of coding and programming is a must. If you are taking a class through a tutor and you feel that they are going too fast for your understanding, you need to be firm and clear and tell them to go slowly, so that you can also be on the same page like everyone else
Most often than not, many people tend to struggle when they reach a higher level with a feeling of getting lost, then they feel the need to fall back and go through basics, which is time-consuming. Learning basics well is the key to be fast and accurate in programming.
Practice to code by hand.
This may sound strange to some of you. Why write a code by hand when the actual work is supposed to be done on a computer? There are some reasons for this.
One reason being, when you were to be called for an interview for a programming job, the technical evaluation will include a hand-coding round to assess your programming skills. It makes sense as experts have researched and found that coding by hand is the best way to learn how to program.
Be brave and fiddle with codes
Most of us try to stick to the line of instructions given to us by our seniors, but it is extremely important to think out of the box and fiddle around with codes. That way, you will learn how the results get altered with the changes in the code.
Don't be over-ambitious and change the whole code. It takes experience to reach that level. This will give you enormous confidence in your skillset
Reach out for guidance
Seeking help from professionals is never looked down upon. Your fellow mates will likely not feel a hitch while sharing their knowledge with you. They also have been in your position at some point in their career and help will be forthcoming.
You may need professional help in understanding the program, bugs in the program and how to debug it. Sometimes other people can identify the bug instantly, which may have escaped your attention. Don't be shy and think that they'll make of you. It's always a team effort. Be comfortable around your colleagues.
Don’t Burn-out
You must have seen people burning the midnight oil and not coming to a conclusion, hence being reported by the testing team or the client.
These are common occurrences in the IT Industry. It is really important to conserve energy and take regular breaks while learning or working. It improves concentration and may help you see solutions faster. It's a proven fact that taking a break while working helps with better results and productivity. To be a better programmer, you need to be well rested and have an active mind.
Go Online
It's a common misconception that learning how to program will take a lot of money, which is not true. There are plenty of online college courses designed for beginner students and programmers. Many free courses are also available online to help you become a better programmer. Websites like Udemy and programming hub is beneficial if you want to improve your skills.
There are free courses available for everything from [HTML](https://bitdegree.org/learn/...) to CSS. You can use these free courses to get a piece of good basic knowledge. After cementing your skills, you can go for complex paid courses.
Read Relevant Material
One should never stop acquiring knowledge. This could be an extension of the last point, but it is in a different context. The idea is to boost your knowledge about the domain you're working on.
In real-life situations, the client for which you're writing a program for possesses complete knowledge of their business, how it works, but they don't know how to write a code for some specific program and vice versa.
So, it is crucial to keep yourself updated about the recent trends and advancements. It is beneficial to know about the business for which you're working. Read relevant material online, read books and articles to keep yourself up-to-date.
Never stop practicing
The saying “practice makes perfect” holds no matter what profession you are in. One should never stop practicing, it's a path to success. In programming, it gets even more critical to practice, since your exposure to programming starts with books and courses you take. Real work is done hands-on, you must spend time writing codes by hand and practicing them on your system to get familiar with the interface and workflow.
Search for mock projects online or make your model projects to practice coding and attentively commit to it. Things will start to come in the structure after some time.4 -
I cant believe the project I'm working on does not use kubernetes or terraform. Not even docker. How is this multi trillion dollar project even in business?
I feel so sad for not having the opportunity to work with one of the most fundamental and most important technologies to know as a devops engineer... So sad
I cant advance or improve. Im just stuck in their ecosystem like Apple
This corporation is probably ran by 90 year old grandpa men from world war 1. However considering they are so large and still in business this gives me hope that anyone can make it even if you're stupid
Think about it
They are proof that you can run a giant business with hundreds of employees, not use k8s and the most modern devops technologies, and still operate just fine.
The devops code i have to maintain is older than the amount of years i exist. Its very messy and most of this shit is not even devops related. Its more of some kind of linux administrative tasks mixed with 3 drops of actual devops (bash scripts, ansible scripts, ci/cd pipeline)
And yet im paid more than i have ever been paid in any job so far
What should i do. Stay due to "high" money or..ask for a project with k8s. I put "high" in quotes because it is extreme luxury in my shithole country, im now among top 1% earners of the country, and yet i make less than 30k a year. With less than 30k a year i cant buy a good car but i can live very comfortably in my country. I cant complain about this salary since i think its finally enough to invest to get a chance to earn more and still have enough left to live comfortably.
Before i was just working to survive. Now im working to live. Its an upgrade.
Due to not working with difficult stuff like k8s i cant demand for more money. It wouldnt feel justified. I'm stuck here
What would u do9 -
This is a question with a bit of backstory. Bear with me.
Firstly, i’m back (again😂) now pursuing my software engineer goal at a university.
I had a group project course this spring and me and my group produced a kinda half assed product that could help within sports teams, for a customer at the university (won’t go into details). After the course ended I couldn’t go home to northern Sweden and stayed in my student accomodation for the summer. So I took the chance and offered myself to continue work on the product this summer to make it more usable and functionable, and they hired me (first real devjob!🥰)! Now when I look into the parts of the code that I did not write (our team communcation were bad), I realize I don’t understand fully how it works and therefore feel it’s better for me (also to learn more) to rewrite some parts my old group produced, and to actually make it easier to improve. Now finally the question; how do you feel about taking on a product, scraping some parts to rewrite them, and (in your perspective), improve them?4 -
I am legit getting tired of trying to help people improve and hit huge roadblocks because nobody seem to care if what we do works for the intended purpose.
I have seen some terrible unstable code that fails 50% of the time on run time and never was reviewed or tested on core software, but since it was worth a lot of story points, people get congratulated for finishing it but nobody bothers checking if it really works in the first place. Story points are meaningless in this Agilefall Frankenstein shit process we use and bosses keep saying they will improve it but nothing gets done.
Worst thing is my work often depends on this shit.
I swear one of my good colleague and I are trying to introduce commit and PR gating, code review, code quality to avoid as much problems as possible while speeding up CI and documentation but 90% of devs do not give a single fuck about it. They just bypass it with admin rights because it supposedly slows them down.
When I bring up to management that the processes are terrible, I get the classic "we can't force people to use these processes because we have to respect their work ethics and it is different from yours." While I get that some things are subjective, in this case that's a lot of words to say they suck and give no fucks.
Sorry for the rant, it is starting affect my morale and efficiency at work, but I know every workplace got its problems.2 -
Is there anywhere that you can get your open source code brutally reviewed?
As the (almost) sole developer on a project (and only just entering the world of professional software development), I have no idea if the stuff I've written is good, bad, or just plain disgusting, and obviously the only way to improve is to be aware of the mistakes you made3 -
Small experimental demo using JS, CSS and a bit of PHP.
http://abitus.net/tests/...
The code, all mixed in a unique ~600 lines 'index.php' file, is ugly af. But I was mostly interested by the concept here, so it's really intended to be a dumb prototype.
However I think this works. The idea was to use a conceptual design solution in order to show links temporality when it is based on their popularity. More a link gets clicked, more bigger and slower it will be.
There's still a lot to improve. It could work with images or even more complex contents like articles. Just a matter of improving the UI.
Please feel free to play with it and give your opinion. What do you guys think of the concept ?1 -
So I'm relatively new to Python. I've started doing the practicepython.org challenges. What do you guys think to my code layout, is there any way I can improve.
https://github.com/Rotho98/...5 -
I was reading about Lumnify's project analysis (https://lumnify.com/project-analysi...) and now I'm curious about my own probably horrendous code quality and how to improve.
Time to learn about code quality and tools I can throw my work at and get analyses back to help me not suck1 -
Test your code. Take extra time to do self-review. It'll improve your code quality and position within your peers.
When you enter that "minor change-trial-error" phase. Go to sleep or take a long break. You're loosing time and adding more work to be reviewed and corrected later -
I wonder if there is any technical issues that prohibit the creation of open source websites.
By "web sites" I do not consider CMS like Drupal or word press, but rather entire end web site sources.
In fact anything (frontend, backend) except database content that contain user data and credentials.
Not for reusability purposes like CMSs, but simply for transparency and community development purposes, like almost any open source end application.
I agree that a web server is much more exposed than a classic desktop app, as it has lots of targetable private data and internet public access. But for some non-critical purpose this seems to be affordable in exchange of better code review, allowing a community to help improve a tool it uses, and better (not perfect though) transparency (which is an increasingly relevant question nowadays, mainly towards personal data usage).6 -
I don't get the point writing SHIT code for a project you're paid less than you expected! Shouldn't you use that oportunity and improve your knowledge, instead of complicating your and life of a person who will take care of that code later? The fuck! You work in a TEAM and not in a stupid shithole of your dumb ass!
-
Sometimes while working I find a subproblem that is isolated from the original problem domain, for example token renewal in an RTR authentication system. I take note of what I've been working on, clear my head of the broader problem write an exact specification of the subproblem. Then I code to that specification. The result is usually a self-contained open-source module which continues to improve my pace of work for years to come.
-
I'm a self taught web developer, I know I can develop great apps, but my code doesn't feel structured... It gets messier as I add more features, and this makes it harder to develop and keep track of everything.
How can I improve this, are there any processes to follow?5 -
I'm trying to improve my code and I found a place where you can find problems and you can upload the answer and it says if it works or if it doesn't.
The funny thing is that it asks for handling the exceptions but it says it's wrong if u handle them.10 -
is laravel app really enjoyable to write ?
i started as a laravel dev. the known story , all code in controllers etc. As i started to improve, fortunately i changed company, and worked with a symfony project. A symfony that looked like java. hundreds of classes, tests, yaml injections , objects for requests, for everything.
I thought that i missed the old laravel days, and i took an extra job on laravel again. I was soooo wrong.
It was not only that the code of the previous dev was inferior to what i am now used, it is that i have to be with an open documentation all the time. Even if the project is in the same version that i have used to earlier (an old one).
You have to check all the time the model settings, the migration, the magic tricks of model mass insert, the castings, the validation rules, why the tests are not finding some routes, why this, why that, how it is written this.
Excuse me, but i think the fun and easiness is far from what they say and what i thought it was. I start to change my mind and believe that inserting the request to a simple php object is more controllable than the gandalf tricks that laravel is doing, and you cannot know if it is worth your time to test it . And more importantly, you do not have to look at the cookbook, all the time@@@5 -
XXXX programming language does not scale. Nope, it is your code. Review your code and improve it! Don't add more hardware to improve performance, that solution just covers the problem. Review, review and review
-
I (frontend) was given 2 weeks to develop a new feature of the app. Almost after the end of 1 week, backend guy was finished with his code , with still bugs pending. Since backend wasn't ready for most part of the development process, I was working on my part, basically creating functionality and created views using the UI guys wireframes.
Now, we were on a time crunch , I didn't got enough time to improve the wireframes or to work with the UI guy . I released on staging environment and no one liked the UI.
App feature was supposed to be released on Tuesday. Shit hit the fan and i had to create a new ui, code the new parts of the app, do shit ton of other work and extending the deadline to today.
As of now backend code is still not fully functional,
app is ready but edge cases still not tested and I have to pull an all nighter to finish this fucking piece of shit.2 -
Advice to New Devs: Peer review code with co-workers and constantly learn and improve. Ask a lot of questions and during your down time learn something new. :)
-
So apparently my code went to prod more or less all right. Phew, the deadline was this week-end. This project have been sitting there for month, they gave me the technical requirement and never bothered to ask the stakeholders about it. When the contract went in, they started to freak out it wasn't usable.
The thing is, this project had way more moving part and trying to threat video in the frontend is not the easiest. But now is REFACTOR TIME.
I dream of getting rid of the browser video api (too flaky), download the bitmap directly and render it in requestAnimationFrame. I call it just-in-time rendering. I think i'd need to put a decoder in aws, I did it already with ffmpeg. I could not manage to put it in streaming mode though, so it was still a bit slow, but i could decode, write and re-encode faster than the video player speed.
What do you lads think? Doable or not? I at least need to general tidy up (this codebase have grown organically without any fucking direction from above, like this project took all my time on the technical side, I did not have time to run after people to get specs), centralizing state, improve monorepo and tooling, perfs,...
Hopefully they understood i cant keep adding whatever feature they want today. -
I was given a project to fix and improve a legacy unity VR project I was told was for the oculus rift Now the problems started almost immediately partly stemming from the fact I’ve never used unity before this project was handed to me as my long term TA assignment
And partly from the fact there was no oculus integration in the game at all. it was built for GoogleVr and most of the code the last person wrote consisted of massive sections (25-50 lines) of commented out code and no explanation of what the hell the non-commented parts are supposed to be doing
So long story short. I’m now in a basic unity course, six feet deep in documentation trying to read resources that go way over my head in understanding, and am rebuilding the project from basically scratch (took the assets and saved the c# scripts for reference) and have finally figured out how to at least get the player character constantly moving forward and stream in the WRLD3D environment like the last guy did. Now to get the player character to turn and change direction when the player turns their head with the oculus headset
By the way. WRLD3D is a really cool api thing in my opinion -
"Most successful private project" would be an extension of the webeditor Brackets named brackets-swatcher.
The silly thing about this is that it started out from my own frustration with variablenames in variablefiles in Foundation and Bootstrap.
After a collegue of mine also used it he had a shitton of ideas how to improve and what he wants so i developed it on many weekends with many many beers in my belly.
Where we come to the conclusion - its for sure the ugliest project ive ever written (=> beer and jquery) and i hope i never have to touch the code again - but on the other side i never had bug reports despite the fact that alot of big websites had it in their "Top 10 Brackets Extensions" and many downloads from the Brackets Marketplace.2 -
Whatever it costs to improve myself and my coding skills, to be honest.
So guys suggest your favorite way to improve and enhance your code quality.4 -
9 Ways to Improve Your Website in 2020
Online customers are very picky these days. Plenty of quality sites and services tend to spoil them. Without leaving their homes, they can carefully probe your company and only then decide whether to deal with you or not. The first thing customers will look at is your website, so everything should be ideal there.
Not everyone succeeds in doing things perfectly well from the first try. For websites, this fact is particularly true. Besides, it is never too late to improve something and make it even better.
In this article, you will find the best recommendations on how to get a great website and win the hearts of online visitors.
Take care of security
It is unacceptable if customers who are looking for information or a product on your site find themselves infected with malware. Take measures to protect your site and visitors from new viruses, data breaches, and spam.
Take care of the SSL certificate. It should be monitored and updated if necessary.
Be sure to install all security updates for your CMS. A lot of sites get hacked through vulnerable plugins. Try to reduce their number and update regularly too.
Ride it quick
Webpage loading speed is what the visitor will notice right from the start. The war for milliseconds just begins. Speeding up a site is not so difficult. The first thing you can do is apply the old proven image compression. If that is not enough, work on caching or simplify your JavaScript and CSS code. Using CDN is another good advice.
Choose a quality hosting provider
In many respects, both the security and the speed of the website depend on your hosting provider. Do not get lost selecting the hosting provider. Other users share their experience with different providers on numerous discussion boards.
Content is king
Content is everything for the site. Content is blood, heart, brain, and soul of the website and it should be useful, interesting and concise. Selling texts are good, but do not chase only the number of clicks. An interesting article or useful instruction will increase customer loyalty, even if such content does not call to action.
Communication
Broadcasting should not be one-way. Make a convenient feedback form where your visitors do not have to fill out a million fields before sending a message. Do not forget about the phone, and what is even better, add online chat with a chatbot and\or live support reps.
Refrain from unpleasant surprises
Please mind, self-starting videos, especially with sound may irritate a lot of visitors and increase the bounce rate. The same is true about popups and sliders.
Next, do not be afraid of white space. Often site owners are literally obsessed with the desire to fill all the free space on the page with menus, banners and other stuff. Experiments with colors and fonts are rarely justified. Successful designs are usually brilliantly simple: white background + black text.
Mobile first
With such a dynamic pace of life, it is important to always keep up with trends, and the future belongs to mobile devices. We have already passed that line and mobile devices generate more traffic than desktop computers. This tendency will only increase, so adapt the layout and mind the mobile first and progressive advancement concepts.
Site navigation
Your visitors should be your priority. Use human-oriented terms and concepts to build navigation instead of search engine oriented phrases.
Do not let your visitors get stuck on your site. Always provide access to other pages, but be sure to mention which particular page will be opened so that the visitor understands exactly where and why he goes.
Technical audit
The site can be compared to a house - you always need to monitor the performance of all systems, and there is always a need to fix or improve something. Therefore, a technical audit of any project should be carried out regularly. It is always better if you are the first to notice the problem, and not your visitors or search engines.
As part of the audit, an analysis is carried out on such items as:
● Checking robots.txt / sitemap.xml files
● Checking duplicates and technical pages
● Checking the use of canonical URLs
● Monitoring 404 error page and redirects
There are many tools that help you monitor your website performance and run regular audits.
Conclusion
I hope these tips will help your site become even better. If you have questions or want to share useful lifehacks, feel free to comment below.
Resources:
https://networkworld.com/article/...
https://webopedia.com/TERM/C/...
https://searchenginewatch.com/2019/...
https://macsecurity.net/view/... -
To the new devs out there: code everyday. Practice each day and your skills will improve dramatically.
-
I need recommendation for site/community to improve my (clean) code style?
And, in more general, what are your ways to improve code style and programming way of thinking - more oriented towards bigger picture of application/systems (patterns, architecture, etc.)?3 -
I know that when your code is in PR Process its a good oportunity to improve but I dont want my TL think I am useless... It was a good way to verify how he likes to work and that he is a functional approach fun but I would like to give him the image of being accountable... This is my 2nd week...
I would like to know if there is a place where you can grab imperative java code so as to practice... I wont run like crazy to transform all to functional but would like to be awared..
We are using Java Vavr library which is amazing... -
We use Sequelize. This is how we do database structure changes:
- I create/change a model in Sequelize, and let it change my local database, then I do work on that
- I push the new code to a remote branch
- my boss/CTO/lead dev then manually creates/changes the relevant table(s) in our staging database
- I finally merge the branch I originally developed into the remote branch
- boss checks that everything is working
- at last, boss does the same process of modifying/creating tables in production database
- finally, staging code is merged into main
So right now:
- I'm changing a feature, forgot I was editing in the main branch
- go ahead and create a remote branch for it, pull locally, checkout local version of newly created branch
- try to run code
- oops, there's a missing column in one of my local database tables
- ask for boss for SQL script that will create the missing column and potentially add more data or whatever
- waiting for boss to respond
H-how can we improve this process? Boss has talked about us moving to use migrations but we never ended up doing it. I don't know much about migrations either. This is gonna suck so hard.3 -
Be open to other people's code and read a lot of it. Also just trying out new things. Code to learn and improve don't learn to improve code.
-
Learn git. Contribute to open source projects - you may learn more from code review on a single PR than from a whole tutorial. Ask questions constantly. Learn more git. Look for the cleanest solution to a problem. Write code that is easy to improve, easy to expand, and easy to debug. Learn even more git. Don't limit yourself to thinking only in terms of OOP, or functional, or procedural, or whatever type of programming you may be comfortable with. Don't be afraid to do some work by hand. Learn git, so that when all comes crashing down and your team crumbles to pieces, when your relationships fail and your friends disappear, when you're down on your luck and there truly is no hope left in life, you can check out of the dangerous world of your current HEAD and return to the home and comfort of your master branch, which you've kept safe, secure, and functional.