the tech industry and the people involved in it have a made a mockery of themselves in so many ways, it's kind of hard to pick some arbitrary starting point. i mean, there is j2ee vs. .net, open source vs. proprietary, richard stallman making sure that EVERYBODY knows the difference between the linux kernel and the gnu applications on top of it, which company makes the most flattering khakis for men 15 to 20 (and then some) pounds overweight...jesus, where do you start with all this shit???
being that this is my first post, i've decided to start with something relatively simple - words, phrases and acronyms. buzzwords that almost every moron in the software industry has had to lend a deaf ear to one time or another. also most of these words have been bashed to death on one way or another, so i'm admitting to not being too terribly original...but these i think are the top 5. (mosts posts will probably have strong language, a harsh tone, etc... so i apologize upfront to those who are offended)
ok, here we go!
Enterprise (or any phrase with the word Enterprise in it).
usage: "We need to make sure that we standardize on FileMaker Pro as our enterprise platform of choice," the tech-savvy development manager said to the CIO.
Oh man, if i had a penny for every time i've heard some moron say something about enterprise that or enterprise this....as soon as i hear it, my brain justs shuts down. just for once, instead of hearing some moron in a suit acting like a used car salesman telling me about the latest piece of "enterprise" technology, i'd love to hear, "look it's just a really big piece of fucking software that infests every nook and cranny of your company, is riddled with bugs, impossible to maintain, and Justs Doesn't Work." that would be nice. or when i hear if i use "technology x" in my code, all of a sudden my software will have enterprise scalability" or be "enterprise ready." or if my system was designed in exactly this fashion, it will have a "enterprise architecture." it's not so much a word anymore as it's a prefix...pretty soon we'll have enterprise developers developing enterprise software in enterprise cubicles taking enterprise sized coffee breaks, and as a result will have to take enterprise piss breaks into the enterprise urinals. however, this is not the only word that is completely meaningless...
Architect (or Systems Architect, Enterprise Architect ( which must be really meaningless), [insert any adjective here] Architect)
usage: as the architect connected the boxes in the VS 2005 Whitehorse designer in a moment of clear thought he realized..."i have no fucking clue what i am doing."
ok, here i must admit that i've actually had this label attached to my name over the course of my career in software development. just shows how meaningless the word really is because i still have no idea what the hell it means. when i'm introduced to somebody who is the "Architect" i think to myself - "oh...somebody who couldn't code worth shit, but was in too deep to leave the tech industry." personally i'm of the persuasion that if you are calling yourself an architect you better be able to write some pretty fucking great code, or it's back to the drawing board for you, buddy. as a software developer how can you have any respect for somebody that is designing (no, architecting) a system and can't tell the difference between a for loop and a do...while loop? are you kidding me? it's been my experience that when developers need help with an implementation or integration detail, or have questions, they are going to go to you...and telling them not to bother you because you're working on something more important or that you don't have time isn't going to cut it. while i don't have a definition for an architect, i could tell you some qualities that i would be looking for (in no particular order):
1. has experience with a variety of software methodologies (rup, xp, scrumm, tdd, crystal, flavor of the month...) 2. is a GREAT mentor 3. has a incredible understanding of the underlying platform being used for implementation 4. has no ego (very importand because he should...) 5. consider himself very much part of the development effort with all other developers. 6. is fantastic at communicating technical concepts to both technical and non-technical individuals 7. has knowledge to share and help in all aspects of development.while no means exhaustive, i would think this would be a good start.
usage: "After reading the executive summary in eweek, the CIO felt comfortable in telling his staff that "you'd better make those access databases into a SOA, or it'll be your asses!!"
the latest buzzword to describe a software architecture that will revolutionize your world...within in the last 2 years or so (along with Web Services) this little acronym has been flooding the market - promising to make any business that finds a way to incorporate it will be so ahead of the competition that everyone else will just go bankrupt and die. not quite true...
usage: It's because of web services that we can make our refrigerator talk to the bidet using a SOA
i don't even think i need to comment on this one...
usage: "By carefully explaining to the developers to make sure that you always concatenate all your strings into one big one for one Response.Write statement, the consultant felt confident that everyone on the development team will start to get into the habit of classic ASP best practices in no time."
i've never heard more diarrhea of the mouth...how many times have you heard "we make sure we are always following [insert software company name here] best practices." i had no idea that you could encompass every need in every company into a carefully constructed 2 - 4 sentence development guideline. pretty amazing, huh? i shit you not, the above usage example was not something i made up of out of thin air..."we'll take a best practices approach to this..." i've heard that way, way, way, too many times. basically if i hear this, it usually means, we have absolutely no idea what the hell we're doing, but it's a best practice so how bad can it be?? soooooooo meaningless. do you mean to tell me that you purposely try to write software using "worst practices?" how many times have you heard this, "we only need to go throught the loop 10 times, but i made sure we loop 10000 times just to be safe." the fact that you have to qualify anything using the phrase "best practices" seems pretty fucking scary to me.
at one point and time all the above words actually had a recognized connotation that developers and architects could use to easily communicate concepts that might not be easy to express in 1 or 2 words. now these words are just about meaningless because everybody HAS TO jump on the bandwagon (or they won't make money). having a common vocabulary really makes our jobs easier. this is one of the reasons why design patterns are so effective. (patterns actually almost made the list...maybe next time). instead of saying "well i got this class here, that other classes hook into, and when shit happens it lets them know," you can just say "we're using an observer here." and everybody understands (you would hope). how many shitty developers have you had to deal with because when they were interviewed they were able to spout out buzzwords at 90 million a minute (hiring practices are a whole other topic)?? by jumping on the bandwagon and just cumming at the chance to use these words over and over again, we all sound like a bunch of morons, but trust me, nobody is listening (except maybe the IT manager in charge of hiring).
if you've made it this far, thanks for your time. in addition i'd like to thank some others that i owe a way long overdue thanks to