The cognitive systems lab at the university in bremen[1] ,germany does a lot of research in that field and I had the pleasure to visit them a few months ago. If you are interested you should find a lot of research on their homepage, ranging from regular speech to text, over silent speech (aka muscle movement to text) up to brain to text.
The fizzbuzz test is not entirely about whether someone can do it. It's also about figuring out the style of the programmer. There's a surprising amount of flexibility to fizzbuzz; how is user input handled? Do they use a linter? How are variables managed/named? There's a lot going on, and it can be gamed just like anything else on both ends.
That said, the last time I had a fizzbuzz take-home test, it was infuriating -- my code is online.. what does fizzbuzz prove except to help make a company soc2 compliant?
No, a fizzbuzz test is entirely about whether somebody can do it. That's the definition of a fizzbuzz test. When you hear others talking about a fizzbuzz test, they're not talking about the specific algorithm, they're specifically talking about a simple single-function problem that should take no more than 5 or 10 minutes.
If you're dealing with user input or linting, then that's not a fizzbuzz test. I'm not doubting that maybe somebody asked you to do something larger than that including the fizzbuzz problem, I'm just saying that nobody else here is talking about take-home problems when we talk about fizzbuzz.
I guess it depends how you use it. I started hearing about FizzBuzz in the context of "why can't programmers program" [1]. I.e. that many interview candidates can't solve this problem.
It's also my experience interviewing programmers (outside SF) that most candidates can't solve simple FizzBuzz style questions. As a take-home test, I agree I can't really see the value in it.
Back when I did phone screens, I went even simpler: Write a program that counts from one to ten, printing each number out followed by your name followed by a newline. Do not print the line for number 4.
It’s astounding how many programming candidates can’t work their way through this.
Here's one: when your code has no tabs, it's very obvious that whitespace is just a bunch of spaces. With tabs, it's harder to say, especially when mixed. It's one less thing to think about.
I'm 100% on board with not mixing them and making sure everyone on the team is on the same page. But that's a red herring; it can easily be remedied with linters/editor settings. The same is true for preventing tabs.
Eh, not really. A string with a tab is still hard to tell apart from a string with spaces. Linters don't help there (why would they?). And no way in hell am I going to change Vim to display them differently!
Lots of people are already, hence where this sort of decision comes from. If you don't think enough folk are standing up, then why not do your own advocacy work? It's surprisingly fun and especially rewarding.
The difference between manipulation and influencing is whether or not something underhanded has occurred. You can sell yourself while being totally honest.
So many things in business are sales transactions, and it's better to come to peace with that early on. Sure, we're engineers but if you want your value to be recognized you have to learn to be a businessperson too.
Indeed, and the fact that unskilled engineers with good business skills can and always climb to the top proves my point : those success stories happen because the kid is a good salesman not because he taught himself software engineering.
This does not prove you can make money by learning some wordpress overnight but still the article pretends exactly that. The average worker with average sales talent will have to present real skills to an employer to get hired. Those real skills take time to develop. It's evidently possible to get them outside of Uni but it takes times and effort. Guidance by experienced people reduce time and effort to learn a skill. That's the whole point of schooling btw.
Those article say "I taught myself how to code and became rich by offering the world an awesome product". They should be "I'm a very good salesman and I became rich by getting people into buying my software".
That software is maybe good, maybe not. Mostly not. Second law of thermodynamics teaches us that you can't beat a 30 year old experience with an overnight schooling, except if your father is zeus or someone like that.
At my last job, I wrote a little tool to download hipchat chat logs and scrape them for anything that looks like a password. There were tons!! I raised it to the CTO/CIO, and while they sounded interested in it, they never enacted any policies, etc, to prevent the sort of password sharing that anyone can apparently easily take advantage of.
In fact, the CIO asked me to send him a spreadsheet of when/where passwords were shared -- and then never did anything with it, despite the file essentially being a password map of the infrastructure. When I asked him if he deleted it, he told me he couldn't because the company's lawyers wouldn't allow him to. Lol.
I use a python library called 'passwordmeter' to check the password 'strength' of tokens. If the token's password strength is high, it's either going to be a password, a hash, a key, or perl (half joking). It's then just a matter of ignoring the false positives - about 95% - but that's not as time consuming as it sounds considering the reward.
I don’t agree with that. Regular password rotation increases the opportunity for phishing attacks because people become used to sleep walking through it. And users are generally just adding one or two characters to the password anyway.
Instead, that energy is better spent on requiring strong passwords and people using password managers and two-factor.
Password rotation in this context is for the infrastructure, not normal user accounts.
There are other options for securing/managing infrastructure access (e.g. PKI, Hashicorp Vault), but if you're using passwords, it's a good idea to rotate them if only to encourage good practices around automation.