This week's book giveaway is in the Cloud/Virtualization forum.
We're giving away four copies of Building Blockchain Apps and have Michael Yuan on-line!
See this thread for details.
Win a copy of Building Blockchain Apps this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Liutauras Vilda
  • Knute Snortum
  • Bear Bibeault
Sheriffs:
  • Devaka Cooray
  • Jeanne Boyarsky
  • Junilu Lacar
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • salvin francis
Bartenders:
  • Tim Holloway
  • Piet Souris
  • Frits Walraven

Losing my way with my career

 
Greenhorn
Posts: 5
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've been a Java software developer for over three years now and in that time I've worked at 3 different companies. Not meaning to be big-headed, but I am a very capable developer and most recently had a large proportion of input into a project which should continue to generate profit for the company for years to come.

However I feel very disillusioned with the software industry. Here are just some of the issues I've come across:
- Wildly altering scope
- Awful decisions about requirements from VPs that don't have a clue - turning would-be innovative projects into disasters waiting to happen
- Way too much noise and bureaucracy meaning I spend less and less time coding (way less than 50%)
- No desire to allow employees to truly innovate or develop their careers (many companies pay 'lip service' to this only)
- Micromanagement of the 'important'/visible things to make sure managers in question 'look good'
- Managers who continually put themselves before their team members
- Disillusioned experienced developers that baby-sit legacy products and no desire to help/mentor new developers... which could be me in a few years if I stay...

Basically I'm fed up with the way things are done in my current employer. However I get a fairly good salary and I could probably just coast along here for years, not learning much new or progressing.

I know this sounds whiny - comparative to some I have a great job. But I don't know where its heading: I've been advised I may prefer remote working and started applying for remote positions. Ultimately I want to become a respected senior developer that has to deal with a minimum of non-sense - I have no problem mentoring less experienced staff or taking on more responsibility - I already do this beyond my job description anyway. I'm also trying to start my own business with a friend, but this is a long hard road and wont happen overnight.

At times I've felt like quitting my job before I even have an alternate plan for the future, I guess we all have those moments of frustration?

Can anyone offer any advice or encouragement, or indeed discouragement from my current path... I'm willing to consider *anything* really?
 
author & internet detective
Posts: 39890
798
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul,
Welcome to CodeRanch!

Many of those problems are common. Some are company or team specific though. I've had good managers. A few pieces of advise or context:

  • New team members do tend to get micromanaged more than ones who have been at a company longer. The reason i that it takes time for a manager to trust you. It doesn't take a year so you should have gotten past that phase. But don't worry if you see it at the beginning of a new job.
  • Try to make things better. What is one thing you wish your team was doing? Writing tests? Having an automated build? Having a monthly learning session? See how you can make things happen. A lot of companies are stuck in inertia and need nudging.
  • It is normal to spend less than half your day coding. Development is more than coding. There is analysis and design and mentoring and negotiation. You might be happier as a contractor (if you aren't already.) Contractors tend to be expected to crank out code.
  •  
    Paul Blackwell
    Greenhorn
    Posts: 5
    1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks,

    Having been at different companies I've definitely seen there is an adjustment period to being trusted by management, but I do think my current manager trusts me now.

    I do my best to improve and suggest things but lately I've become pretty despondent about it because its such a battle to convince anyone of the benefit of anything new. I've had minor successes but its a slow process (maybe because I now work for quite a big company?)

    I realise there is more to development than coding, and I know I'll never spend 100% of my time doing it. But designing, implementing and seeing the results of my code working 'in the wild' is what I really enjoy about the job. What I don't like having to worry about is interpreting vague requirements, refining poorly thought out ideas/designs, lengthy investigations which involve trying to get information from people at the HQ which is in another country etc. I know my strongest skills lie in being an 'implementer', but I increasingly seem to get less chance to just do that and more administrative tasks and code tweaks.

    At least as you say, these problems are common so I can't be the only one facing this. I have definitely thought about contracting as well as remote working as a possible solution.
     
    Rancher
    Posts: 43011
    76
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Contracting or remote working do not solve all (or even most) problems you describe, like the vague requirements, poor ideas, trying to get feedback etc. And as contractor you have even more tasks that do not involve hands-on technical stuff, like client acquisition, billing etc.

    Are other developers in your team feeling similarly about these issues? If they do, then the team lead or manager should be rather interested to hear about these, as they lower productivity.

    On the requirements issue: there are different schools of thought that need different skills on the part of developers. In my previous company we've gone from extremely specific requirements (that required just about no interaction between devs and PM) to very loosely defined requirements (two sentences of description about a feature that may take a week to implement). While the best approach is probably somewhere in the middle, it depends a lot on the overall org structure, how development and PM work together, and what kinds of people are on the team. Some developers are happy to flesh out features by talking to PM, but others not so much. Finding the right process is a time consuming, but necessary, part of forging an effective product development team. It does need support from all involved managers, though.
     
    Paul Blackwell
    Greenhorn
    Posts: 5
    1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    Ulf Dittmer wrote:
    Are other developers in your team feeling similarly about these issues? If they do, then the team lead or manager should be rather interested to hear about these, as they lower productivity.



    Yes, in fact one has already left the company as a result after raising many issues with our manager and I'm sure others like me are considering leaving too. I can't blame a specific aspect of the company or individual managers wholly for this, but everything comes together creating an atmosphere that makes it very hard to find the motivation, feeling like you're not as productive as you could be.

    Maybe I have a defeatist attitude but I started this year thinking I should just not worry so much about things and coast along, but it is starting to get to me that I feel my job could be so much more than it is.

    Like you say, maybe contracting/remote isn't for me either. Another option would be to go back to working for smaller companies, but I know they can have their problems too. I have wondered about a complete career change, but having come this far, acquiring lots of skills it seems like a waste.
     
    Ulf Dittmer
    Rancher
    Posts: 43011
    76
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I have worked in very small and very large companies, and some in between. Based on that, I prefer smaller companies which in my experience offer a better chance of addressing these issues (as well as providing more opportunities to learn about non-technical aspects of business, amongst other advantages). That is a personal preference, though, shaped by my own experiences; YMMV.

    But even in larger companies, raising these issues as a group -rather than individually- should not go unheard (and if it does, it may indeed be time to look for greener pastures).
     
    Author
    Posts: 3443
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I used to feel like you, but now a days I channel these frustrations through other avenues like blogging and self-publishing. I also take the view that if you are working in others' ballpark, you need to work by their rules. You can tactfully recommend, but can't expect things to change quickly. Another train of thought is that, if you are paid 60K, 30k is to get the job done and the remaining 30K is to put up with things.
     
    Rancher
    Posts: 2759
    32
    Eclipse IDE Spring Tomcat Server
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I'm agreeing with Ulf here. Smaller companies provide more opportunities for ownership and less bureaucracy. And it sounds to me like you really want ownership. You might want to try your hand at startups. OTH, startups tend to be personality driven, and if you have a personality conflict at a startup you might want to move quickly.

    If you want to stay at where you are, you might want to say what you have said here to someone who is senior to you and you trust. It doesn't have to be your immediate manager. It can be your manager's manager, or like an architect. I was an architect at a company that grew from 20 devs to 200 devs in 3 years. And because of this explosive growth, many times we didn't do things right. Or sometimes we would make a conscious decision to take shortcuts because of time constraints, and many times the devs wouldn't see everything. I would love it when a developer would come vent to me about how bad things are. It gave me an opportunity to first of all, explain to them why we are doing things that we are doing. Secondly, it showed me that they were ready to take more responsibility. I would start moving people around to get the dev more responsibility. I want people to tell me how bad of a job I am doing so I can give them my job. The only thing I didn't like were devs who were more than willing to criticize, but not willing to take the responsibility.


    A good manager is always on the lookout for people to delegate to. A good manager gets happy when people say they can do things better. It's not always wrong to criticize your boss, as long as you do it in a positive manner, and are willing to put the effort to make some improvements.
     
    Ranch Hand
    Posts: 426
    Eclipse IDE Fedora Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    Paul Blackwell wrote:I've been a Java software developer for over three years now.



    I'm not sure I understand why you are frustrated. Having only three years of experience means you are near the bottom of the pile. In a some US-based companies, Software Analyst I (entry level) covers the first three years of a person's career. Software Analyst II goes from three to five , and III up from there.

    Paul Blackwell wrote:However I feel very disillusioned with the software industry. Here are just some of the issues I've come across:
    - Wildly altering scope
    - Awful decisions about requirements from VPs that don't have a clue - turning would-be innovative projects into disasters waiting to happen
    - Way too much noise and bureaucracy meaning I spend less and less time coding (way less than 50%)
    - No desire to allow employees to truly innovate or develop their careers (many companies pay 'lip service' to this only)
    - Micromanagement of the 'important'/visible things to make sure managers in question 'look good'
    - Managers who continually put themselves before their team members
    - Disillusioned experienced developers that baby-sit legacy products and no desire to help/mentor new developers... which could be me in a few years if I stay...



    These are common. This is the reality.


    Paul Blackwell wrote:I've worked at 3 different companies.



    You changed companies three times. Did either of the three companies help you ? It seems you quit quicker than you should. Quiters never learn anything. Even if the company you work for causes you frustration, you can learn from the events that happen. [Anecdote] A young man was tired of being told what to do by his Dad. One day, he decided he had enough. He told his Dad : "I'm tired of being bossed around here, I'm 18 and I can do what I want. You can't tell me what to do, I'm going to join the Army." [/Anecdote]


    Paul Blackwell wrote:Can anyone offer any advice or encouragement, or indeed discouragement from my current path... I'm willing to consider *anything* really?



    Don't quit the company you work for. Stay there for five years. Prove yourself. Three years of experience is nothing in an IT industry filled with veterans from the punch card era. Specialize. Find an area that you are the subject matter expert. Do you know anything about Web Services ? SOA ? Middleware ? Queues ? SCADA ? Telemetry ?

    Three years is barely enough experience to scratch the surface. When you get to have twenty or thirty years of experience, then maybe you could complain A LITTLE.

    Besides, you are costing the company money. Every day you go to work, the company invests a chunk of money in you. Just because you want to add a bell or a whistle, if that new feature does not bring revenue to the company, you have no right to pursue it.

    Paul Blackwell wrote:VPs that don't have a clue



    They may not have the technical knowledge, but they are the VPs not you. You have no right to challenge them.

    Charles Spurgeon wrote:Humility is to make a right estimate of one's self. You may be thinking of yourself more highly than you ought.

     
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Likes 2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Three companies in three years? That's quite a turnover, even in this industry. And if people are suggesting you might prefer working remotely, have you asked them why they suggest that? Could it reflect their impression of your ability to work in a team?

    You sound like an ambitious and - by your own account - capable person, but I think your relative inexperience of the world of work is part of the reason for your frustration.

    Scope always changes. That's why they invented Agile which - for all the hype and ideological BS surrounding it - is an attempt to come up with a better way of dealing with constant changes to requirements. And every developer should know that the best way to find out what the user really wants is to give them what they ask for!

    Also, companies do not exist to promote your career development, but to make money. Good companies will recognise that having highly motivated employees is one way to help them achieve their goal of making money. But sometimes, even in the best companies, there is crap work that has to be done by somebody. Anyway, if you're always the new guy with just a few months on the team, you're going to catch a certain amount of crap work as people test your abilities or simply delegate the stuff they don't want to do themselves.

    Politics is a tiresome reality of any significantly sized group of primates, even software development teams. Live with it, find an organisation that suits you better, or work freelance and accept that in return for being exempted from office politics, you also have to be 100% responsible for your own career development and financial security. But you may need to gain a bit more experience before you can expect to sustain yourself with freelance work unless you have particularly rare skills.

    Finally, instead of telling everybody how smart you are, show them. Pick some issue that bugs you or other people on your project, and find a smart solution. Then show all your colleagues and make sure you're seen as somebody who solves problems and shares the knowledge around. What have you got to lose?
     
    Paul Blackwell
    Greenhorn
    Posts: 5
    1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    OK, I should continue by saying I in no way think I am hugely experienced or have all the answers. However, each time I have left a company - I have had them tell me I've done some really good work for them and I owe them nothing because I've paid back the investment they've made in me. So far each move has been a small progression in my career, to the point where I'm now at a stage where in terms of the responsibility I have - I'm quite happy. This last company I moved to because I felt it was a great long term opportunity - I have been here a year and a half now and I never intended to be this disillusioned with it so early on. Also - I'm in my late 20s and while I've only been professionally programming for 3 years, I have a CS degree and dabbled with code since I was a little kid. So while I don't know everything I'm no 'grasshopper' either (in terms of software and life in general).

    Maybe setting the scene would help a little: Before I joined I had no idea this company had a policy of making regular lay offs at least every couple of years. The 'pep-talk' my manager gave me when I joined the company equated to something like - 'We're making cuts soon so I'm taking a risk with you and you better perform'... not exactly a great welcome is it? And I joined at a time when morale within the company was probably at an all-time low. Given these factors this job has been the toughest I've had so far - not in terms of difficult or hard work, but definitely in terms of a hostile atmosphere.

    Despite this, until recently, we had a great team within the company, fostering an atmosphere of collaboration. But now as I say, my fellow team members with whom I have a great rapport are starting to leave.

    I get what the last two posters have said - I should really stick it out for a while and not become a habitual 'quitter', which is what I'm currently doing. But I can't say that if a good opportunity presented itself I would turn it down on the basis that I should 'see how things turn out' here. Additionally regarding seniority of job titles and challenging the VPs - I think I have every right to do it (in exceptional circumstances where somebody more senior is making a clearly awful decision) even if it might not be great for my career. I'd rather stand up for what I believe in than 'suck it up' and have things implode without airing my (and my coworkers) concerns.

    Thanks for all your views though - I'm glad to have a mixture of opinions which is starting to help me sort out things in my head. I'm certainly not going to make any rash decisions.
     
    chris webster
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    Paul Blackwell wrote: Before I joined I had no idea this company had a policy of making regular lay offs at least every couple of years. The 'pep-talk' my manager gave me when I joined the company equated to something like - 'We're making cuts soon so I'm taking a risk with you and you better perform'... not exactly a great welcome is it? And I joined at a time when morale within the company was probably at an all-time low. Given these factors this job has been the toughest I've had so far - not in terms of difficult or hard work, but definitely in terms of a hostile atmosphere.


    Well, if your skills/experience are marketable (and it sounds like they are), maybe it might be an idea to start looking for alternatives after all, as this employer really does sound pretty bad: I guess this is a learning experience, eh? But don't quit until you have found something else, and don't let people know you're posting stuff like this online: no point stirring things up until you're ready to leave. Get some recommendations/references from your previous employers, and be sure to think up a good explanation for your decision to move again: potential employers may be nervous if you look like a "grasshopper", so you'll need to tell a convincingly positive story about why you're moving again, without bad-mouthing your current employer (another thing employers get twitchy about).

    Good luck.
     
    Paul Blackwell
    Greenhorn
    Posts: 5
    1
    • Likes 2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    So - several months on and I thought it would be useful to update this post for people in a similar situation and maybe interesting for those who contributed:

    In the end I did find another opportunity at a small company, and I'm pleased to report the first couple of months in my new job have been SO much better. Even after a couple of weeks I felt I had contributed so much to the business and that this was being valued.

    However while I was looking at some other opportunities before the switch, in this case I was approached by a company director and the role seemed a really good fit for me and for them. I guess I was very lucky to be in the right place at the right time, and I do feel this change has done a lot for my career especially after finding out so many people are leaving my previous employer that I had those bad experiences with.

    Obviously I'm still in the 'honeymoon' period of this new job, but there have been no alarm bells whatsoever this time which is a good sign. The impact of feeling productive, respected and valued, as well as not being taken advantage of should not be underestimated. Ultimately I think I prefer smaller companies, but above all I think the most important thing I've learned is that there are good times and bad times in all jobs and that your current job does not define you as a person. Life and indeed your career is so much bigger than the intricate details of things you are working on at the time. Also knowing what you can and can't achieve and what you can and can't change comes with experience and the better I get at evaluating that, the less likely I seem to get too stressed out about it all.
     
    chris webster
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Glad to hear you've found a job that seems to suit you better - good luck with it!

    I've learned (the hard way!) that it helps to be open to new opportunities so that you are primed to respond positively when an interesting prospect comes along, whether it's a new job or simply a new project or role within your current organisation. New opportunities tend to generate more opportunities, so it's worth keeping an open mind and having the confidence to take advantage of these opportunities when they arise.
     
    Marshal
    Posts: 67366
    173
    Mac Mac OS X IntelliJ IDE jQuery Java
    • Likes 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Glad to hear things are looking up for you.

    And that's a really good post with respect to the philosophy you've gained. I've awarded you a cow for taking the time to come back and make that post.
     
    It's fun to be me, and still legal in 9 states! Wanna see my tiny ad?
    Java file APIs (DOC, XLS, PDF, and many more)
    https://products.aspose.com/total/java
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!