Before long, people will stop watching TV and movies because it LEADS to wanting to record from TV or buying a DVD which leads to wanting to make backups which leads to being a felon! But if you don't know what you're missing, you won't be tempted by the 'drug' that is the entertainment industry.
Interesting insight. Before the general populace feels this way, it will have to hit home closer than it does. Perhaps when it is a felony with its own policing organization and taking up so much tax money to have a dedicated organization to enforce IP, it'll make as much news as all the other organizations that take up so much tax money to enforce and along with all the other criminals we hear about on the news outlets.
Why I think it'll never make news is because no one will care to constantly hear about copyright infringers which will never be perceived by the public to be as detestable as murderers and rapists. Also, big media won't want it published because it might lead to public concern and criticism. As long as media gets to write the laws, create policing organizations to enforce them on their behalf so the public must front the bill instead of the coporation, and they get to choose whether news of such ever reaches the masses in mainstream channels they own, they the media companies can continue to have their cake and eat it too.
In the long run, make enough people go into eternal debt for copying songs or movies that they can never own a house or put them in jail on a felony for copying a song and essentially guarantee they can never buy a house or rent an apartment (they check criminal records these days before accepting apartment applications and mortgage loans and employment anywhere else), and you breed a new generation of people so desperate to survive that violent crimes might actually increase signifantly as a result. When burglars and murderers get out of jail quicker becuase the system can't contain them in liu of all those copyright infringers, well, nothing will really change except taxes will go up so we can build more facilities to contain essentially more infringers for longer than we hold murderers.
I choose to use IE7 because its what I choose. I'm not ignorant, I'm not a fanboy, and I'm not brainwashed. I just prefer it. When I encounter sites (there aren't many, but I've encountered a few) that deliberately go out of their way to not support IE7 (usually because like you, they are making a statement), they don't get my business. I should not have to be forced to install another browser just so I can choose a product and apply my credit card in exchange for some good or service becuase I choose to use IE7. You choose not so support it, fine. You can do without my business or traffic, but most e-commerce that don't support IE7 are missing out on a huge potential sales oppurtunitity. Not very good business sense. If its just a weblog or anti-microsoft site than I can do without in my life, anyway. And if you really had something on your site that I can't do without, then I can use google cache to view or do without.
All the times I've used FireFox I've found things about it more annoying that the things I find aobut IE. Also, when I previously did web development I found IE to be far more robust in getting application behaviors than I did FireFox. But the company required all paying customers to use IE and that wasn't a problem to them. Maybe the landscape will change and along with it my perspective, but really, I don't see why all the hatred against IE. Its just a nother tool with its quirks. FireFox has its quirks, too.
I agree, WPF is really neat and opens up possibilities. I'm writing some interesting software on top of WPF simply becauses its far easier to do than with GDI+. I spent a year already building infrastructure that still is barely to my liking with GDI+ (C++) but then changed over the C# and WPF 2 weeks ago and I already can focus on the application because WPF provides a great vector engine. Now I dont have to focus on that kind of plumbing and MS did a better job than I could, being only one person.
That said, it bothers me a little that my audience can only be Windows XP SP2, Server 2003, Vista or later, but when Silverlight 2.0 comes out, a chunky subset of the main app will be able to function in whatever browsers support Silverlight.
I could never write this thing for Linux because I don't have the knowledge or free time to learn it and master it like I have.NET and Windows programming in general. But I do want to learn how to write this for mac, they have a vector API that might make it possible there, too.
What really tickles me is that I can create a WCF service with.NET 3.5 and then create a Javascript function that automatically wires up into the Service (AJAX and all) but the seamlessness of it all has a touch of polish. It is so simple now compared to what we had to do to wire up our AJAX to webservice calls or remoting servers and performance isn't too bad, considering we have between 250 and 400 million request on our servers during peak times, performance is acceptable..NET isn't perfect, but it does solve a lot of problems and its ancillery technologies does make many things much more possible than other platforms/toolkits (including Java in some of my cases but not all) because they take care of a lot of plumbing for you. It is just a matter of taste, however. I could never do my application in Flash but WPF does what I want perfectly.
Every time I've tried to install.NET 3.0 on the same box as one that runs any older version of.NET tends to hose whatever application required the older versions of.NET, so you can understand if my enthusiasm for installing.NET 3.5 is somewhat muted
Interesting, I've released quite a bit of software for 1.1 and when 2.0 was installed, everything for 1.1 continued to work just as it did, and things for 2.0 work as expected. Both on the Web side and the Windows Services side and the WinForms side. Never had anything in 1.1 break because 2.0 was installed.
When installed 3.0 (which doesn't replace 2.0, rather adds new assemblies to the 2.0 package) I have yet to see something in 2.0 break when 2.0 is installed on the machine. I can't imagine how applications in older version of.NET would break because they are compiled to use a specific version of the CLR and 3.0 is 3.0, but with extra assemblies that aren't apart of the initial 2.0 installation.
I've upgraded hundreds of servers and thousands of desktops (I'm a sofwtare architect for forturn 500 company) and haven't seen any problems. So, whatever issues you're experiencing, aren't common enough that I've encountered it.
Installing 3.5 I can understand may have an effect, but I'm not positive yet, I'll have to test it. Supposedly, 3.5 builds on the 2.0 framework in a sense but doesn't use the stock 2.0 assemblies. Instead, we're required to apply SP1 because they've made some changes for some reason and I can imagine that 3.5 programs won't work on stock 2.0/3.0 installations because of the compiler differences, but in all, they were especially careful not to break anything (a concept they called red-bits/green-bits) but we'll see.
My greater point is that a 3.0 installation should not have broken anything in 2.0 because they don't enhance anything in the stock 2.0 installation only add new assemblies that weren't originally there.
And why would he be a scapegoat if the company isn't being persued legally or shows no signs of impeding litigation?
The real question here is what is he not telling us in the summary that is causing so much fear about being litigated (potentially)? I doubt the company would want a rat. And even merely mentioning such a problem when there is so little evidence that a specific copyright intent is being violated might cause the management to be so fearful that a) the code gets rewritten and everyone keeps their jobs but team lead no longer wants you on his team, b) management gets fearful that the complainer will rat the company out and lets the complainer go, c) complainer talks too much about it (coworkers somehow associate this slashdot post to the individual) and loses team-coherance as a result from others in the company or d) nothing.
I think a) and b) are most likely.
Now, if it was a blatent GPL violation or MS Read-Only type license or some commercial licensing that is quite prohibitive, that might be another story... but over unattributed code in a public forum where the intention of the post implies some reasonable expectation that others are going to use the code in their own project is just plain overreacting, plain and simple.
It sounds like something is missing from the summary. Why would someone be so "paranoid" to mention to management about this egregious act of lifted code from someplace that had no particular copyright terms attached or not obviously obviously implied? The tone in which the inquisitor implied is that the co-worker is a thief and going to land the company in major trouble when, in if there is nothing more to the story, then nothing is wrong and its better just to forget about it and move on. Perhaps the poster of the story has something against the lead programmer?
But I have a different theory: Perhaps all this fear about copyright violation this, intellectual property rights that, SCO v. Linux this, Microsoft v. world that... that the younger breed of programmers/individuals are naturally paranoid of things they don't need to live in fear of and we'll start seeing a lot more of this culture-of-fear. Perhaps not much longer we'll see a breed of younger individuals just as much afraid of copying music that they'll report their parents for ripping a tune from the CD or from Internet broadcast (I'm not saying either is right or wrong).
The tone and extreme reaction to wanting to report someone to management from lifting code from a source that appears to have not attributed copyright terms/intent seems to suggest to me that there's a generation of coders living in fear resulting from massive industry propaganda and slashdot knee-jerk reactions just waiting to creep out of the woodwork as they age into career maturity in the upcoming years. My theory is this: this is just the beginning. Or, there's more to the story than reported in the original summary. You decide.
I realize that sometimes a company can get too carried away and need to be "corrected". But in general, this is why things are so expensive in the United States. A business cannot make every customer happy but now we have situations where a company can and will be sued by anyone that is unhappy. How long before nothing new arrives in this country because they will get sued for some reason and lose more money than they stand to make? Its insane.
No matter how much experience I get in writing large and flexible systems, I find myself at a point where I can both agree with you and dissagree with you at the same time. I suppose it depends on factors. Having too many developers on a project means it has to be ultra-flexible so it can accomodate everyone easily. Having fewer people on the project means it can be whatever it is because those few people will know it inside and out.
As an architect for a large company working on a system that must scale to more than a few hundred million transactions daily, I can tell you, I have great enthusiam for building/understanding super-complex systems/ecosystem-of-architecture that have extreme degrees of flexibility and I also have great hatred for them simultaneously because they are haneious to understand and any XML configuration bured 5 layers deep interacting against an assumption that is no longer valid this year (or this decade, for that matter) is nearly impossible to find.
In any case, frameworks are fine. Sure, there's bugs, and sometimes they trap you in a box with their own limitations. If you have to source code (or if you or your predacessor built it) you can fix it. But how it applies to the domain to solve the domain problem is key. My experience, in all the different places I've been, whether insurance agency automation, insurance accounting, large scale warehousing and inventory management or high-volume financial transaction institutions, the under-pinnings of the framework (or lack thereof) that forms the foundation of the project is rarely a major issue, but its almost always because the way the "legos" were put together to solve the business problem that is the problem.
Why would that be? Well, no matter how perfect software is when originally implemented, over time the business rules change, the industry dynamics change, and even sometimes the language itself changes (java, C++,.NET, ruby, etc.) such that technical problems that needed solving two years ago are built into the language or base class libraries (other langauges like VB and COBOL don't change so certain problems always need solving or are already solved once and for all)...
Code rarely has ever got in my way nor has someone elses bad coding styles. While I might have been more likely to complain about how everyone else sucks and I'm the only person that can do anything right, the fact is, I'm beyond that now. We all think differently and solve the same problem rather uniquely but in the end, solve it. What does it mean: easy to maintain? I've never seen anything that's easy to maintain unless I wrote it myself within 30 days of when I'm looking at it. Anything else and it takes time to re-learn and is no longer easy to maintain.
You're jumping to conclusion based on what I didn't say or clarify properly given that I'm not trying to write a book with every conceivable nuance of my technique. I have myself been through far scarier interviews than those I give. I'm actually pretty forgiving.
However, I am a firm believe that you can get a good idea what the position will be like based on the interview alone. Simply because of all the places I've worked, those with the "easiest" or least technical interviews turned out to be my worse employers compared to those that were concerned more about details.
That said, I don't care about what bits mean in a TCP header or what all the commands are for FTP. But I do expect you to know your OOP basics, some things about the technologies you'll be working with every day, and if you're a senior level devloper, you better be able to think differently than those who can't think at all yet because they don't have the experience. You better be good at troubleshooting and be able to work a bit under pressure.
And besides, while I've stated that I've hired bad candidates, that shouldn't imply that I only hire bad candidates. Those were actually before I truly understood how to get at the heart of people's abilities. those people who walk out of interviews on me, wanna know what question?
The first person walked out when he said that he does asyncronous programming daily (C# mind you) and I asked him to implement an asynchronous delegate (he specifically mentioned asyncrounous delegates as a strength as opposed to async with MSMQ or some other technique) where the main process is (thoeritically) busy computing an invoice and the asyncronous call is (theoretically) busy fetching currency conversion rates that will be applied after the invoice is done computing its other items and he said he doesn't remember how to do asyncronous and walked out. It didn't have to be fully functional. I just gave a potential scenario. It is not important how realistic the scnario is, what's important is that an async delegate is implemented.
The second person who walked out said he was familiar with design patterns. I asked what patterns. He listed a few and then I asked what was his favorite. He said the Factory pattern. So I asked him to explain the difference between a factory and an abstract factory and why he would choose one over the other and he said "this to too hard for me" and walked out.
I don't ask trick questions. That's lame.
All in all, what I find most of these people did is work with products that use remoting, or that have asyncronous processing, or that implement patterns x, y, and z. But the candidate themselves didn't actually have much of a hand in designing or implementing the logic themselves.
I believe you are correct to some extent. No one should have everything memorized. Heck, there's much I do daily myself that I refuse to memorize because its easier to look it up. But... of all the things that are on my resume, I can back every single aspect of it up on the spot without Google.
We have tried to sit them before a computer to solve problems and they don't do well. But you're idea of giving them 1 hour to solve a problem and leaving them alone is interesting. That's what they'll be doing in real life.
The only thing is, that when we are hiring for a super-duper-senior level developer and they have more than 8 years experience, I expect them to know *something*. I don't always ask concrete technical questions, either. I also present them with delimmas and ask them to improvise, problems and ask them to solve, or needs and ask them to design.
You'd be suprised how many people have been doing distributed processing and yet they design their remote objects to be as chatty as possible.
But to your larger point, interviewing is a delicate skills well-honed over time, after finding more of the wrong than the right employees.
I have no interest in discrespecting the candidates experience or skill and would not be in the best interest of the company to design the interview to intentially weed out those who would do a good job at the work prescribed.
That said, I prefer to hire people who are smarter than me, think very differently than me, or can very easily replace me, so I can get that promotion that has eluded me all those years because I do my job so well that my absense sends shocks through the company.
That said, I usually only ask questions that a) will provide insight into some skills the candidate states they have on their resume and b) is perfectly relevant to the tasks they'll be performing while on the job.
For example, you'll never find me asking why the earth is round or how to mathematically prove why the binary tree is better than a red-black tree. But I will ask about object oriented principles, what design patterns you're familiar with, a demonstration putting one or more of them to use, and a good explanation of why you would choose to use a particular design pattern, and so on so forth. If the position requires much.NET remoting, I'll ask them to write a remoting server and client in its most rudimentary form. I will ask them to provide insight into why you would choose a single-call vs. a singleton remoting server, as opposed to just asking what is the difference between the two.
The point of interviewing is to find someone qualified to complete the tasks the company needs completing to keep the product in the hands of paying customers/investors. The interview process, in my opinion is not to gloat about how smart I am and how stupid everyone else is. When I interview at places that treat me that way, I have no interest in working in that company and I most likely am qualified to perform well.
Jackasses don't belong in positions of power. The same jackasses that gloat over you in the interview are the same ones that'll be threatened by you and do what they can to make your life miserable for no good reason and I will not be such a person nor will I work for a company where the first person I meet is one such person.
I'm in full agreement with you. Interesting is your first paragraph. That sounds very similar to my experiences. Even basic questions seem hard to many people, some with 15 years experience. I agree, the recruiters are like vultures but themselves can only guage to a certain level of technical competance after which they just try to push people through hoping one sticks.
We do pay pretty decent where we work. If the local norm is $70k we'll pay $80k. If its $50k we'll pay maybe $56. If its $80k we'll pay $85k-92. But that's for people that can demonstrate their their abilities. For those who seem shaky but worth a try, we'll pay the local norm (around the 50th percentile which doesn't mean "half-their-worth"... just that according to salary.com, if the 5th is, for example, $72k then the remaining 50% of the sampling usually occupies until the 65th percentile and then a few straglers might be higher.
But my larger think is that someone who is qualified for the position is already hired and not looking. If they are looking, its likely not through a recruiter.
According to Salary.com for our local salary, about 90% of the positions (salary.com) is aware if fits in the 40-60% percentile range, while nearly none of it is outside of that window. So paying at the 50th percentile is actually where the marjoriy of people are being paid. However, we pay more than that... closer to the 70th.
Its amazon to read all these comments about how corporate america is selling us out and how its about finding the cheapest labor, yada yada yada. While I won't attempt to deny any of that, I would like to offer my perspective.
Where I work, I am often tasked with interviewing senior level software developers and team lead candidates. Occasionally, an architect level position, also, but that is rare as our company has not a software architect, per se.
Over the last 6 months I have interviewed approximately 15 candidates, and I was probly seeing about 1 candidate for about ever 150 resumes submitted. Some of these people had 5 years experience, some had as much as 18 years. We're a.NET shop. Their resumes stated that a comfortable with C#, windows services, windows sockkets, remoting, message queuing, WMI, and other various components of a typical mid-to-high end enterprise system. When asking basic questions they often can't even answer the thoeretical. When asked to write code, they can't remember what to do. When looking at code and asked to either improve it or troubleshoot it, they don't know what to do.
I'm willing to grant that they are nervous, may not know everything, whatever. But overwhelmingingly, the fact is, these people say that can do x and y and in reality, after the stated 15 years experience, can even demonstrate the minimum competency required for the position. We are not rediculous expectations by any standard. But if you've been doing remoting for 7 years in.NET, then we expect you to get the very most rudimentery service and client up and running. If you have 20 years writing TCP/IP software and 5 of it in C#, then we expect a very simple socket application. If you say on your resume that you have 6 years experience writing asynchronous things in C#, then write a few lines of code demonstrating it. But alas, these people can't.
The typical response is: I just google it. That's fine, but someone who never wrote a line of code before can Google it, too. We need to know you can actually perform well in the duties you'll be assigned. Some people get up and walk out of the interviews stating they are too difficult. We finally hired a couple of these guys and they performed very lousy.
The bottom line is that, it is indeed difficult to find someone qualified for certain tasks. If we hire for a bit of a lower-level position such as typical ASP.NET stuff and maybe some middle-tier business rules tasks, its a bit easir to find people but it is still difficult to find someone that when hired, can perform very well until about 6 months into the task after which, they leave and go to another company making more money and more responsibilities (and we pay relative to the 50th-70th percentile of the local norm) and have a disreable culture.
In any case, just incase it was because I was doing the interviewing and they were nervous... I have recently interviewed for a software architect level position for a fortune 100 company requiring the ability to chug roughly 400 million transactions daily with an extreme degree of reliability, and I did fine in the interviews. I was able to answer and demonstrate all but 2 of the questions or tasks asked of me and received a job offer. I have only 10 years experience and no college degree (yet). I don't know whether I'm special, but I think my observation remains: finding someone qualified is difficult enough, but getting the company to offer what they are worth (rather, what they think they are worth) is even more difficult. Most places I've worked hasn't a problem rewarding people that prove themselves or that dazzle during interviews. But if you just barely get by in interview or just get hired because they are taking a chance while not sure of you, and ask for $100k, you're probly not going to get it.
On that note, I've hired people before that I wasn't too sure of but they showed potential, they wanted a rediculous amount of money and we offered what we thought t
I do not. However, I do have an orphaned weblog, http://www.zenofdotnet.com/ that I will consider updating to include details if you're interested. Is there more information you might be specifically interested in I can focus on?
The best way to shore this up, is, if a private contractor is operating on behalf of or under contract for the government, it then becomes subject to the constitution and the same restrictions the government itself is governed by. Otherwise, what you describe, seems like a very wide loop-hole to make corrup entities even more corrupt. And in this day and age where everyone can escape accountability except non-rich individuals, we need less loop-holes. While we're at it, lets restore the law so that the "spirit" of the law takes precendence over the letter of the law, then it can't as easily be exploited and debated over a typo in million page documents.
I'm in the process of converting my existing 27 yr. old house to be more "modern" in a similar. I have specific things I want to achieve so I've been researching along those lines. If I could start fresh, that would be awesome. You have a good change.
First, I am converting a coat closet into a switch room. I am installing (within the next month) a 24-port Gig/E switch. The switch will be on a UPS. For eaceh of the 8 locations that will have a network jack installed, I'm running two inputs. All wiring is cat6. I'm also including in each wall jack a 3rd port to act as uplink (but only one can be connected in the switch at any given time) in case I change the room where my cable modem or other broadband connection originates (already changed twice and it was a pain. I'm also having a 4th for phone uplink in case of DSL. I have to move my DSL source and it is 4 walls over now and don't want phone company to have to come and do work and me pay. So, this solution works nicely, just put the DSL modem in the closet and connection the phone line from the phone jack to the input jack (cat3) and voila.
I had to install a ventilation vent on my closet door, some simple fans in the closet to blow upward, and a vent shaft leading out of the closet to the roof to exhaust the heat. We are also adding an AC vent into the closet to keep cool if need be. For this networking, I paid less than $600 total including 1,600 ft. of cat6 plenum. Also, at the top of my vaulted living room ceiling, near the dead center of the house, I have a wireless tranceiver device (802.11 a/b/g/n) for my wireless needs. Since the router supports vlan, the wireless is on its own vlan sharing the internet connection so my cell phone (pda phone rather), laptops, and other wireless devices (air conditioner) get their pipe without wires and so I can browse the internet at least. I keep it on vlan off my main network to keep snoopers out of my personal files and media center which has over 700 DVDs on the hard disk (these are not bitorrent, BTW: I own the DVD's, I have about 150 more to copy before my entire collection is archived). Mostly these are just season sets that I've accumulated over the years.
My AC thermostat is ethernet aware. SO I can program rules governing climate control. I have motion sensors in each room that are also thermo, so it knows if someone is sleeping and I have rules governing that to, whether climate should normally be off during the day unnocupied but a some is home sleeping, then keep the climate control, etc. I have thermometers in near each air vent to sense the temperature. The vents can automatically open and close depending on what is needed. I have rules that govern when each room receives are. 2 of our rooms are empty and unoccupied so usually they are exluded, the 3rd is my office, so it has rules, the bathrooms always are governed (gotta be comfy on their), etc. It was a pain to install the equipment in the vents to control whether the room should be active or not but it is not very expensive. Considering I'm doing all my own labor and an electrician friend next door helping me, I spent less than $800 ont he AC stuff.
Also on another vlan is a home surveilance system. I have two cameras outside (front/back) that can see in the dark, then I have two inside (living room and main hallway). Intrusion alarms on all outside connecting doors/windows have a wireless transmitter that also can hear broken glass incase the perps don't open the window but instead break the other one. Police are automatically notified. My fire alarm, too, is monitored.
Each of my toilets have water sensors and will shut off the water valve leading to the tank if too much water is sensed. If they start to overfill, then before it does, it'll get sensed and water will shut off before it spills over. If the water runs too long in the tank for some reason, it'll shut off to prevent excess water loss. Washer also has water sensors incase it leaks, it'll shut off the water valves to the washer, to
I've had my Civic '06 Hybrid now for 11 months. I live in an area with lots of hills and lots of lights. It is not unusual to spend 10-15 minutes on a 2.9 mile commute from my house to the freeway simply because of the ill-timed traffic lights (in both directions). My commute is 31 miles highway (lots of hills but not too much traffic) and 3 miles city driving (each direction).
After 19,000 miles in this car, I'm very accustomed to 52 MPG tanks. Since the dash displayed its calculated MPG and the number of miles traveled since the meter was reset, I usually reset each tank and refill at the MPG x12 rule. The car, having 12.3 gallon capacity, I figure that is a good rule. Usually, when I do refil at or about the MPG x12 rule (sometimes MPG x12.5 rule), I usually only fill 11.1 gallons or so, so I could have travelled further.
My whole point in all this, is that I have "learned" how to drive this car, and how not to drive it. There are thing you do, and don't do. Far and wide, the most useful thing to know is that this car will not win any races, so don't try. When you see a red up ahead (or can anticipate it), don't accelerate to get to the red quicker, just "glide" you'r away there and then break when needed. That really helps fuel efficiency because if it goes green, you don't have to do a full accelerate which can kill FE. However, when you must accelerate all over again 10 times each mile because you have that many lights, I follow the 0-35 MPH in 25-45 seconds rule, and from there to 50-65 (if need be) about 5 seconds later. When going up slopes (overpasses, bridges, small hills), don't accelerate, merely apply enough gas to maintain as best as possible the current speed within about 3 MPH. When you acclerate up the hills, you easily can lose over 2 MPG on my commute, when maintaining the speed instead, I actually gain about 0.2 MPH. Use cruise control when it makes sense to do so. It can do better than you sometimes.
Anyway, my co-workers drive their hybrids like its a racecar. They get about 38-42 on average between all three of them. I get 52. So I take their cars sometimes on city commutes, sometimes highway, during lunch. I've brought their cars from 38 to 47 for 7 miles sometimes (city driving). But it does require discipline at first. After about 6,000 miles, its second nature.
In the end, 50 MPG in the Civic Hybrids should not be a fairy tale. I usually travel for about 630 miles before filling up my tanks. While the dash says its about 52.5 +/- MPG or so, I usually fill only 11 gallons, which makes it accurately 54 MPG.
My previous truck I replaced was getting me 16 MPG on a 15 Gal tank. I travel 1,500 or so each month work and back and misc. I'me saving serious gas money and I paid for the car in cash so I don't have payments. If people drive the cars "properly", they would do much better. At the least, 45 MPG should be very easily attained in most terrains.
Except that VMWare didn't build up in MS' backyard. MS purchased Connectix VirtualPC back in 2004 and camp'd out in VMWare's backyard. In any case, VMWare has a far superior product to VPC and Virtual Server, anyday. They also have a version of their tools for non-Windows platforms. The point is that VMWare was in the virtualization market long before MS was around.
The type of work I do, knowledge of data structures and algorithms isn't essential but useful. Those who are familiar with the fundamentals generally write better code (optimized and not resource-hungry). I interview people that have multiple degrees and Masters and sometimes a PH.D. that have difficulty answering questions and vectors and bubble sorts. Further, when new employees come in whom I didn't interview sometime we "chit-chat" and talk about algorithms and more often than not they don't have a clue despite their Master's degrees in computer science (I've never been able to explain why but isn't always the case but is more often than naught -- in my experience, of course, YMMV). We have had a few mathemeticians that are absolutely steller at all things math, computer science, and physics but having a "chance" mathemetician start in this company (in my 4 years there) is quite rare.
Anyway, I don't even have a degree or certification but I do have 10 years professional experience and I very much am familiar with algorithms and data structures and can even conjure up mathematical proofs of some of them (with complete understanding). I'm just a self-study, is all. I started to get a degree in comp. sci. since I was practicing it for many years but got sick of earning crappy crades because I didn't follow things step-by-step as per the textbook but actually optimized or found more efficient ways of achieving the same -- getting ahead of the class mostly. I'm not really cut out to be a robot.
These days I do a lot of research in things like autonomic computing (self-healing software) and nueral networks and genetic algorithms (which really are just another type of algorithm and data structure in my opinion, nothing magical). Trying to get learning into my business services and elements of healing and user-usage pattern recognition. In the self-healing and learning erea, I mostly have to decipher various doctoral theses and other scholastic publications to get any useful information; not an easy task for someone who at most has about 2 semesters of college edumacation and no industry certs (but well over 800 software programming & related book on my shelf that each have been read cover to cover mostly).
Computer Science is often misunderstood, too, by everyone in the employment chain. Computer Science is more about research and in a sense, pioneering, and coming up with better ways to solve problems or even identifying new problems to solve at a fundamental level. Comp. Scientists will even offer "proofs" of various solutions and so on and present initial implementations.
I view Software Engineering more as "vocational". Not necessarily research and acedemics, but more or less puting well-known practice and knowledge into implementation; designing architectures and frameworks and such. I'm not sure where the overlap is, if any. I don't picture computer scientists really creating business applications and data entry programs but I do view them creating something like photoshop and flash and operatins systems, for example. There's much research and fundatmentals in those things. I don't view software engineers proper as doing fundamental research but I woudln't rule out them doing research and coming up with creative ways to solve problems that might interfere with the duties of a scientist if requirements dictate.
My point in all this is that most employers want programmers, coders, or developers (whatever you want to call it) but actually try to hire scientists when comp. sci. isn't about programming as much as it is about research. Most companies don't want researchers, they want people that can take known research and knowledge and put it into practice for the company.
Most people that want to be software developers don't necessarily want to be scientists; computer science is the wrong field of study for them. MIS or Soft. Eng. is better for them. Though I agree that all programmer types should be familiar with the basics, there's a difference with being
The type of work I do, knowledge of data structures and algorithms isn't essential but useful. Those who are familiar with the fundamentals generally write better code (optimized and not resource-hungry). I interview people that have multiple degrees and Masters and sometimes a PH.D. that have difficulty answering questions and vectors and bubble sorts. Further, when new employees come in whom I didn't interview sometime we "chit-chat" and talk about algorithms and more often than not they don't have a clue despite their Master's degrees in computer science (I've never been able to explain why but isn't always the case but is more often than naught -- in my experience, of course, YMMV). We have had a few mathemeticians that are absolutely steller at all things math, computer science, and physics but having a "chance" mathemetician start in this company (in my 4 years there) is quite rare.
Anyway, I don't even have a degree or certification but I do have 10 years professional experience and I very much am familiar with algorithms and data structures and can even conjure up mathematical proofs of some of them (with complete understanding). I'm just a self-study, is all. I started to get a degree in comp. sci. since I was practicing it for many years but got sick of earning crappy crades because I didn't follow things step-by-step as per the textbook but actually optimized or found more efficient ways of achieving the same -- getting ahead of the class mostly. I'm not really cut out to be a robot.
These days I do a lot of research in things like autonomic computing (self-healing software) and nueral networks and genetic algorithms (which really are just another type of algorithm and data structure in my opinion, nothing magical). Trying to get learning into my business services and elements of healing and user-usage pattern recognition. In the self-healing and learning erea, I mostly have to decipher various doctoral theses and other scholastic publications to get any useful information; not an easy task for someone who at most has about 2 semesters of college edumacation and no industry certs (but well over 800 software programming & related book on my shelf that each have been read cover to cover mostly).
Computer Science is often misunderstood, too, by everyone in the employment chain. Computer Science is more about research and in a sense, pioneering, and coming up with better ways to solve problems or even identifying new problems to solve at a fundamental level. Comp. Scientists will even offer "proofs" of various solutions and so on and present initial implementations.
I view Software Engineering more as "vocational". Not necessarily research and acedemics, but more or less puting well-known practice and knowledge into implementation; designing architectures and frameworks and such. I'm not sure where the overlap is, if any. I don't picture computer scientists really creating business applications and data entry programs but I do view them creating something like photoshop and flash and operatins systems, for example. There's much research and fundatmentals in those things. I don't view software engineers proper as doing fundamental research but I woudln't rule out them doing research and coming up with creative ways to solve problems that might interfere with the duties of a scientist if requirements dictate.
My point in all this is that most employers want programmers, coders, or developers (whatever you want to call it) but actually try to hire scientists when comp. sci. isn't about programming as much as it is about research. Most companies don't want researchers, they want people that can take known research and knowledge and put it into practice for the company.
Most people that want to be software developers don't necessarily want to be scientists; computer science is the wrong field of study for them. MIS or Soft. Eng. is better for them. Though I agree that all programmer types should be familiar with the basics, there's a difference with being
I got married in 2002. The first photographer I found actually had a policy of handing over the negatives and has special "arrangements" with all the local photo shops where she was located that they "understand" we can just develop nevatives all we want without paying fee. This particular photographer was very good (she did both my weddings -- same wife) and I've developed copies since and the price was not too different than what I'd expect from a wedding photographer.
My very good friend (an ex from high school) also had no problem locating a photographer that hands over the negatives without extra fees or hassle.
I must not be as common anymore to keep negatives.
The sad thing is that because of this, the "free" wireless access may not be so "free" in the future because of litigation. Soon enough, it'll have to be logged into.
I hired once someone that was a "fun" person during the interview but not as strong technically but we were willing to take that risk "for the right person". That was the worse decision ever made. I'll never do that again. Actually, I did that twice (the second time I was under pressure to hire someone NOW NOW NOW). Now, when I interview, they must write code to solve whatever problems are proposed during the interview. If they say they did something on their resume they must be able to answer questions relating to it and write code relating to it (example, they say they did socket programming so they should not only be able to answer TCP/IP questions but also were a simple socket server/client). We've weeded out 90% of applicants that way and only the good ones got through. It is a chore getting them to accept an offer, however. The next problem is keeping those good ones at the company because they usually leave for more appealing oppurtunities after 1-3 years. Some have gone to be google employees, architects for major financial instutions, senior people and your favorite social networking startup, etc. These days, I don't care whether they're "fun" or not as long as they aren't a jerk. If they can do the job demonstrably, they're hired, period.
Before long, people will stop watching TV and movies because it LEADS to wanting to record from TV or buying a DVD which leads to wanting to make backups which leads to being a felon! But if you don't know what you're missing, you won't be tempted by the 'drug' that is the entertainment industry.
Interesting insight. Before the general populace feels this way, it will have to hit home closer than it does. Perhaps when it is a felony with its own policing organization and taking up so much tax money to have a dedicated organization to enforce IP, it'll make as much news as all the other organizations that take up so much tax money to enforce and along with all the other criminals we hear about on the news outlets.
Why I think it'll never make news is because no one will care to constantly hear about copyright infringers which will never be perceived by the public to be as detestable as murderers and rapists. Also, big media won't want it published because it might lead to public concern and criticism. As long as media gets to write the laws, create policing organizations to enforce them on their behalf so the public must front the bill instead of the coporation, and they get to choose whether news of such ever reaches the masses in mainstream channels they own, they the media companies can continue to have their cake and eat it too.
In the long run, make enough people go into eternal debt for copying songs or movies that they can never own a house or put them in jail on a felony for copying a song and essentially guarantee they can never buy a house or rent an apartment (they check criminal records these days before accepting apartment applications and mortgage loans and employment anywhere else), and you breed a new generation of people so desperate to survive that violent crimes might actually increase signifantly as a result. When burglars and murderers get out of jail quicker becuase the system can't contain them in liu of all those copyright infringers, well, nothing will really change except taxes will go up so we can build more facilities to contain essentially more infringers for longer than we hold murderers.
Thanks,
Leabre
I choose to use IE7 because its what I choose. I'm not ignorant, I'm not a fanboy, and I'm not brainwashed. I just prefer it. When I encounter sites (there aren't many, but I've encountered a few) that deliberately go out of their way to not support IE7 (usually because like you, they are making a statement), they don't get my business. I should not have to be forced to install another browser just so I can choose a product and apply my credit card in exchange for some good or service becuase I choose to use IE7. You choose not so support it, fine. You can do without my business or traffic, but most e-commerce that don't support IE7 are missing out on a huge potential sales oppurtunitity. Not very good business sense. If its just a weblog or anti-microsoft site than I can do without in my life, anyway. And if you really had something on your site that I can't do without, then I can use google cache to view or do without.
All the times I've used FireFox I've found things about it more annoying that the things I find aobut IE. Also, when I previously did web development I found IE to be far more robust in getting application behaviors than I did FireFox. But the company required all paying customers to use IE and that wasn't a problem to them. Maybe the landscape will change and along with it my perspective, but really, I don't see why all the hatred against IE. Its just a nother tool with its quirks. FireFox has its quirks, too.
Thanks,
Leabre
I agree, WPF is really neat and opens up possibilities. I'm writing some interesting software on top of WPF simply becauses its far easier to do than with GDI+. I spent a year already building infrastructure that still is barely to my liking with GDI+ (C++) but then changed over the C# and WPF 2 weeks ago and I already can focus on the application because WPF provides a great vector engine. Now I dont have to focus on that kind of plumbing and MS did a better job than I could, being only one person.
.NET and Windows programming in general. But I do want to learn how to write this for mac, they have a vector API that might make it possible there, too.
.NET 3.5 and then create a Javascript function that automatically wires up into the Service (AJAX and all) but the seamlessness of it all has a touch of polish. It is so simple now compared to what we had to do to wire up our AJAX to webservice calls or remoting servers and performance isn't too bad, considering we have between 250 and 400 million request on our servers during peak times, performance is acceptable. .NET isn't perfect, but it does solve a lot of problems and its ancillery technologies does make many things much more possible than other platforms/toolkits (including Java in some of my cases but not all) because they take care of a lot of plumbing for you. It is just a matter of taste, however. I could never do my application in Flash but WPF does what I want perfectly.
That said, it bothers me a little that my audience can only be Windows XP SP2, Server 2003, Vista or later, but when Silverlight 2.0 comes out, a chunky subset of the main app will be able to function in whatever browsers support Silverlight.
I could never write this thing for Linux because I don't have the knowledge or free time to learn it and master it like I have
What really tickles me is that I can create a WCF service with
Thanks,
Leabre
Every time I've tried to install .NET 3.0 on the same box as one that runs any older version of .NET tends to hose whatever application required the older versions of .NET, so you can understand if my enthusiasm for installing .NET 3.5 is somewhat muted
.NET would break because they are compiled to use a specific version of the CLR and 3.0 is 3.0, but with extra assemblies that aren't apart of the initial 2.0 installation.
Interesting, I've released quite a bit of software for 1.1 and when 2.0 was installed, everything for 1.1 continued to work just as it did, and things for 2.0 work as expected. Both on the Web side and the Windows Services side and the WinForms side. Never had anything in 1.1 break because 2.0 was installed.
When installed 3.0 (which doesn't replace 2.0, rather adds new assemblies to the 2.0 package) I have yet to see something in 2.0 break when 2.0 is installed on the machine. I can't imagine how applications in older version of
I've upgraded hundreds of servers and thousands of desktops (I'm a sofwtare architect for forturn 500 company) and haven't seen any problems. So, whatever issues you're experiencing, aren't common enough that I've encountered it.
Installing 3.5 I can understand may have an effect, but I'm not positive yet, I'll have to test it. Supposedly, 3.5 builds on the 2.0 framework in a sense but doesn't use the stock 2.0 assemblies. Instead, we're required to apply SP1 because they've made some changes for some reason and I can imagine that 3.5 programs won't work on stock 2.0/3.0 installations because of the compiler differences, but in all, they were especially careful not to break anything (a concept they called red-bits/green-bits) but we'll see.
My greater point is that a 3.0 installation should not have broken anything in 2.0 because they don't enhance anything in the stock 2.0 installation only add new assemblies that weren't originally there.
I say something else is the problem.
Thanks,
Leabre
And why would he be a scapegoat if the company isn't being persued legally or shows no signs of impeding litigation?
The real question here is what is he not telling us in the summary that is causing so much fear about being litigated (potentially)? I doubt the company would want a rat. And even merely mentioning such a problem when there is so little evidence that a specific copyright intent is being violated might cause the management to be so fearful that a) the code gets rewritten and everyone keeps their jobs but team lead no longer wants you on his team, b) management gets fearful that the complainer will rat the company out and lets the complainer go, c) complainer talks too much about it (coworkers somehow associate this slashdot post to the individual) and loses team-coherance as a result from others in the company or d) nothing.
I think a) and b) are most likely.
Now, if it was a blatent GPL violation or MS Read-Only type license or some commercial licensing that is quite prohibitive, that might be another story... but over unattributed code in a public forum where the intention of the post implies some reasonable expectation that others are going to use the code in their own project is just plain overreacting, plain and simple.
Thanks,
Leabre
It sounds like something is missing from the summary. Why would someone be so "paranoid" to mention to management about this egregious act of lifted code from someplace that had no particular copyright terms attached or not obviously obviously implied? The tone in which the inquisitor implied is that the co-worker is a thief and going to land the company in major trouble when, in if there is nothing more to the story, then nothing is wrong and its better just to forget about it and move on. Perhaps the poster of the story has something against the lead programmer?
But I have a different theory: Perhaps all this fear about copyright violation this, intellectual property rights that, SCO v. Linux this, Microsoft v. world that... that the younger breed of programmers/individuals are naturally paranoid of things they don't need to live in fear of and we'll start seeing a lot more of this culture-of-fear. Perhaps not much longer we'll see a breed of younger individuals just as much afraid of copying music that they'll report their parents for ripping a tune from the CD or from Internet broadcast (I'm not saying either is right or wrong).
The tone and extreme reaction to wanting to report someone to management from lifting code from a source that appears to have not attributed copyright terms/intent seems to suggest to me that there's a generation of coders living in fear resulting from massive industry propaganda and slashdot knee-jerk reactions just waiting to creep out of the woodwork as they age into career maturity in the upcoming years. My theory is this: this is just the beginning. Or, there's more to the story than reported in the original summary. You decide.
Thanks,
Leabre
I realize that sometimes a company can get too carried away and need to be "corrected". But in general, this is why things are so expensive in the United States. A business cannot make every customer happy but now we have situations where a company can and will be sued by anyone that is unhappy. How long before nothing new arrives in this country because they will get sued for some reason and lose more money than they stand to make? Its insane.
Thanks,
Leabre
No matter how much experience I get in writing large and flexible systems, I find myself at a point where I can both agree with you and dissagree with you at the same time. I suppose it depends on factors. Having too many developers on a project means it has to be ultra-flexible so it can accomodate everyone easily. Having fewer people on the project means it can be whatever it is because those few people will know it inside and out.
.NET, ruby, etc.) such that technical problems that needed solving two years ago are built into the language or base class libraries (other langauges like VB and COBOL don't change so certain problems always need solving or are already solved once and for all)...
As an architect for a large company working on a system that must scale to more than a few hundred million transactions daily, I can tell you, I have great enthusiam for building/understanding super-complex systems/ecosystem-of-architecture that have extreme degrees of flexibility and I also have great hatred for them simultaneously because they are haneious to understand and any XML configuration bured 5 layers deep interacting against an assumption that is no longer valid this year (or this decade, for that matter) is nearly impossible to find.
In any case, frameworks are fine. Sure, there's bugs, and sometimes they trap you in a box with their own limitations. If you have to source code (or if you or your predacessor built it) you can fix it. But how it applies to the domain to solve the domain problem is key. My experience, in all the different places I've been, whether insurance agency automation, insurance accounting, large scale warehousing and inventory management or high-volume financial transaction institutions, the under-pinnings of the framework (or lack thereof) that forms the foundation of the project is rarely a major issue, but its almost always because the way the "legos" were put together to solve the business problem that is the problem.
Why would that be? Well, no matter how perfect software is when originally implemented, over time the business rules change, the industry dynamics change, and even sometimes the language itself changes (java, C++,
Code rarely has ever got in my way nor has someone elses bad coding styles. While I might have been more likely to complain about how everyone else sucks and I'm the only person that can do anything right, the fact is, I'm beyond that now. We all think differently and solve the same problem rather uniquely but in the end, solve it. What does it mean: easy to maintain? I've never seen anything that's easy to maintain unless I wrote it myself within 30 days of when I'm looking at it. Anything else and it takes time to re-learn and is no longer easy to maintain.
Just my 2 cents.
Thanks,
Leabre
You're jumping to conclusion based on what I didn't say or clarify properly given that I'm not trying to write a book with every conceivable nuance of my technique. I have myself been through far scarier interviews than those I give. I'm actually pretty forgiving.
However, I am a firm believe that you can get a good idea what the position will be like based on the interview alone. Simply because of all the places I've worked, those with the "easiest" or least technical interviews turned out to be my worse employers compared to those that were concerned more about details.
That said, I don't care about what bits mean in a TCP header or what all the commands are for FTP. But I do expect you to know your OOP basics, some things about the technologies you'll be working with every day, and if you're a senior level devloper, you better be able to think differently than those who can't think at all yet because they don't have the experience. You better be good at troubleshooting and be able to work a bit under pressure.
And besides, while I've stated that I've hired bad candidates, that shouldn't imply that I only hire bad candidates. Those were actually before I truly understood how to get at the heart of people's abilities. those people who walk out of interviews on me, wanna know what question?
The first person walked out when he said that he does asyncronous programming daily (C# mind you) and I asked him to implement an asynchronous delegate (he specifically mentioned asyncrounous delegates as a strength as opposed to async with MSMQ or some other technique) where the main process is (thoeritically) busy computing an invoice and the asyncronous call is (theoretically) busy fetching currency conversion rates that will be applied after the invoice is done computing its other items and he said he doesn't remember how to do asyncronous and walked out. It didn't have to be fully functional. I just gave a potential scenario. It is not important how realistic the scnario is, what's important is that an async delegate is implemented.
The second person who walked out said he was familiar with design patterns. I asked what patterns. He listed a few and then I asked what was his favorite. He said the Factory pattern. So I asked him to explain the difference between a factory and an abstract factory and why he would choose one over the other and he said "this to too hard for me" and walked out.
I don't ask trick questions. That's lame.
All in all, what I find most of these people did is work with products that use remoting, or that have asyncronous processing, or that implement patterns x, y, and z. But the candidate themselves didn't actually have much of a hand in designing or implementing the logic themselves.
Thanks,
Leabre
I believe you are correct to some extent. No one should have everything memorized. Heck, there's much I do daily myself that I refuse to memorize because its easier to look it up. But... of all the things that are on my resume, I can back every single aspect of it up on the spot without Google.
We have tried to sit them before a computer to solve problems and they don't do well. But you're idea of giving them 1 hour to solve a problem and leaving them alone is interesting. That's what they'll be doing in real life.
The only thing is, that when we are hiring for a super-duper-senior level developer and they have more than 8 years experience, I expect them to know *something*. I don't always ask concrete technical questions, either. I also present them with delimmas and ask them to improvise, problems and ask them to solve, or needs and ask them to design.
You'd be suprised how many people have been doing distributed processing and yet they design their remote objects to be as chatty as possible.
But to your larger point, interviewing is a delicate skills well-honed over time, after finding more of the wrong than the right employees.
Thanks,
Leabre
I have no interest in discrespecting the candidates experience or skill and would not be in the best interest of the company to design the interview to intentially weed out those who would do a good job at the work prescribed.
.NET remoting, I'll ask them to write a remoting server and client in its most rudimentary form. I will ask them to provide insight into why you would choose a single-call vs. a singleton remoting server, as opposed to just asking what is the difference between the two.
That said, I prefer to hire people who are smarter than me, think very differently than me, or can very easily replace me, so I can get that promotion that has eluded me all those years because I do my job so well that my absense sends shocks through the company.
That said, I usually only ask questions that a) will provide insight into some skills the candidate states they have on their resume and b) is perfectly relevant to the tasks they'll be performing while on the job.
For example, you'll never find me asking why the earth is round or how to mathematically prove why the binary tree is better than a red-black tree. But I will ask about object oriented principles, what design patterns you're familiar with, a demonstration putting one or more of them to use, and a good explanation of why you would choose to use a particular design pattern, and so on so forth. If the position requires much
The point of interviewing is to find someone qualified to complete the tasks the company needs completing to keep the product in the hands of paying customers/investors. The interview process, in my opinion is not to gloat about how smart I am and how stupid everyone else is. When I interview at places that treat me that way, I have no interest in working in that company and I most likely am qualified to perform well.
Jackasses don't belong in positions of power. The same jackasses that gloat over you in the interview are the same ones that'll be threatened by you and do what they can to make your life miserable for no good reason and I will not be such a person nor will I work for a company where the first person I meet is one such person.
Thanks,
Leabre
I'm in full agreement with you. Interesting is your first paragraph. That sounds very similar to my experiences. Even basic questions seem hard to many people, some with 15 years experience. I agree, the recruiters are like vultures but themselves can only guage to a certain level of technical competance after which they just try to push people through hoping one sticks.
We do pay pretty decent where we work. If the local norm is $70k we'll pay $80k. If its $50k we'll pay maybe $56. If its $80k we'll pay $85k-92. But that's for people that can demonstrate their their abilities. For those who seem shaky but worth a try, we'll pay the local norm (around the 50th percentile which doesn't mean "half-their-worth"... just that according to salary.com, if the 5th is, for example, $72k then the remaining 50% of the sampling usually occupies until the 65th percentile and then a few straglers might be higher.
But my larger think is that someone who is qualified for the position is already hired and not looking. If they are looking, its likely not through a recruiter.
Thanks,
Leabre
According to Salary.com for our local salary, about 90% of the positions (salary.com) is aware if fits in the 40-60% percentile range, while nearly none of it is outside of that window. So paying at the 50th percentile is actually where the marjoriy of people are being paid. However, we pay more than that... closer to the 70th.
Thanks,
Leabre
Its amazon to read all these comments about how corporate america is selling us out and how its about finding the cheapest labor, yada yada yada. While I won't attempt to deny any of that, I would like to offer my perspective.
.NET shop. Their resumes stated that a comfortable with C#, windows services, windows sockkets, remoting, message queuing, WMI, and other various components of a typical mid-to-high end enterprise system. When asking basic questions they often can't even answer the thoeretical. When asked to write code, they can't remember what to do. When looking at code and asked to either improve it or troubleshoot it, they don't know what to do.
.NET, then we expect you to get the very most rudimentery service and client up and running. If you have 20 years writing TCP/IP software and 5 of it in C#, then we expect a very simple socket application. If you say on your resume that you have 6 years experience writing asynchronous things in C#, then write a few lines of code demonstrating it. But alas, these people can't.
Where I work, I am often tasked with interviewing senior level software developers and team lead candidates. Occasionally, an architect level position, also, but that is rare as our company has not a software architect, per se.
Over the last 6 months I have interviewed approximately 15 candidates, and I was probly seeing about 1 candidate for about ever 150 resumes submitted. Some of these people had 5 years experience, some had as much as 18 years. We're a
I'm willing to grant that they are nervous, may not know everything, whatever. But overwhelmingingly, the fact is, these people say that can do x and y and in reality, after the stated 15 years experience, can even demonstrate the minimum competency required for the position. We are not rediculous expectations by any standard. But if you've been doing remoting for 7 years in
The typical response is: I just google it. That's fine, but someone who never wrote a line of code before can Google it, too. We need to know you can actually perform well in the duties you'll be assigned. Some people get up and walk out of the interviews stating they are too difficult. We finally hired a couple of these guys and they performed very lousy.
The bottom line is that, it is indeed difficult to find someone qualified for certain tasks. If we hire for a bit of a lower-level position such as typical ASP.NET stuff and maybe some middle-tier business rules tasks, its a bit easir to find people but it is still difficult to find someone that when hired, can perform very well until about 6 months into the task after which, they leave and go to another company making more money and more responsibilities (and we pay relative to the 50th-70th percentile of the local norm) and have a disreable culture.
In any case, just incase it was because I was doing the interviewing and they were nervous... I have recently interviewed for a software architect level position for a fortune 100 company requiring the ability to chug roughly 400 million transactions daily with an extreme degree of reliability, and I did fine in the interviews. I was able to answer and demonstrate all but 2 of the questions or tasks asked of me and received a job offer. I have only 10 years experience and no college degree (yet). I don't know whether I'm special, but I think my observation remains: finding someone qualified is difficult enough, but getting the company to offer what they are worth (rather, what they think they are worth) is even more difficult. Most places I've worked hasn't a problem rewarding people that prove themselves or that dazzle during interviews. But if you just barely get by in interview or just get hired because they are taking a chance while not sure of you, and ask for $100k, you're probly not going to get it.
On that note, I've hired people before that I wasn't too sure of but they showed potential, they wanted a rediculous amount of money and we offered what we thought t
hmm... seems that my ISP changed some security settings. I'll sort it out within the week.
Thanks,
Shawn
I do not. However, I do have an orphaned weblog, http://www.zenofdotnet.com/ that I will consider updating to include details if you're interested. Is there more information you might be specifically interested in I can focus on?
Thanks,
Shawn
The best way to shore this up, is, if a private contractor is operating on behalf of or under contract for the government, it then becomes subject to the constitution and the same restrictions the government itself is governed by. Otherwise, what you describe, seems like a very wide loop-hole to make corrup entities even more corrupt. And in this day and age where everyone can escape accountability except non-rich individuals, we need less loop-holes. While we're at it, lets restore the law so that the "spirit" of the law takes precendence over the letter of the law, then it can't as easily be exploited and debated over a typo in million page documents.
Thanks,
Leabre
I'm in the process of converting my existing 27 yr. old house to be more "modern" in a similar. I have specific things I want to achieve so I've been researching along those lines. If I could start fresh, that would be awesome. You have a good change.
First, I am converting a coat closet into a switch room. I am installing (within the next month) a 24-port Gig/E switch. The switch will be on a UPS. For eaceh of the 8 locations that will have a network jack installed, I'm running two inputs. All wiring is cat6. I'm also including in each wall jack a 3rd port to act as uplink (but only one can be connected in the switch at any given time) in case I change the room where my cable modem or other broadband connection originates (already changed twice and it was a pain. I'm also having a 4th for phone uplink in case of DSL. I have to move my DSL source and it is 4 walls over now and don't want phone company to have to come and do work and me pay. So, this solution works nicely, just put the DSL modem in the closet and connection the phone line from the phone jack to the input jack (cat3) and voila.
I had to install a ventilation vent on my closet door, some simple fans in the closet to blow upward, and a vent shaft leading out of the closet to the roof to exhaust the heat. We are also adding an AC vent into the closet to keep cool if need be. For this networking, I paid less than $600 total including 1,600 ft. of cat6 plenum. Also, at the top of my vaulted living room ceiling, near the dead center of the house, I have a wireless tranceiver device (802.11 a/b/g/n) for my wireless needs. Since the router supports vlan, the wireless is on its own vlan sharing the internet connection so my cell phone (pda phone rather), laptops, and other wireless devices (air conditioner) get their pipe without wires and so I can browse the internet at least. I keep it on vlan off my main network to keep snoopers out of my personal files and media center which has over 700 DVDs on the hard disk (these are not bitorrent, BTW: I own the DVD's, I have about 150 more to copy before my entire collection is archived). Mostly these are just season sets that I've accumulated over the years.
My AC thermostat is ethernet aware. SO I can program rules governing climate control. I have motion sensors in each room that are also thermo, so it knows if someone is sleeping and I have rules governing that to, whether climate should normally be off during the day unnocupied but a some is home sleeping, then keep the climate control, etc. I have thermometers in near each air vent to sense the temperature. The vents can automatically open and close depending on what is needed. I have rules that govern when each room receives are. 2 of our rooms are empty and unoccupied so usually they are exluded, the 3rd is my office, so it has rules, the bathrooms always are governed (gotta be comfy on their), etc. It was a pain to install the equipment in the vents to control whether the room should be active or not but it is not very expensive. Considering I'm doing all my own labor and an electrician friend next door helping me, I spent less than $800 ont he AC stuff.
Also on another vlan is a home surveilance system. I have two cameras outside (front/back) that can see in the dark, then I have two inside (living room and main hallway). Intrusion alarms on all outside connecting doors/windows have a wireless transmitter that also can hear broken glass incase the perps don't open the window but instead break the other one. Police are automatically notified. My fire alarm, too, is monitored.
Each of my toilets have water sensors and will shut off the water valve leading to the tank if too much water is sensed. If they start to overfill, then before it does, it'll get sensed and water will shut off before it spills over. If the water runs too long in the tank for some reason, it'll shut off to prevent excess water loss. Washer also has water sensors incase it leaks, it'll shut off the water valves to the washer, to
I've had my Civic '06 Hybrid now for 11 months. I live in an area with lots of hills and lots of lights. It is not unusual to spend 10-15 minutes on a 2.9 mile commute from my house to the freeway simply because of the ill-timed traffic lights (in both directions). My commute is 31 miles highway (lots of hills but not too much traffic) and 3 miles city driving (each direction).
After 19,000 miles in this car, I'm very accustomed to 52 MPG tanks. Since the dash displayed its calculated MPG and the number of miles traveled since the meter was reset, I usually reset each tank and refill at the MPG x12 rule. The car, having 12.3 gallon capacity, I figure that is a good rule. Usually, when I do refil at or about the MPG x12 rule (sometimes MPG x12.5 rule), I usually only fill 11.1 gallons or so, so I could have travelled further.
My whole point in all this, is that I have "learned" how to drive this car, and how not to drive it. There are thing you do, and don't do. Far and wide, the most useful thing to know is that this car will not win any races, so don't try. When you see a red up ahead (or can anticipate it), don't accelerate to get to the red quicker, just "glide" you'r away there and then break when needed. That really helps fuel efficiency because if it goes green, you don't have to do a full accelerate which can kill FE. However, when you must accelerate all over again 10 times each mile because you have that many lights, I follow the 0-35 MPH in 25-45 seconds rule, and from there to 50-65 (if need be) about 5 seconds later. When going up slopes (overpasses, bridges, small hills), don't accelerate, merely apply enough gas to maintain as best as possible the current speed within about 3 MPH. When you acclerate up the hills, you easily can lose over 2 MPG on my commute, when maintaining the speed instead, I actually gain about 0.2 MPH. Use cruise control when it makes sense to do so. It can do better than you sometimes.
Anyway, my co-workers drive their hybrids like its a racecar. They get about 38-42 on average between all three of them. I get 52. So I take their cars sometimes on city commutes, sometimes highway, during lunch. I've brought their cars from 38 to 47 for 7 miles sometimes (city driving). But it does require discipline at first. After about 6,000 miles, its second nature.
In the end, 50 MPG in the Civic Hybrids should not be a fairy tale. I usually travel for about 630 miles before filling up my tanks. While the dash says its about 52.5 +/- MPG or so, I usually fill only 11 gallons, which makes it accurately 54 MPG.
My previous truck I replaced was getting me 16 MPG on a 15 Gal tank. I travel 1,500 or so each month work and back and misc. I'me saving serious gas money and I paid for the car in cash so I don't have payments. If people drive the cars "properly", they would do much better. At the least, 45 MPG should be very easily attained in most terrains.
Thanks,
Leabre
Except that VMWare didn't build up in MS' backyard. MS purchased Connectix VirtualPC back in 2004 and camp'd out in VMWare's backyard. In any case, VMWare has a far superior product to VPC and Virtual Server, anyday. They also have a version of their tools for non-Windows platforms. The point is that VMWare was in the virtualization market long before MS was around.
Thanks,
Leabre
The type of work I do, knowledge of data structures and algorithms isn't essential but useful. Those who are familiar with the fundamentals generally write better code (optimized and not resource-hungry). I interview people that have multiple degrees and Masters and sometimes a PH.D. that have difficulty answering questions and vectors and bubble sorts. Further, when new employees come in whom I didn't interview sometime we "chit-chat" and talk about algorithms and more often than not they don't have a clue despite their Master's degrees in computer science (I've never been able to explain why but isn't always the case but is more often than naught -- in my experience, of course, YMMV). We have had a few mathemeticians that are absolutely steller at all things math, computer science, and physics but having a "chance" mathemetician start in this company (in my 4 years there) is quite rare.
Anyway, I don't even have a degree or certification but I do have 10 years professional experience and I very much am familiar with algorithms and data structures and can even conjure up mathematical proofs of some of them (with complete understanding). I'm just a self-study, is all. I started to get a degree in comp. sci. since I was practicing it for many years but got sick of earning crappy crades because I didn't follow things step-by-step as per the textbook but actually optimized or found more efficient ways of achieving the same -- getting ahead of the class mostly. I'm not really cut out to be a robot.
These days I do a lot of research in things like autonomic computing (self-healing software) and nueral networks and genetic algorithms (which really are just another type of algorithm and data structure in my opinion, nothing magical). Trying to get learning into my business services and elements of healing and user-usage pattern recognition. In the self-healing and learning erea, I mostly have to decipher various doctoral theses and other scholastic publications to get any useful information; not an easy task for someone who at most has about 2 semesters of college edumacation and no industry certs (but well over 800 software programming & related book on my shelf that each have been read cover to cover mostly).
Computer Science is often misunderstood, too, by everyone in the employment chain. Computer Science is more about research and in a sense, pioneering, and coming up with better ways to solve problems or even identifying new problems to solve at a fundamental level. Comp. Scientists will even offer "proofs" of various solutions and so on and present initial implementations.
I view Software Engineering more as "vocational". Not necessarily research and acedemics, but more or less puting well-known practice and knowledge into implementation; designing architectures and frameworks and such. I'm not sure where the overlap is, if any. I don't picture computer scientists really creating business applications and data entry programs but I do view them creating something like photoshop and flash and operatins systems, for example. There's much research and fundatmentals in those things. I don't view software engineers proper as doing fundamental research but I woudln't rule out them doing research and coming up with creative ways to solve problems that might interfere with the duties of a scientist if requirements dictate.
My point in all this is that most employers want programmers, coders, or developers (whatever you want to call it) but actually try to hire scientists when comp. sci. isn't about programming as much as it is about research. Most companies don't want researchers, they want people that can take known research and knowledge and put it into practice for the company.
Most people that want to be software developers don't necessarily want to be scientists; computer science is the wrong field of study for them. MIS or Soft. Eng. is better for them. Though I agree that all programmer types should be familiar with the basics, there's a difference with being
The type of work I do, knowledge of data structures and algorithms isn't essential but useful. Those who are familiar with the fundamentals generally write better code (optimized and not resource-hungry). I interview people that have multiple degrees and Masters and sometimes a PH.D. that have difficulty answering questions and vectors and bubble sorts. Further, when new employees come in whom I didn't interview sometime we "chit-chat" and talk about algorithms and more often than not they don't have a clue despite their Master's degrees in computer science (I've never been able to explain why but isn't always the case but is more often than naught -- in my experience, of course, YMMV). We have had a few mathemeticians that are absolutely steller at all things math, computer science, and physics but having a "chance" mathemetician start in this company (in my 4 years there) is quite rare.
Anyway, I don't even have a degree or certification but I do have 10 years professional experience and I very much am familiar with algorithms and data structures and can even conjure up mathematical proofs of some of them (with complete understanding). I'm just a self-study, is all. I started to get a degree in comp. sci. since I was practicing it for many years but got sick of earning crappy crades because I didn't follow things step-by-step as per the textbook but actually optimized or found more efficient ways of achieving the same -- getting ahead of the class mostly. I'm not really cut out to be a robot.
These days I do a lot of research in things like autonomic computing (self-healing software) and nueral networks and genetic algorithms (which really are just another type of algorithm and data structure in my opinion, nothing magical). Trying to get learning into my business services and elements of healing and user-usage pattern recognition. In the self-healing and learning erea, I mostly have to decipher various doctoral theses and other scholastic publications to get any useful information; not an easy task for someone who at most has about 2 semesters of college edumacation and no industry certs (but well over 800 software programming & related book on my shelf that each have been read cover to cover mostly).
Computer Science is often misunderstood, too, by everyone in the employment chain. Computer Science is more about research and in a sense, pioneering, and coming up with better ways to solve problems or even identifying new problems to solve at a fundamental level. Comp. Scientists will even offer "proofs" of various solutions and so on and present initial implementations.
I view Software Engineering more as "vocational". Not necessarily research and acedemics, but more or less puting well-known practice and knowledge into implementation; designing architectures and frameworks and such. I'm not sure where the overlap is, if any. I don't picture computer scientists really creating business applications and data entry programs but I do view them creating something like photoshop and flash and operatins systems, for example. There's much research and fundatmentals in those things. I don't view software engineers proper as doing fundamental research but I woudln't rule out them doing research and coming up with creative ways to solve problems that might interfere with the duties of a scientist if requirements dictate.
My point in all this is that most employers want programmers, coders, or developers (whatever you want to call it) but actually try to hire scientists when comp. sci. isn't about programming as much as it is about research. Most companies don't want researchers, they want people that can take known research and knowledge and put it into practice for the company.
Most people that want to be software developers don't necessarily want to be scientists; computer science is the wrong field of study for them. MIS or Soft. Eng. is better for them. Though I agree that all programmer types should be familiar with the basics, there's a difference with being
I got married in 2002. The first photographer I found actually had a policy of handing over the negatives and has special "arrangements" with all the local photo shops where she was located that they "understand" we can just develop nevatives all we want without paying fee. This particular photographer was very good (she did both my weddings -- same wife) and I've developed copies since and the price was not too different than what I'd expect from a wedding photographer.
My very good friend (an ex from high school) also had no problem locating a photographer that hands over the negatives without extra fees or hassle.
I must not be as common anymore to keep negatives.
Thanks,
Leabre
The sad thing is that because of this, the "free" wireless access may not be so "free" in the future because of litigation. Soon enough, it'll have to be logged into.
Thanks,
Leabre
I hired once someone that was a "fun" person during the interview but not as strong technically but we were willing to take that risk "for the right person". That was the worse decision ever made. I'll never do that again. Actually, I did that twice (the second time I was under pressure to hire someone NOW NOW NOW). Now, when I interview, they must write code to solve whatever problems are proposed during the interview. If they say they did something on their resume they must be able to answer questions relating to it and write code relating to it (example, they say they did socket programming so they should not only be able to answer TCP/IP questions but also were a simple socket server/client). We've weeded out 90% of applicants that way and only the good ones got through. It is a chore getting them to accept an offer, however. The next problem is keeping those good ones at the company because they usually leave for more appealing oppurtunities after 1-3 years. Some have gone to be google employees, architects for major financial instutions, senior people and your favorite social networking startup, etc. These days, I don't care whether they're "fun" or not as long as they aren't a jerk. If they can do the job demonstrably, they're hired, period.
Thanks,
Leabre