Of course you can. But is it always an equal share of bad code for each language?
If not, then you have to admit that the language itself will encourage or discourage bad code or bad coders.
I have to disagree with the original opinion, that Visual Studio is the best IDE ever. It is, if you are developing on Windows and for Windows on Microsoft-endorsed languages. If this is not the case, it's far from optimal.
Come on, you have to give me something to argue with. I can't just sit here agreeing with people. :)
Yes, Visual Studio outside the MS sphere is not the greatest. C++, C#, VB.Net, F# - fine. Does anyone use it for anything else?
"I want to be that go-to person, that expert, that guy who Gets Shit Done."
I have a few bad experiences with "the guy who gets things done".
There's an old saying that the last 10% of the work takes 90% of the time.
If you stop after the first 90% (or why not at 80%?) and jump to the next exciting project, you will be percieved as very productive. And because you don't put in the time to properly document things, you'll be the only one who knows it all and you'll be percieved to be a guru who knows everything.
Sure, it might not work perfectly, but it's only minor flaws that someone else can fix. Right? You're too busy being productive in your new project, leaving a mess for people to maintain in there.
And it works. Your managers see you as the go-to guy. You will get things done. And the fact that people then spend ages of time to patch your work just proves how much more efficient and better than them you are.
Yeah, you probably guessed it: I spent the day yesterday cleaning up someone elses unmaintainable, undocumented mess. Someone who is now working on a new project.
Thanks for the well written summary of this problem! I'm in a similar position as you are. We have a "hero who gets things done" - he is really good at writing quick prototypes that somehow work, but his code is unmaintainable and not even correct at the corner cases. I am not quite sure what we - the rest of the team - should do about. We managed to get him back into a project he started from his new project to help us clean it up, and we hope that this is a step in the right direction...
I agree with what you wrote mostly.
What dropbox could do to mess up and give Google a chance to do something much better is this: don't give people more free space when the average user struggles with the 2GB limit.
One of the things that made gmail a success was that hotmail and the rest cheaper out on space. People had to constantly clean up their 2MB mailboxes. Google might be able to do the same again if dropbox don't offer more space for free. But that would take away from their earnings, so it isn't an easy problem to solve.
They don't. Perhaps all devs get more than one machine, but not every employee ("blue badge") gets a 2nd or more system. My sole company-issued computer is a ThinkPad.
Afaik 2 machines are almost mandatory
1. Dev machine
2. Email machine
The 2 biggest orgs inside MS are Office and Windows, devs in both of them can't have a single machine doing both the above tasks. (And VMs suck for disk based I/O, and that becomes a factor when you have multi-hour build time)
Yes, economy does impact internally at Microsoft. Thankfully, we have Hyper-V to have more than one OS in a given box. But back in the old days, two machines per person was pretty standard. I no longer work for MSFT, so not all orgs still stick to the same policy
That's really odd. I used to work under Windows Live org, and all the Ops we know have more than one machine (at minimum, a laptop and a desktop). Even the orange badge has more than one machine...
Honestly, the only blue badge that doesn't really need more than one machine is PM. Both SDE and SDET definitely need more than one to develop and test. Ops can manage a cloud with just one, but in theory, we all know that Ops has access to a ton of VMs, so I consider them as more than one machine.
When I worked in a big Windows-centric company developing hardware and software for Windows CE (mid-2002), I had two desktops, one associated with the corporate domain, where I could print and read e-mails off their Exchange server, and another, where I had administrative privileges (VS required them to attach debuggers to processes) that didn't connect to the corporate network at all.
If you develop pieces of the OS, I would assume they would give you a machine to rebuild occasionally (because you'll probably destroy it a couple times) and one to be a well-adjusted corporate citizen, reading your e-mail and filling out your paperwork.
>VS required them to attach debuggers to processes
I don't believe this is entirely true. VS will sometimes claim you need to be an admin and offer to restart as an admin, but you can click ignore in that dialog and debugging will work just fine. The one exception is if you are running as non-admin trying to attach to a higher privilege process, in which case you would need to be able to attain the same privileges as the thing you are trying to attach to, for obvious reasons.
Since it was a long time ago, I am not sure exactly what we tried and why we failed, but I can tell you we tried hard. Corporate IT didn't like us much for having computers they couldn't manage.
At minimum people get a laptop and a desktop, and quite a bit of time you see more than one desktop in offices. I haven't seen anyone in the engineering disciplines with fewer than two.
Having more than one machine is very handy for when you need to run VMs to test different versions, and not risk getting your own main machine into a bad state. If you work on services, the VM runs a local copy of the service.
JRuby developer Charles Nutter claims that Java JDK7 gives a performance boost to JRuby, saying "On bench_threaded_reverse, Java 7 is 20% faster than Java 6, and JRuby plus invokedynamic is 20% faster than that".[1]