Having personal projects.
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
I spend some time, but it is all my time. I don't have the time while at the office for any personal projects. I'm stretching to find the time to keep up with training, trade journals, etc. Since I have a family, house, etc, my personal project time is limited as well. I learn a lot from the other programmers around me, particularly the consultants that we hire for specific projects. They are often younger than I am and more current with technology.
-
After 40 - 60 hours of programming a week I could'nt think of anything worse to do with my spare time.
I agree!!! Haven't any of you heard of taking a mental break. I prefer to sew clothes for my grandchildren, make quilts or plant flowers on weekends. Fifty hours a week staring at a computer monitor is enough! I rarely check my personal e-mail on my time off. Now when I retire, that's different. I expect to upgrade personal projects I created in the past (when I was laid off).
-
jith - iii wrote:
I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
Documentation isn't a waste of time buddy.
-
I completely agree. I recently had to pick up a project that a C# developer (I'm a VB.NET guy) had left about 35% done. It was a NIGHTMARE.:mad: The worst part was not figuring out his code or his method of insanity, it was trying to determine how to get the work accomplished! They had classes EVERYWHERE and no matter how much time I spent, it always seemed that our Lead Developer wanted me to use some hidden method/function to accomplish the work at hand! Please, FOR THE LOVE OF STRESS-FREE CODE, document what you write. I'm not a big fan of writing user manuals, but the code NEEDS to have documentation in it!
JamminJimE Microsoft Certified Application Developer
Jammin, In your case, it seems the C# developer didn’t fully understand what he was doing, no matter what funky technology he was using. If you spent a significant of time, and still couldn’t figure out, you should report to you manager the code is just shiiiiituff, not your company wanted. And ask your manager for design -- start with talking high level not code level. It is always a good idea to start with design, document the design, then program. It saves a lot of time. It is efficient to find and resolve problems in design stage. Changing design is easier than changing code. In the end of the project, you will find you are growing. If you jump start to coding, you will go nowhere. If one cannot document the design, it is an indication that he does not fully understand the application.
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
You should do your side-projects at home in your own time, and spend your work time on CodeProject. You should also make sure not to 'borrow' any company resources or software licenses, or your company may have a claim on anything you produce. If you stumble on the next killer app, like I have, you want it to be free and clear, and you want to be able to prove it.
"Quality Software since 1983!"
http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles. -
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
-
Jammin, In your case, it seems the C# developer didn’t fully understand what he was doing, no matter what funky technology he was using. If you spent a significant of time, and still couldn’t figure out, you should report to you manager the code is just shiiiiituff, not your company wanted. And ask your manager for design -- start with talking high level not code level. It is always a good idea to start with design, document the design, then program. It saves a lot of time. It is efficient to find and resolve problems in design stage. Changing design is easier than changing code. In the end of the project, you will find you are growing. If you jump start to coding, you will go nowhere. If one cannot document the design, it is an indication that he does not fully understand the application.
Well, Frank, I have to say that I agree with you. Having been writing code since 1982 and being paid for it since 1993, I have seen an awful lot of code in my time. There have been examples on both ends of the spectrum. I have seen code that anyone could have opened up and actually learned how to program from. I have also seen code written so poorly and undocumented that no developer on staff wanted to touch it. You're correct. Good applications begin with good design. However, since I am a contractor (rented programmer), the design and first stages of implementation were done long before I got here. However, the previous developer was only on staff about six months before he moved on. I did not get the opportunity to work with him on this application before he was off to another project. I could go into alot of detail about the code itself, but 1) you wouldn't be interested in it and 2) it's not my code. Being a consultant, you write what they tell you to write. If I were an employee or had a long term interest in this company, I would have definately suggested some changes. The ideal company would understand that the design phase is one of the most important. Your statement about changing design is easier than code is true. However, in today's environments (that I have seen), that is unfortunately handled by people who have little to no concept of how (and sometimes even what) an application is capable of. They don't understand that the smallest of change can affect literally hundreds of other locations in the code. They see it as "This is what we want, go write it." When the man/woman who signs your paycheck expresses, with enthusiasm, their desire to have it done their way, you write it their way to keep your lights on and the bills paid! If I owned the company and signed the checks, you can believe that the processes would be followed much closer. Until that day, I'm just a rental.
JamminJimE Microsoft Certified Application Developer
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
I've got a number of personal projects going. Mostly for my own benefit and for non-profit and clubs I have interest in. They give me opportunities to try out technologies and techniques that are new to me at my own pace, so that when I'm comfortable with them, I can suggest and implement them on a professional level. These personal projects provide multiple benefits to everyone involved; The organizations I do them for are getting the benefit of the work done for free and I get the benefit of playing and learning in a sandbox that eventually can become a part of my permanent resume/portfolio. I don't work on these projects at the office, they're not of a direct benefit to my employer. So I don't expect them to pay me for my time doing them any more then I would expect them to pay me for my time for any night classes I take to advance professional skills of my own choice.
"Soup won't be computerized; It's a liquid."
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
Hello developers, I've read through your responses shown above, and am quite surprised; most of the responses were completely off topic. What adds to my surprise is that I feel quite strongly on "pet projects", and would think that a lot of developers are like minded. Why the heck would you ask permission from your company to do a personal project? So that they can fire you if you're spending time coding on an interesting project that isn't related to your work and will forward your career? Don't be ridiculous - go and code your best project at home, on your own computer, on your own time. Most employment agreements, and even some contract agreements I've signed stipulate that any code written on the premises is their own. Intellectual Property that you alone create doesn't have any legal rights as long as you implement it in a company you work for/with. I have been working contract for most of the last ten years. Software Development, in my opinion, is the most dynamic industry in the work world today. None of my employers have ever acknowledged this simple fact. Do you think companies are looking out for the careers of their employees? Get a grip!!! Most of the time, please correct me if I'm wrong, they are so focused on the time it will take to develop something, they have absolutely no longer range plans, 1-3 or 3-5 years hence. No company vision, no employee vision, except maybe grow the company by increasing revenue and head count. Most companies I've worked with feel that if they don't pay 100% attention to develop something quickly, there isn't any need to plan for the future; there won't be one for the company. This is especially true for software development companies that are smaller. How does this relate to pet projects? Most of the time, I see developers coding away their careers in a pigeon hole. You're a developer with strong database skills? Well guess what, we're going to have you focus on that. Your skills are in that area, and it's only logical to use your best skills, right? How can you ever have a broad exposure to different types of development projects, unless you take your career into your own hands? Pet projects are the only way. I worked with Delphi for 10 years. How am I going to move away from a shrinking market, and broaden my career? I'm going to code from home. Not only am I going to code in a new language, I'm also going to do a type of development I haven't been involved in before, namely Business Intelligence. I hope I have helped you guys, and I hope this post s
-
I used to have personal (programming) projects. You learn a lot with personal project, I think it's sometimes more valuable than work experience. Not many of my friends (if any or me now) have personal projects.
I manage IT folks and I feel these personal (bench) projects are vital. They build bench programming strength, they allow developers to test out new techniques or new technologies, and they reinforce creativity in solutions. All I ask from my team is that their bench projects should have the potential to have a future use within our company (and that their workload does not suffer due to work done on these projects).
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
I can't survive without personal projects. It's what makes programming fun when the job isn't. I've been fortunate to work on a number of fun work projects, but when those are gone, it's back to the personal projects to make life worth living. :) As for the amount of time, it really depends. Of course, there are lots of other priorities that have to come first: family, work, community, etc. A friend of mine recommended the 10 minute rule -- "Work on it for at least 10 minutes a day". If you can find 10 minutes to sit down and do something on it, likely that turns into 20 minutes, half hour, etc. and you will get something done on it. Even if you only spend the 10 minutes thinking about it, you're better prepared the next time you do sit down at it. Due to personal projects I've been able to move around in my career by being able to point to these as experience. I was able to enjoy a 10 year stint in the game industry due to some Mac game code I had written as a side project. Now I'm back into databases after writing some web app stuff for a friend. You can get sufficient knowledge to do what you're asked by simply performing your duties, but the ability to do *other* things is what doing personal projects opens up. All that said, if you perform personal projects just to try and get ahead, you probably won't find the motivation to do them. If you do the projects because you enjoy them, then they are their own reward, career changes aside.
-
Write your documentation first, then make the code live up to it. You accomplish three things: 1) you know when the project's finished (and so do your customers), 2) you won't leave anything out and 3) you give the customer a chance up front to make sure you understood what (s)he wanted.
tlw1145 wrote:
Write your documentation first, then make the code live up to it. You accomplish three things: 1) you know when the project's finished (and so do your customers), 2) you won't leave anything out and 3) you give the customer a chance up front to make sure you understood what (s)he wanted.
My God! Are you saying that there exist coding projects for which there are functional specifications?!?!?! Please let me come and live in your world. Please...
-
After 40 - 60 hours of programming a week I could'nt think of anything worse to do with my spare time.
Josh Gray wrote:
After 40 - 60 hours of programming a week I could'nt think of anything worse to do with my spare time.
I went to live in Italy, in the early eighties (for the obvious reasons - she was bleeding gorgeous), and was completely useless there, because no-one needed English-speaking types, no matter how good they were. So a pal of mine (of hers, actually) offered me a job running his joinery workshop (I only knew 30 words of Italian, and 29 of those were "lads only"). But I took it up, and eventually became a carpenter; and when I returned to the UK, I stayed with it for several years, before returning to the grind. So I build furniture, boats, kitchens, and houses in my spare time -- and I'm bloody proud of the outside-work work I do (since I'm way beyond "handyman" standards). It's the same work ethic, though: Spend most of your time planning and thinking, then rush like mad to finish the highy-detailed "practical" work. So buy yourself a couple of chisels, and learn how to sharpen them properly.
-
Josh Gray wrote:
After 40 - 60 hours of programming a week I could'nt think of anything worse to do with my spare time.
I went to live in Italy, in the early eighties (for the obvious reasons - she was bleeding gorgeous), and was completely useless there, because no-one needed English-speaking types, no matter how good they were. So a pal of mine (of hers, actually) offered me a job running his joinery workshop (I only knew 30 words of Italian, and 29 of those were "lads only"). But I took it up, and eventually became a carpenter; and when I returned to the UK, I stayed with it for several years, before returning to the grind. So I build furniture, boats, kitchens, and houses in my spare time -- and I'm bloody proud of the outside-work work I do (since I'm way beyond "handyman" standards). It's the same work ethic, though: Spend most of your time planning and thinking, then rush like mad to finish the highy-detailed "practical" work. So buy yourself a couple of chisels, and learn how to sharpen them properly.
Mark Wallace wrote:
So buy yourself a couple of chisels, and learn how to sharpen them properly.
Funny you should say that, we bought our first house today and it has a timber workshop at the end of the garden which has already been named 'man -land'. My dad was a professional word worker and a leart a lot watching him restore their old house but I've no experiance at all.
-
I manage IT folks and I feel these personal (bench) projects are vital. They build bench programming strength, they allow developers to test out new techniques or new technologies, and they reinforce creativity in solutions. All I ask from my team is that their bench projects should have the potential to have a future use within our company (and that their workload does not suffer due to work done on these projects).
thatguymurphy wrote:
All I ask from my team is that their bench projects should have the potential to have a future use within our company (and that their workload does not suffer due to work done on these projects).
So.... their free time is not theirs?
-
How many of you do spend time for personal projects?. And how many of you are getting permission from your company to do personal projects ?. I know many of my friends do spend time for their personal projects and publish them in fake names. Do a programmer get sufficient knowledge,if he sticks only with the tasks assigned to him by his employer. I know, most of the programmers in CMM Level 5 companies waste sufficient time in documentation rather than doing coding.
i agree with u ...most cmm level 5 comps waste too much time making things that they would never require.... Tell them to get Six Sigma certified and they'll be in for a shock of their life ... ( for who dont know six sigma...its about simplification and removing unnecessary processes) Getting permission from company to do personal projects is like asking ur boss permission to take a bath, brush ur teeth, etc... y should u ever have anybody's hold on ur free time... company's want to prohibit competition in their domain so they will not let u compete against them in free time ... thats ethical.... but say u r working in web-applications dev for the banking domain, it doesnt make any sense for the company not allowing u to work on your nuclear missile project (okay..bad example :) ) ... except that u dont sleep enough to be able to work properly
-
Mark Wallace wrote:
So buy yourself a couple of chisels, and learn how to sharpen them properly.
Funny you should say that, we bought our first house today and it has a timber workshop at the end of the garden which has already been named 'man -land'. My dad was a professional word worker and a leart a lot watching him restore their old house but I've no experiance at all.
Josh Gray wrote:
Funny you should say that, we bought our first house today and it has a timber workshop at the end of the garden which has already been named 'man -land'.
Lucky bugger. I'm just at the point of building a workstation/bookshelving/everything-storage for the front room of my new place, and I've had to convert a bedroom into a workshop.
Josh Gray wrote:
My dad was a professional word worker and a leart a lot watching him restore their old house but I've no experiance at all.
I loved doing that kind of work, and you get to work with fun people. I'd still be doing it today, if the money weren't such crap.
-
thatguymurphy wrote:
All I ask from my team is that their bench projects should have the potential to have a future use within our company (and that their workload does not suffer due to work done on these projects).
So.... their free time is not theirs?
Super Lloyd, I think we're not seeing eye-to-eye on this subject. What is your definition of free time? I'm talking about projects done while at work and that's why I added the bit about workload. Do whatever you want when you’re not getting paid by the company. But whey you're at work and working on a bench project I ask that it loosely have a future use for the company.
-
Super Lloyd, I think we're not seeing eye-to-eye on this subject. What is your definition of free time? I'm talking about projects done while at work and that's why I added the bit about workload. Do whatever you want when you’re not getting paid by the company. But whey you're at work and working on a bench project I ask that it loosely have a future use for the company.
Well I was just continuing in the spirit of the original post: personal project you do at home! ;P
-
Well I was just continuing in the spirit of the original post: personal project you do at home! ;P
Ha-ha. Well... Jith didn't exactly say personal = home. He did, however suggest that he needed permission from his company. And, Jith, if you're asking the company for permission to work on projects at home, you need to re-evaluate your relationship with your employer.