Things I Learnt from a Senior Software Engineer
271–280 of 301 posts
Re: Things I Learnt from a Senior Software Engineer
#272Earlier quoted context omitted.
I worked with home support for an ISP. A few times I was at a customer helping with a router and the mother call her son to get the password for the router. Not always a nice password...
I very much believe in offensive passwords/passphrases (maybe not for wireless routers) specifically because: (a) You're not supposed to tell anybody what they are. (b) Offensive passphrases are easier to remember.
Re: Things I Learnt from a Senior Software Engineer
#273Earlier quoted context omitted.
Wasn't it Kent Beck who came up with Extreme Programming and Test-Driven Development? I think testing was one of the big corner-stones of XP. At what point did that turn into "Test as little as possible"? "Unit tests are one of the CORNER STONES of Extreme Programming (XP)" http://www.extremeprogramming.org/rules/unittests.html Also see: https://hygger.io/blog/tests-in-extreme-programming/ If development is tests-dri…
its the same concept as minimizing the amount of code through design and refactoring. Let the tests drive the code, refactor, and refactor / delte your tests when not needed anymore. :) this is his SO answer where he talks about it... https://stackoverflow.com/questions/153234/how-deep-are-your...
In the above link I don't see anything about "delete your tests when not needed anymore", or did I miss it?
How do you know when some tests are "not needed any more"? Isn't the idea of regression-testing to keep tests around so you know if any new code will break them? That should give you the "agility" to refactor your code, I think, is what the proponents of XP would say.
Re: Things I Learnt from a Senior Software Engineer
#274Earlier quoted context omitted.
If you designate your servers with numbers or meaningless identifiers instead of names, you also won't ever feel guilty about killing and replacing them. I believe this is (somewhat gruesomely) called the "pets vs. livestock" approach.
If you believe people can't get a little attached to "prodsys3" or whatever, then you underestimate the sentimentality of some of us. ;) Of course, the other thing you can do is name server roles rather than specific hardware, so all of your servers are immortal, Ship-of-Theseus style.
Problems with Ginger were being discussed at one stand-up, and an engineer who didn't care about that quietly said, "Blah blah blah Ginger, blah blah blah Ginger." I almost fell over laughing.
(https://desertdemocrat.files.wordpress.com/2015/03/gary-lars...)
Re: Things I Learnt from a Senior Software Engineer
#275Earlier quoted context omitted.
For me, it depends on who is creeping. A junior engineer, I'd probably pull them up and start explaining what is going on. A fellow senior engineer I'd probably take a welcome break and ask them to grab a coffee - the only reason they'd be lurking lol. If it is a PM or someone else it might put me on edge - likely because they wouldn't have the context to understand what I was working on and if they didn't say anythi…
So in all three cases, your focus is gone and what you were doing has stopped.
Re: Things I Learnt from a Senior Software Engineer
#276Earlier quoted context omitted.
While I'm not 100% against humor in a codebase, ever since my company started hiring more engineers internationally, I've become more tuned in to whether a name that uses slang like "yoinker" will be understood by someone who doesn't know English as a first language.
I've been using English as my first language for nearly 20 years and am unfamiliar with "yoinker". Just googled it and, ... nah, I wouldn't approve that PR! (Have never heard it used down here in Australia. We've got plenty of other sayings that are local to us though.)
I suspect there are a lot of words that used to be safe that are less so now :P
Re: Things I Learnt from a Senior Software Engineer
#277Earlier quoted context omitted.
Compromise?
No; the point here is to pick the worst possible compromise out of compromises that solve the problem effectively. It's like you're dividing an 8-piece pizza between 3 people. Everyone's minimum desire is 2 pieces, compromise solution would be 2 and 2/3 split, and people keep arguing why they deserve more. However you - the decision maker - decide instead to give everyone 2 pieces and throw the remaining 3 pieces int…
Re: Things I Learnt from a Senior Software Engineer
#278Earlier quoted context omitted.
No; the point here is to pick the worst possible compromise out of compromises that solve the problem effectively. It's like you're dividing an 8-piece pizza between 3 people. Everyone's minimum desire is 2 pieces, compromise solution would be 2 and 2/3 split, and people keep arguing why they deserve more. However you - the decision maker - decide instead to give everyone 2 pieces and throw the remaining 3 pieces int…
If there are 3 people, and they each get 2 slices, that is 6 slices. So, throwing away 2 slices, because there is 8 total, is fine, as you stated that is everybody’s agreed minimum desired amount. And there is no knife, nor protractor. What is the difference between the worst and best compromise? If it is a compromise, it is a compromise.
Compromise: A solution which pleases the most parties possible while still meeting each party’s needs.
Re: Things I Learnt from a Senior Software Engineer
#279Earlier quoted context omitted.
ISO stands for the International Organization for Standardization, for largely the same reasons.
Maybe I got the wrong person (on the phone), but it was explained to me the name "ISO" was the Greek word for "sameness" and that Français and English just happened to form /meaningful/ representations for an acronym.
But I'd tend to call BS - if it wasn't ever an acronym, why capitalize all three letters?
The google ngrams are also suggestive:
https://books.google.com/ngrams/graph?content=international+...
Re: Things I Learnt from a Senior Software Engineer
#280This person became a good engineer in only one year! :)