> When was the last time you had to debug an ancient codebase without documentation or help from a team? All the time. 300-400k SLOC in C++. Legacy in the sense that there were no tests of any kind. Little-to-no documentation. Solo developer at the tiny company. Fix bugs and add features while keeping the system available to the tens of thousands of users. A more recent example: here’s a patch for a critical feature…
Please stop the coding challenges
441–450 of 493 posts
Re: Please stop the coding challenges
#442Earlier quoted context omitted.
> Solo developer at the tiny company. > Fix bugs and add features while keeping the system available to the tens of thousands of users. Don't tens of thousands of users warrant more developers? Or having enough of a budget to work on tests, or other things to improve the developer experience and be able to work without lots of stress? That's unfortunate.
I think I managed about 10k users with my mac shareware games in 2009/10, and that didn't get me ramen profitability let alone modern pay scales. So not necessarily any budget for more than they did.
Re: Please stop the coding challenges
#443Earlier quoted context omitted.
I'm a senior developer and my github is half guitar tabs. I'm not interested in peacocking. Maybe it's because Hackaday refused to put my name on the article with my senior design project years ago and I just don't want to play the game.
That's a great signal (that you have a hobby playing guitar). If the other half is also interesting, it sounds like a great portfolio.
I just take tabs and rearrange them for personal use. Learn from my mistake and just post whatever to your github, if you fret over its usefulness or purpose you might just never grow your portfolio at all. This was a mistake. You don't have to have some gnu front-page exploratory project.
If you want to shred guitar look up Troy Grady to grok efficient mechanics that won't break your wrist (we type alot for work as well)
Re: Please stop the coding challenges
#444Earlier quoted context omitted.
This goes beyond software interviews and is just how the world works. "I want to work for your company" "Ok, prove yourself" "Sorry, I don't have time" How do you expect that conversation to go from there? If you don't have time then make time. It isn't anyone's problem but your own.
That's not it though. Pretend I was hiring a restaurant chef and the industry standard test was "run a mile in 4 minutes", a test that 98% of all candidates fail! So professional chefs practice by jogging daily so they could prove themselves during the famous "run a 4 minute mile" weeding test so they can be hired to prepare meals for people. That's what we're talking about here. I've had to write out the mathematica…
"But this isn't relevant to my job, a subordinate will always do this kind of stuff."
"We are a fine dining dinner restaurant, I'll never need to make an omelette."
Doesn't matter, make a damn omelette. If you can't, you aren't suited to be a head chef, or any other kind of chef.
Knowing basic data structures and algorithms and having problem solving skills is absolutely critical to a software engineering job. In fact it is the entire job.
Re: Please stop the coding challenges
#445> When was the last time you had to debug an ancient codebase without documentation or help from a team? All the time. 300-400k SLOC in C++. Legacy in the sense that there were no tests of any kind. Little-to-no documentation. Solo developer at the tiny company. Fix bugs and add features while keeping the system available to the tens of thousands of users. A more recent example: here’s a patch for a critical feature…
Real. Engineers who don't think they have this problem, are engineers who see their dependencies and the lower layers of their stack as ossified black boxes they "can't" touch, rather than something they can reach into and fix (or even add features to!) when necessary. IMHO the willingness to "dig your way down" to solve a problem at the correct layer (rather than working around a bug or missing feature in a lower la…
Re: Please stop the coding challenges
#446Earlier quoted context omitted.
Don't understand one thing: I can read any code of any legacy code base, sure. What I cannot do is to asses if the code is supposed to do its job (e.g., the business logic behind it). Is the code I'm reading supposed to calculate the pro-rated salary according to the "law"? Just by reading the code, you cannot know that. You need help, either from other developers who perhaps know the codebase of from product experts…
> What I cannot do is to asses if the code is supposed to do its job You can, to a degree. If you can get the system under test you can make an assertion about how you think it works and see if it holds. If you know what the "law" is you can test whether the system calculates it according to that specification. You will learn something from making those kinds of assertions. Working Effectively with Legacy Code by Mic…
Sure if there is a law written down or past written regulations your business follows, that's easy. You've got docs.
Re: Please stop the coding challenges
#447Earlier quoted context omitted.
Yeah from the title I thought this was going to be about leetcode problems, but this is truly something that comes up regularly. Where are these dev jobs where _don't_ have to figure out some mysterious issue in a barely maintained GitHub repo semi-regularly?
> Where are these dev jobs where _don't_ have to figure out some mysterious issue in a barely maintained GitHub repo semi-regularly? Oh, my job is one of those. Our code is in Perforce.
Re: Please stop the coding challenges
#448> When was the last time you had to debug an ancient codebase without documentation or help from a team? All the time. 300-400k SLOC in C++. Legacy in the sense that there were no tests of any kind. Little-to-no documentation. Solo developer at the tiny company. Fix bugs and add features while keeping the system available to the tens of thousands of users. A more recent example: here’s a patch for a critical feature…
When was the last time you needed to do it in 4 hours? :)
Re: Please stop the coding challenges
#449Earlier quoted context omitted.
How are you defining bad code? Imo unreadable and undecipherabe code is one subset of bad code.
I would argue, that in that vast majority of cases, the readability of code is the single most important metric.
Re: Please stop the coding challenges
#450Earlier quoted context omitted.
That's not it though. Pretend I was hiring a restaurant chef and the industry standard test was "run a mile in 4 minutes", a test that 98% of all candidates fail! So professional chefs practice by jogging daily so they could prove themselves during the famous "run a 4 minute mile" weeding test so they can be hired to prepare meals for people. That's what we're talking about here. I've had to write out the mathematica…
Hiring professional chefs is actually a great parallel. "Chop an onion" or "make a french omelette" are basic tests that even the most experienced chefs being hired for top positions will have to go through. "But this isn't relevant to my job, a subordinate will always do this kind of stuff." "We are a fine dining dinner restaurant, I'll never need to make an omelette." Doesn't matter, make a damn omelette. If you ca…