views:

283

answers:

6

Being the lone-developer of the 3-men IT team in a manufacturing plant of a large, international and very vertical company for two years, all of my projects are relatively simple, one-man projects, from production data webcharts to EDI interfaces to client applications that interact with PLCs and other hardware.

Since we are a plant, all tech decisions are not made here, but at corporate IT, many many layers up from here. Benefits and salary are great, which is important considering this is my first full-fledged dev position (I have 10 years experience in other IT and DBA roles) and that I have a family to feed, but there really isn't a lot growth in the mid term: there's no one to bounce ideas off, no tech advice from other devs, nothing.

It's been only me, some books, and Google these two years. I'm a bit concerned about my growth as a software engineer, and I'm afraid that I won't be able to jump ship when time comes in the future because I feel like I'm stagnating here. And jumping out of IT is not really what I want (don't care about QA, Production, Manufacturing, Finance or anything else here).

Has anyone been in the same situation? What can I do to stay up to date with my career?

+4  A: 

The biggest thing you can do is maintain contact with developers outside of your organization -- like on SO. While it doesn't really give you a venue to bounce LOB-specific ideas off of, it does give you a technical outlet and resource. The biggest thing to keep up with is technology and the various development paradigms and frameworks that come and go. Keep current, do some personal projects, and you'll probably be ahead of 80% of everyone else.

Adam Robinson
A: 

Perhaps you might consider learning a technology completely different from what you do in your day job. Have you considered:

1) Writing an app for the iPhone 2) Starting a personal blog 3) Doing a Facebook or Twitter app 4) Building a website for a local charity

By doing something like this, you do not need to worry about corporate policy or trying to convince someone else that you should be able to use some new technology.

And when the day comes that you need to look for another job, you will have "web developer" or "game developer" to add to "COBOL programmer and EDI expert" (or whatever you use at the plant).

JonnyBoats
you could do these things to expand your overall knowledge as a computer person, but the big money is in specialization. By spending time writing iPhone apps, facebook and twitter apps, you are probably spreading yourself thin over a bunch of technologies. "Jack of all trades, Master of Nothing"
MedicineMan
@JB. Thankfully, I don't use COBOL. I work with VB .NET, Oracle and SQL Server, tho I still have to mantain an old, spaghetti-us Classi ASP inventory app. I'm an Oracle OCA from my last incarnation, and I've been thinking of setting up a blog about Oracle setups/experiments I've never deployed.
PJ
A: 

It's funny - at some point you realize that most software development is for internal use, the sort of work you are doing. If for example you work in electronics, you could find out more about the industry you are working for, more about what and how they do what they do. As the people you support start to see you supporting them, and not just making change for change sake, they'll take your recommendations on technology more seriously (even a corporate HQ). This is something that will benefit you in any job. 90% of our job as software engineers is listening to our customers.

That said, freelancing could be a good way to keep your day job (and your relatively secure salary), and also gain experience doing other things. Contribute to an open source project. Write about your experiences and problems you've solved.

Chris Kaminski
+3  A: 

I have almost the exact same background as yourself; 6 years in IT before taking a dev position. I even had a position with a ceramics manufacturing company. It was... interesting.

Here are the 4 things that have helped me the most:

  • Follow blogs on your technology platform
  • Follow blogs for specific technologies
  • Join technical forums
  • Attend user groups

There's a couple of forums that I check on a regular basis. Those usually put a face on a lot of technical issues. My top 3 are (not in any order):

  1. Joel On Software - JoS and Business of Software forums
  2. Computer Consultants Forum
  3. StackOverflow - You're already here. :)

The first list above will keep you up to day on what's going on technology-wise. Attending user groups helped me keep sane by interacting with others that worked with the same technologies. That also helped my personal network, and I got job leads that way.

You could also volunteer your services at user groups. For example, I have spoken at my local .NET user group. I also host the user group's web site.

There's also a few websites that have a lot of tutorials. One of my favorites is DimeCasts. It's a website for .NET tutorials. You can either watch the casts online or download them.

Another big help has been my personal library for code and articles. I have been accumulating those for several years now. I personally use Surfulater, but there are other similar software like UltraRecall. This type of software saves the whole web page into a database. It's been quite useful, because I don't have to worry about the URLs being changed. I have the content.

Once the economy gets better, look a another job that will challenge you and make you grow. Until then, just hunker down. You're doing fine, and by asking here, it tells us that you are thinking of your future.

hectorsosajr
A: 

I suggest being a positive squeaky-wheel. Beocme an expert on the machines, PLC's in use at your plant and in the product you manufacture. Become the best friend of the manufacturing engineers and technicians at your plant. Become indespensible for solving their problems. It will give you ideas - PLC programming advances, lot testing, etc. etc. Read "The Goal" which is a fascinating novel-like education in manufacturing. Get noticed by Corporate - come up with some efficiency-enhancing idea for production.

The point is you are not the product - you are support. Until you are directly involved in the product, you're treading water at best. Having said that, there are few things more satisfying than solving a problem with a real machine - real, honest-to-goodness hardware that cuts metal. Helping a line worker improve his cell. Helping a manufacturing engineer deliver a new PLC enhancement. To be honest, I miss my days at the plant where things were much more hectic but also very satisfying! The stories I could tell you...

Who knows? Maybe SOFTWARE isn't your ultimate future! Can you imagine how effective a plant manager with an I/T background could be?

n8wrl
+1  A: 

I think I had a similar situation at a previous place where while there were other developers, there wasn't much room in the hierarchy as my boss was the VP of Technology so it isn't like I could get promotions in that sense though it was doing some stuff I hadn't done before.

As for staying up to date with your career, my suggestion would be to be aware of a few different dimensions:

  1. Technology and the tools of the trade in general. This can be done through blogs, local groups like user groups, and various social networking sites. While this may seem like where all the focus should go, that is unwise.

  2. IT in general. Do you know about business process management? Software development methodologies? This isn't quite the same as 1 in that this is more about process and things that are rather corporate in a sense.

  3. Your skills and preferences. This is where I fear you may not be putting much attention but there are a few areas here to really examine and note:

    • Current skills where you are proficient - You are good at what? That is how I'd summarize this area. This can be technical,e.g. ASP.Net or Java, or non-technical,e.g. problem-solving or communication skills.
    • Current skills where you like doing things - You like to do what? This is slightly different as you may like some things more than where your proficiencies are.
    • Future job requirements - What would you like to see in your next job? For example, here are a few ideas:

      • Do you have a picture of what size of company you prefer?
      • How about the size of team you'd be joining?
      • What kind of business would you like the company to have?
      • What methodologies and tools do they use?
      • Where is the company's offices that you'd be working?
      • What perks would you like to see, e.g. flextime, sick/vacation time, mentoring?
      • What would you like to be doing most of the time in this new position?

My main point in these last couple parts is that there is something to be said for the carerer being yours and that you should know what it is that you like and where you want to go with it. Good luck on finding something better if that is what you decide to pursue.

JB King