It's rather jarring to read "Can lisp programmers still feel smug about using lisp? No" followed by "the average programmer is probably best actively discouraged from utilizing this freedom because they probably have flawed mental models".
Like most other people commenting here, I don't have advice on the career path—in my case, it's because you haven't given any information about what your strengths or interests are besides programming. Could you give us a little more info on what you enjoy, or what you think you're good at? What did you like in high school or college? Do you like math? Journalism? Lab work? Politics?
Aside from that, I have one other piece of advice that you may or may not enjoy hearing:
I would stop—like, right now—even thinking things like "I experience PTSD-like symptoms". (Unless you're dead serious about your symptoms being similar to that of those who really have PTSD, in which case get a real diagnosis from a professional.) There are many reasons for this, two of them being:
1. It's hard enough for professionals to get this stuff right without getting their diagnoses called into question (including by armchair-psychiatrists like us programmers on HN). Heck, people here are even questioning your assessment of the CS question's difficulty. (!) And there's so much context and prior knowledge/experience to evaluating symptoms that's difficult to judge as a layman. Just go on WebMD next time there's a weird pain or tingling or bump somewhere in your body. If your experience is anything like mine, you'll quickly find that you may have anything from M.S. to cancer... when in fact it might be nothing more than a cold (if even that) and it could go away after a while. All you're doing is depressing yourself.
2. The point of identifying any illness is very simple but very critical to keep in mind: to help find you a treatment for current or future symptoms based on the known literature. If you're not doing that, then telling yourself you have—or might have—a disease/disorder isn't doing you any good. Again, you're just depressing yourself. And what's worse is that you're suggesting to yourself that you don't have control over what's happening, when in fact there's quite a good chance you do.
> Those problems are supposed to be hard because they're based on ideas discovered by the most brilliant minds. If you can do them in 2-5 hours with no background you might actually be real good.
Putting myself in the OP's shoes, this would be really frustrating advice to hear. The OP literally said they already got a CS degree and that these are "easy problems" taking them 2-5 hours. Baselessly calling into question their own assessment of problem difficulty (as if it's likely that they're that clueless about how difficult interview problems are supposed to be after having received a CS degree) while simultaneously suggesting they might actually be brilliant and simply not realizing it is, honestly, just unhelpful advice, if not potentially actively harmful. If you're going to do this, at least ask them to post a question or two so you can independently gauge their assessment first.
I think you underestimate how common imposter syndrome is. It may be that the OP just isn't good at programming. But it may also be imposter syndrome. Having the degree suggests that they did something and gained some skills. So it isn't unlikely that the OP is selling themselves short. Plus it is better to encourage people than put them down. Most people can learn most skills, but some people require less time to learn some skills. That's really the only difference. And there's no clear evidence into which camp OP is in, but it's unlikely that they can't learn the skills.
You call out impostor syndrome when you actually have evidence to suggest it is the case, not completely baselessly. Like when you give someone a role because you believe in their ability (whether through prior interviews with them, or seeing
their prior work, etc.), but they don't feel up to the task. In other words, we know they actually can do tasks that we believe to be of similar or greater difficulty, but they somehow don't believe that that's the case. But we have no single shred of evidence that this is the case here... or if you think we do, well, I don't see it, and neither did the parent comment point to any.
In particular, having a CS degree and finding that you're having trouble with what you believe to be easy interview problems (to emphasize: actually having trouble, not merely thinking that you might have trouble if you were to try) is not in any way evidence that you're experiencing impostor syndrome, of all things. It might be evidence that you don't have enough practice, or you didn't learn the material well, or that you lack motivation, or that you just don't find the topic interesting, etc... but the one thing it does not mean (in the absence of extra evidence) is that you're actually brilliant and yet also incapable of assessing the difficulty of interview problems accurately.
Impostor syndrome gets talked about so much in conference talks that I think we as an industry have started to classify all confidence problems as impostor syndrome and thats just inaccurate and unhelpful. Instead, there are a variety of things in work that can cause problems.
While I agree that it could be taken that way considering the tone of OP's post there were several considerations going into my reply:
1. OP seemed locked in a spiral of negativity that was aggravating performance anxiety.
2. OP was actually able to solve problems and I assumed OP is not talking about "Fizz Buzz" class problems.
3. OP was nowhere to be found in the comments at the time of posting so I wanted the comment to be realistic but positive and also encourage others struggling with similar issues to take a deep breath and objectively reassess their situation rather than assuming everything is a waste and they truly aren't cut out for it.
As an aside, having just read OP's comment history[1], while he likes problem solving, his main motivation is money (extrinsic motivation) and he seems prone to analysis paralysis and anxiety about raw ability/intelligence. Based on that I wouldn't encourage OP to pursue something that stresses them out and aren't confident in purely for money.
There is enough good advice and feedback in this entire thread for a meaningful discussion with OP. Without the OP's feedback our discussion will only be trading assumptions and suppositions but thanks for the honest feedback, duly noted.
> he seems prone to analysis paralysis and anxiety about raw ability/intelligence.
This is what I also gained, and to me, it says that OP has the ability to solve these problems in much less time. I was a lot like OP when I started out. In college, I would get good marks but be one of the last people submitting a test. Whiteboard-style problems would take me forever to complete. I constantly felt that even though I could get it right, it took too long to be of any use.
My problem was much of what you said: I was reinventing crude versions of the wheel while spending an inordinate amount of time comparing different ways to solve problems. I'm not some brilliant mind that's going to have a ubiquitous name in the annals of CS. I've just been really good at breaking down problems and tasks, and early on, I was writing things akin to FizzBuzz EE[0] rather than a 10 line solution that solved the problem.
> That's why I like it when companies tell me they're recording - then I have a green light.
I'm not sure them having permission to record implies you also having permission to record in all-party-consent states. I would appreciate a source stating otherwise.
If it is a two party starts, and they are recording... That means they have given their permission to record. Therefore you can record. By saying they are recording they are giving implied consent (otherwise they wouldn't be able to record)
No - they can't escape the literal meaning of the words. "May I use your restroom?" "Yes, you may use the restroom." Meaning is clear. "This call may be recorded." I'm sorry, that's consent. If they want to argue that their intent is otherwise once I produce my recording that's up to them, but by the literal meaning of their words in the English language they have definitely granted consent.
And as a side note, all of my recordings include me stating on the call that I am also recording. They don't hear me because it's a machine, but they used a machine to get my consent and assume I gave it because I remain on the line, but they also remain on the line after stating it's being recorded. They really have no leg to stand on if they want to fight me on it.
There's nothing to buy. This is the kind of mental olympics a judge would have to go to to give me jail time over this:
1. Decide that a phone-call with me, who lives in a one-party consent state, must be governed by the laws of the all-party consent state the company, who recorded the call themselves, is based in. I'm aware of no precedent even close to this. But wait! There's more!
2. Decide that a person can consent to keep their own recording, but not consent to others keeping their own recording, all implicitly.
3. Decide that an automated machine is sufficient to get my consent, but not the consent of the owner of the machine that's actually doing what they will claim they're not consenting to.
4. Decide that words that literally grant consent are not consent, or that me holding them to their word is not literally fulfilling the stated purpose of improving their customer service.
5. Deal with the fact that I will gladly be found in contempt of court telling the judge to go fuck his or her respective self trying to get media coverage of this stupid decision.
I would've assumed that the company stating that the conversation would be recorded would already be their implied consent to all parties of the conversation recording it...but assumptions and law don't go well together.
Yes. If they are recording, then they've given their consent to be recorded. There is no "I gave consent to be recorded by me but not by the other party"
...huh. How do you tell stolen goods from legitimate ones? Obviously the price can't be the only factor since they could just try to sell it closer to a realistic price.
If you're buying something expensive, require an original invoice and check that the serial number matches. If someone is apprehensive about that, somehow they lost the invoice for the brand new unopened PS4 they bought last week, or similar, just drop it.
If they're selling close to the original price, just get it from a shop instead, that way you'll get warranty etc too (there's generally no warranty on goods with "lost" invoices).
In general, look out for suspicious behaviour. Are they willing to meet with you at their home or office? Do they readily share their phone number? Do they have many excuses (one of the most common tells for liers are an excess of over-thought out excuses) for not doing things transparently? If it's too good to be true, it probably isn't true.
Thanks! The trouble is all of these can fail for what I would consider legitimate reasons. Requiring a receipt fails if they just open it, maybe even use it a bit (or not), and wait a few months before selling it, since nowadays people seem to genuinely go through some stuff (e.g. phones) pretty quickly and not necessarily keep or have receipts, especially if they themselves bought it second-hand. Meeting at my home or office is not something I would ever feel comfortable doing, and is generally recommended against when purchasing online. Sharing phone numbers is something I'd only do when the decision to purchase has gone through and we're actively trying to meet up (obvious privacy concerns), etc.
It's not an exhaustive, binary checklist, they are signals to watch out for. They are basically surrogates for trust. If you're selling something that looks like it might have been stolen, you have to come up with a compelling reason to trust you. Meeting at your office and sharing a business card might be such a reason. If the only thing you're comfortable with is meeting in a deserted parking lot late at night, and only communicating over a throwaway anonymous email account, the counterpart is right to suspect something is fishy. On the other hand, if you have an original invoice from the Apple store, then it might be OK.
Sure, there are legitimate reasons for not getting any of these right, but if they get all of them wrong, be very careful.
Erm... I wasn't asking if it's difficult, I was asking what do you look for? Why in the world would a set of things to look for be a subject to conceal?
Edit: never mind, just realized you're worried I or someone else is trying to sell stolen goods and will abuse such a list that way, sigh...
are you mad at me suggesting that they didn't write it down because they thought it would take them too long to write?
At any rate they didn't just say the information exists, they also said it was basic pawn shop training, so I googled "pawn shop detect stolen goods" the top answer was from quora https://www.quora.com/How-do-pawnbrokers-verify-that-the-ite... and there was something from a blog of somebody called the blog nerd which is a little difficult reading because of all the SEO keyword optimization he seems to have done
I wonder if the Americans freaking out about this whole foreign influence thing have any idea what their nation has done to other countries' (both democracies and otherwise). What's happened here is a complete joke in comparison, and everyone is losing their head. Do people have any idea what the modern world has been like?
Can you think of a better location to place a phone's unlocking and cloning machine than the TSA's examination office? Do they really need to teleport the phone?
It's unlikely to be a push-button machine. It's more likely to be a complicated procedure involving desoldering chips and placing components in specialized harnesses, which would be difficult to replicate at an airport.
That's a difficult thing to cite, I would say it's more along the the lines of the saying "There's no such thing as non-buggy code" or "there's no un-hackable system."
I get it, burden of proof. The blanket statement by OP also doesn't consider the ol' "baseball bat" ceiling of hacking strategies - at what point is it easier to just break someone's fingers until they tell you what you want to know?