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 do that. I have a full sized rack at home running an ESXi cluster complete with fiber channel storage. The equipment was cheap, purchased from ebay when I find killer deals. The power and cooling required to keep it running, not so much. Even still, I use home to learn about new things. I'm finding I use it less and less as work gets busier and I tend to just want to watch netflix with the few hours I have left over each day. It's still around whenever I get the itch to learn about something new.
// TODO: Witty Signature
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
It appears that even with a Hadoop cluster that you were unable to properly get FP.
...you will benefit both your employer and yourself in the long run. Especially if it help keeps your profession entertaining and fresh, because there are a lot of cool technologies to explore, and more are being devised every day.
Exposing yourself to new ideas and approaches will make you a better IT professional, especially if you're a developer. It will help clarify what sorts of things you enjoy, which can help you decide if/when it's right to jump ship, and make it easier for you to land the next job when you do.
And knowing when to jump ship also benefits the employer you're leaving. No one wants to work with a bored, bitter developer, and boredom often makes people less productive. Being a good professional also means knowing how to make a graceful exit... which can give you somewhere to return to if the new position goes south. I've seen it many times.
Koans and fables for the software engineer
Wait 'till you have kids and your tinker time drops to zero.
I always have and always will do lots of "work stuff" at home. a good part of my free cash goes to that, and I don't regret it at all. Not trying to get ahead any more (63 years old) but I enjoy my work. I like to learn. I can't spend every moment at the office, so I do stuff at home so I can tinker when the wife and grand kids are doing their thing. I like tools, I have more than my company ever will
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.
I don't have my home servers and desktop/laptops, for either my current or future employers. I'm likely just a compulsive tech person. I do know if i haven't coded something for a while, for my personal self, i get itchy fingers, and have a NEED to increase my skills/try something new. Ie. I'm working on an android app... not because I don't get enough work at 'work', but because i have this cool phone and would really like to see what i can MAKE it do.... it's a compulsion thing. It has been my experience that the most 'competent' programmers/tech people, have a 'need', that is as strong as most drug addictions, and doing extra stuff at home just allows you to focus on the things you are PERSONALLY interested in vs. work you HAVE to do.
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.
Spend as much work time as possible developing your personal projects. Just don't let them know about it.
If you're not investing your energy in your personal time in furtherance of your mastery of your craft, you're doomed. The world will swiftly leave you behind and it's nobody's fault but your own. The coding skills you have today are obsolescent in 18 months. It may be wise for your employer to invest in your continuing education and foolish to not do so, but it's not the employer's responsibility. It's yours. You made the choice to be in a line of work where very little is permanent.
If you're not comfortable with that, consider masonry.
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.
At home, I want my technology to serve me, and not take up any of my limited time.
I don't screw with it unless I have a particular itch that I want scratched.
That said, my work environments and home environments couldn't be more different.
At work, I work on Visual Studio. So I have windows machines with more hyper-V guests in them, running nightly builds of CLR and VS. Plus other ones for IIS/SQL to host test apps on.
At home, I run
- 1 windows workstation (turned off until I run a network drop over to it. We just moved),
- 1 surface RT my wife and I share
- 1 mac mini in the living room, when we want a bigger screen and keyboard
- an Ubuntu media/utility server in my rack
- a PC Engines Alix running openbsd as my edge device.
We use our smart phones at home a lot to watch email and facebook.
I just retired my ~6 year old windows media center machine for a WDTVLive. We also use an Xbox 360 for video games and DVDs.
I did a big batch of fiddling recently, as we moved house to a rural property with multiple buildings. I learned about Ubiquity hardware and have retired my previous consumre grade wireless gear in favor of UniFi APs, and I also have a Nanostation link between my house and shop building (with UniFi APs in both spots). Getting that setup was fun and easy, and unlike the consumer grade APs I was used to, I haven't had to power cycle the Ubiquity gear yet since owning it. Solid reliability and astounding speeds.
Also, after I got the WDTVlive and decided I liked it, and packed up my HTPC machine.. only then did I realize that the WD box wouldn't play any of my Hi10P anime. So I spent some time the other evening learning about ffmpeg and x264 build-from-source. My Ubuntu machine isn't fast enough to on-the-fly transcode hi10p to 8bit, and the binary distributions of ffmpeg and x264 on my old Ubuntu release didn't deal with 10bit either.
So, I need to spend some more time here, but honestly, it might just be easier to use handbrake on windows..
My opinions are my own, and do not necessarily represent those of my employer.
Learning how to use tools effectively is not the same thing as developing software for the business at home. I've often done the former, but never done the latter. If you want something for the office, you pay me. Up front.
I do not fail; I succeed at finding out what does not work.
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.
Since I have a security angle to my job, I wanted to ask: if you are practicing your coding at home is your home system secure? will your home coded app be put into the production system 'as is'? (creating a back door if your system is already compromised.) maybe it's a dumb question and a moot point, but seeing how a home brewed app (read developed in-house) used by a major commercial entity just gave up 400K credit cards, it leaves me to wonder what the process was all the way thru the development process, which we may never fully know. on the other hand, my hobbies tend away from system administration so I have pretty good separation, or I would be typing this in from the loonie bin.
Sometimes wives don't understand that work is something that the husband enjoys and wants to think about outside of work. A lot of people don't even want to think about work except to complain.
Very often a wife is intimidated by male passion when it is directed at anything other than herself. Invest a little effort into letting her know that she is the center of your universe, but you enjoy having fun with other things, too.
"First they came for the slanderers and i said nothing."
I rebuilt the whole damn Kerberos/LDAP infrastructure at home, including multimaster replication, and integrated Mac, Solaris, Linux, BSD and Windows boxes into it.
Vacuum cleaners suck. Kings rule.
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.
Jealous?
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.
If work won't invest in lab space,time or training, I won't invest *my* time in doing what they should be doing. I do have my stuff, but I learn what I think will benefit me. Sometimes that happens to be the same as my work is about at that moment, but almost always it's something that I find interesting at that moment.
If work asks me to check out stuff at home, I tell them I leave home to go to work and when I'm done working I go home again. I'd like to keep the two separated. They know I have stuff going on at home and would probably be more than able to do what they want there, but they pay for my time there only, not for my time or equipment at home.
Cheapskates will always be cheapskates. If you want to work for a company where you get to nerd out and try new stuff, go work for a company that has that. They're not going to change because you want them to.
I was promised a flying car. Where is my flying car?
Most employers suck. The larger an employer is, the more likely they are to suck worse.
Defending against the trained monkeys you've designed your enterprise to be run by is a considerable challenge that leads to predictable results.
Once you get past the monkeys, many of those constraints are stupid and counter-productive and should be violated by anyone that has enough of a clue to fend for themselves.
A Pirate and a Puritan look the same on a balance sheet.
Whenever you learn something that benefits your company remember one thing, it is YOU that is learning something, the company may benefit in the short term but you will benefit in the long term. Education is one thing that can never be given and never be taken away. Never ever stop learning, you will always end up being the ultimate beneficiary.
Luckily at RBI I had 3/4 spare pc's I could convert to test/linux boxes then again i worked in a small team and had a director as a boss. At home I am just setting up a hp microserver to run a small virtulised hadoop cluster. I also have done the formal Cisco CCNA to expand my knowledge and to help with being a full stack developer.
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.
but nothing my employer does interests me in any way , so I spend my time learning about things I am interested in, not what would benefit them.
I know this is a (racist) troll, but the lack of a decent social safety net and government mandated contraband is what drives up crime... Most people would prefer a decent job type job.
Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
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.
I quit working for "The Man" 5 years ago and now work for myself. I find that I work twice the hours, at least, but I also take regular learning tangents and am free to follow them wherever I wish, and often times they add to my general knowledge and allow me to offer different, new services and such. I find that I do a lot of "me" learning in-between projects and it not only helps me grow but also allows me to clear my head for the next project.
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.
Absolutely!
That's maybe true for coding, which can largely be done inexpensively for the most part, but there's a lot of IT work where even if you WANTED to do it at home it's cost-prohibitive to do so.
While it'd be nice to have a three tier fiber channel & 10G SAN in my house, I can't afford one. Freebie products like OpenFiler and the like don't cut it because while some of the concepts are on display, there's a shitload that's not in it nor is what you kind of need to know, like the actual management interface, hardware and connectivity. Nor is there anyway to generate real-world workloads which might give you an idea if whatever you've done actually works right.
The same is true of lots of infrastructure components. You can halfass around with some used Cisco equipment, but you can really only get so far when features aren't even in your software or sometimes even hardware.
I currently work for a major New York based media outfit
with a huge Datacener. Naturally, I have created
a duplicate setup in my bedroom/lab.
Hint: VMWARE
Kidding, just kidding... :P
Seriously, only a few hundred boxes
Even more seriously, old machines are perfect for
tasks like that. In my real lab at home, a have a few Sun boxes
(poor, poor Sun). and about a dozen machines that run
whatever I want them to.
Everybody has at least 16GB RAM, ~2.5-2.8GHz multicore
CPU's and plenty of disk space.
Each box is worth less than $100.00 on eBay.
Sometimes I get them when they reached end
of life at work and we throw them out.
Noise is no problem. Everybody is nice
and quiet.
I think most of us have various setups at home for learning/experimenting, partly because its fun, partly because its a good way to get a better job and partly because our employer doesn't give us proper development environments!
Its been a long time since I've worked at a place that has a proper dev->staging->production setup.
I'm glad the op didn't use the term "lab" which always seems to be clueless people trying to get a CCNA, rather than people actually interested in their trade.
#include <sig.h>
But does a Cue:Cat count?
I thought my "me time" hobbies were strictly for me, but I have found application of water-skiing, snow boarding, photography, auto racing, bicycling, and boating knowledge to help get things done at work.
If I didn't know these things from outside hobbies, many a project would have stalled at the "well, I can't find anything in the McMaster catalog that will do what we want" stage.
Flipping it around, McMaster was a work learned resource that has made home life a whole lot easier - can't find a 10-24x1.25 brass screw at Lowes? Not really a show-stopper, after all.
It has been said that the person we work for is ourselves. You just happen to sell your skills to your current (next?) employer.
If you wish to remain relevant, then you need to stay up to date.
Where and how you do that perhaps depends on your current network skills and the access you have to materials outside of your current employer.
Can you VPN outside of your employer network?
Can you proxy through your employer network?
Can you read a book/kindle at your desk?
Can you install appropriate tools on your employer lap/desktop? Xampp anyone? VMWare Anyone?
If you can get a better offer outside, you should probably be taking it.
Some places really do take advantage of their employees, and leaving is the easy fix. You can try negotiating (aka threatening to leave), but that's usually not successful unless there is a credible outside alternative, and if you've got to threaten like that, you're probably better off taking the alternative.
On the other hand, I worked as a small shop that didn't always keep up with competitive salaries, especially during the first bubble. I made a point one day of loudly congratulating our intern on his starting pay offers of $71K and $72K (when some people in-house with the same degree + 5 years experience were still making in the 40s) - management did get the message, substantial raises went all around the next quarter.
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.
The larger an employer is, the more likely they are to suck worse.
I think suckage is a matter of perspective. The larger a company is, and the farther one is from the top, the more specific and limited any given worker's job duties are. In the five person software company I worked for, the owner washed the dishes in the break room. In the Fortune 1000 company I worked for, we had one employee who just sorted printouts coming from a bank of printers. Some personality types like having a very defined role and set of responsibilities and want their job to be set hours, responsibilities and compensation. I suspect that the set of people who want that has very little overlap with the average /. user.
For me, a copycat installation would just be a Linux box and a code repository. Most of my machines run some form of Linux, but most of my own projects aren't large enough to bother with much in the way of revision control, so I don't usually do that part of things.
When I'm writing something for myself, it tends to be in areas that I don't get to cover at work (playing with C++11 features, graphics, audio, etc). While I'm not making any kind of attempt to specifically better my professionally-useful skills, I'm sure there's some overflow of benefits from time put into my personal interests. I have some coworkers that run full server farms at home, though. That sounds too much like work, so I've avoided setting up anything like that.
It is pitch black. You are likely to be eaten by a grue.
I work for an IT hardware reseller (mostly; we do some new stuff too), so scrounging up some lab boxes or test beds usually isn't a problem. I've got one in our rack right now that I fire up to mess with VMs via Hyper-V, rather than adding a bunch of extra load to our ESX cluster. And we mostly deal with smaller development projects, not spending months building huge software packages, so it's generally not too hard to grab a few hours of downtime here and there to read and experiment with stuff. Our dev team (a whole two of us) have MSDN subscriptions, so it's open season on learning MS products and figuring out what might be useful to us.
Thus, I don't have a ton of experimental IT gear at home, nor do I feel all that compelled to continue doing at home what I do all day at work. I've got a desktop that does a few light server duties, and which is mostly just a means to and end. I do have a growing pile of assorted tablets, though...
Thus, spare hardware (and dev-VMs) at work (which we have plenty) are faster than VMs at home.
Plus, if we can show a benefit and it will add to the bottom line (or save a lot of time), we do get a project, time and a budget to build it - on current hardware.
We do have a guy (he's now retired, but still contracts for us...) who has his complete build environment for a software (some 60ish VMs) on a server-sized desktop at home. He bought an LGA2011-board with a 6-core i7 CPU and 64GB RAM just for this.
But he has always preferred to work from home anyway.
Windows 2000 - from the guys who brought us edlin
As someone else commented earlier on here, you should *always* really be working for yourself, not anyone else. You may be employed by someone else to carry out a specific set of tasks for them -- but what's wrong with those crossing over into the larger set of things you take a personal interest in and want to do on your own time anyway?
I don't think I've ever gone as far as to try to duplicate a complete computer/network environment I used in the workplace? But certainly I've set up machines with software I would never have bothered to install if I didn't use the same or comparable stuff at work.
It's been my experience that my former co-workers who made it clear they "don't like to take their work home with them" were the ones who were less effective at thinking outside the box to get problems solved at work. You know.... the types who lean heavily on support and maintenance agreements for various products and don't really try anything if they're not instructed, step by step, by the person on the other end of the phone? Or the types who strongly dislike and fight changes in the environment, if they involve them learning a new workflow?
I'm not saying you should spend your free time giving your employer free hours of your labor. But I'm saying if you're in the right career, you should actually find some of this stuff interesting enough that you LIKE and WANT to play around with it at home, occasionally. It helps you land the next new job as much as it helps with whatever you might be currently employed for.
I have always had interests in both software and hardware tinkering. When I had a job doing hardware tinkering though I became much more interested in software tinkering at home and rarely did much with hardware. Since I became a programmer what I want to do at home is build things, real objects with my hands, not sit in front of a keyboard.
And then there is the fact that on the rare occasion I do feel like doing a software project at home, my worplace is unfortunately a mostly Windows shop. I prefer Linux (although... at least Windows isn't Mac!) So nope. not learning much for work at home.
I do a lot of learning on my own time to benefit my next employer. If I just relied on what I need to know to do my day-to-day job, I'd never be ready to get the next position.
...when I'm in work, there does tend to be overlap. Not 100% overlap - a full mirroring of a work system - but enough that I could throw together anything I might need for work with reasonable certainty that it will work without problems. The major difference has tended to be the system - typically work environments have been Linux while I've been using Mac OS X on my home setup - and that the home system's running a more up-to-date setup than I do at work. It's just a more comfortable environment for me, and a good percentage of the time what I'm working on/learning is as much for my own benefit as for my employer. I may use their specific problems as the target for what I'm learning, but anything I learn that isn't proprietary to my employer has value to me.
Of course, being stuck in the desolate IT wasteland (at least as far as anything interesting goes) that is Milwaukee and being in my mid-40s acts as a big demotivator for learning anything new, because employers seem to think somebody fresh out of college who has just learned the same skill is more desirable as a hire than somebody with that skill plus 20 years prior experience. I'll admit I'm not as cheap to hire, but experience seems to be a liability in the IT market, not a plus, with the people hiring apparently of the belief that all knowledge becomes obsolete the instant something new and shiny comes along. So nowadays I learn not because I'm under any illusion it'll make me more hirable, but because I find it interesting. It means I end up working on more offbeat stuff that's not necessarily of interest to anybody but me (like writing my own language for the hell of it) but I've got to keep my brain busy.
I've been spending many hours of my free time in front of a screen like now, close to every day since the day I got my first personal computer (an IBM PC clone back in 1982).
This was two years before I landed a job working on PCs (chief responsible for all hw/sw on IBM compatible PCs in Norway's largest corporation), when I understood that they wanted to pay me good money (50% more than I was currently making) for doing what I was already doing as a hobby I was very pleased indeed.
Since then I've written several tens of MBs of code (about 20+ MB before 1990), most of it in my free time even if I later could reuse many programs & algorithms in my daytime job. I have always had at least a couple of computers at home, currently I have just one big deskside tower and a bunch of laptops. They run Windows 7 & 8, as well as FreeBSD (my gateway/fw/ntp stratum 1/ipv6 gw box) and Linux.
I've been able to work on a lot of interesting projects (if you google my name you'll find a few), including game code, ntp, crypto, graphics, video/audio decoding, simulation and modeling.
Currently my main hobby project is to take raw LiDAR point clouds and use pattern recognition to try to generate vector base maps for orienteering, including shades of green and yellow to represent various degrees of runability and visibility.
When I was ~20 years younger I won or made it to the podium in several programming/optimization contests, these days I've taken part in 3 of the 4 Facebook Hacker Cups that's been held so far. I usually make it to the second main round but I'm not fast enough any longer to get into the top 100 who make it to the finals. The main part is that it is fun to figure out problems and come up with efficient algorithms!
They key message here is that even though I'm getting closer to retirement age, I have absolutely no plans to stop thinking/thinkering!
"almost all programming can be viewed as an exercise in caching"
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.
Especially since everything tech-specific you know will be obsolete in 5 years. You want to develop expertise in the next big thing beforebig companies jump on the bandwagon. Frankly I have a lot less enthusiasm for the next tech stack these days, knowing it will be gone in few short years, but I still have a home VM setup because, like it or not, you have to keep up or become one of those unemployed tech guys complaining there are no jobs any more.
Socialism: a lie told by totalitarians and believed by fools.
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 don't know about you, the last thing that comes to mind when I come home is "hey how can I do MORE of the same meaningless crap FOR FREE!!""??
Mostly random stuff.
I have way more computers and computing capacity at home than I have time to fully utilize to do much that is very interesting. It is difficult to get the day job and the startup bootstrapping and a bit of R&R and have space capacity to fully build out even a couple of the cool ideas I have thought of for the home machines.
I go out of my way to find work opportunities at new or existing employers where I will need to substantially increase my knowledge and acquire new knowledge and skills to be successful. Doing so is what I am being paid in part to do in service of my employer's goals. I have no problem doing much of this learning on the employer's dime and at the office. As long as I produce sufficiently quality results in acceptable time bounds neither do they. I also seek to tune what I need to learn for the day job to what I need for my startup and other projects and am just plain interested in. Thus I get paid directly for learning things that I want to learn and indirectly by all the multiple uses for that knowledge and those developed skills.
but what if my name is jack?
My sig has no nature
... or is this article just click-bait for people to vent about their shit jobs?
My sig has no nature
"Choose a job you love and you will never work a day in your life." For those of us who are fortunate, IT is a hobby that turned into a career. We do it because we like it. Because we like it, we naturally put in "extra" time, outside of "work".
When I look for employees, I look for these kinds of people. When people in interviews tell me that it is my job to make sure that we have a training budget to keep their skills up to date, I pass them up. We do have a training budget ($3000-5000 per employee, per year). I do help people keep their skills up to date. But if people think it is their employer's job to keep them employable, I do not want them working for me.
I don't think it is irrelevant.
My of my friends are specialist surgeons ( I was meant to be one but had a far greater draw to mathematics, computing and engineering) and the extra research and learning work I have to put in far exceeds theirs. Admittedly, in the first 15 years (ages 18-33) they *may* have been ahead given the exams they needed to pass to qualify for 'x', but since, their research hours have dropped substantially. Mine however are as high as ever. I would easily put in an average of 20 hours per week of extra study, reading, investigation and experimentation. That would be averaged over the last five years (I'm 36).
It is Saturday morning here, I have my coffee and am doing the quick fly around of 'technical' websites first before I do a deep dive into how I can efficiently and reliably get seamless, high (ish) data volume exchange from a multitude of browsers to a backend compute cluster for interactive data exploration securely. It will take most of my time up until Christmas Day. I'm on 'holidays'.
This is normal. Those that do this stay relevant. Those who don't will not have employment in 5 years.
.
I notice you vaguely said 'medical professional.'
Only because getting specific would make it too easy for my coworkers to ID me, generally not a good idea.
Suffice it to say, she makes twice what I do as a mid-career dev - Know a lot of nurses and respiratory therapists you could say that about?
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
I've been doing it for years. I found that the best learning technique for me is to build something, blow it up, and then build it again, until the moving parts are second nature to me-- so it's handy to have a server/network I can blow up without getting fired.
A lot of the techniques and scripts I've developed on my network at home have ended up in use at client sites, and vice versa.
I most certainly do things at home that benefit my job. Playing with Linux and XBMC etc., setting up an ESX server and learning tricks with it, and all sorts of other hardware related things are all things that I'm interested in. All of that benefits my work too! I've done a ton of work tuning cars plus all sorts of mechanical work and a great deal of just Internet sponging of knowledge as well. ALL of it has benefited me at work at one time or another and I'm fine with that. Nothing I buy for my home is bought just for learning stuff for work however, if I'm not already interested then I won't pursue it on my own time or invest cash.
That said, I work a cool job with interesting people, and I get to play with technology and exercise my brain pretty often - and I ENJOY it. Thus, I love my job! I have known one programmer who flay out stated they "hated computers" and didn't own one. When they went home they didn't touch a computer! They also wrote shitty code and pretty much sucked at their job.
I don't mind researching things for the office and tinkering if I'm already interested but I don't see myself ever not billing if the office directs it and I don't ever work for free. I invest in myself but I don't subject myself to anything boring if I can help it...
Build it, Drive it, Improve it! Hybridz.org
In my experience, medium sized organisations are actually much better than either large or small. In a small organisation you are far to subject to the personality of the owner, if he or she loves you that's great and you'll do really well, if he or she doesn't, no matter how good you are at your job, you're going to have a bad time. All those bullshit policies you complain about exist specifically to protect from actual evils which small organisations are full of.
At the same time you're right, when the separation between the guy who runs the place and the actual work is so vast that your illustrious leader doesn't actually know what his company produces you're equally boned.
TL;DR organisational structures vary between vastly impersonal at the large end to vastly too personal at the small end. Both suck.
I work at a very small business. My personal laptop is my development environment along with the desktop I have at home. My development environment is pretty much whatever I want it to be, so I don't feel limited like i have at other employers. I'm in charge of all the tech at the job, so I do whatever I want. The boss is an inventor, so he actively encourages me to try new technologies and learn whatever I think would be fun to learn. It's cut down on how much I do at home and has allowed me to actually delve into my other interest areas outside of programming. I still do spurts of it here and there a month at a time, but this job allows me to look into new technologies without feeling like I need to do job training at home too. Sometimes I get excited about work and do a lot of it in my free time, but sometimes I get excited about stuff I do at home and then do it at work too. For this job, I'm fine mixing "church and state," but I've had other ones were 5:00 hits and it's fuck you all; you're not getting a damn cent of value out of me past this point. I've always liked the google 20% policy. You get time to do stuff out of the monotony. It helps generate new ideas while also introducing you to new tech.
Whatever, grandpa. We like totally do agile and all that, it's teh awesome!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
You mean not everyone has a Hadoop cluster under their desk???
I joined [company with huge datacenters] just last year and so I'm still learning all the cloud/clustery technologies here. Every time I change jobs (every few years) I try to do something a little different. So my last gig was the first time I spent serious time using javascript and PHP (no I didn't like it much). Before that was a few gigs with J2EE and Oracle/DB2; before that was C++; before that was C# and WMI; etc. So if you're fortunate enough to get your employee to pay you to learn new stuff, that's the best way to go. Because then you can spend your time at home on slashdot, etc. :-)
And unions aren't organized like corporate structures? Immune to corruption? Loaded at the top and crumbs for the bottom? Sorry, unions skew the labor market with unsustainable mandates, rigid power structures, perverse incentives, and in my experience, unions enable shitbags to continue to be shitbags
The premise is backwards. Computer geekery is my hobby, so of course I do it at home. I have a job doing something that I love, so I've roughly duplicated my hobby environment at work. ;)
I have a very simple virtual environment at home that I use to learn about new tech, study for certifications, etc. However, my employer maintains labs for each department that can be used for the same, as well as reproducing customer issues. In fact, I manage the lab for my team (30+ people). We were just given a budget to purchase a pair of server as well as purchase upgrades for a few others. As of right now we have 7 servers, a full blade chassis, enterprise grade SAN, and a half dozen client devices, And that is just one rack of 40 that my business unit maintains at just my site. There is also a training lab that is physically separate (although it isn't as well equipped).
-Daniel
KD5UZZ
www.w5yj.org
I see my stalker is back.
Do not look at laser with remaining good eye.
how cute you try and act as if you are another preson... you are utterly adorable :-)
Do not look at laser with remaining good eye.
You are such a cute dork. I am truly flatter that you are so enamored with me.
Do not look at laser with remaining good eye.
I know you are proud of the naked photos of yourself that you keep sending, but I am not into guys, you might find someone out there that likes overweight hairy people, you just need to look elsewhere.
Do not look at laser with remaining good eye.
that directly benefit them, they should pay me for it.
Which is not to say I don't run computers at home. Of course I do. I have a small server to do various things on that require running a small server. But it has nothing whatsoever to do with work. It couldn't be - work is an all-Microsoft shop, and my server runs Linux (though my personal, non-server machines are all Windows.)