Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "efficiency"
Manager: Hey Dev I need to do QA on this PR.
Dev: That PR is not finished yet
Manager: Well do QA now anyway, that way when it is finished it can be merged in right away since QA has already been done on it. It’s a project management technique called “fast-tracking” and it improves efficiency.
To the left, a conventional circuit board design done by a human. To the right, a design done by TopoR, a software that designs circuits automatically.
It looks absolutely alien, yet beautiful. It doesn't care about how it looks, it doesn't care about angles and alignment. It only cares about efficiency and designs every connection to be as short as possible. It can even account for electric interference.
Humans just cannot compete.26
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.12
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
Day x stand up meeting scheduled for late evening:
Manager: so, what's up?
me: fixed two bugs, analysis going on for another, having a couple of blockers, but nothing out of the ordinary.
Day x + 1 stand up scheduled for morning:
manager: what's up?
me: *repeats pretty much the same stuff, with some updates on the analysis
manager: but this is what you told me yesterday.
me: but there haven't been any working hours between our two conversations.
manager: your efficiency is questionable.
me: *thinking about my happy place with a clenched jaw2
Imagine you work in a mechanic’s shop. You just got trained today on a new part install, including all the task-specific tools it takes to install it.
Some are standard tools, like a screwdriver, that most people know how to use. Others are complicated, single-purpose tools that only work to install this one part.
It takes you a couple of hours compared to other techs who learned quicker than you and can do it in 20 minutes. You go to bed that night thinking “I’ve got this. I’ll remember how this works tomorrow and I’ll be twice as fast tomorrow as I was today.”
The next morning, you wake up retaining a working, useful memory of only about 5% on how to use the specialized tools and installation of the part.
You retrain that day as a review, but your install time still suffers in comparison. You again feel confident by the end of the day that you understand and go to bed thinking you’ll at least get within 10-20 minutes of the faster techs in your install.
The next morning, you wake up retaining a working, useful memory of only 10% on how to use the specialized tools.
Repeat until you reach 100% mastery and match the other techs in speed and efficiency.
Oops! Scratch that! We are no longer using those tools or that part. We’re switching to this other thing that somehow everyone already knows or understands quickly. Start over.
This has been my entire development career. I’m so tired.2
I maintain two websites for my employer. The head of my department and my manager decided it’s best for me to focus my time on website A and website B should be replatformed to an out of the box solution. For website B, we’d work with our IT team to find something suitable.
I did some research and came up with a list of possible solutions. IT looked into solutions that would work with the org’s best practices for tech. A few sales pitches and demos were arranged with the top choices.
Stakeholder for website B is really digging in her heels. SH keeps badgering our Product Manager and IT about why can’t we just build in-house. The out of box solutions don’t do everything she wants.
PM tells SH that no solution will be perfect. PM also reminds SH that comparable institutions just use Google sheets/forms and do everything by hand. So choose an out of the box platform or use Google forms.
Plus, the list of improvements the SH wanted for website B would take at least a year if I did them on my own and there’s no budget to out source the labor. That’s not counting bring the code up to best practices or improving database efficiency.
I’m glad I don’t have to work with Stakeholder anymore. SH and her department were just a pain. They want a lot of custom tech solutions but they freak out at the smallest talk about tech issues.
ive gotta say, i have a new found disdain for C. i guess most languages really.
if i wana do something dynamically, flexible, or just use simple syntax improvements without much hacky shit. it's just not possible.
wana use macro/defines? well those are gona shit all over everything and get janky and make the code half unreadable.
wana use pointers as functions? *gasp* that's not safe, you have to use old C, def not cpp.
youd like to easily specify + operator for 2 objects? wait theyre not exactly the same? uh uh.
basically anything considered 'unsafe' you can only do in C. anything new age easy (like 'new') you can only do in cpp or w/ classes.
just want assembly level freedom and efficiency, to mass oop ease .-. is that too much to ask?9
Agile ways of working has us do more customer collaboration, but I just despise talking to business owners who are so stuck in their ways of thinking and working. Their opinion is that they're reached such a high level of efficiency, that learning new things and changing their way of thinking now is useless. Especially if they come from an industrial background. Often it takes a lot in me to not just explode in their face when I hear them claim how they know what's best for the product, while we developers try to advocate that we need user feedback to know what the outcome of something is.
Fucking finally! Took the business years to understand that the time gated development framework known as SAFe is not the greatest when you want to respond to customer needs faster, and bring more efficiency into the entire value stream. Not really an 'agile' framework when you have to tell customers to wait at least three months for this product increment to be over so we can take your items under development because we're committed to completing these goals during this time and don't want to risk jeopardizing them. Fuck SAFe!2
I think the most people who are saying remote increased efficiency is hiding the fact their total job output has dropped. They can hide when they are not working and not everydev job is stimulating, so you can bullshit your way with increased efficiency. Some, like web dev, is brain damaging for example.
Tldr: for most of the people, job output drops because of lack of oversight. A few examples of better remote worker won’t change the fact.14