I work as a developer for an outsourcing company and I have been without an assigned project for the last several months, at first I didn't worry because there is always some downtime between projects but now its been too long, I'm worried how this affect my career because I'm doing basically nothing(I use the time to work in some pet project)
I have had several times when I was about to get into a project but for different reasons it didn't prosper.
What would you do? Would you stay in this comfortable(because I get paid for do nothing) but probably bad in the long term situation or find something else?
Thanks!
I can say that, in my company, when business was slower, we would often see the same few people constantly without work because they were either too inexperienced, too limited in their capabilities, or too inflexible in what they were willing to do.
We worked hard to try to give them opportunities--having them shadow more senior engineers on projects (the extra project help also gave our clients more bang for their buck and made us look even better as a group), getting them training, having them work on internal projects, etc. Not all companies will or can go this extra mile to find opportunities for you, but might be receptive if you structure and propose something that uses your down time to your mutual benefit.
If they're not receptive, or if you can't structure something like this in your environment, then you might consider moving on.
Edit: Actually, as others are mentioning, it was also way easier to staff people who were actively involved in the sales phase of a program. Volunteering to do research, prototypes, etc. was a great way for motivated people to help out during this phase. Since they were effectively already working on the program by the time it started, they were usually the ones who would wind up staffed on the program.
Being there is soul-sucking, I know, but you have to be proactive and ask for projects to keep showing that you're willing to work, and that you're flexible.
Meanwhile, from my experience my suggestion is: dedicate yourself to opensource. Try to bring some value to your name and maybe company's name if it fits their goal. This can also lead you to new projects.
And the most important advice is: Doesn't matter if you decide to leave or to stay, DO NOT SPEND TIME DOING NOTHING.
Working on open source during the time is a great idea, but make sure you clear it with your employer first. By default, they would have copyright claim on work you do during time and with facilities they are paying for.
As an alternative, use the time to contribute to popular open source projects. That will build yor developer cred and make you more attractive to future employers.
Or take on your own freelance work and get paid double.
Think about why your current company is keeping you on the payroll. Since it's a business and not a charity, they must believe you're valuable and will have work in the near future in which your skills will be required. If that's not the case then they probably won't keep you on very much longer.
If your employer treats you well and up till now you enjoyed working for them, I suggest you focus on productive ways to help them and keep your job. Remember they've made an investment in onboarding and training you. As others have suggested, working on internal projects or building out sales/training material has a force multiplier effect which makes you even that more valuable to them.
If you don't like working for this employer then go find a new one. From an employer perspective, there is nothing worse than an employee who isn't happy, not being productive and isn't helping the situation. Do everyone a favor and take control of the situation.
Don't forget that the grass isn't always greener on the other side. Trading one employer for another isn't always viewed well from an employers perspective.
I think if you take a step back you've hundreds of things you could do that you didn't think of.
I'm jealous.
I think if some of these are important to him/her, it might be a good topic to discuss with the company.
If you're still getting paid, they likely see you as a valuable asset for future projects. It can't hurt to ask if you can help with sales calls to build new skills and relationships, or if there are smaller projects where you can be billable.
What is the main reason they're keeping you on, do you think? Are they not paying attention and not accounting for costs, or are they interested in reserving your time and having you owe them some hard work as soon as it's there?
What is your mean reason for staying at this particular company, aside from getting paid to work on pet projects? Are they smart, honest, good people that you're learning from, or is it a paycheck and nothing more?
Have you reached out to your manager and asked for a project repeatedly? Do you have co-workers you can help, even if you're not asked to? What is your main fear, will doing nothing for the company lead to no promotions or less pay or a bad reputation? Will there be repercussions for future jobs if you keep going with this one, or can you get another job easily regardless of what this company thinks about you?
Does getting paid to work on your pet project have more value than working for the company? It's a pretty good deal for you if they don't care about paying for your downtime.
Last time I was in a similar situation, I spent my time doing research and programming competitions. My employer was okay with it, work eventually picked up again and I didn't lose any status in the organization. In the mean time I got to learn a lot, and travel to Spain to present my paper. I had a blast, and I super appreciated the opportunity to explore. I told my employer that, and I worked hard once work picked up, so I walked away with nothing but a positive experience. I was also really lucky.
I did this a few times, not so much to advance my career but because I enjoyed the work and I wanted to learn and be useful. Unfortunately it got me promoted into project management -- which I accepted because I have two young children -- and now I miss my old job.
1) No company can afford to keep you on the payroll indefinitely when you're not generating revenue for them. If (after some amount of time known only to them) they can't put you to work, they will have to let you go.
2) How you chose to spend this time, how well you took advantage of this opportunity currently presented to you, will determine the whole good/bad thing. If you play video games and wait for a phone call, it will be bad. If you do things that get your name out there/increase your visibility, or that increase your skills, or both, it will be good. Ways to accomplish that would include working on open-source projects, creating classes/tutorials for Udemy or the like, going to local networking events or better yet giving presentations at them, and so on. Basically I would act as though you are actively looking for something else, without actually leaving. It needn't be a bad faith thing... who knows, you might end up getting some company interested in you, and having them hire your employer to get your services, thereby getting a new client for your employer.
I haven't been in quite the same spot, but I did work for a company that really didn't know what it wanted, so there were long period of either no work or short periods of sudden enthusiasm behind X idea followed by an immediate "no, that's costing us money. kill the project immediately." While it would have done me a disservice to have left the company too soon, I was there for a year before I decided to leave, and even that was too long in retrospect. As others have said, it's soul-sucking and just a waste of time even when you're contently complacent. You have a limited life time and a small supply of creative energy, neither of which your company may deserve. That's just my perspective.
Anyway, don't worry about your job stagnating. It's just programming... career progression is usually lackluster anyway (don't know your case personally) Also you can always get creative with your CV later on (as you know, work expands to fill the allocated slot).
Think about this you're getting paid to work on your code! What could be better? Just cover your tracks and don't get into any IP dispute over your code ;-)
Edit: If you wanted to use the time for something that could possibly look good on your CV or your employer would appreciate, you can look for some internal software problem to solve, Or make a demo app using your employer's technology stack.
You are absolutely right about your career stagnating. Unless you are working on some kick-ass side-project that is making a difference (whether as extra revenue or a useful piece of open source software), you'll probably grow bored and restless. The longer you stay in that state, the longer it'll take you to go back to being functional in a day-to-day team environment. It's not fun.
And always keep in mind: you don't need to make the jump in a vacuum. Use your current situation to your advantage: take your time to find the perfect company for you, with similar compensation and challenging work that'll keep you engage. You won't regret it.
It'd be a different matter, if you truly weren't doing anything worthwhile or working on something that is not progressing your skills in a good way.
If you can get paid more to do what you do now on your pet projects, I'd obviously jump if I were you. I'd also spend this downtime looking around and potentially getting some practice on interviewing. Put your resume out there, and see if anyone bites. Even if you don't get offers for better jobs, you're getting a good idea of what employers are looking for, and keep your interviewing skills up-to-date.
This kind of situation can turn bad quickly when your bosses start to think why they pay you and how they can use your situation to their advantage in other ways.
It is not a problem as long as another source of money covers your income, but as a coder, how can you know when this source dries out? Timing, knowledge and financial power is against you. Turn away quickly. (speaking from experience if that's not clear enough already)
However asking the question as you have done makes me think that you've already made your mind up (even if you haven't admitted that to yourself yet) and you need validation.
You shouldn't require validation from strangers off the internet, just get up and do something that makes you feel fulfilled. Identify, plan, execute. Your self esteem will thank you. Your SO will thank you, if you have one. The (new) people around you will thank you. That'll be all the validation you need :)
Good luck!
On the other hand, if none of the work available at your company interests you enough for you to want to pursue it, you probably should be looking for a new job.
Also, I limit my side projects' leakage into the work day to a few peeks into API docs or datasheets, anything more is inviting trouble.
In retrospect, I suspect that they hired me so that they could say they were hiring Americans to justify getting more visas to bring offshore workers into the states.
If you can afford to not have this job tomorrow you might try to start your own Gig. Many of us would kill for lot of downtime to start our own company.
I've also had friends who are able to start a new job and work both. This might be questionably legal/ethical depending on how you do it and how well you can keep secrets.
Maybe something like this? https://www.coursera.org/specializations/scala
Beware that your contract might include some clause which automatically gives your company ownership of whatever you produce while working for them.
Good luck,
Stephan
It happened to me and after going through similiar feelings and almost quiting I started learning everything I wanted to but never had the time. Then I got involved with a local startup and now I have two jobs.
Never worked on the second job during company time for the first but being able to de-engage and saving the mind for the second job makes it possible.