Ask Slashdot: Do You Run a Copy-Cat Installation At Home?
Lab Rat Jason writes "During a discussion with my wife last night, I came to the realization that the primary reason I have a Hadoop cluster tucked under my desk at home (I work in an office) is because my drive for learning is too aggressive for my IT department's security policy, as well as their hardware budget. But on closer inspection the issue runs even deeper than that. Time spent working on the somewhat menial tasks of the day job prevent me from spending time learning new tech that could help me do the job better. So I do my learning on my own time. As I thought about it, I don't know a single developer who doesn't have a home setup that allows them to tinker in a more relaxed environment. Or, put another way, my home setup represents the place I wish my company was going. So my question to Slashdot is this: How many of you find yourselves investing personal time to learn things that will directly benefit your employer, and how many of you are able to 'separate church and state?'"
I'm lucky, my org has a very cool education policy in IT and we can learn pretty much anything that makes us better at our jobs. It helps that I'm a self-taught kind of person and don't want classroom training, though :)
I learn things in my free time in order to beef up my skills for the next employer since the only way you can get a raise is to change jobs.
Anyone notice you only ever get more responsibility but never more renumeration to go with all that extra work?
The way I see it, I invest personal time to learn things that will directly benefit my next employer....
I have a couple machines at home that run tomcat and apache (and others that I can't afford a license to) to test out configuration ideas and to wade into new technologies and new versions prior to the POCs we run through. That way I can be the leader in these efforts at the office, instead of everyone fumbling around.
Most of the places that I've worked don't invest properly in a lab environment and so the only "learning lab" is the production systems. You really need something that you can break and leave broken for days, weeks, or even months. You need something that you control 100% and you aren't answerable to anyone else for its status. A home lab is very attractive in that respect.
"Tell me doctor, with all of your defenses, are there any provisions for an attack by killer bees?"
Anything you do with that is company property. Or, rather potentially their property. Courts usually side with employees, but that's a costly court battle.
However wherever possible, I would create the software needed, then put it up for license by the company in the hopes that others would licence it too, so I can make some money on the side. Of course, generalizing it so it wasn't too targeted and generalizing so it did not run afoul of the IPA.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
chances are you have some oldish hardware from the last 5 years that you can run vmware or hyper-v on and roll any instances you want to fool around
I found it easier to start my own company. Yes there are painful trade-offs (wearer of many hats), but if I'm putting sweat equity into something, I'd like to be the beneficiary. I get to dictate direction and scope, and feel so much better about my future.
There are no loopholes. It's either legal or it's not.
This was an interesting question and I feel like I can give an interesting answer. I'm self-employed, in that I'm the owner of the company. So for me there is no separation. My "work" laptop is also my beefiest and hence my primary laptop. I can dictate how our lab environment is built out.
To address what you talk about with my employees, generally speaking I'm pretty lenient with what they want to use and do (no porn no pirated software, that's pretty much it). I give pretty much free reign in the lab. I do this by having a development VM server and allowing a dev to spin up pretty much any VM he wants. I got an MSDN subscription to cover all the various MS OS flavors, but I see lots of ubuntu and OpenSolaris VMs too.
The bigger issue for me is not computing resources, its time. You have to show me that your research efforts are worth our time. If we're building a J2EE project on top of Ubuntu with mysql, I will question why you are doing a python tutorial on the company time, for example.
For me personally, since we're a small company and cashflow is tight I personally follow a "10% IPA rule". No more than 10% of my time can be spent on non-Income-Producing-Activity. I try to make sure 90% of my time is directly billable to revenue and not spend more than 10% of my time beyond that. Maybe larger companies with bigger profit margins can handle more, but we just can't right now.
I certainly encourage people to learn new things and I can see the value of doing this out of left field. (For example, last year I decided to finally really learn functional programming, and it gave me a huge positive impact on my vanilla Java/Perl/JS/etc coding). And since most engineering talent is the geeky sort who love to learn for learning's sake then its a positive morale influence to let people dabble. But when I can see the cash flow report every month then I can see where the PHB/clueless MBAs get nervous when you spend too much time doing research and learning.
Now, when you mention security being an issue.....well, can't help you there. Most large companies have fairly brain-dead security policies so there's not much you can do about it.
"You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
Wait 'till you have kids and your tinker time drops to zero.
I do the same and I consider it fun. I guess that's why I like what I do. Does it benefit my employer? Well certainly, but it benefits me too in terms of job performance, confidence, and job satisfaction. I tinker with things that I think are fun. The experience that you gain will take your career in that direction.
It's not just benefiting your employer, learning benefits you too:
Directly by keeping your mind active and engaged.
Directly by allowing you to experiment with ways to do things that might not be allowed in your work environment.
And not the least of which - it's "RBT" (Resume Building Technology) - While you may not be able to claim you did xyz on the job, you can at least indicate your familiarity with the technology.
With so many HR departments acting as gatekeepers - the first person who looks at your application may be someone who only knows to look for the correct buzzwords... when you can legitimately claim to have some knowledge of buzzword x, you improve your chances of getting in the door.
Then, when you talk to someone in the actual interview, you can mention that this is research you do on your own time - to improve/hone your skills.
If that doesn't get you points with the hiring person, well, you're likely interviewing for a place you're going to HATE.
The Digital Sorceress
It's easier to get forgiveness than permission. so I have a separate setup that is not on their network that I simply plug into to do my bidding and experiments. If I am learning new skills for them then they can pay me to do it.
Do not look at laser with remaining good eye.
Being in the engineering (electrical) field, most of my software projects have been voluntary. Need something done? I can do that. Oh, you wanted it done on Windows? Sorry, I don't do Windows. I know my way around Linux or some other *nixes. If that's not suitable, find someone else to do it. In some cases, after a few months of playing with point and drool with no progress, they come back.
Most of the challenge in what I build is the domain knowledge. My skill set with tools and environments (the proper ones) is sufficient to get the job done with minimal fussing over those issues. People who agonize over the language, IDE, or O/S of the day are making more trouble for themselves. Since at the end of the day the domain problem is still staring them in the face.
Have gnu, will travel.
I have a life. A wife who loves me, an ex that hates me, ingeniously dramatic kids, engaging friends. I feel slightly bad that I'm not investing extra time to stay at the profession's bleeding edge. But I genuinely prefer the company of warm bodies, music, games, conversation, food, physical work, and laughter.
So I doff my hat to all you die-hards with the ambition and drive to advance our profession, and I thank you. But that's not for me.
I'm a problem creator at a Fortune 500 company.... I'm the guy that keeps you with work to do.
Do not look at laser with remaining good eye.
What the hell is a "solutions architect"? That sounds exactly like one of those BS jobs only a Fortune 500 company could come up with. It sounds like the title Dogbert would give himself as a corporate consultant.
My home projects tend to be on the peripheral edge of my work. I proof of concept stuff. I try a new library that might turn out to be useful. That's the best balance for me. If I pitch it at work, I have to promise return on the time. This makes my creative projects stressful. If I play with it, it fails or it doesn't. Either way I've learned something, and haven't had to worry about deadlines.
"Sometimes it's hard to tell the dancer from the dance." --Corwin Of Amber in CoC
A lot of the time, - maybe even most of the time, my personal skill building exercises will benefit my organization as well. I'm OK with that. There are so many posts on slashdot about people finding themselves unemployed or in danger of being unemployed because their skills are out of date. I prefer not to rely on my employer to make sure my skills are relevant.
Plus, it's fun.
Look, we've told you several times now that you're not welcome here, Mr. Stallman!
> Me and the boys fuck your wife while you tinker with your nerd shit.
My wife? You can't handle my wife.
A Pirate and a Puritan look the same on a balance sheet.
because I have a genuine interest in solving problems. That interest doesn't stop at 5pm. I don't feel the least bit "used" that I use my own time to tinker, and learn no things that ultimately benefit my employer. I feel much more satisfied learning things than I would if I spent that same time watching a lot of TV. That's also the same reason I listen to audio books while working out. Learning things IS my hobby.
Of a job that pays well, because you are expected to be a professional that is continuing to improve your own skillset? There are many, and development is one of those.
Not OP. It's one of those positions that make sure your project doesn't turn into healthcare.gov, which is what happens when you don't design the system before you start writing code.
Doctors, Lawyers, Engineers, Researchers almost any professional has to keep up with the literature and new developments in their field or fall behind and become irrelevant. While some, might sometimes, be given some time at work to learn and keep up with advancements they are all (the successful ones anyway) reading journals or learning new techniques on their on time. I am not sure what makes developers feel like they are different and should be compensated for keeping up with their chosen field of endeavor.
No sigs in BETA. Beta SUCKS.
Our workplace has been pretty laid back about people experimenting with whatever they would like once we got set up with Amazon. Want to try out anything new, just remember to shut down the services when you're done. We're limited to what Amazon has available, but for a web and app focused business, we have a ton of options available.
I mean, if you're really the type who spends a lot of time wishing you had kids and have big ideas about all the fun you'll have teaching them new things, watching them grow up, and you look forward to attending all the little league sports games, piano recitals, and school functions -- by all means, have a kid or kids and don't let me discourage you!
But I know I'm in the same camp as "Lumpy" here.... Got married to a woman who insisted she wanted a kid (or kids) badly. Got talked into the whole thing, with a lot of suggesting that I "wouldn't really have to do much of the work anyway, as long as I was going to work full-time and making most of the money". Not long after we had the kid, things disintegrated. She fell into a state of depression, left me (initially took the kid too, but pretty much handed her back to me after a month or two, deciding she couldn't handle it). So after a messy divorce, I was stuck raising my daughter pretty much on my own. Eventually got re-married, but to a woman who already had a couple of kids of her own, so now I've got 3 to worry about.
Honestly, it's one of those things where I take the responsibility very seriously, and feel a sense of "duty" to make sure the kids grow up as successful as possible. But if there was some kind of time machine or way to wind the clock back and do it all over again? I would have certainly made different choices.
I have a buddy who is adamant about the idea that every man should strive to accomplish things that leave something behind that outlasts them. (In fact, he got into woodworking after having a long career in I.T., because he got disgusted with the throw-away nature of all the work put into I.T. related projects. Today's hot new software is discarded tomorrow, and even entire programming languages become obsolete by declaration of a big name company like Microsoft, almost on a whim. He felt that with woodworking, it was possible to build physical pieces of furniture that would last hundreds of years and be used and enjoyed by generations long after his death.) Of course, this also means he sees great value in becoming a parent. I get that, but I also don't feel that need to create people OR things that outlive me? Once you're dead, you won't know the difference anyway, right? Often, I feel like the time (and money) needed for parenting is time/money I could have been doing something more personally rewarding -- especially with kids who are generally ungrateful for what they're given or have.
I think you definitely want to have good, true friends... Nobody wants to wind up alone, or have nobody else to care for or about. But having kids isn't always the best avenue for that. It actually runs counter to the ability to make and keep good friends, IMO, because your time and resources are stretched so thin taking care of the family that comes first.
A number of people in Dev and IT in general started with nothing but their curiosity and have achieved success. The first thing these guilds do is put up barriers to entry to protect the existing workers, which would lock out new blood and new ideas. It's OK if you're not a fan of meritocracy, but I sure wouldn't want to work for or with someone like you.
Not OP. It's one of those positions that make sure your project doesn't turn into healthcare.gov, which is what happens when you don't design the system before you start writing code.
It is a position that is made necessary because many coders cannot handle co-operation on a large project without an authority telling them how their piece of the project should work. A small group of fully competent coders could have built healthcare.gov in a couple of months. The problem is that the task was given to the lowest bidder, and the coders involved did not have the experience (among other shortcomings), and the project clearly lacked leadership of any kind. One or the other was required, and both were absent.
I have seen a 10 man group finish a project that ultimately ended up being about 200k LOC in three months. The project was completed early, and was fully functional on completion, including the B and C priorities. The group did not have a leader, and each member of the group had their own area of expertise. In theory, each of them had authority over their own piece, and the others could collectively override decisions made by one member. In practice, no one ever got overridden, because if the decision was bigger than their own little piece, they built informal consensus first. The group held no formal meetings, and management was terrified of messing with the group because of their long track record of success. No manager wanted anything to do with the group, and being assigned as their manager terrified everyone, because if the group ever failed to perform, it would automatically be assumed that it was the managers fault... In the end, some dimwit got the bright idea that breaking up the group, and "seeding" other groups would somehow create 10 groups with the capabilities of the original. Didn't work so hot, As you can imagine it didn't take long for the people to leave. Last I heard, two of them were still there, but the other eight had moved on.
At the end of the day, the best products are made by *very* small groups of highly capable people. You cannot make people like that, they are born. Experience can improve the quality and performance of all coders, but intuition cannot be manufactured, only purchased. The moral of the story is if you have a powerful working group, don't mess with it, You are overwhelmingly more likely to do harm than good. If you are trying to assemble such a group, all the coding tests in the world will not help, because their strength is not in how experienced they are, nor how well they can solve problems, but how they interact with each other to amplify their productivity. You need a group of people with varied points of view, that can cooperate. They don't have to be super-stars. They don't have to have 30 years of experience. In fact, ego is the biggest impediment to a successful team.
I wish I had a good sig, but all the good ones are copyrighted
I get paid to use them for the company's benefit, but I could use them to get a different job or do projects on the side. Also, I often learn things that aren't related to my job, and then I just happen to find a use for them.
So I don't mind spending my own time to improve my skills, as long as they aren't skills that are specific to the products of one specific employer.
-- Support a free market in the field of government