The truth is somewhere in the middle. When everyone in the video game industry is used to 80 hour weeks (or worse) during crunch, then you've got a systemic issue or poor management. They haven't found a working business model where they can adequately staff and make budget. And given that consumers constantly expect more for less, and expect AAA titles to compete price wise with iPhone games. So management does need a better strategy for how their run their departments/businesses.
However, I question your claims of 3,600 engineers and never requiring unplanned overtime. It is impossible to plan for every single contingency. Things break and go wrong all the time in the universe. If you never, ever need unplanned overtime, then you must be severely overstaffed.
Well, he did say this (which is different from what you were questioning):
I've never had to work more than 4 hours unplanned overtime in a week in all that time, and those occasions are only 3 or 4 times a year
Also, I'm not sure if he was referring about the OT or lack thereof for himself or for the total 3,600 engineers. Some projects, specially DOD-related, are somewhat over-staffed on purpose, following a rigid waterfall or waterfall/spiral hybrid model to ensure a uniform scheduling (and typically to charge more - sadly, and also because the requirements are incredibly fixed and non-volatile). Groups like that can churn out results at uniform intervals for years without requiring unplanned over time until it is time for integration (which is when shit hits the fan or they have to readjust to some changing doctrine/paradigm shift or whatever.)
I suspect that you are a team leader and nothing more. It all looks simple when you have small straightforward projects. Run teams of several hundred while being responsible for cash flow and business and you might be more credible.
Nobody runs teams of several hundred. Well, no one except the micro manager types and Steve Jobs (RIP). The only people who tend to work quite a few hours in excess of 60/week are typically mid-level management (read software team leads). People below them do not (and do not have to) work that much in general. People above them do not either. Project leads, lead scientists and architects (who could be said to run hundred-strong teams via mid-level management proxy) tend not to work beyond 55 hours a week.
Obviously in time of crisis, or near product releases, the midnight oil is burn across the board, vertically and horizontally. But, with the exception of the chronically mismanaged, you do not, ever, make it more than 60/hr week. 80? That's just bullshit...
... and so also was your mentioning of hundred-strong teams. That was just posturing that betrayed a lack of knowledge on the subject.
That story was so overblown. When you work in software development, like many other fields, there are times near a release (or whatever milestone) where you have to work a lot of overtime.
Bull crap. Bull crap. Bull crap. The only time I worked more than 50 hours consistently was at a gig as an hourly paid consultant. In general, as an hourly paid consultant or salaried employee, a 50 hr week is the norm, give or take a few hours. Perhaps nearing 60 hours a week or two prior to a release. Being doing this for almost 17 years now, and I've never seen a requirement of working 80 hour weeks. The only time you do that is if you are a consultant in a "tiger team" specializing in very difficult niches or urgent problems, and only for a few weeks.
It's simply a fact of life, and if you don't like it, go teach 8th grade gym.
It is a simple fact of life that you don't know what you are talking about (or you have no control of your software development career, and are obligated to work long-ass hours.)
Not to mention she acted as if she represented the spouses of all EA developers, when in fact she represented herself and had some vague support from a few spouses on her husbands particular development team. EA's practices were totally in line with GAME industry standards,
There. Fixed that for you. And just because they were in line then, that didn't make them right then or now (I mean, the were legally forced to change, weren't day.) Being in line with "current" industry standards means squat (after all, slavery in the 1800's was in line with industry standards, and 12hr work days/7 days a week without workers comp was also in line with standards at the turn of the 20th century.)
which are in line with market realities and in line with the compensation package offered.
Noooooooooooooo. The compensation packages weren't near what one would/should get for working that many hours. Sorry, for that, better to do hourly consulting.
If you want the opportunity to make a six figure salary, you're going to have to be prepared to make some sacrifices.
Those sacrifices do not involve working 80 hours a week. In fact, they don't even involve working more than 50 hours a week. You work more than that if you are stupid and inefficient, when you have to slave yourself to make that goal (as opposed to having a good specialty that you can charge a high price per hour and thus do that amount for less hours per week.)
If you can't handle 80 hour weeks for a few months when the time comes, well, as I alluded, my old junior high school is in desperate need of a gym teacher.
If you have to put up with 80 hour work weeks, it means that you have few career choices, and thus have no option but being someone's bitch. There are plenty of senior-level people working in software making a 6-figure salary without having to put that kind of hours per week. Seriously, you don't know what you are talking about.
Instead of running your own business. Then you don't need to provide your quality and skills to anyone, and it can make more money in the long run as you are not limited to your salary and don't have to fear getting fired. If you know web-design and running Drupal, then start to work with those.
^^^ This is an uninformed post.
This is a tremendous and terrible simplification. Let's suppose that the OP runs his own business? Now he has to be a salesman in addition to being a developer. He still has to sell his technical skills to prospective clients. Barring the typical mom-and-pop shops that need some help in getting a web page up, most companies will still require some sort of technical "affidavit" (and for better or worse, many still rely on academics as a filter.)
You can be a consultant and go 1099, register yourself with a LLC and sell your consulting services to a larger consulting firm. Still, the consulting firm will ask for a technical affidavit, and the clients the consulting firm will pitch you for will also ask for a technical affidavit. As I said in the 5th sentence of the paragraph above, the chances to avoid questions on self-taught skills are still limited for a self-employed developer, not unless he narrows the clients he caters to (and ergo, narrows the opportunities to do business.)
For the OP and for people in his position, it is really hard to sell yourself without a diploma. It is sad, but true. In fact, even some diplomas that used to have some value do not help anymore. Case in point, me. I started working with just a AA degree (and later worked my way up to a 4-year degree and then grad school.) Back then when I started, it was feasible to get a good development job with just a AA/AS or even with nothing but experience. But that's not the case anymore.
OTH, I think it is a good thing that you are looking at conferences like DrupalCon. Get in there and network, network, network. Build your CV indicating the jobs you have done. Moreover, open a github or mercurial account and create stuff of your own (pet projects and mockups) that show case what you can do. So that when people ask you, you can tell them "look here".
Once you develop your CV, and your professional network, lack of formal education becomes less of an issue. The problem is to get the ball rolling, and I'm afraid that in this time and age, the odds are against you. It is not impossible, but it is a heck of a lot difficult than 10-20 years ago.
Regardless of how you proceed, I would suggest (if not urge) you to get a degree. If you have the skills, a degree might or might not help improve them. But it will certainly help in opening a lot more doors. And in the end, job hunting is a numbers game. Good luck.
It's not like anyone is asking for your sympathy, nor that yours would mean anything. But then again, your statement is so objective, it must be true. It has to be, right, right?
but one who rides so far and so high on his hobby horse
Pot tells kettle?
you knock over your audience in fits of laughter.
How many people are laughing? How did you count them? How did you measure that statement? Ah, of course, it's a figure of speech, and a very subjective one at that. Ergo, one of very little value. But hey, if you want to build yourself into a e-frenzy believing you have said something clever, be my guest. I won't be the one busting your bubble.
I mention the 1930s not because of Nazism but as the last decade before the rise of the welfare state - the last decade where men in general in the free West were "required to work there if you want to eat".
Well, typically, in the internet realms, people tend to bring Nazi comparisons quite a lot. Since you poorly stated the meaning of your sentence (just as you had in your opening posts), one would, by default, map the poorly described chronological event of yours into what is generally known.
Now if you meant for some other event, and if you indeed wanted to illustrate your point as opposed to being a pompous ass with centipedes crawling up your ass, perhaps then you should have spelled it out.
On the other hand, perhaps you simply wanted to disparity, real or imaginary, between what *you* know and what the rest of us puerile e-plebeians know (or don't know). And at the first opportunity of finding someone (who happens to be me) who failed to recognize the true and deep wisdom of your previous, you could not resist the urge to put me in place as the ignoramus that I am.
And so you did, you typed your response and surely and securely clicked on the "post" button. And by now you dick was hard. Well played sir, well played.
And the calculation for you to perform was 2011 - 1930 > 80: your suggestion of the purpose of work is outdated and belongs long ago in a less advanced society.
Obviously. Pray tell exactly what the purpose of work really is then. After all, you still haven't explained. I know you deeply believe you have, but you haven't.
I realise that history education is so fucking poor that the only two things on this site people seem to remember happened before the '80s were Hitler and the American Revolution (and/or possibly French)
And how long have you been waiting for the opportunity to say this?
The 1930s were... well, I'll leave your state-provided education to calculate.
Godwin's much? Different states and polities, past and present, have provided for government-sanctioned work in exchange of (or as a way to compensate for) benefits without involving inhuman, cruel ideologies. I will leave your whoever-provided-by education to verify this.
To simply take the concept of working at a state-designated job as a condition to receive unemployment benefits after a certain period of receiving them without any questions asked is it really that inhuman? That cruel? I would actually argue that this has been the very premise of humanistic, state-sponsored well-fare since the times of Hammurabi. Heck, possibly it's been one of the threads of the very fabric of society since men formed the first hunter-gathered bands eons ago.
For you to mention the rise of Nazism as a counter-argument of my previous post would seem to suggest that indeed, there is an undeniable and unavoidable link between the two. That one is a sufficient and necessary antecedent, and that the other is an inevitable consequent, or that both are of a similar (if not equal) nature.
That is one hell of a supposition, one that does not hold water. More than a supposition, it is a premeditated amalgamation of a strawman with an attempt to paint guilt by (a yet to-be demonstrated) association. Your argument is not an argument of logic or reason or one based on historical precedence. It is not an argument of morality of ethics (normative or otherwise.)
Your argument is not one extracted out of reason, the exercise of logic, or a set of ethics. Instead, your argument is built on a fallacy, one that you built yourself to carry out an argument, a line of thought that is demonstrably false despite your insane primal need to pursue it. Your argument is nothing more than a matter of rhetorical convenience and mindless ideological posturing.
Why is this an story? Where is the scandal? How much do you complaining morons think it costs to develop an application, in particular one involving a team, and not a single lone wolf?
Are today's children facing technology overload, or simply gearing themselves up for life in a digital world? This article examines the effects of exposing children to technology at a young age. Researchers warn of the potential dangers of too much 'screen time,' pointing to alarming (some say scaremongering) research that suggests over-exposure leads to an increased risk of developing autism and Attention Deficit Hyperactivity Disorder. Educators, meanwhile, highlight how technology can improve interaction between child and parent, and provide essential life skills, such as enhanced communication and multitasking. Parents are left with conflicting messages — but how much technology is too much technology for children?
Depends on the kind of technology. Are we are talking educational videos and assembly kits under adult supervision? Are we talking strapping kids to a chair and letting them watch Baby Einstein for 6 hours at a time? Are we comparing "Keeping Up with the Trashdashians" exposure to technology?
Assuming we are talking technology with a pedagogical purpose, children can take as much as you teach them they can handle. Raise your expectations in a positive, but disciplined way, and that's what you will get out of children. Expect them to be dumb, and they'll be dumb. Expect them to be trash, and they'll be trash.
As a parent, I can tell you this: It is as simple as that.
What the fuck? Are you retarded? The satellite needs to do two things, communicate with a base station and perform the maneuvers it's commanded to. There is zero need for it to have any intelligence of its own. It can be useful if it has some, but it is by no means mandatory.
And the base station is telling it to recalibrate, for fault-tolerance and redundancy. Obviously, calling people names while posting anonymous shows your experience and extensive CV in the satellite communications industry, so I bow corrected by your articulate prose.
Why the fuck do you still work for them? You have four year's work experience, time to move on!
You haven't been out of work or haven't been out of work for long recently, have you?
He does have a point. The current software-related job market conditions are not as bad as in 2007-2009 (or worse, during the dot-com bubble burst). Obviously it doesn't mean to throw a turd at your employer's face and leave. But it does mean it is time to be proactive with one's career, and look for alternatives (there always are.).
Unless you are working with a big engineering/engineering-related firm like Google, Amazon, Microsoft or Lockheed Martin or you are working in a technological dream job, 4-5 years is too much to stay at one place. Staying longer (specially in a place that sucks monkey gonads), that's a good way to become COBOLIZED.
The power to hire and fire as they damn well please, and corporate contact with the clients.
And also the power to give you an ugly reference if you don't kiss their ass.
Sometimes an insane captain would rather sink his own ship rather than let one rat escape undrowned.
I'm not sure in what planet you are, but no company takes an ugly reference without a grain of salt, if ever. For quite some time companies only care to get a reference indicating whether 1) you indeed worked where you claimed to have worked, and 2) that you worked on the things you claimed. High marks from a past employer are just added bonuses.
Also, it cuts both ways unless you are fresh out of school (or you are a sucker.) Employers can hire and fire as they please, specially the bad ones. Do you want to work with that kind of an employer. No. Not unless you have to. And the frequency in which you have to is directly proportional on how you actively control your career and professional life.
Don't wait for shit to get bad. Look ahead for your career. If all you know are shitty bosses and employers, you have to ask yourself what exactly you have been doing with your career development. One bad employer here and there is inevitable. But enough of them to make one believe that is the status quo, that's on you.
How Gods good name is a CS Major suppose to compete with India & China? If you're that smart, why not just get a nice Math Major (they're practically the same thing anyway) and go off and do your own thing w/o the added stress?
By not being a replaceable code monkey? By not getting a CS degree and then, of all things, specialize in replaceable work like entry-level PHP development or Apache HTTP server admin (yeah, I've seen that title/role)?
The problem of off-shoring software work is present, of course. But it is not the boogeyman retards paint it to be. Never has been.
If you successfully send up a spy satellite, you know exactly where your satellite is - it is where you put it, and it is pointing where you asked it to point. Otherwise you didn't successfully send up a spy satellite.
I'm not sure I follow how your post follows as a counter-argument to what amicusNYC said:
the purpose is for the satellite to calibrate its own position and orientation in space.
Yeah, obviously the launcher will know where the bloody satellite is. But that has nothing to do with calibration of the artifact itself. The bloody think still needs to calibrate itself (orientation, lensing, etc.) independently of the launcher's knowledge of its position. In fact, the satellite needs to calibrate itself to confirm his position and trajectory down to base. Then you know the thing is working as intended. Then you know - as you said it - where exactly the satellite is. People do several forms of deployment confirmation (to see that shit is working as expected, where they should be) for simple CRUD web apps. One would imagine aerospace agencies would do at least that much with expensive shit flung into space, me thinks.
You are assuming that this person even has that kind of job. If they only care about programming, it's a lot more likely that they will work in research. Possibly for a business, but maybe also at a University, and they won't have to deal with requirements, or customers. They may speak to other company researchers, professors and students, but chances are that they will be speaking to them about subjects that they find interesting, and so it won't be a burden for these people to deal with each other. I fail to see the problem.
If someone is going to work as a professional developer in a team, then yes social skills would make things much easier of course.
If they only care about programming in the literal sense of the word, and have no interest in working as a programmer, then they are behavioral outliers. They are hardly the focus of the discussion on the usefulness of social skills. Maybe these kind of things are not properly conveyed in internet forums, but to me, that focus is apparent for such a discussion.
BTW, I'm not trying to be an ass, just trying to explain my perspective.
Code metrics are fine if all you care about is raw code production. But what happens to all that code once it's written?
Seriously, does the author has to ask? Or anyone that does software development for that matter? Sadly, apparently they have to ask.
You never get to a point where you can say "code once it's written". Code changes after deployment, there are new releases, bug fixes, shit like that which crops up in real life.
So assuming you are gathering metrics the smart way and in a manner that your particular project and organization, then, you simply keep gathering metrics as you re-factor your code, add new features and fix new bugs.
At the very least once should be running McCabe, SLOC metrics (and LCOM metrics when doing OOP), # of open bugs per component and per release version and man-hours involved for a particular project/component/release. Identify and sort components by the # of open issues (fixed bugs, unresolved bugs, partially implemented features) and see where there is a relation between these issues and any or all of these metrics.
Project/department/solution stack specific metrics, when done intelligently serve as structural red flags. They help prioritize.
You can track which components have the highest McCabe metric, for example. Though you should always refactor, metrics like this can flag which part of the software needs more urgent refactoring, that's another example. You can keep track of the # of SLOC changes (additions, modifications and deletions) in a component from release to release (a measure of entropy), as well as the # of bugs detected (also from release to release).
Then you compute a ratio of entropy/bugs detected per release. And if you find that the ratio of your last release (named A) is considerably smaller to the previous ratio (named B), then you can take that as an indication that there might be B-A undetected bugs in this release. And if after a certain number of releases, the ratio is still small, then you can take that as an indication that your quality control has improved.
Things like that are what you do with code during development and during deployment and maintenance. It is never over with software. Until you completely decommission a software system, code is never over.
"Like it or not, social skills are.. well, skills. If you suck at them, you should try to improve them any way you can."
"Like it or not, social skills are.. well, skills. If you suck at them, you should try to improve them any way you can."
First off - If someone's only interest is programming, why the hell would they care about social skills?
Because as a co-worker, they absolutely suck to work with them.
Because, as an employer, it absolutely sucks to hire them and then find out that they suck at doing what I'm paying them to do (which is not to code alone in a fucking corner, but to work with other co-workers to come up with a solution to complex problems that cannot be solve by one single person, however genius said person might be.)
Because, as a customer, I will face products that are not necessarily are what I paid for. It is bad enough because it is almost inevitable with complex software. But to have that situation partially (and sometimes totally) because a social fuck-o throws a behavioral monkey wrench in the machinery that is trying to get shit done.
In other words, because they suck, and they cost money, and because they milk paychecks while acting like prima donas. That's why.
Why "should" they try to improve them?
If you really have to ask yourself that question...
The act of programming itself is certainly not inherently social.
Only when we limit the definition of programming to the mere act of typing instructions or prototyping an algorithm. In other words, this is true only if you equate the act of programming itself with the act of coding at the micro level. That has not been true for several decades now.
Also, with a programming task above a certain level of complexity, even if you methodically divide and conquer, you have to go back to some source for clarification on requirements or requirement discovery, verification and validation, peer consultation and verification. This is specially true for necessarily volatile business requirements and/or non-functional requirements that will have an effect in the architecture of any non-trivial, sufficiently complex system.
Most programmers seem to code much better when they are left to themselves for hours/days/weeks to just fully immerse themselves in the problem that they're trying to solve.
Under ideal conditions when you know enough of the problem (and there are no external forces to cope with) this is true for most. But programming does not occur under those conditions. I would also argue that if someone needs/thinks to need to immerse in a problem for weeks, there is a chance to introduce errors and come up with a flawed solution. A task requiring weeks of immersion is a task/problem of such complexity that it requires constant collaboration, validation and verification from peers in order to achieve an appropriate solution for the aforementioned task/problem.
Other areas of software development can benefit from having good social skills, for example if you get involved with the customer then you can save a lot of wasted time having to re-write things when they come back and say "that's not what we asked for!".
It's not only customers, but liaisons, business analysts, vendors, admins, fellow programmers in the same team, programmers in external teams, program managers (and if you do R&D or work with the DoD or DoE, with systems engineers, electrical/computer engineers, mechanical engineers, etc.) In other words, stakeholders.
You also have to bear in mind that not all programming is applications programming There are researchers who may be writing programs to solve specific problems where there is no end user per se. Other people may use the code or ideas that have emerged from solving this problem, but they will probably just read that that in a paper rather than strictly requiring any social interaction.
My point exactly, we rarely get days (and surely never get weeks) to immerse ourselves in a solution space when programming. We can't, as it is a sure way to produce the wrong solution for the wrong problem. That is what differentiates the mere act of coding with the act of programming (which itself is different from the act of systems and software engineering and development.)
Also when it comes to writing things like device drivers, the only thing you'd really expect to get back from users are bug reports.
Really, and where do they get their requirements for said drivers then? In addition of users bug reports, said programmers get requirements from marketing, market/product development and R&D. I think there is too much focus here on "users". Think stakeholders.
And if - one day - there is a lawsuit about your work for the client, there is no proof what you did, what you told them or who authorized it...
At least always send a later email describing what has happened in skype calls...
Dude, that's what chat history (which is what many people use Skype the most) is for. Thanks for playing.
The truth is somewhere in the middle. When everyone in the video game industry is used to 80 hour weeks (or worse) during crunch, then you've got a systemic issue or poor management. They haven't found a working business model where they can adequately staff and make budget. And given that consumers constantly expect more for less, and expect AAA titles to compete price wise with iPhone games. So management does need a better strategy for how their run their departments/businesses.
However, I question your claims of 3,600 engineers and never requiring unplanned overtime. It is impossible to plan for every single contingency. Things break and go wrong all the time in the universe. If you never, ever need unplanned overtime, then you must be severely overstaffed.
Well, he did say this (which is different from what you were questioning):
I've never had to work more than 4 hours unplanned overtime in a week in all that time, and those occasions are only 3 or 4 times a year
Also, I'm not sure if he was referring about the OT or lack thereof for himself or for the total 3,600 engineers. Some projects, specially DOD-related, are somewhat over-staffed on purpose, following a rigid waterfall or waterfall/spiral hybrid model to ensure a uniform scheduling (and typically to charge more - sadly, and also because the requirements are incredibly fixed and non-volatile). Groups like that can churn out results at uniform intervals for years without requiring unplanned over time until it is time for integration (which is when shit hits the fan or they have to readjust to some changing doctrine/paradigm shift or whatever.)
I suspect that you are a team leader and nothing more. It all looks simple when you have small straightforward projects. Run teams of several hundred while being responsible for cash flow and business and you might be more credible.
Nobody runs teams of several hundred. Well, no one except the micro manager types and Steve Jobs (RIP). The only people who tend to work quite a few hours in excess of 60/week are typically mid-level management (read software team leads). People below them do not (and do not have to) work that much in general. People above them do not either. Project leads, lead scientists and architects (who could be said to run hundred-strong teams via mid-level management proxy) tend not to work beyond 55 hours a week.
Obviously in time of crisis, or near product releases, the midnight oil is burn across the board, vertically and horizontally. But, with the exception of the chronically mismanaged, you do not, ever, make it more than 60/hr week. 80? That's just bullshit...
That story was so overblown. When you work in software development, like many other fields, there are times near a release (or whatever milestone) where you have to work a lot of overtime.
Bull crap. Bull crap. Bull crap. The only time I worked more than 50 hours consistently was at a gig as an hourly paid consultant. In general, as an hourly paid consultant or salaried employee, a 50 hr week is the norm, give or take a few hours. Perhaps nearing 60 hours a week or two prior to a release. Being doing this for almost 17 years now, and I've never seen a requirement of working 80 hour weeks. The only time you do that is if you are a consultant in a "tiger team" specializing in very difficult niches or urgent problems, and only for a few weeks.
It's simply a fact of life, and if you don't like it, go teach 8th grade gym.
It is a simple fact of life that you don't know what you are talking about (or you have no control of your software development career, and are obligated to work long-ass hours.)
Not to mention she acted as if she represented the spouses of all EA developers, when in fact she represented herself and had some vague support from a few spouses on her husbands particular development team. EA's practices were totally in line with GAME industry standards,
There. Fixed that for you. And just because they were in line then, that didn't make them right then or now (I mean, the were legally forced to change, weren't day.) Being in line with "current" industry standards means squat (after all, slavery in the 1800's was in line with industry standards, and 12hr work days/7 days a week without workers comp was also in line with standards at the turn of the 20th century.)
which are in line with market realities and in line with the compensation package offered.
Noooooooooooooo. The compensation packages weren't near what one would/should get for working that many hours. Sorry, for that, better to do hourly consulting.
If you want the opportunity to make a six figure salary, you're going to have to be prepared to make some sacrifices.
Those sacrifices do not involve working 80 hours a week. In fact, they don't even involve working more than 50 hours a week. You work more than that if you are stupid and inefficient, when you have to slave yourself to make that goal (as opposed to having a good specialty that you can charge a high price per hour and thus do that amount for less hours per week.)
If you can't handle 80 hour weeks for a few months when the time comes, well, as I alluded, my old junior high school is in desperate need of a gym teacher.
If you have to put up with 80 hour work weeks, it means that you have few career choices, and thus have no option but being someone's bitch. There are plenty of senior-level people working in software making a 6-figure salary without having to put that kind of hours per week. Seriously, you don't know what you are talking about.
Instead of running your own business. Then you don't need to provide your quality and skills to anyone, and it can make more money in the long run as you are not limited to your salary and don't have to fear getting fired. If you know web-design and running Drupal, then start to work with those.
^^^ This is an uninformed post.
This is a tremendous and terrible simplification. Let's suppose that the OP runs his own business? Now he has to be a salesman in addition to being a developer. He still has to sell his technical skills to prospective clients. Barring the typical mom-and-pop shops that need some help in getting a web page up, most companies will still require some sort of technical "affidavit" (and for better or worse, many still rely on academics as a filter.)
You can be a consultant and go 1099, register yourself with a LLC and sell your consulting services to a larger consulting firm. Still, the consulting firm will ask for a technical affidavit, and the clients the consulting firm will pitch you for will also ask for a technical affidavit. As I said in the 5th sentence of the paragraph above, the chances to avoid questions on self-taught skills are still limited for a self-employed developer, not unless he narrows the clients he caters to (and ergo, narrows the opportunities to do business.)
For the OP and for people in his position, it is really hard to sell yourself without a diploma. It is sad, but true. In fact, even some diplomas that used to have some value do not help anymore. Case in point, me. I started working with just a AA degree (and later worked my way up to a 4-year degree and then grad school.) Back then when I started, it was feasible to get a good development job with just a AA/AS or even with nothing but experience. But that's not the case anymore.
OTH, I think it is a good thing that you are looking at conferences like DrupalCon. Get in there and network, network, network. Build your CV indicating the jobs you have done. Moreover, open a github or mercurial account and create stuff of your own (pet projects and mockups) that show case what you can do. So that when people ask you, you can tell them "look here".
Once you develop your CV, and your professional network, lack of formal education becomes less of an issue. The problem is to get the ball rolling, and I'm afraid that in this time and age, the odds are against you. It is not impossible, but it is a heck of a lot difficult than 10-20 years ago.
Regardless of how you proceed, I would suggest (if not urge) you to get a degree. If you have the skills, a degree might or might not help improve them. But it will certainly help in opening a lot more doors. And in the end, job hunting is a numbers game. Good luck.
I'm going to be blunt here: you're an idiot.
Because you say so, it is obviously so.
And not just an idiot worthy of sympathy
It's not like anyone is asking for your sympathy, nor that yours would mean anything. But then again, your statement is so objective, it must be true. It has to be, right, right?
but one who rides so far and so high on his hobby horse
Pot tells kettle?
you knock over your audience in fits of laughter.
How many people are laughing? How did you count them? How did you measure that statement? Ah, of course, it's a figure of speech, and a very subjective one at that. Ergo, one of very little value. But hey, if you want to build yourself into a e-frenzy believing you have said something clever, be my guest. I won't be the one busting your bubble.
I mention the 1930s not because of Nazism but as the last decade before the rise of the welfare state - the last decade where men in general in the free West were "required to work there if you want to eat".
Well, typically, in the internet realms, people tend to bring Nazi comparisons quite a lot. Since you poorly stated the meaning of your sentence (just as you had in your opening posts), one would, by default, map the poorly described chronological event of yours into what is generally known.
Now if you meant for some other event, and if you indeed wanted to illustrate your point as opposed to being a pompous ass with centipedes crawling up your ass, perhaps then you should have spelled it out.
On the other hand, perhaps you simply wanted to disparity, real or imaginary, between what *you* know and what the rest of us puerile e-plebeians know (or don't know). And at the first opportunity of finding someone (who happens to be me) who failed to recognize the true and deep wisdom of your previous, you could not resist the urge to put me in place as the ignoramus that I am.
And so you did, you typed your response and surely and securely clicked on the "post" button. And by now you dick was hard. Well played sir, well played.
And the calculation for you to perform was 2011 - 1930 > 80: your suggestion of the purpose of work is outdated and belongs long ago in a less advanced society.
Obviously. Pray tell exactly what the purpose of work really is then. After all, you still haven't explained. I know you deeply believe you have, but you haven't.
I realise that history education is so fucking poor that the only two things on this site people seem to remember happened before the '80s were Hitler and the American Revolution (and/or possibly French)
And how long have you been waiting for the opportunity to say this?
but please do get a grip.
See above.
The 1930s were... well, I'll leave your state-provided education to calculate.
Godwin's much? Different states and polities, past and present, have provided for government-sanctioned work in exchange of (or as a way to compensate for) benefits without involving inhuman, cruel ideologies. I will leave your whoever-provided-by education to verify this.
To simply take the concept of working at a state-designated job as a condition to receive unemployment benefits after a certain period of receiving them without any questions asked is it really that inhuman? That cruel? I would actually argue that this has been the very premise of humanistic, state-sponsored well-fare since the times of Hammurabi. Heck, possibly it's been one of the threads of the very fabric of society since men formed the first hunter-gathered bands eons ago.
For you to mention the rise of Nazism as a counter-argument of my previous post would seem to suggest that indeed, there is an undeniable and unavoidable link between the two. That one is a sufficient and necessary antecedent, and that the other is an inevitable consequent, or that both are of a similar (if not equal) nature.
That is one hell of a supposition, one that does not hold water. More than a supposition, it is a premeditated amalgamation of a strawman with an attempt to paint guilt by (a yet to-be demonstrated) association. Your argument is not an argument of logic or reason or one based on historical precedence. It is not an argument of morality of ethics (normative or otherwise.)
Your argument is not one extracted out of reason, the exercise of logic, or a set of ethics. Instead, your argument is built on a fallacy, one that you built yourself to carry out an argument, a line of thought that is demonstrably false despite your insane primal need to pursue it. Your argument is nothing more than a matter of rhetorical convenience and mindless ideological posturing.
It is a "hard labour camp" in the sense that you're required to work there if you want to eat
Egad!!! What a horrible concept!!! </sarcasm>
Why is this an story? Where is the scandal? How much do you complaining morons think it costs to develop an application, in particular one involving a team, and not a single lone wolf?
In the world of business, who you know is much more important. Your friends and parents are far more important then the kind of Ph.D you have.
Rhetorical nonsense.
1. Nobody with a sig advertizing knock-off PHP plugins even has the right to use the word "supercomputer" in a sentence.
"weee wee weee ewww eewww ewww whine whine whine" -> i dont understand. what are you trying to say ?
What, you are not going to address #2 and #3?
Are today's children facing technology overload, or simply gearing themselves up for life in a digital world? This article examines the effects of exposing children to technology at a young age. Researchers warn of the potential dangers of too much 'screen time,' pointing to alarming (some say scaremongering) research that suggests over-exposure leads to an increased risk of developing autism and Attention Deficit Hyperactivity Disorder. Educators, meanwhile, highlight how technology can improve interaction between child and parent, and provide essential life skills, such as enhanced communication and multitasking. Parents are left with conflicting messages — but how much technology is too much technology for children?
Depends on the kind of technology. Are we are talking educational videos and assembly kits under adult supervision? Are we talking strapping kids to a chair and letting them watch Baby Einstein for 6 hours at a time? Are we comparing "Keeping Up with the Trashdashians" exposure to technology?
Assuming we are talking technology with a pedagogical purpose, children can take as much as you teach them they can handle. Raise your expectations in a positive, but disciplined way, and that's what you will get out of children. Expect them to be dumb, and they'll be dumb. Expect them to be trash, and they'll be trash.
As a parent, I can tell you this: It is as simple as that.
What the fuck? Are you retarded? The satellite needs to do two things, communicate with a base station and perform the maneuvers it's commanded to. There is zero need for it to have any intelligence of its own. It can be useful if it has some, but it is by no means mandatory.
And the base station is telling it to recalibrate, for fault-tolerance and redundancy. Obviously, calling people names while posting anonymous shows your experience and extensive CV in the satellite communications industry, so I bow corrected by your articulate prose.
Why the fuck do you still work for them? You have four year's work experience, time to move on!
You haven't been out of work or haven't been out of work for long recently, have you?
He does have a point. The current software-related job market conditions are not as bad as in 2007-2009 (or worse, during the dot-com bubble burst). Obviously it doesn't mean to throw a turd at your employer's face and leave. But it does mean it is time to be proactive with one's career, and look for alternatives (there always are.).
Unless you are working with a big engineering/engineering-related firm like Google, Amazon, Microsoft or Lockheed Martin or you are working in a technological dream job, 4-5 years is too much to stay at one place. Staying longer (specially in a place that sucks monkey gonads), that's a good way to become COBOLIZED.
Bosses have something that developers don't.
The power to hire and fire as they damn well please, and corporate contact with the clients.
And also the power to give you an ugly reference if you don't kiss their ass.
Sometimes an insane captain would rather sink his own ship rather than let one rat escape undrowned.
I'm not sure in what planet you are, but no company takes an ugly reference without a grain of salt, if ever. For quite some time companies only care to get a reference indicating whether 1) you indeed worked where you claimed to have worked, and 2) that you worked on the things you claimed. High marks from a past employer are just added bonuses.
Also, it cuts both ways unless you are fresh out of school (or you are a sucker.) Employers can hire and fire as they please, specially the bad ones. Do you want to work with that kind of an employer. No. Not unless you have to. And the frequency in which you have to is directly proportional on how you actively control your career and professional life.
Don't wait for shit to get bad. Look ahead for your career. If all you know are shitty bosses and employers, you have to ask yourself what exactly you have been doing with your career development. One bad employer here and there is inevitable. But enough of them to make one believe that is the status quo, that's on you.
How Gods good name is a CS Major suppose to compete with India & China? If you're that smart, why not just get a nice Math Major (they're practically the same thing anyway) and go off and do your own thing w/o the added stress?
By not being a replaceable code monkey? By not getting a CS degree and then, of all things, specialize in replaceable work like entry-level PHP development or Apache HTTP server admin (yeah, I've seen that title/role)?
The problem of off-shoring software work is present, of course. But it is not the boogeyman retards paint it to be. Never has been.
But admissions officers and professors at elite tech schools can offer tips aimed at helping your child get accepted come spring
Seriously, these are 17-18 year old people going to college. Stop calling them children. That is how you begin setting high expectations for them.
If you successfully send up a spy satellite, you know exactly where your satellite is - it is where you put it, and it is pointing where you asked it to point. Otherwise you didn't successfully send up a spy satellite.
I'm not sure I follow how your post follows as a counter-argument to what amicusNYC said:
the purpose is for the satellite to calibrate its own position and orientation in space.
Yeah, obviously the launcher will know where the bloody satellite is. But that has nothing to do with calibration of the artifact itself. The bloody think still needs to calibrate itself (orientation, lensing, etc.) independently of the launcher's knowledge of its position. In fact, the satellite needs to calibrate itself to confirm his position and trajectory down to base. Then you know the thing is working as intended. Then you know - as you said it - where exactly the satellite is. People do several forms of deployment confirmation (to see that shit is working as expected, where they should be) for simple CRUD web apps. One would imagine aerospace agencies would do at least that much with expensive shit flung into space, me thinks.
You are assuming that this person even has that kind of job. If they only care about programming, it's a lot more likely that they will work in research. Possibly for a business, but maybe also at a University, and they won't have to deal with requirements, or customers. They may speak to other company researchers, professors and students, but chances are that they will be speaking to them about subjects that they find interesting, and so it won't be a burden for these people to deal with each other. I fail to see the problem.
If someone is going to work as a professional developer in a team, then yes social skills would make things much easier of course.
If they only care about programming in the literal sense of the word, and have no interest in working as a programmer, then they are behavioral outliers. They are hardly the focus of the discussion on the usefulness of social skills. Maybe these kind of things are not properly conveyed in internet forums, but to me, that focus is apparent for such a discussion.
BTW, I'm not trying to be an ass, just trying to explain my perspective.
Code metrics are fine if all you care about is raw code production. But what happens to all that code once it's written?
Seriously, does the author has to ask? Or anyone that does software development for that matter? Sadly, apparently they have to ask.
You never get to a point where you can say "code once it's written". Code changes after deployment, there are new releases, bug fixes, shit like that which crops up in real life.
So assuming you are gathering metrics the smart way and in a manner that your particular project and organization, then, you simply keep gathering metrics as you re-factor your code, add new features and fix new bugs.
At the very least once should be running McCabe, SLOC metrics (and LCOM metrics when doing OOP), # of open bugs per component and per release version and man-hours involved for a particular project/component/release. Identify and sort components by the # of open issues (fixed bugs, unresolved bugs, partially implemented features) and see where there is a relation between these issues and any or all of these metrics.
Project/department/solution stack specific metrics, when done intelligently serve as structural red flags. They help prioritize.
You can track which components have the highest McCabe metric, for example. Though you should always refactor, metrics like this can flag which part of the software needs more urgent refactoring, that's another example. You can keep track of the # of SLOC changes (additions, modifications and deletions) in a component from release to release (a measure of entropy), as well as the # of bugs detected (also from release to release).
Then you compute a ratio of entropy/bugs detected per release. And if you find that the ratio of your last release (named A) is considerably smaller to the previous ratio (named B), then you can take that as an indication that there might be B-A undetected bugs in this release. And if after a certain number of releases, the ratio is still small, then you can take that as an indication that your quality control has improved.
Things like that are what you do with code during development and during deployment and maintenance. It is never over with software. Until you completely decommission a software system, code is never over.
"Like it or not, social skills are.. well, skills. If you suck at them, you should try to improve them any way you can."
"Like it or not, social skills are.. well, skills. If you suck at them, you should try to improve them any way you can."
First off - If someone's only interest is programming, why the hell would they care about social skills?
Because as a co-worker, they absolutely suck to work with them.
Because, as an employer, it absolutely sucks to hire them and then find out that they suck at doing what I'm paying them to do (which is not to code alone in a fucking corner, but to work with other co-workers to come up with a solution to complex problems that cannot be solve by one single person, however genius said person might be.)
Because, as a customer, I will face products that are not necessarily are what I paid for. It is bad enough because it is almost inevitable with complex software. But to have that situation partially (and sometimes totally) because a social fuck-o throws a behavioral monkey wrench in the machinery that is trying to get shit done.
In other words, because they suck, and they cost money, and because they milk paychecks while acting like prima donas. That's why.
Why "should" they try to improve them?
If you really have to ask yourself that question...
The act of programming itself is certainly not inherently social.
Only when we limit the definition of programming to the mere act of typing instructions or prototyping an algorithm. In other words, this is true only if you equate the act of programming itself with the act of coding at the micro level. That has not been true for several decades now.
Also, with a programming task above a certain level of complexity, even if you methodically divide and conquer, you have to go back to some source for clarification on requirements or requirement discovery, verification and validation, peer consultation and verification. This is specially true for necessarily volatile business requirements and/or non-functional requirements that will have an effect in the architecture of any non-trivial, sufficiently complex system.
Most programmers seem to code much better when they are left to themselves for hours/days/weeks to just fully immerse themselves in the problem that they're trying to solve.
Under ideal conditions when you know enough of the problem (and there are no external forces to cope with) this is true for most. But programming does not occur under those conditions. I would also argue that if someone needs/thinks to need to immerse in a problem for weeks, there is a chance to introduce errors and come up with a flawed solution. A task requiring weeks of immersion is a task/problem of such complexity that it requires constant collaboration, validation and verification from peers in order to achieve an appropriate solution for the aforementioned task/problem.
Other areas of software development can benefit from having good social skills, for example if you get involved with the customer then you can save a lot of wasted time having to re-write things when they come back and say "that's not what we asked for!".
It's not only customers, but liaisons, business analysts, vendors, admins, fellow programmers in the same team, programmers in external teams, program managers (and if you do R&D or work with the DoD or DoE, with systems engineers, electrical/computer engineers, mechanical engineers, etc.) In other words, stakeholders.
You also have to bear in mind that not all programming is applications programming There are researchers who may be writing programs to solve specific problems where there is no end user per se. Other people may use the code or ideas that have emerged from solving this problem, but they will probably just read that that in a paper rather than strictly requiring any social interaction.
My point exactly, we rarely get days (and surely never get weeks) to immerse ourselves in a solution space when programming. We can't, as it is a sure way to produce the wrong solution for the wrong problem. That is what differentiates the mere act of coding with the act of programming (which itself is different from the act of systems and software engineering and development.)
Also when it comes to writing things like device drivers, the only thing you'd really expect to get back from users are bug reports.
Really, and where do they get their requirements for said drivers then? In addition of users bug reports, said programmers get requirements from marketing, market/product development and R&D. I think there is too much focus here on "users". Think stakeholders.
... that Hollywood doesn't pull a "Green Lantern" on "Dr. Who".
But is this akin to a company refusing to give back a phone number you've ported to their account? Then again, whoever would be that stupid?
Are we talking about a company as "his employer" or a company as "phone line provider"? If the former, what would we mean by "porting"?
But as you said, who would do something that stupid. Sadly, humanity always finds new ways to display stoopid :/
What, that they're mostly in their thirties?
You might want to quote something so that people know what you are addressing with your post.