bbarthel
When I visit the site and I see a table with CoffeeScript on one side and Javascript on the other, my brain sees just enough to verify that the expected elements are all there before it says, "Yep - there is the comparison you wanted".
So while it does clearly state that the JavaScript is the output of the tool, my brain has already decided that it is exactly what I was expecting, and it takes me a second to re-adjust my thoughts.
Ironically, if the output looked less "normal" I probably wouldn't have the same problem, but it is formatted nicely and is good enough that subconsciously my brain tells me "equivalent syntax" and not "compiler output".
When I did this, two things happened: people began to think that I was really smart, and I realized that I could usually repeat whatever I wanted and the person would agree with me.
Are You Bad at the Internet?
"A negative of the renaming and separation is that the Qwikster.com and Netflix.com websites will not be integrated."
http://blog.netflix.com/2011/09/explanation-and-some-reflect...
How a $1,500 Start-up Changed Health Care
There are plenty of successful models that a program could be based on. In the US, electricians require 5 years of work with a journeyman + classroom instruction. Professional Engineers require a degree in their discipline, 2 examinations, and 4 years of relevant experience, usually under a licensed engineer before they can get their PE license (its not called an apprenticeship, but an EIT - Engineer-in-Training. You are expected to learn from a more experienced engineer who is responsible for overseeing your work and providing a recommendation before you are licensed).
Quality - My experience with targeted ads usually involves them lagging behind my purchase or interest. So if I set out to buy a new saw, by the time I start getting ads related to new saws, I have already purchased it. Everybody loses (Advertisers waste money targeting a purchase I already made, and I keep seeing ads for a product I don't need anymore).
Both of these scenarios occurred recently, and I don't really know a good solution to the problem.
And for the record, I don't like "puzzles" either - even if I know the "trick" to the puzzle, sometimes my brain doesn't work right and I can't think of it after a long day of interviews. I would much prefer to be evaluated on how I work in a real environment, seeing my real code and my approach to real problems as opposed to impossible problems whose solution hinges on an obscure bit of semantic parsing in order to arrive at the solution. But as an interviewer, I don't have unlimited time to evaluate candidates so if you want me to do something, it helps to make it as easy as possible for me to do it.
In the end, I don't disagree with you, but I can understand interviewers that don't make the effort if you don't also make an effort.
If you consider the fact that:
- It is unlikely I am well-versed in the problem domain of your code,
- I am unlikely to be aware of external design constraints or coding pressures,
- I am probably going to randomly select the worst section of code to review,
- I have no context for how the code evolved
the chances that I walk away with a negative impression are high enough that it should give you pause. If I do manage to walk away with a positive impression of your code, it will be offset by the perception that you believe your time is more valuable than mine (why else would you send me a massive amount of code and ask me to review it to determine your suitability for a position) - and you still haven't answered the other big question I need answered which is whether you are a good "fit" for the team from a personality/cultural perspective.
If you really want to impress me, go ahead and send me a list of your projects and contributions and then slice a relevant sample of code from it. Describe what the problem was and how you solved it so I can understand the context. Try to make it relevant to the position, but failing that describe how you could utilize that experience in the relevant domain. Keep it small enough that I can review it in under an hour or two.
Is it a lot more work for you? Absolutely, but if you do this I guarantee you I will look at your code and will likely call you for an interview because you are demonstrating a high level of competence and professionalism while still respecting my time and needs.
Unfortunately, their business practices have also left some developers with a bad taste in their mouth (whether through their previously predatory nature, or their current lack of a cohesive approach to the web). Given that Microsoft is a well-known entity in the developer world (and frankly the larger US-culture), I will assume that you fall into on of those categories, in which case Microsoft will need much more than perks and salary (of which they apparently have many - I am not affiliated nor have I ever been affiliated with them) to sway you.
On the other hand, there are plenty of folks out there who may not have the same negative experiences with MS and, based on everything I said above, would consider the company an excellent place to work.
Now if you are claiming 5+ years of professional experience and have never used a source control system that is likely to trigger a whole set of negative questions surrounding what kind of experience you actually have, but it isn't a deal breaker - just a warning sign.
Not that there aren't plenty of educational opportunities surrounding the implementation of a good control system, just that teaching basic usage just seems to be a little simple.
Now not being able to write running code is a serious problem and it is frightening that someone could graduate after 4 years of computer science and never have written a working program.
1) I go to the web to download the application.
2) Once I have the application I run it locally.
3) I encrypt and save the data back to "the cloud". Since I own the data, I can specify where to save it and the "web" becomes nothing more than distributed storage.
This is nothing I can't already do if I choose. We already have things like Silverlight applications, Java applications, Flash applications, etc. that all run client-side in the browser. Throw in ClickOnce deployment from Microsoft (which installs a .NET application directly to your computer by visiting a website and agreeing to the install), the linux app repositories, or even just the old "purchase and download" model, and I do not see how this proposal solves a technical problem we currently have - and if it is not a technical problem, then proposing a technical solution isn't going to solve it.
If I understand the intent, it is to prevent companies from owning the data that we create. Where the code executes does not seem to be relevant.
As an example, when I was in college, I received a grant from the Kauffman Foundation( 1 ) to pursue an idea myself and some friends had for a new type of 3-d visualization device. In the end we determined our idea was infeasible as a commercial technology (technical limitations based on our design), but through an arrangement between the Foundation and my college, we were able to work on the prototype and still receive credit so that all of us graduated on time (we were required to use the prototype and lessons learned as a senior project, paper and presentation, along with intermediate documentation to prove we were progressing and continuing our education).
Had we been forced to drop out, we would have failed and not even had a degree to show for it. Had we chosen to drop out, it would have been our decision based on our belief in the idea, instead of as a requirement for pursuing it.
( 1 ) http://www.kauffman.org/about-foundation/foundation-overview...
[edit] formatting.
...Once you submit the URL of your service at the evaluation web site http://spellerchallenge.com/, a job will be scheduled to call your web service and post a status update to the Challenge’s community page...
Basically it sounds like you are giving them the right to use whatever service you create for the purpose of the contest. It would be hard for them to evaluate your entry if you didn't give them the right to do so. After reading through the rest of the terms, I can't find any requirement to give them access to anything other than that webservice and, if you win, a paper describing your research (no code requirement specified in any of the submission requirements and if you don't want their money, you don't even have to write a paper to participate).
It is always easy in hindsight to say it should never have happened but that does not make it anyone's fault other than the people who agreed to pay them and didn't.
Since graduating with an engineering degree is not enough to become a "Professional Engineer" in the US, you can actually argue it makes some sense to differentiate the terms - being licensed as a PE requires 6 years of professional engineering experience before you can even take the exam. So simply listing a job title of "engineer" might help demonstrate relevant engineering experience but means nothing with respect to your actual license.
I was actually going to post this exact same advice. Getting a job is not failing. You graduated college so obviously you place some value in having a structured environment to learn. If done carefully, a good job can provide you with a whole new set of skills (and contacts) that may prove invaluable, in much the same way college did - only you are getting paid for it and building up that independence. On top of that, you can still work on your project - it is not one or the other.
Also, I actually believe that learning how to release is very important. A good job will teach you that skill. How do you decide what is the "minimum" set of features? How do you decide which bugs have to be fixed and which can be ignored for now? How do you decide when a feature is "complete"? How do you balance the need for a new release yesterday versus the need to address issues and add value. These are all things that it sounds like you are having trouble with - and a good job will show you how other people make these decisions, which you can then apply to your own project.
2) FAQ link does nothing for me on Chrome. I don't care if anyone has actually asked the questions - but several popped into my head while looking at this page. (What do you mean by "X Jobs" - do you count open positions or just posted? If I post a job in one month does it count against next months quota? How do I post jobs? How do I review resumes? How do I select a resume for interviewing? Am I always billed or only when I have positions posted?)
3) I am also in the "Where is the demo page" category.
"And it has also forged deals with both Hotmail and Yahoo that will let those services access its contact data. Google didn’t do a partnership with Facebook, so it doesn’t get the goods."
Which makes me more curious why Google did not negotiate a similar deal and why they are trying to force the issue now.
In this case, it appears that the DOI actually followed those rules and came to the conclusion that only MS could provide a working solution. Google is essentially saying in the complaint that
a) Their solution meets the stated requirements and the DOI knew about it.
b) It is unclear if Microsoft's solution even meets all the requirements (specifically the security requirements since Microsoft is not currently FISMA compliant and has a bunch of known problems in its exchange server)
therefore the justification for naming Microsoft's solution is invalid and solutions involving Google's product should have been allowed for consideration.
Since I didn't actually read the DOI justification (only Google's summary of it) and I am not familiar enough with the specific regulations that govern this sort of thing to comment on its validity, I simply wanted to point out that "naming the winner" in the RFQ is not enough to invalidate it and is not necessarily a problem if the proper research has been done.
Basically, my thought is that if you are attempting to compete with/replace email, you need to address the friction issue for those items. Otherwise people will eventually revert to email at which point updating the repository becomes another item in the todo-list, and the reality I've experienced is that it will ALWAYS be the bottom item.
In short, I agree with all the problems you cite, I simply have not been able to experience the ideal because none of the systems I have attempted to use reduce the barriers to communication sufficiently to replace email.
Once I have resorted to using email, eventually I will forget to move a conversation over or I don't think it will be important and our "repository" has gotten out of sync, which leaves me with a merging issue (do I trust what my email says or the website), and eventually a duplication of effort (I know we talked about this, but my email says x, and the website says y)
As an aside, as I was writing this, I also realized that I tend to use email as my "archive of knowledge". When I move on to a new project I can search back through my email to find relevant discussions and apply them to my new work. I have not seen a tool with a similar ability to archive and take with me my lessons learned (whether because of company policy or lack of feature in the tool). I know lots of managers who religiously archive their email to avoid losing some obscure piece of information or process from years ago.
When I'm comparing, I use only money I'm guaranteed: salary plus any guaranteed or performance bonuses I am confident I can hit (with targets in writing as part of my job agreement). Bonuses that are based on nomination or any other "approval" type process are really just too risky for me to consider as part of my overall compensation package. They will only factor if all else is basically equal.
a) Knows how to use email
b) Has access to email
Don't underestimate these things. If I'm at home and I need to log into a company VPN just to update my status for my manager, that's a lot more effort than sending off a quick update via email or just picking up the phone.
Conversely, if someone asks me for some help on a project and then asks me to learn an entirely new system for an hour of my time (including new logins, new bookmarks, possibly installers, etc) it is often a net loss for me and for them - by the time I am up-to-speed I am done with what they needed anyway.
Basically, I am happy to use whatever system can help me do my job better, but too often I am forced to drop back into email anyway. Eventually I am trained to just use email first, because once your tool gets out of sync, its usefulness decreases.
If you wait until after he has signed his current company up for a contract, you are going to create a perception problem, regardless of the reality of the situation. It simply looks like a setup to the majority of people who won't be privy to the entire context of the hire.