ManWithComputer
The Internet, IP
Male, 37
I've worked at multiple Internet startups of different shapes, sizes and ambitions. Now I'm the CTO (Chief Technical Officer) of another small company with big dreams. I look nothing like the picture above.
If you copy and paste your homework question in here, I will answer with something that will, at best, get you an F on your project, and at worst, will get you kicked out of school. You have been warned.
It's hard to generalize about programmers' political beliefs: they range from far left to far right, with an annoyingly large contingent of libertarians.
Take out everything that's specific to desktop machines, replace it with a corresponding version for mobiles.
Seriously. Read the answer I posted to your question the other day. That's how you do it.
There's no such thing as "the cloud" as a single monolithic service. It's a term invented by marketers, and you know how much engineers love marketers and their terminology (*). So let's dig a little deeper. What all cloud services have in common is that they're remotely hosted, run on virtual machines, and are billed on a commodity or pay-as-you-go basis. One class of services here is virtual servers, something like you'd get from Amazon EC2 or Rackspace Cloud Services. This is a virtual machine running Linux, or Windows if you're masochistic, and as far as this machine can tell it's a real computer with all the capabilities of one. You have full root access to this "computer," and can install and run whatever software you like on it. So the short answer is yes, there are some "cloud" services that will allow you to run an application written in C++--or C, or Ruby, or Perl, or OCaml, or Haskell, or... (*) As a rule, not enough to piss on them if they were on fire.
A multi-way tie between: * interrupting me when I'm thinking (see many comments on the subject above); * bullshitting (programmers don't tend to, since you can't bullshit a computer); * calling meetings that don't need to be held for the sake of having a meeting.
Tattoo Artist
Is it illegal to tattoo a client if he's drunk?
SWAT Team Commander (Retired)
How much protection do those bomb disposal suits really provide?
CBP Officer
Do you catch less marijuana at the border now that it's being decriminalized in some States?
Well, yes, that's a different story. Sounds like the problem is your particular developer.
I think what we have here are two related questions: why programmers can do this, and why they do. We can because we have a lot of leverage in the workplace (due simply to supply and demand) and this is one of the few ways we use it. Also, we don't deal with the public, or even other people in general, very much. We do because, without a reason to dress up, we might as well be comfortable. I also wouldn't underestimate the lingering effects of the early connections between programming and 1960s counterculture (a book about called _What The Dormouse Said_ is said to be good). Take a look at this old staff photo of Microsoft from 1978, and notice how in bad light you could easily mistake them for the Manson Family: http://www.flixya.com/photo/1020798/Microsoft-Staff-Photo-December-7-1978
Money's pretty handy.
So a programmer is someone who writes programs for computers. And what a program is, at the heart of it, is a list of instructions.
This can be "low-level" stuff where you deal pretty directly with the basic capabilities built into the computer, like: "Get this number from here, get that number from there, add them together, then put the result over there." Or you can build stuff at a "high level," using a lot of other software other people have already written, that would look more like "If Fred logs in to the system between 2 AM and 4 AM, and records show that he had more than 8 beers that night, cut off his access to email until 9 AM."
This is tricky because computers have no brains and no initiative of their own: their strength is in doing really simple, tiny, mechanical operations on information, but doing them extremely quickly and following the instructions they're given exactly. It's "exactly" that gets you, because if you write some code that you think is telling the computer to do one thing, and what it actually tells the computer is something entirely different, the computer is going to do what it's told, not what you meant. So even though we say a bug is a "computer error," it's almost always actually a programmer error.
My day is pretty typical of programmers in a small company: the big company experience is going to be diferent.
I come in to work between 10 and 11 (I'm a night owl), and check in with my co-workers to see if anything notable is happening that day. If something urgent had come up, they'd have called me on the phone already, but now that our site is a little more mature it's gotten a lot more stable than it used to be, and emergencies are a lot rarer. Which is great.
I've got a few people who report to me, so I check on their progress real quick and make sure they have a plan for the day. Then ideally I spend most of the rest of the day actually programming. The key is to avoid a lot of interruptions, because to write code efficiently you've got to concentrate for a long time. You learn to schedule unavoidable interruptions for either the start or the end of the day, so that you're not chopping up your day into lots of little pieces.
About 5 PM we get everyone (there aren't many of us) together in one room and talk briefly about what we did that day. People start to leave after that, and I often have the place to myself for two hours or more, which is a great opportunity to work on hairier stuff that takes some peace and quiet.
I normally try to leave by 7:30 or 8 PM, so I can get home and have a while to hang out with my wife before she goes to bed.
It's not for everyone but I think it's a pretty fun way to make a living.
-OR-
Login with Facebook (max 20 characters - letters, numbers, and underscores only. Note that your username is private, and you have the option to choose an alias when asking questions or hosting a Q&A.)
(A valid e-mail address is required. Your e-mail will not be shared with anyone.)
(min 5 characters)
By checking this box, you acknowledge that you have read and agree to Jobstr.com’s Terms and Privacy Policy.
-OR-
Register with Facebook(Don't worry: you'll be able to choose an alias when asking questions or hosting a Q&A.)