• 4 Posts
  • 77 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle







  • I do this alot but I alway follow up with “Do you know what blah is?” and depending on age/experience/acronym or term I ask them to explain it.

    Sometimes I get assigned work with a senior engineer(where I learn) and sometimes I get asked to help a new person. For example right now I’m in a project being driven by a senior engineer but was asked to assist a professional development program employee(or pdp) to actually execute the project. As a result this is the habit I developed to 1. Make sure I don’t confuse people with random acronyms or terms 2. Ensure we are on the same regarding definition(and they are not just saying yes I know when they don’t).




  • Hold up… You thought maybe you downloaded malware (which in this case that was not the only cause) so you took it upon yourself to reinstall windows on a company issued laptop?

    1. Why are you trying to fix it? Submit It ticket and it’s their problem.

    2. If you suspect malware alert it security immediately. Many malware act as a gateway to lock other systems. Yes you might get in trouble but I’d rather be yelled at for downloading something then yelled at for infecting my company servers will ransomware/malware.

    3. Atleast in my company a computer connecting without a company supplied image of windows will be denied. Completely understand you not connecting to the internet.

    4. This problem was not caused by you but could of been… Take this as a lesson to be more proactive in the future.





  • I’m also a software engineer (at least in title). I agree with the social skills but a different thing came to mind. The ability to actually watch and understand what people are trying to do. I’m lucky as all my software is internal to my company. I don’t make what we sell, I make what tests the products we sell. And yes I test the tests and also test the test’s tests 😭.

    I’ll give an example. I have an operation where the operator is to scan a number off a paper before testing. That number is for traceability we need to know which test results are for which unit. Previous engineer said since it’s scanned off the unit it will never be incorrect as long on the printed barcode is correct(separately validated) so no need to verify format.

    I ran into an issue where units had an extra zero either before or after the number. So if number was 12345 sometimes it would be 012345 or 123450.

    I went to watch the process. The operator scanned the unit( I watched them work all day, this was 1 unit out of a whole days work) and when they put the scanner down the scanner’s corner was on the 0 button of the keypad.

    We did a 2 phase remiduation. Stage 1. Operator instructed to log in and then place keyboard on shelf away from workplace. Stage 2. Verify the number is in correct format in code. Yes the code update is simple but in our field needs weeks of work to test, validate, and release.

    Actually watching the operator closely identified the problem. The code was not the issue, the code passed all requirements and tests. The issue was the tests and requirements did not match the user’s experience but if I stayed in my cube as for weeks I would not of been able to find the bug.



  • I had that experience last week. I half blame the language though cause the way it works is you don’t initialize a variable, first time you use it the language automatically makes the variable and default value is 0.

    I had a variable countoot that I had a formula calculate. Then a simple if countoot > 0 do this else do that. The program kept doing that. I knew countoot should be 2. I manually did the formula … The answer was two.

    I did the same formula in 3 other programs and it worked correctly. I spent between 1.5 to 2 hours a day for like 3 days banging my head on the desk trying to figure out why it would work. Fourth day me and 2 other guys were trying to figure it out when I finally really looked closely. I realized the formula result was stored in ccountoot(notice 2 c) and the if statement was based on countoot(notice 1 c)…yeah I felt so stupid when correcting the typo fixed the problem.


  • It might be a side effect of my work environment. I make the equipment that tests electronic medical implants. Theoretically if a unit put 1A of charge out instead of 1ma that could kill a person. Now on a practical level that’s not possible with our devices and even if it was we should be able to identify and prevent that unit from reaching the field.

    Yes you are right, you want 99.99% uptime you need this stuff. In the field I’m in a single case escaping test can be months of engineering time to investigate, root cause analysis to determine the actual cause, expensive fixes for the short term and even more expensive fixes in long term to upgrade everything so it never happens again.

    Boss being unhappy that you missed something is minor. Their boss’s boss’s boss is the real issue. That said we get regularly audited both in-house and external agencies so it’s unlikely. Multiple lines of defense, have a computer check it, have a person check that the computer actually checked it, have a computer verify that the person actually verified it. Have each of those systems regularly audited and verified to be effective.

    It’s expensive but it is what is needed to be in this field.


  • Ok,this maybe too nerdy of a topic for here but that’s why I love unit tests.

    Basically I write a piece of code that gets this input and generated that output. I also make a test to verify that I get a certain output given a certain input.

    Now if I spend all day futzing within that code , changing variable names, refactor and extract a large function to 10 small ones, decide to re-write all the SQL queries to linq arguments…I can fuck up and tests may fail. I fix the failing code to still pass the test. I know I delivered code that met the requirements, hopefully improved it, but I know I didn’t fuck it up enough to not do what it’s expected to do.

    Plus source control…I mess around with code, my tests all pass…I commit it…I mess around more, can’t get the tests to pass, oh well quitting time roll back to previous working commit. Boss may be mad I didn’t improve it but at least I didn’t break it. Zero gain day is better than negative gain…



  • The difference is in exact wording Agile: the software shall properly authticate a user within our active directory.

    Documention : user authentication will be provided by functions ”valisate username” as described in section 14,7 subsection 4, ”validate password” as described in section 16.2 and validate the correct pasword as described in section 23.4.Proper authication to the correct use group shall comply with the requirements in document 654689 section 64.7 subsection 17

    Yes there is a difference and one is better…