Changing Careers Into Tech/Programing

He was clueless in the sense that he started from zero knowledge and was trying to figure things out by some light “hacking” and searching their tech blog.

I might have slightly exaggerated the 90% claim, but he did in fact cut a ton of junk from a request body and it still seemed to work.

Give this guy proper docs and he could probably start optimizing shit in a few days.

1 Like

He didn’t even know about prettier when reverse engineering some JS code… Literally learned about it by googling…

1 Like

edit Wow I butchered the shit out of my sentence…

I’ve known many devs who have never heard of prettier but are fully aware of eslint.

1 Like

Oh crap, I’m learning something… Using grep to filter methods in a huge JS file is kinda neet.

I just did that to find some log rotation settings that were hardcoded in a legacy app we have so i can make a cron job for logrotate instead.

2 Likes

I wrote a really long promise chain today. It was crazy go nuts.

1 Like

But that is probably the genius of it. In my experience, a love for IT tends to have nothing to do with ability. 2 of the best IT guys I know both hate IT but went into it for the money. It’s the ability to understand/map a system and to figure out minimalisation of the system that is gold. That goes for the things outside of IT - very often you will have a company with a good product/service but how the company is organised is terrible. I worked in database analysis for a major bank and their systems were SHOCKINGLY bad - no user level access control, no data validation.

I am sure Musk understands that the best way to run an organisation is to not have people doing things they don’t need to do. It’s often simple, should-be-obvious things that people completely miss.

“Keep it simple, stupid!”

3 Likes

Let me guess: they got hit with buffer overflows and wondered why?

BTW, here is some moronic networking humor; one admin talking to another:

“I would never TFTP her. There is no way her snatch is clean. Who knows how many others have been there.”

TFTP is UDP port 69- unsecure file transfer.

1 Like

No, not even that “deep”.

Like, they literally had ZERO data validation. The database was one of customer records, which they were in the process of amalgamating from 40+ separate DBs. The minimum required data (as per the job spec, none of it enforced by the software) was entity name, entity type, business address, contact address. You could literally hit “create new record” and immediately hit “save” without entering anything and the record would be saved. I mean actually no fucking data validation whatsoever. And this was a MAJOR bank here in the UK.

Because of this, when the new records from the old system would be migrated - unless the person was sharp enough to spot it (which pretty much none of them were due to a lack of training/motivation) - a new record would be created. So lets say it’s a UK Ltd company, registered in Scotland. That would mean the company number should be “SC”, followed by 6 numbers. People would enter “SC012894”, “12894”, “sc012894”, “012894”, “00012894” etc. When I first joined the department, I did a search on the DB and found 12 entities for the same company. You could, of course, also enter “SC012894” for 100,000 companies and the error would never be caught.

By the time I had pointed this out to them, they already had around 750,000 records in the DB. So if you want to apply validation at the database level such as “VARCHAR NOT NULL” or a composite index then the the shit hits the fan due to non-confirming data.

No user-level access control. I mean NONE. The department employed a lot of students on summer breaks from the local universities as temp staff. They had the same level of access as everyone else had. And they also didn’t give a fuck because the work was repetitive and extremely dull and they were going to be gone in a couple months anyway. People would delete records or merge records (which could not be undone as there was no “soft delete”) due to complacency or thinking they were cleaning things up by doing so. These would often be records that had months of work on them by relationship managers.

Then there was the ratings team who fed data about the bank’s customer into a model and the results of the model would decide whether or not to lend the customer often millions of £ (retail parks etc). I saw one of their requests for data from my team that made no sense (they were rating tenants in a retail park from a backlog of work from 6 months prior but the company who was the tenant had only been registered as an Ltd in the past week). I asked to look through their work and I calculated that about 30-40% of everything they were entering into the model was wrong (not the same entity at all, nothing to do with the customer).

When @The_Adversary posted above a while back with his initial research into what to learn and how to learn it, I replied saying that if would be a success if he was as diligent with learning as he was with his planning (or words to that effect). That is because we are systems engineers and that requires understanding of the moving parks and the schema. Being able to write “hello-world.js” doesn’t mean anything. As I said about Mr Musk above, it’s the ability to innately understand how the system functions that is important, such as the questions like “Why are we pulling 90% of this shit when it’s not needed, costs us money on infrastructure, complexifies the code and slows the performance of the site/app?” and “Why are we paying people to sit in safe spaces and drink soy caramel lattes and they haven’t even committed any code in 6 months?”.

You don’t start painting the walls then think about moving the furniture and covering the carpets - you move the furniture, cover the carpets then start painting. You don’t make yourself the richest man in the world without being organised and understanding the simplification is the key to keeping mega-systems manageable.

5 Likes

Banks are notorious for having really bad systems/code/whatever else i can’t think of the correct terms.

They want people to work in them with finance backgrounds and they quite often need to pass extensive background checks and you cant get a job in finance or banking unless you’re already there it’s a closed network… so you don’t get many talented tech people working in banking. You get lots of old people with backgrounds other than tech doing tech in banking.

That’s part of reason why Fintech companies that are tech first are able to disrupt so easily.

2 Likes

From what I could gather, the lead dev was given the job by someone he knew in the department because he had done a degree in IT years prior but had never actually worked in IT. He was a really nice guy but he had no idea what he was doing, neither did anyone else. I had to point out everything that was wrong with what they were doing, Literally about 80% of the department’s workload could be automated.

It was a very eye-opening experience.

2 Likes

I honestly lost track at how many times I said “Holy shit” while reading your post :astonished:

1 Like

This guy does an amazing job using visualizations to explain complex stuff.

2 Likes

That’s pretty awesome. Thanks for sharing.

I’m so bad at organizing data for non technical people. I’m a solid ui guy but a wretched ux guy.

Today I presented results from a bunch of testing of elastic performance with different index mappings and architectures.

Had to show it to 2 groups. One group of senior devs. One group of sort of buisness guys. First group loved it. Second group was confused and overwhelmed. Took an L on that one

I have this problem teaching BJJ too lol. I really bad at identifying like 3 points people will understand and giving them 30 points that only a few people will get.

Sorry that turned into a rant.

1 Like

Hmmm can you anonymize it and then share it here? I can probably tell you why it failed.

I know some people in this thread probably exclusively with developers, I’d say 90% of my interactions is with end users, management, execs and there might be a couple others who are like that as well.

1 Like

Actually I might be able to tomorrow if I scrub or obfuscate some of the data

In hindsight it was a mess. Tried to get too much data on the UI in both table and bar chart format.

Basically they’re comparing search performance of 3 different object structures, with various levels of nested objects. I had the UI graphs plotting the results from 3 different types of ec2 for each object structure, and at 3 different doc sizes to show the changes with scale.

I think it was just too much. Good for a dev doing testing but not execs/buisness people

Hard to understand exactly what you mean without more context but yeah bar charts are one of the easiest to understand charts when they’re very simple but the second you start doing groups/clusters, stacks, combine bar/line (especially with an additional axis)… They can become a little hard to understand.

1 Like

Tables are great when sharing data where the precise values are important but it obviously lacks scale.

1 Like

@CrabScissors, one of the things you might find useful is to do a quick demo with one or two people from your intended audience, to get a heads up on what they have difficulty with.

2 Likes

Yeah I agree and good thing to keep in mind moving forward.

1 Like