12 ms·
I work with a F500 oil company from time to time. Half of the devs from there that I was in contact with were not capable of: - googling a solution to a probl
by BiteCode_dev 7y ago
I work with a F500 oil company from time to time.
Half of the devs from there that I was in contact with were not capable of:
- googling a solution to a problem efficiently. When they hit a wall, they turned to me with an empty look like they were lost.
- read an error message to troubleshoot. A stack trace is utter mystery.
- use effectively the UI of their laptop. Some can't even Ctrl + S to save, they look up the "save" entry in the menu.
We are talking about people writing code every day, in several programming languages: fortran, c, c++, java, Python...
Because I'm a freelancer, I don't care. I'm paid extremely well to be very nice to them and solve all their problems.
But I'm very glad I don't have to be held responsible for anything those people end up putting in production. And I have no reason to believe it's different in their security department.
However, and this is a good lesson to all of the geeks like me that think work is about doing the right thing: the output they produce is good enough in our society. Its cost/value hits the sweat spot. Business is not about doing things right, it's about being profitable.
If you have one scandal a year, but it costs you less than making sure you have a secure system, and you are not legally challenged, then you are golden.
In fact, the chances to have even one scandal are very low. Actual risks of failure or attack are low. And consequences in case of crisis are low too. People don't care that much about privacy, cyber-security, etc. And policy makers won't enforce their laws anyway, at least not to any extent that will endanger the company.
So if the software allows people to do their job IRL at a reasonable price, under an acceptable deadline, good enough.
In fact, David Goodenough is a very funny French meme: https://www.youtube.com/watch?v=ho4W5LnFl6s https://www.youtube.com/watch?v=ho4W5LnFl6s
- cpach 7y ago“the work they produce is good enough in our society” Gah. I wish I could rebut this but I’m not sure I can. How does one find work for a tech/IT company that actually embrace quality?
- namibj 7y agoI'm curious, too. It's sad to be the only one even using proper commit messages.
- cpach 7y agoI hear ya :-/
- marmaduke 7y agoGood degree from good university?
- cpach 7y agoDoes that really help in that regard?
- ta999999171 7y agoOpposite.
- marmaduke 7y agoI didn't mean it seriously.. I have neither but embrace best practices at work.
- mrguyorama 7y agoThis isn't an IT thing. The vast majority of people are average. Anyone who thinks they do better than the rest is likely wrong. It requires insane levels of bureaucratic power and will to truly force anything better than average. Every single business is full of people who are adequate. From the line staff all the way up to managers. Cynical people call it the peter principle, but it might just be that an average manager is only averagely good at judging who is good at their job and therefore average people are just as likely to get promoted.
- whatsmyusername 7y ago> This isn't an IT thing. The vast majority of people are average. Anyone who thinks they do better than the rest is likely wrong. It requires insane levels of bureaucratic power and will to truly force anything better than average. Or work in a smaller company.
- mrguyorama 7y agoWhy do you think smaller companies aren't also full of average people?
- octodog 7y agoThe point is that smaller companies are less full of _people_. Less bureaucracy, less institutional inertia and more relative influence of each individual.
- whatsmyusername 7y agoYeah, if someone’s not getting with the program it’s easier to walk across the building and talk to them than email across 3+ time zones and potentially a language barrier.
- vb6sp6 7y agoit doesn't exist I suppose you could start your own company but then you will ultimately have to choose to ship and eat or perfect and starve
- Spooky23 7y agoIt's not an IT thing. Google was a superpower in 2001. I started working in Enterprise IT then and people thought that I had miraculous powers. Today, it's a crutch and almost anywhere you look, people are searching for random stuff to throw on the wall to see what sticks.
- g_langenderfer 7y agoseems like a decent approach. Care expounding?
- olivierduval 7y agoIt's action over reflexion, showing "fast results" over "good results"
- kbenson 7y agoYou can blame most of it on SEO. Minimally, it's about making sure what you've created is accurately represented. Maximally, it's about tricking people into thinking you're what they want when you aren't. The way that happens is through worse search results.
- ta999999171 7y agoWhat work are you interested in? Will email you if we match up.
- olivierduval 7y agoIt's enough to be obedient, not too curious, not having too much self-esteem, and be able to cope with doing crap work (and knowing it) because... well, management doesn't understand the interest of quality (sorry, too cynical... but I'm in the field for more than 20 years)
- ndesaulniers 7y agoReminds me of https://www.bitlog.com/2020/02/12/why-are-we-so-bad-at-software-engineering/ https://www.bitlog.com/2020/02/12/why-are-we-so-bad-at-softw...
- duderific 7y agoThat's a great article, thanks for sharing!
- Kalium 7y ago> - read an error message to trouble shot. A stack trace is utter mystery. The number of developers I've worked with who handle broken builds with "The build is broken! Why did you break it?" instead of "I shall now proceed to read the error message which will helpfully tell me precisely why the build is broken and how to fix it" has always astounded me. I've yet to find a way to handle error messages that will actually convince devs to read them. All I've found to date is apologizing for an unclear error message and offering to help with anything they had trouble understanding.
- Enginerrrd 7y agoAs someone outside the software development industry, but with experience programming for various reasons... I'm dumbfounded by this. Is this the result of hiring code bootcamp graduates instead of those with bonafied CS degrees or what?
- potta_coffee 7y agoI don't know, I'm self-taught and I know how to read stack traces and use a debugger.
- strbean 7y agoI would guess autodidactic learners are more likely to pick this up than those who mainly learn through formal education. I don't think stack traces or debuggers were ever really covered in my CS program. Then again, neither was version control...
- tejtm 7y agoThen again neither were the languages you were expected to do your homework in. I think there was one "Pascal language" class no one in the Major took. The faculty cared about the Computer Science (Math) underpinnings; the language dejour was just a speed bump to help separate the wheat from the chaff.
- PopeDotNinja 7y agoI used to work with a brilliant chip designer who couldn't find the start button on a Windows machine. We all suck at something. Personally, I think CSS is the devil and should we should nuke it from orbit.
- BiteCode_dev 7y agoTrue. And I'm sure most devs that I mention in my comment actually get the job done. In their own way. I have paired up with some terrible programmers, with bad coding habits, weak knowledge of their ecosystem and no capacity for any kind of architecture design, but that eventually did better than me because they worked way more, and were more persistent. This idea that bad code will waste productivity is not that important if one person accepts to work 30 hours more than you every week, including to fix the mistakes they introduced by writing said code in the first place.
- rubber_duck 7y agoThe level of complexity involved in developing even a basic CRUD solution these days requires knowing a tech stack going from DAL over networking, protocols to Front-end. Just getting all that shit to work and being able to reason through to get something working requires years of experience. If you can produce something working that satisfies the requirements you can't be terrible in my book, no matter what I think of your style
- stef25 7y agoSomething that works & satisfies requirements may still be terrible to maintain, expand or debug. That's the real difference between a well / badly developed app. Agreed on the levels of complexity in basic apps nowadays.
- Vesuvium 7y agoLet's start a css-less tech trend, shall we? :)
- 7y ago
- api 7y agoNetworking is always a center of awesomeness in those companies. I've seen things like six (at least) layers of NAT for "extra security" or super fast fiber optics that are unused because someone left everything hanging off a backup cable line months ago and forgot. In the latter case it was discovered after they spent weeks tweaking QoS settings to make it go faster to no avail.
- BiteCode_dev 7y agoNot to mention the proxy settings nobody knows how to setup for their particular IDE/cmdlinetool/browser and that blocks the one thing you need to access.
- hnick 7y agoTwo stories stand out to me, from people who were in the upper ranges of competence where I worked at the time. 1) She didn't know what MD5 was. Had never heard of it. 2) He attended a meeting, seemed to keep up then emailed notes talking about 'Jason encoding'. I thought these are pretty general concepts to anyone even in passing, you should probably know they exist at least? But maybe I'm in a bubble.
- com2kid 7y agoI'd guess a huge % of engineers don't know what MD5 is. It doesn't exactly come up that often outside of being "some random string that is on download pages now and then." Heck I know what it is and I've only used it a few times outside of copy/pasting stuff w/o needing to think about the underlying details too much.
- BiteCode_dev 7y agoIt's one of the reason I favor framework over libs or micro-framework, espacially from beginner. E.G: I tell beginners to use django, not flask. Because people usually don't have the skill or knowledge to take proper design decisions. They need something to guide them, otherwise the project architecture will be terribly wrong. Last year I worked on a flask site were the devs stored the password hashed as unsalted md5. And another one with an API that returned sometimes JSON, sometime plain text. And this year one that, to be deployed, required you to run a build process on the prod server, and defined the upload folder and static media folder as the same. My take on this is: if you want to go the minimalist route, you need to be very good already.
- panarky 7y ago> Because I'm a freelancer, I don't care. I'm also a freelancer, and I've also said exactly this. I was happy to profit handsomely from the incompetence and apathy of my clients. But in recent years I realized I was wrong. It doesn't matter how well it pays, I feel like I'm wasting precious chunks of a very limited lifetime being a disciplined and methodical janitor for my clients. Now it's more important to learn, to stretch, or to contribute to a more worthy cause than just getting paid well to do shitwork. Time well spent is worth far more than anyone will pay for it. The unintended side effect of prioritizing learning over invoicing is that revenue now seems to take care of itself. It's all a bit Zen.
- stickfigure 7y agoAlternatively: It's time to up your bill rate.
- deleted 7y ago[deleted]
- BiteCode_dev 7y agoI did that recently and was astonished that it got accepted so easily. I merely got a "hum..." from some of my clients. I wish people would have told me that years ago.
- anonsivalley652 7y agoEvery year, up your rate little-by-little. One extreme example is there is this homeless guy who is a retired very good teacher who has a way of both teaching kids and correcting problematic behaviors. Unfortunately, he doesn't advertise and he doesn't up his rate ($20/hr IIRC). It's a shame.
- mlvljr 7y agoCould you tell more?
- 7y ago
- jussij 7y ago> Because I'm a freelancer, I don't care. I think it goes deeper than just not caring. I too have spent the last 25+ years working as a contract developer and in my earlier years I would say I did care. However, as time has passed I've come to realize caring can cause tension which then becomes problematic. In most case people (i.e. higher management, fellow developers etc) really don't like too being reminded that they are doing things wrong. My current approach is to raise an issue once, raise that same issue a second time but on the third attempt, bite my tongue and just leave it at that.
- kbenson 7y ago> My current approach is to raise an issue once, raise that same issue a second time but on the third attempt, bite my tongue and just leave it at that. The same thing goes for when you aren't a contract worker and management has slightly different (but not necessarily invalid) opinions on what the right thing is. Depending on your point of view, that and what you said are exactly the same thing with a different lens applied. That is, the "right thing" as viewed from the angle of engineering best practices may or may not be the same as the "right thing" for getting some product out the door, even if many of us wish it was.
- BiteCode_dev 7y agoI should have said "I don't mind". My English still needs work. I actually care. Especially about people and how they feel at work. In kinda why I do this job: it's so easy to make their day better.
- jussij 7y ago> My English still needs work. I had no trouble with your original post. However, in my reply I tried to convey the fact that over time my level of care had diminished. There was a time when I did care. However after decades working in this industry I can honestly say my level of caring has been beaten down to a minimum. My impression was your post was reflective of the start of that process.
- ErikAugust 7y agoYou do care, you solve their problems. You don’t just try to solve ALL the problems of the organization, which you were not hired to do. If you were actually tasked to do that, you would want much more compensation.
- BiteCode_dev 7y agoYes, bad choice of word, I should have said "don't mind".
- pjmlp 7y agoConsulting has been a golden lesson for me, because that is the usual scenario in any Fortune 500 whose main business isn't selling software. Whatever people talk around here, Reddit or random conference is unheard at these companies. Most devs just punch cards and are happy to know just enough to get going. Talking about best practices is a lost battle, unless there is someone from above pushing them.
- MaximumYComb 7y agoI disagree that you are golden if you only have one scandal every few years. You can have zero scandals and still be screwed. If a company has its valuable IP stolen and is then undercut by competitors that never had to spend on R&D it can be a significant loss of revenue. I also disagree that the risk of an attack is low. An F500 company is the sort of target that can end up in the sights of many different threat actors.
- BiteCode_dev 7y agoAnd yet IRL it doesn't happen. Halifax never paid the price for badly handling their data after all.
- blackandblue 7y ago> read an error message to troubleshoot okay going to play devil's advocate on this one and say that some error messages could be improved. that's all.
- BiteCode_dev 7y agoOf course, they are a UI too. It's not antagoniste to the OP.
- davidb_ 7y ago> Business is not about doing things right, it's about being profitable I find this line particularly insightful. It was the biggest lesson I learned in my transition from academia to industry. No one cared that my work was correct and on time, they cared that the vendor we used caused us to miss the deadline and because I was in charge of the overall system, it was still my fault. A tough lesson, but a good one.
- etherealG 7y agoNot sure if that was an intentional mistype of "sweat spot", but given your description of their competence level I read that as a word play on sweating due to the nervousness of their code being ready to blow up vs. "sweet spot" meaning the good balance between cost and value. Very clever :)
- tripzilch 7y ago> Business is not about doing things right, it's about being profitable. Because everybody seems to just read past this and think "oh yeah, yeah that is how things are", I'm gonna say it: That is terrible. I mean, it's your business whatever you decide to do, but I disapprove. What gave you the idea that it's ever okay to decisively not do the right thing? Especially when the reason is money. Sorry but if your reasoning is "I'm not doing the right thing but that's okay because it is profitable" then you are actively ruining the world. You get no respect from me for that.