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 - "coding efficiency"
-
So... I just remembered a story that's perfect for devrant.
My brother got into engineering in university, and during the second semester they had their introductory class to programming. They had weekly homeworks that the lecturer would check and give grades accordingly.
The factors that could influence the grading were: execution (meaning that the code would excecute as intended), efficiency and readabilty. The weeks passed and everyone was doing well, getting fairly good grades. Everyone was happy.
Until one day a random guy we'll call bob got the worst grade possible. Bob wasn't a bad student. He had over-the-average grades in all the weekly homeworks and even impressed the professor in some. Naturally, he was baffled when he saw his grade on the google spreadsheet. He was pretty sure his code ran well. He always tested it on different machines and OSs. So, at the end of the class, he went straight to the helper of the class, in a pretty imperative manner, to demand to know how the fuck he got that grade. It's impossible he got excecution, efficiency and readabilty, wrong. All three wrong? Impossible. Even the stupidiest kid in the class had some points on readabilty.
"Oh, so you are Bob. Huh?" said the helper in a laid-back attitude. "Come with me. Prof. X is waiting for you in his office."
This got Bob even more confused. As they approached the office, the courage he had in a first moment banished and gave way for nervousness and fear.
The helper nocks the door. "Prof., Bobs here"
As soon as Bob sits in the chair in front of Prof. X's, he knew something bad was coming.
"In all these years of teaching..." said Prof. X hesitantly. "In all these years of teaching I have not come even close to see something similar to what you've done. You should be ashamed of yourself." Needless to say, Bob was panicked.
"In all these years I have not seen such blatant mockery!" added the professor. "HOW THE FUCK DID YOU EVEN DARE TO SEND A HOMEWORK WITH SUCH VARIABLE NAMING" That's when Bob realised the huge mistake he made. "NEVER IN ALL THESE YEARS I HAVE SEEN SOMEONE NAME HIS VARIABLES *opens the file on his desktop *: PENIS, SHIT, FUCKSHIT, GAYFUCKING<insert Prof. X's name>MAN, GOATSE, VAGINAVAR, CUMFUNCTION, [...]" The list of obcenities went on and on. In each word, the professor hit the table harder than the last time.
Turns out Bob felt so in comfort with the ease of the course he decided to spice things up by using "funny naming conventions" while coding, and then tidying everything up before uploading the homework. This week he forgot, and fucked it big time.
So remember folks, always check your code before committing/giving it in/production. And always adhere to naming conventions.9 -
I've caught the efficiency bug.
I recently started a minimum wage job to get my life back in order after a failed 2 year project (post mortem: next time bring more cash for a longer runway)
I've noticed this thing I do at every job, where I see inefficiency and I think "how can I use technology to automate myself out of this job?"
My first ever application was in C++ for college (a BASIC interpreter) and it's been so long I've since forgotten the language.
But after a while every language starts to look like every other language, and you start to wonder if maybe the reason you never seriously went anywhere as a programmer was because you never really were cut out for it.
Code monkey, sure. Programmer? Dunno, maybe I just suffer from imposter syndrome.
So a few years back I worked at a retail chain. Nothing as big as walmart, but they have well over 10k store locations. They had two IBM handscanners per store, old grungy ugly things, and one of these machines would inevitably be broken, lost or in need of upgrade/replacement about once a year, per location. District manager, who I hit it off with, and made a point of building report with, told me they were paying something like $1500 a piece.
After a programming dry spell, I picked up 'coding' with MIT app inventor. Built a 'mostly complete' inventory management app over the course of a month, and waited for the right time.
The day of a big store audit, (and the day before a multi-regional meeting), I made sure I was in-store at the same time as my district manager, so he could 'stumble upon' me working, scanning in and pricing items into the app.
Naturally he asked about it, and I had the numbers, the print outs, and the app itself to show him. He seemed impressed by what amounted to a code monkeys 'non-code' solution for a problem they had.
Long story short, he does what I expected, runs it by the other regionals and middle executives at the meeting, and six months later they had invested in a full blown in house app, cutting IBM out of the mix I presume.
From what I understand they now use the app throughout the entire store chain.
So if you work at IBM, sorry, that contract you lost for handscanners at 10k+ stores? Yeah that was my fault (and MIT app inventor).
They say software is 'eating the world' but it really goes to show, for a lot of 'almost coders' and 'code monkeys' half our problem is dealing with setup and platform boilerplate. I think in the future that a lot of jobs are either going to be created or destroyed thanks to better 'low code' solutions, and it seems to be a big potential future market.
In the mean while I've realized, while working on side projects, that maybe I can do this after all, and taken up Kotlin. I want to do a couple of apps for efficiency and store tracking at my current employer to see if I'm capable and not just an mit app-inventor codemonkey after all.
I'm hoping, by demonstrating what I can do, I can use that as a springboard into an internal programming position at my current gig (which seems to be a company thats moving towards a more tech oriented approach to efficiency and management). Also watching money walk out the door due to inefficiency kinda pisses me off, and the thought of fixing those issues sounds really interesting. At the end of the day I just like learning new technologies, and maybe this is all just an excuse to pick up something new after spending so long on less serious work.
I still have a ways to go, but the prospect of working on B2B, and being able to offer technological solutions to common and recurring business needs excites the hell out of me..as cringy and over-repeated as that may sound.5 -
Coding has changed the way I think. Everywhere I go, I think of algorithms and efficiency.
When I'm in elevator, I think about what algorithm is running in the background.
When I'm at red light, I think about the algorithm that traffic lights are running.
I notice bugs in websites and apps and try to figure out what the dev might have done.
I find problems in UI design and get annoyed.
I spend more time coding a solution to a problem rather than directly solving the problem. I get a kick out of it.
When I see something uses more resources than necessary, it seriously pisses me off.
Coding has taught me to think and has positively changed the way I live.2 -
Today I was having conversation with my friend about time consumed in fixing errors. Our non coder friend was silently listening to us.
After we finished our lunch he stood up and said,
"You guys don't know how to handle time with efficiency. Why don't you ignore all the errors, finish your coding and fix all the errors in the end. It will save a lot of time"5 -
Passionate programmer attends one of the toughest interviews ever and solves lot of algorithmic problems coding in different programming languages. Impresses the interview panel providing solutions with as much as efficiency as possible. Gets selected, completes induction and gets a nice Dev machine allocated.
Manager walks in and says we got to work with the production support team on fixing a UI bug.2 -
so I left uni after my PhD and joined a start up where the boss is a Cambridge grad who does coding and is like 50 years old (he never told us the true value), the CTO is very talented and another dev who quickly became my best friend and me doing data science. the 4 of us worked together like friends and the efficiency was fantastic, there's no bureaucracy bullshit or shit boss talks. We built the whole thing from scratch (okay I admit they did most of the building) and to this day, we work just has we have been.
-
At age 6 I was deemed as an idiot savant. Coding is boring for me now. Age 7-10: I worked for an underground agency that was focused on harvesting people's organ data from MRI machines to predict the economic future. 10-14: I experimented with smoking crack to increase finger efficiency. Since then I've quit, and I've been living in Miami trying to create a lofi industrial folk album using nothing but a TI-84, some wire, and an old fender amp.2
-
LoL.. I knew this one successful independent developer who told me:
"Why do all these companies use inefficient technologies - seriously? What I usually do is: I present myself to a company, I ask them what they would like to happen, what their problem domain is and then I present a solution. A lot of companies I've consulted for were jaw-dropped that an entire efficient and complex system was only a size of 52 KiloBytes because I just used simple languages to accomplish the task".
He has a point.. look at all these companies nowadays forcing you to Java, GlassFish, NodeJS and what not. Just the frameworks and libraries alone hog down 10 minutes of build time (sometimes 30!!), the worst companies using frameworks that require you to rebuild an entire project just to see a change in the UI.. they don't even add a watcher, and even then.. omg, not to mention averaging project file sizes of 100+ MB.
Sigh.. where is the development world going?9 -
Fucking corporate bullshit, I was coding (mostly creating bugs and pulling my hair off) all night on my free time (I'm on night shifts I keep the schedule when I have my days off) and at the moment I was making huge progress on my project, I gotta go to sleep to go back to work 4h later to follow a fucking 2h training on team efficiency and cohesion, in other words, how to waste 2h in a useless meeting and not getting it back + interrupting the only night I was in the zone, I'm so tired of this....2
-
!Rant
Do you guys know any website that challenges you into coding little programs (for me, php) to solve problems ?
I mean, it would be to train my skills with actual kind of real world problems, not just hello worlds or simple "how-to" codes.
I signed up to a contest recently and I felt really dumb not to be able to find solutions faster or with more efficiency (FYI : I was ranked 1049/2300 all languages included :( )11 -
Just imagination but, if infinite money and resource was present (and if this was hypothetically possible)...
A machine that is able to replicate ONLY one portion of the brain thinking activity and produce a version of a robot with that thinking capacity. This would be unique per person, and licensed in a way so that the owner of the robot is only able to use and control it. (I'm saying only one thinking capability should be allowed as a robot should never replace a person ideally.)
This would mean that the person is able to increase efficiency as the robot could be set to resume activities in the period that the person can't (i.e. sleeping).
One example of using this scenario could be that the person chooses to create a robot by replicating their coding thinking capabilities. This would mean the robot doesn't do much but has the same thinking ability to code as the owner. The robot could be used when the owner is sleeping or on holiday. As the thinking capacity is the same, the code logic would be the same as when the owner would have wrote it.
This would be a DREAM project to work on.
But alas... This isn't happening anytime soon in my lifetime (or ever realistically).1 -
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 -
Nothing shuts up a client quite as fast as completing and pushing (to QA, product isn't complete yet) a feature request within 30 min of getting the email for it.
-
When I started developing and was skeptical on my efficiency, one of the first things someone said to me was, "honestly, as long as it works, they'll be happy."
Aside from encouraging bad coding practices, would any of you give that same advice?2 -
I've heard all kinds of arguments for about how whiteboard coding interviews should be obsolete, and that they usually doesn't reflect how good you are as a developer. But I've been polishing my skills with data structures and algorithms for a few weeks (learning this stuff for the second time since years ago in college) and I get this feeling that I'm becoming a much better programmer by practicing these things. And having access to all these things in the "working memory" of my brain has made me now think of solutions I couldn't before. But then - it may be that right now I'm working on embedded systems so this efficiency matters much more, earlier while doing full stack web development I didn't care about these much except while playing with strings maybe. So it might be dependent on your niche. What do you guys think?3