Results 1 to 30 of 42
-
2022-06-10, 01:57 AM (ISO 8601)
- Join Date
- Mar 2005
- Location
- 61.2° N, 149.9° W
- Gender
Programming question: are you glad it didn't work on the first try?
When programming anything non-trivial I get this weird feeling of relief when, after banging out a bunch of code involving batch xml parsing or a convoluted series of IFFs for example, it throws an error or fails a test. When something like that seems to work on the first try I become deeply suspicious and go back looking & testing for the error I just know has to be lurking in there somewhere.
Anyone else get that sort of thing?
-
2022-06-10, 03:24 AM (ISO 8601)
- Join Date
- Jan 2018
- Location
- Tuscany, Italy
- Gender
-
2022-06-10, 03:59 AM (ISO 8601)
- Join Date
- Nov 2019
Re: Programming question: are you glad it didn't work on the first try?
While I don't program a ton (I do some occasional html for work, but that's mostly copy, paste and slightly modify) I think I have that attitude towards things in general. Too good to be true usually isn't true.
-
2022-06-10, 04:58 AM (ISO 8601)
- Join Date
- Nov 2013
Re: Programming question: are you glad it didn't work on the first try?
I think that is normal psychology, a few fixes raise the confidence that the bugs are caught and it is good now while if it just works the bugs might be pesky non obvious ones you only find with thorough testing. Though of course there is no reason to believe the second kind of bug isn't there because you had a few of the first kind to fix.
But yeah if it isn't super small I kinda expect to have some minor errors and it can feel weird when it just works.^^
-
2022-06-10, 06:08 AM (ISO 8601)
- Join Date
- May 2007
- Location
- The Land of Cleves
- Gender
Re: Programming question: are you glad it didn't work on the first try?
I'm not really sure how I feel when it works right the first time. If it ever happens, I'll let you know.
Time travels in divers paces with divers persons.
—As You Like It, III:ii:328
Chronos's Unalliterative Skillmonkey Guide
Current Homebrew: 5th edition psionics
-
2022-06-10, 09:48 AM (ISO 8601)
- Join Date
- Jan 2009
Re: Programming question: are you glad it didn't work on the first try?
I'm with you on this. Professional programmer here.
When I write fresh code, definitely expect some errors and debugging.
When I update old code, I'll often have code run successfully (e.g., without errors) the first time. But I make sure to delve into test cases and look over data transformations ot make sure it did it correctly. E.g., just last night I updated a program for 2018-19 to run on 2020-21 data. Technically ran in that it generated output, but a load of error messages because the input changed and I wasn't aware.
What bugs me is that some of my co-workers aren't. I know one guy who assumes his code works as long as nothing crashes the entire process. Well, that might be some hyperbole (as he is a competent guy who makes good results), but he at least talks like that. No test cases, no checking the results to make sure they make sense, etc.
But that's better than the guy who got fired, who I think didn't even check if his program actually run.
-
2022-06-10, 10:32 AM (ISO 8601)
- Join Date
- Aug 2009
- Location
- Maryland
- Gender
Re: Programming question: are you glad it didn't work on the first try?
Depends on the code, and how complicated it is.
Sometimes I'm in a groove, and it's something I know well, and it all just works. That doesn't bother me, though neither does it surprise me when I find I missed something.
But if I'm doing something genuinely weird and have significant uncertainty over if I've done it right, well...then you do feel a certain bit of suspense when it doesn't crash, because you're looking for the flaw and not finding it.
Generally it'll turn up, though, so no great worry.
-
2022-06-10, 10:51 AM (ISO 8601)
- Join Date
- Jul 2008
- Location
- Sweden
- Gender
Re: Programming question: are you glad it didn't work on the first try?
Anything non-trivial gets tried continuously while I make it, by the time it's "done" I've probably tried it a hundred times. And if I'm comfortable with the domain and requirements I'll have tests done before that. To be honest I never feel like code is truly done, there's always refactoring to be done, better structure and naming. What forces me to move on to the next task is that the next feature isn't going to write itself.
Black text is for sarcasm, also sincerity. You'll just have to read between the lines and infer from context like an animal
-
2022-06-10, 10:51 AM (ISO 8601)
- Join Date
- Jun 2013
- Location
- Bristol, UK
Re: Programming question: are you glad it didn't work on the first try?
There's also the problem that debugging is fun, so there is some motivation to allow bugs to have fun finding them. That is a temptation that must be very rigorously resisted, and it's not easy.
The end of what Son? The story? There is no end. There's just the point where the storytellers stop talking.
-
2022-06-10, 11:11 AM (ISO 8601)
- Join Date
- Jan 2018
- Location
- Tuscany, Italy
- Gender
-
2022-06-10, 11:15 AM (ISO 8601)
- Join Date
- Nov 2006
- Location
- England. Ish.
- Gender
Re: Programming question: are you glad it didn't work on the first try?
Warning: This posting may contain wit, wisdom, pathos, irony, satire, sarcasm and puns. And traces of nut.
"The main skill of a good ruler seems to be not preventing the conflagrations but rather keeping them contained enough they rate more as campfires." Rogar Demonblud
"Hold on just a d*** second. UK has spam callers that try to get you to buy conservatories?!? Even y'alls spammers are higher class than ours!" Peelee
-
2022-06-10, 12:34 PM (ISO 8601)
- Join Date
- Sep 2013
Re: Programming question: are you glad it didn't work on the first try?
I'm a QA - if it all worked first time, I wouldn't have much of a job
More seriously, I have done some coding (automated tests, some small applications for internal company use only) and in some ways, you learn more when it doesn't work initially.
It starts getting annoying when you've been saying it'll be working in five minutes for three hours though.
-
2022-06-10, 12:52 PM (ISO 8601)
- Join Date
- Jan 2009
Re: Programming question: are you glad it didn't work on the first try?
I do enjoy some debugging. Learn neat ways to do stuff.
But when it's like 30 minutes or more to figure out there's a missing parenthesis, semi-colon, or I put a END instead of a RUN statement... that's frustrating.
Ha, ha, yeah. That can frustrate co-workers, too.
-
2022-06-10, 01:33 PM (ISO 8601)
- Join Date
- Jun 2007
Re: Programming question: are you glad it didn't work on the first try?
Ah, now, there's the fun part. You got error messages cause the way the data's presented changed, so any modifications to the presentation caused a fault.
I had to go over someone elses' code ... and the fun part is that it WAS working, just ... not all the time. No error messages. Turns out the SQL backend was filtering out the stuff that wouldn't parse under the old rules... so the new data was never presented.May you get EXACTLY what you wish for.
-
2022-06-10, 03:10 PM (ISO 8601)
- Join Date
- Feb 2007
- Location
- Manchester, UK
- Gender
Re: Programming question: are you glad it didn't work on the first try?
It's always fun when your program doesn't work as expected because of bugs in the compiler, I find. Years ago I was writing an application and one particular part of it ran horrendously slow and I couldn't work out why. Eventually, I used the option to compile into assembly code instead of object code in desperation, and I found that one particular line of C code was being expanded into something like 3K of assembler for no readily apparent reason! I can't even remember what I did now--I think I added whitespace somewhere, something that shouldn't have made any difference whatsoever--and that 3K of assembly was suddenly a few bytes and the whole thing ran smoothly.
Last edited by factotum; 2022-06-10 at 03:11 PM.
-
2022-06-10, 07:11 PM (ISO 8601)
- Join Date
- May 2009
Re: Programming question: are you glad it didn't work on the first try?
It depends, but usually yes, especially if we're counting a failing automated test as "not working". Especially if it's something I can easily write a test for, I'm only confident in that test if I've seen it fail; otherwise, I worry that the test won't indicate failure if the code being tested breaks in the future. This is also useful for refactoring test code (see this post about "refactoring [test code] against the red bar"), as well as the general idea of mutation testing. (Example mutation testing library) Unless the code is really trivial; the only cases where I'm content with the first run being successful is when I'm confident in relying on the typechecker to check my log; in the latter case, the "run and fail" cycle is replaced with more of a "see if it typechecks and respond to type errors" issue. That also requires a language with a type system I trust well; that's pretty much limited to TypeScript (in a project that's disciplined about not using "any" and using the most specific types possible) and Haskell. Rust would probably also qualify if I used it more.
Oof, codegen bugs are rough to debug from everything I've heard. The one compiler bug I've run across in my own code was a typechecker bug in TypeScript.ithilanor on Steam.
-
2022-06-11, 06:49 AM (ISO 8601)
- Join Date
- Sep 2013
Re: Programming question: are you glad it didn't work on the first try?
Yeah, that.
Backfilling tests against fixes that shipped a while ago because someone decided it had to be shipped right now, and the devs underestimated how long it would take them to fix it so they ate into testing time as well (and more likely all the way through it, through any contingency and beyond), and for whatever reason you can't put the old code anywhere to confirm what you're working on...
Always fun, honest
Oof, codegen bugs are rough to debug from everything I've heard. The one compiler bug I've run across in my own code was a typechecker bug in TypeScript
-
2022-06-12, 07:43 PM (ISO 8601)
- Join Date
- Aug 2013
Re: Programming question: are you glad it didn't work on the first try?
I would wager as part of becoming a professional programmer you had to learn about testing and QA and how easy it's to make errors.
I wrote my master's thesis about end-user development and one of the issues is the propensity for non-professionals to not check for errors. The research at the time suggested about 4% of human cognitive activities (literally 4% of your keystrokes) resulted in errors, and that was the corrected rate. I.e. the person did kinda try check to see what they just entered just without a dedicated testing and error finding process. And it has nothing to to do with competence, intelligence, ability or anything like that really, our brains are just hardwired for "good enough decision, ASAP". Trying to sell in this need for testing and error finding was one of the major challenges they struggled with. Particularly for non-professional programmers.
So if you all are suspicious about your newly written programs the efforts of the people whose papers I read back then wasn't written in vain!
-
2022-06-13, 12:28 AM (ISO 8601)
- Join Date
- Feb 2007
- Location
- Manchester, UK
- Gender
Re: Programming question: are you glad it didn't work on the first try?
You'd lose that wager in my case--I was a professional programmer (e.g. my main source of income came from it) for seven years without ever having had any formal programming training. Heck, in my first job they basically sat me down in front of a video recorder and told me to watch this video series on how to program in C, and I was producing actual code within 2 days.
-
2022-06-13, 12:20 PM (ISO 8601)
- Join Date
- Aug 2009
- Location
- Maryland
- Gender
Re: Programming question: are you glad it didn't work on the first try?
The US military is similar. It's a ten week course, and prior computer use of any type is not required or tested for in order to sign up for it. Or at least was when I went through it.
It's pretty accelerated, but they most certainly don't focus on QA or test driven development. I had previously gone to college for CS, so I did happen across some of that, but plenty of people did not. For what it's worth, I believe test driven development to be overrated in most cases and avoid it whenever possible.
It's one of the few career fields where degrees are still considered fairly optional, no professional certification is required for many jobs, and thus, if you can do it, you can just start doing it, and getting paid relatively well for it.Last edited by Tyndmyr; 2022-06-13 at 12:22 PM.
-
2022-06-13, 04:20 PM (ISO 8601)
- Join Date
- Sep 2013
Re: Programming question: are you glad it didn't work on the first try?
I did computer science/studies at school, but wound up doing an engineering degree, and then became a tester because I kind of misread the job advert, and luckily my first boss wanted someone with a science background, not a computing one.
Twenty-something years later...
In my experience, most developers (programmers, coders, whatever you want to call them) just focus on that - hack the code together and get it out the door because they don't feel they have the time to make a good job of it.
QA, UX, all those sorts of things - if they're not in the feature spec or user story, it's probably not going to get done. Especially if you're in an agile development environment, with managers who don't really understand it, but think it means they get everything yesterday. And, to be brutally honest, there's a number of developers out there who think doing QA-type work is somewhat beneath them.
That said, I've worked with a few developers who'd quite happily come and ask my opinion on things, walk me through their unit tests and so on, and funnily enough I very rarely had any major issues coming from them.
Me too - some managers love the sound of it, but they try and shoehorn it into an agile development environment and it either never starts or gets halfway and then all falls apart.
IMO, TDD for anything but trival functionality works when you can basically get all the spec written up front (so full on waterfall), otherwise the developers are really only guessing what the inputs and expected results should be and even experts in the field they're developing for will get it wrong.
-
2022-06-14, 01:36 AM (ISO 8601)
- Join Date
- Mar 2005
- Location
- 61.2° N, 149.9° W
- Gender
Re: Programming question: are you glad it didn't work on the first try?
Ye gads, don't remind me. Please.
Although with that particular fake-chocolate covered cluster of nuts our direct manager was fine. The client... I had to get hired on by the client in order to get the data dictionary and file paths the project was supposed to be using for thd db migration and document management...
Happily everyone directly in involved retired, moved thousands of miles away, or changed jobs & dropped off the face of the planet within 6 months of going live. Aside from the occasional urge to find & strangle a few of those missing people, everything has been pretty smooth sailing ever since.
-
2022-06-14, 07:31 AM (ISO 8601)
- Join Date
- Dec 2015
Re: Programming question: are you glad it didn't work on the first try?
Manager for programmers/data scientists here. We consider both degrees and certifications in the hiring process. However, what you have done, or what you can adequately show you can do, take massive precedence. I always include people who are actively doing a task in the second interviews, so they can ask questions and see if the responses indicate someone who would (perhaps with some nudges based on the peculiarities of our systems) be able to accomplish the work objectives.
A huge amount of my job is making sure that (often much smarter than I) people's brilliant solutions solve the problem that the requestor actually wanted solved.
Especially if you're in an agile development environment, with managers who don't really understand it, but think it means they get everything yesterday. And, to be brutally honest, there's a number of developers out there who think doing QA-type work is somewhat beneath them.
Me too - some managers love the sound of it, but they try and shoehorn it into an agile development environment and it either never starts or gets halfway and then all falls apart.
-
2022-06-14, 09:21 AM (ISO 8601)
- Join Date
- Aug 2009
- Location
- Maryland
- Gender
Re: Programming question: are you glad it didn't work on the first try?
That's largely been my experience with it.
It's also been exceptionally rare that the spec has been fully written up front. At a bare minimum, there are always some changes along the way, and often so many changes that it becomes a completely different project. Setting requirements and schedules seem to be incredibly challenging to nail down in advance.
So, in practice, you often end up with some flavor of agile...though perhaps not a terribly functional one. The conceit that a stand up means that everyone will be brief in meetings is perhaps my largest quibble with it. Perhaps most of us greatly wish that, but there always seems to be that one guy who is quite happy to talk at length.
How's hiring at present? Finding qualified folks here who want to move is like pulling teeth. And qualified mostly means just skills and/or willingness to embrace learning the bits they don't. Every project has a few unique oddities, so that latter part is largely unavoidable, but so far as I can see, it remains a pretty great career in terms of pay and job availability. That's likely the biggest reason why degrees are nice but not necessary, there's just a really strong need for candidates.
-
2022-06-14, 12:35 PM (ISO 8601)
- Join Date
- Dec 2015
Re: Programming question: are you glad it didn't work on the first try?
Challenging, to say the least. I should mention that I work in U.S. Healthcare Informatics, which, given the pandemic, you can only imagine how much the internal need for our products have increased in the past couple years. Everyone who used to be in the field still is (and asking 4-5 figure increases to change jobs, often justifiably so), and we want to grab as many people coming into the market as possible. We've had departments increase from 2-3 people to a couple dozen. With that kind of situation, everyone who might be able to train a learning-embracing fresh face is already burning the candle at both ends. Thus, even when we do get people onboarded, getting them to the point of net positive output is a huge commitment, and the stress levels are high. I have talked a couple new young employees out of quitting during the first six months (they ended up thriving once they got past the initial hurdles), and gave another emotional permission to do so (they would not have). I've been team dad more often than I ever felt possible, which is both humbling and awesome (and frightening and frustrating and challenging and rewarding and...etc.). I still love what I do, but man do I wish we had a little more breathing room at the moment.
Yes. Programming (of all stripes) is incredibly employable. To all you youngin's, even if you don't want to spend your days with C or Python or the like, pick up an SQL or R or SAS class along with your main degree (if you find out you don't like the main career of your degree, programming pays the bills very well while you form a new strategy). If you don't want a 4-year degree, consider technical school. Or all sorts of online resources (many of which are free). The degree is, more than anything, evidence that you can sit down, pay attention, stick with a thing, and all the other basic adulthood things we otherwise aren't sure you know how to do. Alternate evidence to that effect works.Last edited by Willie the Duck; 2022-06-15 at 07:57 AM. Reason: 4-5 figure, not 5-6, man that would be impressive!
-
2022-06-14, 01:31 PM (ISO 8601)
- Join Date
- Jul 2008
- Location
- Sweden
- Gender
Re: Programming question: are you glad it didn't work on the first try?
I'm a software developer, I get a job interview offer about every other or third day. Been a software developer for 10 years, no noteworthy diplomas or certificates, if I had that I expect it would mean my salary would be higher (and I'd likely have to start my own company to really take advantage of that).
I imagine the people on the other side of the table are desperate for someone like me to be honest.Last edited by Mastikator; 2022-06-14 at 01:31 PM.
Black text is for sarcasm, also sincerity. You'll just have to read between the lines and infer from context like an animal
-
2022-06-15, 01:56 PM (ISO 8601)
- Join Date
- Sep 2013
Re: Programming question: are you glad it didn't work on the first try?
Oh yes - basically, it's always promoted as because Amazon or Google or whoever use it and they do whatever. That's their environment, that's how they work and it doesn't transfer across with success guaranteed - usually because of one or two people on the team who do what they dodespite management's actions completely unnoticed by anyone .
Agreed, and even if the spec is fully written and agreed, the timeline properly organised and contingencies built in and so on, there's always bugs, support issues, unforseen co-worker absences, departures and new hires to bring up to speed, days where, say, the office network breaks and doesn't come up again, some new environment that you now have to support, a new version of a dependancy that breaks half your code...
For standups, I've seen egg timers used fairly well - you need everyone to buy in and adhere to it though, and if there is anything major that has to be addressed by the whole team rather than getting two or three people together to hammer it out, they need to put their hand up at the start and if necessary, derail the whole thing, not sit quietly and wait their turn.
-
2022-06-15, 03:11 PM (ISO 8601)
- Join Date
- Aug 2009
- Location
- Maryland
- Gender
Re: Programming question: are you glad it didn't work on the first try?
Yeah, that's a rough scenario. High stress murders your retention rate, especially when folks can just go get a different job. Early on, I took such a position before I learned the various warning signs of such a role, and after a week, realized I could, just...not. To date, that's the only time I bailed on a job super early.
These days, I'm mostly doing big data stuff. Splunk's the hot tool of the moment, and it's pretty solid, but invariably any sufficiently complex system will need someone to handle data normalization and management upstream of Splunk itself. This is honestly not all that bad or hard to pull off, but finding people who want to do it....even for quite good money, is still challenging if not offering a work from home position. Lots of desire for that these days, and it's great for the jobs that are well suited for it, but not every business is on board with it 100% yet, and sometimes a specific job genuinely needs on-site people.
Yes. Programming (of all stripes) is incredibly employable. To all you youngin's, even if you don't want to spend your days with C or Python or the like, pick up an SQL or R or SAS class along with your main degree (if you find out you don't like the main career of your degree, programming pays the bills very well while you form a new strategy). If you don't want a 4-year degree, consider technical school. Or all sorts of online resources (many of which are free). The degree is, more than anything, evidence that you can sit down, pay attention, stick with a thing, and all the other basic adulthood things we otherwise aren't sure you know how to do. Alternate evidence to that effect works.
A couple of certs also provides a bit of that reassurance if you haven't gotten a degree. These are, if you know the stuff, quite easy, and a great deal cheaper and less time intensive than college.
The problem usually tends to focus on someone that's either management, or senior enough that management doesn't want to step on their toes. Which, hey, that's life, but it does drag on a bit. I like the idealized goals of Agile, but real world implementations vary significantly.
My absolute favorite projects are when I get a semi-clear list of requirements and get to work on something entirely solo. Most frequently this happens when a project has been attempted before and has train wrecked, and has non-technical folks in charge of it. That basically removes all of the non-technical annoyances from a project and results in a delightful amount of freedom in the details.
-
2022-06-15, 03:28 PM (ISO 8601)
- Join Date
- Aug 2010
Re: Programming question: are you glad it didn't work on the first try?
Not really. A good amount of TDD/unit testing can help catch most obvious errors up front, and then good design to prevent overly-complex code can do wonders.
"Gosh 2D8HP, you are so very correct (and also good looking)"
-
2022-06-15, 03:30 PM (ISO 8601)
- Join Date
- Aug 2010
Re: Programming question: are you glad it didn't work on the first try?
"Gosh 2D8HP, you are so very correct (and also good looking)"