My problem is that I want a comparison of syntax so I can see exactly how Coffeescript is an improvement over the equivalent Javascript.
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".
I have the same problem. Once I realized that I was not just stupid and the other person was simply not communicating well, I began to try repeating what they just said back to them in "normal language" to ensure I had understood them correctly.
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.
According to the op he found the site via a phishing email. So likely it was just a mass mailing to hotmail accounts, or designed to look like it came from the hotmail team - naturally only Hotmail users would be worried about an email them.
I disagree. Knowing the details of an apprenticeship program upfront are critical to attract and retain both the "apprentices" and the "masters" necessary to make a program work. It would be unfair to both groups to have divergent programs and skill levels being passed off as apprenticeships.
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).
Privacy - Normally my interests are more technology-oriented, so I would expect my ads to target computers and technology. However, every year around the holidays and my wife's birthday my browsing takes a more practical turn. If she were to hop on my laptop and notice that all my ads are now for jewelry, it doesn't take a genius to put 2+2 together, and the surprise is ruined. And this is just a benign example of how targeted ads might "leak" undesired information to third parties (imagine some of the more embarrassing things that might be targeted).
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.
For windows boxes, I like CamStudio [1]. The latest version lists dual monitor support but I don't know how well that particular bit works (the forums list a couple of issues).
Unless something has changed, you need a minimum level of reputation to upvote. If you are not a member of the site (I have a vague memory of starting with only 10 rep - I have no idea now) you have no mechanism to actually do as you suggest until after you've posted or asked a question that has gotten at least one vote.
Asking me to look at code on github is not that different from just sending me all the code (other than the fact that you aren't cluttering my inbox with it). What code do I look at? Why is it interesting to me? I understand your point about having a discussion about your code, but you are again asking me to find those interesting bits that are relevant to the position I want to fill. You are familiar with the code base already - it is not difficult for you in your cover letter to indicate that I might be interested in x,y,z in project foo because they demonstrate a,b,c, and I can find the code on github. Now I know what to look for, and I am very likely to go and look for it. That may lead me to explore some other things and will lead to an interesting interview. Even if I don't consider the code interesting and relevant, it still lets me ask about why YOU thought it was. If you don't point me to that, I may just flip through a couple of methods and never find anything that interests me enough to talk about it.
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.
Please don't ask me to review your "massive amounts of code" - I guarantee you will not come out ahead in that evaluation, if I even have time to properly evaluate it (according to Code Complete, you can properly review code in a high-level language at about 100-500 lines per hour).
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.
Much has been written and disseminated about their culture, benefits and compensation practices. They are one of the largest software companies in the world with a publicly recognized name. Their product offerings span just about everything you would want to do with a computer. They have (historically) been a very stable source of employment, with a good compensation and benefit package, along with a full career path for developers (a rarity in most companies it seems).
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.
From a hiring standpoint its not something I look for in recent graduates. I also don't ask whether you have learned to use an IDE. Those just aren't things I expect you to have been taught in a high-quality cs program because those are things I expect to teach you on the job in under a week - along with all the other project specific things you will need to learn (like which frameworks we are using, what coding standards we use, our check-in policy, etc.) If you have learned to use them and are familiar with them, great. It won't really affect your chances of being hired though because in our next project we may be using a completely different set of tools, and I will expect you to learn how to use those instead.
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.
Is source control considered that large an educational opportunity that the lack of classroom discussion is a barrier? When I hire someone that is a 15 minute conversation and maybe a cheat sheet taped to their monitor - regardless of education. If they can't pick it up by the end of the day that's usually a good sign that things aren't going to go well.
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.
I don't think I understand what they are proposing here. When I read this it sounds like a simple return to client applications. The workflow sounds like:
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.
I don't see anything in the article to suggest he is attaching special prestige to his education, instead he seems to be stating that Mr. Thiel would better serve entrepreneurship by simply focusing on all young entrepreneurs and helping them achieve their ideas as opposed to artificially limiting it to teenagers so that he can condition the money on them dropping out of school.
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.
Unless I am misreading the terms you are only submitting a URL to a REST webservice you create:
...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).
The problem is it is not an all or nothing situation most of the time. Usually you get paid part of it and they have some convincing explanation of why they can't pay the rest. Suppose they paid all your wages but not your travel expenses - pending verification of some receipt or something. They paid all your regular time, but not your overtime charges, claiming that payment had to be approved by someone higher-up. I've had both of these happen to me (both were legitimate situations and I did eventually get paid hassle-free) - but how do you know it is legitimate until after you are paid? You can stop working until you get paid entirely, but if you have bills due, it can be better to get some money than none at all. There is also the whole issue of the relationship - if it is just a legitimate hiccup you might not want to sour a good long-term opportunity, so you make a judgement call - he's a good guy and would never screw me - and next thing you know you next months check is missing too and you are down thousands of dollars.
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.
True but here in the US "engineer" is not the term that matters. "Professional Engineer" is the term given to licensed and accredited engineers - generally identified by the initials "p.e." after their name, and you usually include some indication of the state you are licensed in.
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.
1) No about page? Who is Dropjobs, LLC? The about page is one of the first things I look for when dealing with a company I've never heard of. See http://www.readwriteweb.com/start/2010/08/what-does-your-abo... for some thoughts on what to include. I am basically just looking to connect the company to something - otherwise you are just another faceless internet page and I tend not to trust those.
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.
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".