For some companies/teams/hiring managers/interviews, having someone who can reason about big-O complexity and design their own algorithms is important and necessary. There won't always be problems that have a preexisting algorithmic solution.
If you aren't prioritizing for code quality and beauty, do you also explicitly tell candidates that? I think it's very difficult for candidates to understand exactly what the interviewer wants—and, of course, all interviewers are different. I think that, for better or worse, many people worry that they need to perform perfectly during the interview and actually deliver a perfect solution—instead of just approaching and developing a solution.
I'm a designer, not a programmer, but I've found that I interview best when I get explicit guidance from the interviewer. "I want to hear more about x, don't worry about y. What I want to learn about you is z." It makes the interview feel like a collaborative process (especially helpful when interviewing people you will work directly with, as you're pre-selling them on the team dynamic they'll experience!). It allows me to provide the information the interviewer needs most, in order to effectively evaluate my abilities and fit. It also clarifies for the applicant what things are actually worth stressing out about.
I have to object to this. Friends can be an invaluable support. But they are not professionals, and I've been on both sides of friendships where trying to use a friend as a pseudo-therapist strained the relationship too much. It's also far too easy to temporarily relieve the burden of an anxious mind by talking to a friend, but most friends are not trained—and are not good at—helping someone find concrete ways to overcome their anxieties.
Talking about your troubles isn't the same thing as facing them, and good therapists are all about making you stronger and more resilient. More capable of facing your fears when you don't have someone to lean on. This is a very, very valuable thing.
Nice. I feel you almost sold yourself short making this about "considering a startup", because you have some great general advice on how people should choose the best working environment for them, period.
"You become the people you spend time with...Here's a heuristic to keep yourself honest: if you were competing with a somebody for a job, would you be scared? If so, you want them as a co-worker."
IMO, framing the question of "where should I work?" from the perspective of "what will develop me into a better engineer/person in general?" is a really good idea. The time you spend at your job should be an investment in becoming more knowledgeable/thoughtful/capable, so you can better pursue your professional goals in the long run.
Thanks for the comments! Yeah, some of the heuristics apply to non-startups, but some of them (like looking at investors in the top quartile) were very particular to the technology startup world.
I think my chief interest in these kinds of ideas is in enabling designers/et cetera to flesh out their ideas for certain interfaces/functionality/tools. It's much easier to express why an idea is cool and worth pursuing (esp. when getting others to come on board and build with you) when you have a prototype that can implement parts of your vision.
There's definite value in giving designers agency in expressing ideas interactively and aesthetically. So I'm really curious if this tool will be used like that. I'm definitely more a designer than a developer, so I think this would make it easier to being implementing an idea without getting frustrated with trying to DIY my own backend.
I think sometimes we forget that Apple's primary audience doesn't even know what skeumorphism is, and certainly won't call it "regressive aesthetic infantilism" (it sounds cooler to write like that, so I can't exactly fault the author). But so what if it's an illusory metaphor?
Andy Mangold's appropriately-titled blog post "Skeuomorphism: The Opiate of the People" addresses the role of skeumorphism quite clearly, I think:
"Some people believe that skeuomorphism makes an interface easier to use, or more intuitive for the user, and I simply don’t buy that. But what hadn’t occurred to me is that it doesn’t matter if it actually does make it easier to use, all that matters is that it makes the average person think it’s easier to use. In reality, a user must take time to learn any interface, whether clad in faux leather or not. The skeuomorphism in iOS plainly tricks people that might otherwise walk away…"
[http://andymangold.com/skeuomorphism-the-opiate-of-the-peopl...]
People often quote the goal of effective skeumorphism as leveraging existing patterns (which just happen to be physical, not digital), to make an interface more familiar and easier to use. I think, if this is true, then it's rarely executed on that level. But if a user is more willing, more patient, and more inclined to go through a learning curve because of skeumorphism, I'd argue this is effective design.
Sometimes anti-skeumorphism sentiment sounds really similar to the "aesthetics don't matter as long as it works!" rallying cry. If aesthetics make it more pleasant to use a product, then the aesthetics serve a purpose.
"Interface design" should encompass more than just visual aesthetics. These are largely concepts focused on making something that looks good, not concepts that break away from an IM client convention to actually improve usability.
It's useful to see these as launchboards for a visual aesthetic, but it'd be really cool if showcase posts like these (or designers on dribbble) talked about the pros and cons of different design decisions they made, why they chose to style an interface element differently, why a particular design is an improvement over what exists…