Yes..When I have spare time.. I apparently live in magical unicorn land as some people mention. We have project days.. At best, it's team project not directly related to running the business. At worst, its playing with new technologies for potential future use in running the business at will.. sometimes its scheduled time, sometimes its when the backlog is light.
This month it is scheduled team time skunkworking with a new stack. Before that, it was "go thru some udemy videos and make something"
I dont go writing games or have pet projects. I dont care to write "personal" code much or if at all anymore. I didnt freelance work on work time or resources. But I havent had a freelance project in a good 4 years now. My passion for the craft has waned in recent years for various reasons.
I had to pick "no" bc my answer wasn't among the choices. I have a repository of examples for Bootstrap, WPF, C++ and lots of others that I constandtly build up when learning new technologies. It doesn't matter whether I learn them in my spare time or at work, I'm using the same repository all the time. When I can't remember the details months or years later, I look into my examples, copy snippets etc., again no matter whether I'm at home working on private stuff or at work.
Unless your employer has an explicit policy supporting it(*), working on personal projects on company time is theft, pure and simple. You are stealing use of the computer, their network, and other resources. Most importantly, you are stealing your time for which you are receiving compensation.
(*) I've heard of fairy-land companies that support working on charitable or self-improvement projects during work hours. Note that I've heard of them, but never seen one in the wild.
Adjacent to this idea, all "personal" projects worked on during company time could be considered company property since even if you use your own hardware they're still paying for everything you do while on the clock including that project. I'd rather keep my personal projects personal.
EDIT: Just noticed Shao Voon Wong's comment. Yea, exactly that.
I never code my personal project in office because firstly, computer and web usage(for example, commits to private repos) are monitored and secondly, it is easy to get caught by a coworker strolling by my desk and looking over my shoulder because my personal projects are usually fun-based (OpenGL and Direct3D) whereas work projects are non-GUI services and last but not least, I do not want the company to 'own' my personal projects, just because I work on them during office hours.
As a multi-client, remote-working homeworker doing fixed-price jobs, it's an irrelevant question. "Office hours" is that time when I'm working for a client. If I'm not working for a client, it's not office hours.
NExpect, an extensible, test-framework-agnostic assertions library for .net
and NExpect.Matchers.NSubstitute which provides assertion extensions for NSubstitute assertions (eg Expect(calculator).To.Have.Received(1).Add(1, 2);)
PeanutButter, a suite of libraries we regularly use for testing (and prod code), including
PeanutButter.SimpleHttpServer which provides a mechanism to test code making web requests
PeanutButter.TempDb.MySql.Data which provides isolated, on-demand mysql databases for testing
which is supported by PeanutButter.INI (an INI file reader/writer)
PeanutButter.DuckTyping which duck-types data onto unrelated interfaces (eg duck-typing app config onto an interface)
PeanutButter.RandomGenerators which provides random data for testing, from simple types right the way through to complex ones, with as little friction as GetRandom<SomeClass>() doing the work for you 90% of the time without any input (but it can be easily guided with builder code)
My side projects will often indirectly contribute to the work I do for the company in terms of learning new skills etc. This isn't something I do with any regularity, but if there's a lulll in the workload or we're between projects then I may work on something that is not directly work related.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
Yes, most of my web developers have private sites that are used for research purposes. If they want to learn how to do something new, this is an easy way to learn without all of the constraints of a corporate structure. Then, if what the research is beneficial, they will go through the process of having the functionality vented through corporate channels before coding into a corporate site.
Unless you count productivity tools that I create to help me with the job, then never.
Edit: Actually, I've usually only worked on those personal productivity tools on my own time to avoid conflict. It's no fun explaining that the reason you aren't working on their punch list is because you have something more important.
That was most of my first three months in a job I had a while ago. It was very strange.
The irony of it was, when I finally got actual work to do, their "no work from home" policy was a real PITA, especially during snow days or when an appliance repair person was needed (and you know what wide range of hours those are!) So those days had to actually be taken as vacation days, or, since I was an hourly contractor, unpaid. WTF. And by "snow days", the manager told me "if there's not 2 feet of snow on the roads, you're coming in." He once said something about "Even if you have nothing to do, I want to see you warming your seat."
So, frankly, I really had no problem working on personal projects from home.
And by "snow days", the manager told me "if there's not 2 feet of snow on the roads, you're coming in."
I'd've tried putting the invoice for a snow-mobile into the expense reimbursement system just to make a point about how stupid the PHB was.
If the snow on the road is deeper than my cars bumper I'm not driving. And even if I did have some sort of crazy jacked up truck with multiple feet of ground clearance I suspect that contraption would be so top heavy and rollover prone it'd have a lower maximum safe amount of snow limit than my Accord does.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
Some of us used to play computer games (on the 286 machines), while our programs ran on the mainframe. Once the mainframe program completed running, in about 20 minutes, used to go and see the results, and debug.