You might want to think about what some places are now calling "private clouds." They primarily seem to be managed Virtual Server boxes (VMWare/Hyper-V) in which then you manage the individual hosts. This way you could structure your environment to be however you wanted. The only downside of this is that you will have to spend more time in the sys-admin role getting everything set up.
This section of the forum seems a little dead, but I'll give it a shot anyways.
Ok, so maybe the title's a bit of an exaggeration. But I am beginning to feel this way about salaried employment. I've only worked in two jobs but have talked to many others who describe a similar situation. Things are tedious in the corporate world, projects get stalled, code gets "maintained" (aka hundreds of format changes) and there's the inevitable waiting for approval and doing things to your bosses' "standards".
After reading a couple books on getting into consulting it seems like it might be the thing for me. What I'm hoping to find here is some advice or even better wisdom from others who have gone down this road.
I have 3 years experience and already feel like I am more productive and adept than my co-workers. I am by no means an expert but I also don't see my current line of work as a way to get to that level.
What are some of your regrets or decisions that you are grateful for having made? Is 3 years experience too early to start on my own? What can I do to better prepare myself for the business aspect of consulting?
What exactly do you mean by consulting? Do you simply mean doing contract work or do you mean real consulting? Are you talking about just simply telling recruiters to find you 3 or 6 month projects or are you talking about building a company where you sell your services?
Real consulting is probably 20% coding tops. The rest is sales and business analysis.
I would like majority of my time to be coding. I realize to start this way I would need to work entirely with recruiters at first. My hope is that through networking and ambitious marketing I could gradually reduce the amount of leads found through recruiters.
As Pete said, this is contracting and is VASTLY different from consulting or working for yourself. To run a consulting firm you need a wide range of skills, the LEAST of which is coding skills.
Depending on what country/region you are in contracting can also be quite different. In western countries a contractor is often required to have above norm skills and a fairly wide range of coding abilities. Whereas in Asia the contractor is considered the poor bugger who is not good enough to land a permanent job. Very different attitudes.
However if you think you are going to get away from delays, politics and bureaucracy think again, they are still there but with a little more pressure.
Never underestimate the power of human stupidity
I guess what I was thinking is not consulting in the traditional sense that you two see, but as more of a specialized service. In my area there is a large pool of demand for .net programming(Chicago), so much that I think with the right networking I could work for myself without needing a headhunter to find me jobs.
I didn't dream up this job description either. The company I work for as well as my previous employer had specialized projects which were done by a purely .net consultant who would come in as needed to make suggestions/modifications.
I don't fancy starting a firm or having employees underneath me. Just the power to command more respect for my time and the opportunity work on a greater variety of projects. I realize that the politics and bureaucratic aspects of being a developer won't go away, but from what I've seen roadblocks get moved much quicker when there's a direct cost to them.
I did this sort of work in the 90s, one man show, T&M or sometimes fixed price, do the job from design to help system and training. You are right in that it commanded much more respect, it also required a very wide range of skills and it was a fascinatng to move into different industries and solve their problems.
It is still a lot of paperwork and admin, if you can keep it to a one man show it is survuvable, expand and see your coding time dissapear. Income is variable and it hurts when you (rarely) need to pass on a job b/c you are already too busy when you know you will be out of jobs in 6 weeks!
I eventually went to pure contracting.
Never underestimate the power of human stupidity
it's quite some times that i have been thinking this question and couldn't find a settled answer for it.
it is, "Why would developer want to do a free software development ?"
free i mean is like "free beer"
software development i mean --> they offer the software on the internet for free downloading or "freeware".
so far i found the answer is "advertising". but it couldn't be for so long. i mean even hosting is paying, but why freeware ?
for example, "free download manager", "daemon tools lite", and some others. even some are very generous in "giving" their working result on the net for free.
i didn't against the free thing. only want to know, what could motivate developer to do it ?
sometimes i read that they sacrificed their holiday to develop it, their after work time, their free time... that is a "mean" sacrifice for me. few have specific dedication and/or personal goal...maybe.
but what is exactly the major fact of consideration for doing it ?
Thank you for any attention given to my question.
If you enjoy writing code or have developed something that scratches a personal itch why not give it to other people?
It's like wondering why people dress up as Furries, play board games, participate in sunday league football or cricket, do sudoku...
I have also thought about that, open source i can understand. Because you got something you want to do with help from others.Freeware I don't know.
I know that Daemon tools lite is released as a light version.You try it, like it and you want more. Then you have to purchase the full version.
So sometimes you release a free version because you have an expensive Full version you want to sell.
Permalink | Broken Post? Report
Posted 19 hours ago
There is lot more to software then coding. You have to provide technical support, provide bug fixes, implement new features, and upgrade when new OS comes. For a small software it may not be worth to go through all this trouble, especially if expected user base is small.
So if you still want to share it with others then make it freeware.
Also when you use many freeware softwares and when you write a utility yourself then you might want to give back to community.
And as others mentioned, companies do it for advertisement. They provide a reduced functionality software for free and sell a more powerful software.
Previously i posted this message under question/answer section. but someone told me that the place is not for my question. and so i move the message to here.
i also delete the question there, which i found that i shouldn't do that. i am sorry for that.
i posted my question with the already answered one.
I give some of my software away for free because it's generally a personal project that I've worked on that's been used as a bit of an R&D piece. I develop software commercially, but this is generally for clients and it means that you work within the rigid constraints of client requirements which generally doesn't give you much scope to try new things out. With the personal projects, I can code what I want and make it available for others to use - in effect, they become my beta testers and it helps me to find out what works and what doesn't. Partially, it's also an ego thing - it's great to get praise from others about utilities/applications that you pulled together.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Ok, if i try to point out (according to my point of view) your answers:
1. personal project --> good reason.
2. Develop software commercially --> i like this!
3. beta testers --> yes this is acceptable for me.
4. ego thing --> hahahhaha... true enough.
my conclusion...hmmm... the formula:
giving free = develop software personally + can be sold for $$$ + tested + appreciation.
the answer hit me.
it motivates me to develop software and to share it.
Here are new questions for you to answer: why would people contribute to a site such as CodeProject? More in particular, why would anyone answer your question for free? Why did you expect anyone to do so?
I don't know, I'm not very fond of "why" questions, except in a strict business environment, where they are essential.
I'm sure money isn't always the key. When a short question (a "how to" kind of helicopter view question) and a really good answer can keep me from making the wrong decision in one of my projects, then one hour spent on CodeProject can maybe save me months of development time, and some of that time can be returned to the community.
It sounds like you want to be able to know when the TrueCrypt stuff has a new version, and then do a rebuild and repackage of your stuff to include that in some cost effective manner.
Based on that as my understanding my first question is really, do you HAVE to do that each time? Is there a proven track record that as TrueCrypt makes changes your stuff has to change also to maintain functionality because there have been a consistent number of breaking changes in the past that cause you to not trust new versions?
It sounds to me that one simple suggestion on your end is to establish a published schedule that states openly when you intend on keeping up with releases of related libraries that are part of your product. I think allowing the release schedule of other products that you use in your project to drive your development cycle, while possible admirable on your side, is just an unrealistic expectation to set, especially when some of those components are open-source and have a haphazard release schedule.
I think it is often better in business to just set the proper customer expectations and meet THEM consistently from your end. Tell your customers that you current release supports versions x, y, and z of any external components at this time, and then perhaps set a regular schedule to evaluate all new versions and produce an update to your timeline barring any issues that are found.
As far as doing this automated goes? I am not sure there is anything out there that would just do this unless you put a ton of effort into automated detection of new builds, downloads, regression testing, rebuilding, etc... Personally, THAT sounds like an entire product in it self.