Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I work at a small software company where the owners are also the managers. My concern is that any and all progression in technology is met with utter disdain by management. Some of the comments are as follows:

  • LINQ, nHibernate, and ORM are bad programming practice, we will never use them.
  • The majority of large applications are still written in VB6.
  • The web is just a waste of time, its not meant for applications.

Every time a new version of development software is released, I have to listen to the management complain about it for hours. Technologies like WPF, WCF, MVC and Entity are completely ignored.

All that said, its not a horrible place to work, the pay is average and its close to home.

My concern is that, even though we are technically using the latest version of .NET, we are hardly using the latest technologies, we might as well be using .NET 1.

If I decide to move, will this "experience" limit me career wise? I have been here for a few years already.

EDIT: I am really grateful for the superb response. I honestly think it might be in my own best interest to make a move.

share|improve this question
87  
Your employer is a Sarlaac pit and staying there will slowly digest you for thousands of years. –  Robert S. Jul 21 '11 at 14:26
4  
@Robert S.: That was the best comment I've ever read on here. –  Bernard Jul 21 '11 at 15:03
9  
You can always learn about new technologies yourself, even if your work doesn't let you deploy them there. –  JSBձոգչ Jul 21 '11 at 15:16
2  
Not only what other people say is true, but you will get bored eventually and your work will suffer. Also, if they are the way you say they are, then wow! It seems like they just dislike change. They are in a place where they are afraid that if they change then they will lose money and they just don't want to take that risk, when in fact by not changing they are probably hurting themselves. It's like those kitchen nightmare shows. –  Matt Jul 22 '11 at 4:45
2  
Whoa, a time portal! How's life back in the 1990s? (Seriously - the owners seem to be oblivious to any change that has happened since then) –  Piskvor Jul 22 '11 at 10:46
show 5 more comments

closed as off topic by Mark Trapp Dec 17 '11 at 2:25

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

16 Answers

up vote 68 down vote accepted

The longer you stay, the worse it will get (in terms of your being up to date on current technology). Go now.

share|improve this answer
8  
I just made a move for this exact reason. Now I have the latest everything, a better paycheck, and I couldn't be happier. –  Jeffrey Jul 21 '11 at 13:41
6  
This. The longer you work with outdated things the longer your current skills atrophy and the less likely you will get a job using the new technologies. Stagnation = death –  Wayne M Jul 21 '11 at 14:00
1  
That is a good way of looking at it. –  anon Jul 21 '11 at 19:01
3  
@FrustratedWithFormsDesigner: Yep, 5 years from now that VB6 app will just be 5 years older and you'll be 5 more years behind. –  Ryan Hayes Jul 21 '11 at 19:25
show 1 more comment

The biggest problem is that Management/Owners are making technical decisions. They should be focusing on making business decisions. If you cannot make technical decisions then you are just a highly trained monkey.

But you can use this to your advantage. Start looking for another job. You should have time to do this since you don't have to spend time learning something new. And since the job pays decent and it is a decent place to work you can take your time in finding the perfect job.

Also because you are not learning anything new for the company you can learn, at your leisure, the technologies in demand in your neck of the woods.

share|improve this answer
4  
Don't take too much time finding the "perfect job" or your brain will degrade until you become a vegetable. –  Bernard Jul 21 '11 at 15:05
add comment

You didn't discuss work environment much so I assume that is OK. I don't know how long you have been in the industry but everyone does not always use the latest and greatest. I left a job of 4.5 years where I used Borland C++ Builder 5 IDE every day for four years. The production code is still developed on that platform and is in widespread use throughout that particular industry. On occasion, I would take it upon myself to use new technology wherever possible such as when I had to integrate with mobile handhelds and utilized Visual Studio 2005.

Rather than sulking, you should make the best of the situation. Make incremental changes as you can. Improve the product on the old platform as best as possible. In my initial story, we were still finding ways to make the software better on the old IDE. Don't throw away old tools simply because they are old. I know WCF, LINQ, and other technologies are the buzz right now, but sometimes it pays to stick with the old stuff.

As far as your bosses making technical decisions, that is because it is a small Company. I have worked at two small Companies - it is the norm. Larger companies have much greater degrees of separation between the engineers and management. What should be best practice usually isn't and that necessarily isn't a bad thing.

It is time to start looking at things in a different light. I sometimes wished I had done that in many cases throughout my life. Think positive my friend.

share|improve this answer
2  
I agree with you - it pays to stay with the old stuff, in a business sense. It rarely is good for the developer. –  Boris Yankov Jul 21 '11 at 15:25
show 1 more comment

This smells like a rant, but I will bite anyway...

I think you know the answer and you don't need us to tell you that you work for losers.

A couple years at a bad job never hurt me, now 5 or more starts to look bad, especially if it earned a repuation in the professional community as being a bad place to work.

You should start looking for another job now.

share|improve this answer
1  
I suppose it had rant-ish aspects, but I really did want to see if others thought the situation was as bad as I did. –  anon Jul 21 '11 at 18:54
add comment

Yes. It has already affected your career as you have several years working with a dead technology that is only used by other poor companies, and uses new technology like it was old - they're technically ignorant in other words. Both of those are very serious offenses and will be a grievous blow to career prospects. In this profession, stagnation is a death sentence and leads to early retirement. A company that isn't constantly evaluating new technology and how to reap the benefits from it, and planning upgrades is not a company you want to work for than you need to; these companies will only be able to retain the dregs of our profession - the ones who can't get a job elsewhere and need the droll stability of doing the same thing to exist.

The OP's situation has been my entire career, and I've seen firsthand the damage that can be done. I've been trying unsuccessfully to undo it for years now.

share|improve this answer
1  
I disagree with overly pessimistic view but +1 anyway for pointing out the "dregs of our profession". I don't hate them, I just feel sorry for them and hope that isn't me someday. –  maple_shaft Jul 21 '11 at 14:18
1  
+1 I found myself in the same situation and did nothing about it. I'm now hopelessly behind in technology and in this economy, that could be deadly. RUN!!! –  Lou Jul 21 '11 at 20:47
1  
Until you stagnate enough that it leads to highly paid consulting gigs as the only person left on the continent who knows the technology! :) –  Affe Jul 21 '11 at 23:32
show 2 more comments

let me summarize your situation,
1- You DONT use latest technologies
2- You still live in the shell of your managers, can't be creative, motivated or even inspired (I dont know how you can still do your daily tasks!)
3- Web technologies is a source of headache for your company!

Dude, this is not a health situation nor a professional environment ! RUN FOR YOUR LIFE :)

My advice: Start looking for a new job ASAP, even if it far from your place its a minor issue as long as they pay you enough according to your experience value in the market now

Good Luck.

share|improve this answer
add comment

Here are some important points to remember.

  • Employers have little reason to diversify in the technology they use. Focusing on a narrow, unchanging range of technology decreases (perceived) costs, since programmers only have to be trained once. Don't expect a different employer to behave significantly differently in this regard.
  • Your range of experience matters in a job search. A great depth of experience within a narrow field isn't remotely as useful in a job market as relatively shallow experience in a wide range of fields. The likelihood of finding a new job that maps exactly onto your existing narrow specialization is remote, no matter what specialization you choose.
  • You don't have to get all your technology training at work. Work is often a terrible place to be trained in programming; the technologies and techniques they use are generally old and often wrong. Seek training and practice elsewhere on your own time.
  • Contribute to open-source projects. A great place to practice proper programming technique and new technology is by contributing to an open-source project. People who program for fun on their own time are usually much write much better code than people who only do it for work -- their code will be much more instructive. Pick a technology, it doesn't matter which, and find a project that interests you, read the code, and try to make it better. It's a slow process, but it's far more beneficial than what you get at work.
  • Contribute to open-source projects. I know I said it before, but it's the most important advice I can give you. Programmers who have their name on an open-source project have a lot more clout in the hiring pool. For one thing, potential employers have samples of public code you've written that aren't under NDA, so you're less of a risk as a hire. Also, programmers who write code in their spare time demonstrate that they enjoy what they're doing and therefore can stay focused better than someone who just wants a paycheck.

Don't worry so much about where you work as long as you have the free time and legal leeway to work on your own stuff on your own time. If the environment is good and the pay is acceptable, then there's no reason to flee.

share|improve this answer
add comment

Business do not need to be updated with Technology, but Programmers do. Its time to move on.

share|improve this answer
show 3 more comments

That really depends on what you want. I certainly disagree with pretty much every quote you gave from management, especially:

The majority of large applications are still written in VB6.

What a joke, they aren't and never were written in VB6, they were written and are still running on mainframes!

But seriously, you have to decide for yourself what your priorities are. I think technologies tend to be irrelevant, you can abuse new technologies and write elegant code in old ones (I've seen both, and new technologies tend to get over-abused, really, due to learning curve and lack of experience). Personally, I'd rather work on a VB6 or legacy Java project that's well-written using solid software engineering principles than the latest MVC/AJAX site using RIA services but completely mangled to the point that any attempt to make a minor change anywhere ripples throughout the entire program and breaks it beyond repair. So if you're happy doing what you're doing, you'll be able to find somewhere that needs VB6 programmers for pretty much as long as you want, just look at all the COBOL programmers still out there. And if you've proven yourself to be a good developer, a good company will help train you on newer technologies (and who wants to work for a bad company?) I've been in a position to hire developers several times, and my preference is always for the person over a specific technology/skillset.

That being said, it sounds like there's plenty of other things that may be wrong with where you are, and failure to adopt new technologies may be just one symptom of the larger problem. It sounds like the real issue is that the owners are out of touch with reality, and unwilling to admit that there are technology issues they don't understand and aren't qualified to be making decisions about.

share|improve this answer
1  
"And if you've proven yourself to be a good developer, a good company will help train you on newer technologies" -- I dunno man. If a company has a group of good, experienced COBOL programmers, and the business' lifeblood is on the mainframe, then they will do anything to keep those COBOL folks in the COBOL world. Why would you want to cross train them and encourage them to leave for newer technologies when COBOL folks are getting more scarce every day? –  Graham Jul 21 '11 at 16:56
show 2 more comments

Develop something for the business: i.e. using business data to come to business decisions, or present business data in some way, or make a genuinely useful business application. Do it in your own time, use cutting edge technology and make it as wonderful as you can.

Post it to them anonymously, but provide some way of proving it was you. Include (honestly) how long it took you.

When you get asked how long it would take to write something like this, calculate it accordingly to the technology you currently have available. The difference will most probably be substantial.

After a day or so, sit down with them and tell them. If they're halfway decent people they'll recognise it as a massive cry for help, and change their outlook. If they continue not to, then, yes, you have to go. But this way gives them a chance to redeem themselves, and give you a chance to prove what can be done.

share|improve this answer
add comment

Maybe not as much as you might think.

Lots of employers look for experience of tools such as VB without paying quite as much attention to what you've actually done with them.

So I wouldn't say it was actively harming your career; just not helping it. If you are happy in your job otherwise, feel free to stick with it for a while.

There's nothing to stop you looking for a role which will do a better job of furthering your career while you carry on working for them.

share|improve this answer
add comment

Working a few years in a small company generally means you know a fair bit about what the company develops...I guess you'd have a fair amount of information that is key to the business and often small companies can't afford to make sure all knowledge is equally known amongst its workers.

If the company is small enough you might well also be the guy who looks after the network setup or insert other seemingly unimportant vital task that your manager/owners would need to replace.

If you left, that may well cause quite a big headache for a small company in terms of a handover or knowledge transfer.

What I'm getting at is that your role in the company might actually be very important because you know a lot of the business information as well as tools/skills that are becoming less available as time goes forth. Your knowledge is likely key to an application being upgraded or brought onto newer platforms etc

I doubt you'd want to risk bargaining with them but if you left your job, you could see them being in a potentially deseperate state seeking skills you've got...

share|improve this answer
add comment

I worked for a company like this for nearly a year before management convinced itself that I was on the blacklist, that I was completely ineffective (despite the fact that I was producing code to production that was making a noticeable positive impact on revenue), and eventually fired me and attempted to leave a black mark on my employment history.

If the company hates innovation, at some point they are going to need a scapegoat for why things aren't working. Don't let that be you.

share|improve this answer
add comment

Outside of the directly computer/software related industries using old things is fairly common.

The risk/reward on moving to a new platform is viewed as a bad business move by some industries. This is just a fact of some sectors. You have to as yourself two questions:

  1. Is the company likely to be rendered uncompetitive by their decision?
  2. Are you more interested in the sector or the modern programming?

If you have a lot of business knowledge in the sector (insurance or aerospace are good examples here) and you enjoy the problem solving as it is then you can probably go your whole career without ever using the cutting edge stuff. COBOL, ADA and Assembler are still quite alive and well in those areas. That is changing, but very slowly, and only to other well proven "older" tools (like .net w/o the v3+ bells and whistles. Experts in the right problem space and tool are sought after while those companies view the new stuff as fairly commodity. On the other hand, if you hate the problem space, or your company does something with a low barrier to entry you are in a risky spot as you will have trouble finding a comparable position.

If you want the new stuff get out, but don't feel you have to if you really think the position is going in a good direction. The position as you describe it limits your choices a bit, but it doesn't hurt you as much as the cutting edge types make it sound if you are content to stay in the enterprise space down the road.

share|improve this answer
add comment

In this business, you have to be a shark. Never stop moving forward. If the company doesn't realize that then they don't care about their own success, much less yours. Move ASAP!

share|improve this answer
add comment

Lol, in so-called real life you won't use new, useless technologies with pretty names... but instead old, seasoned solutions which have proven to be production ready.

Much of real business apps are still developed in Borland C++ Builder or Delphi, or VB6.

If you want to "play" with Mongo, ORMs, etc... get back to kindergarten. Or search for some meaningless, not-serious work at some startup.

What do you expect? That your employer will act as a betatester for every new technology? If you're writing some stupid facebook clone you can use latest tech, because it doesn't matter if it breaks, loose data, etc.

What you mean "progression"? Using ORM or Hibernate... both are horrible, and your manager is right telling you that using this is bad programming practise. ORMs are for database dummies that don't know how to write queries and performance wise it's horrible and it generates a mess.

MVC? You want to write each 1/4 of the app in different model? Maybe waste a year to rewrite it? I think that purpose of doing "work" is to get things done... not to be fashionable.

share|improve this answer
1  
Wow. .Net is hardly in "beta" same goes for Java. Both .Net and Java are much more productive than the languages you listed and good luck finding quality developers who want to work vb6 or Delphi. New technologies are often abused and misused just like any other tool but that is the fault of the developer not the tool. –  Aliester Jul 22 '11 at 2:22
1  
What a bunch of utmost, unargumented crap. -1. –  Jas Jul 22 '11 at 6:53
1  
I wasn't talking about .Net or Java. Sorry you may find it "unargumented" but if you think that your employer will rewrite all company apps to MVC or ORM for 0 benefit, you have to be retarded. And if I need to tell you why then i think you are for sure. Stack Exchange... cool, yeah, it looks like a real business application :) –  Slawek Jul 22 '11 at 11:56
1  
@Slawek - Just because YOU work with very old technology, does not mean that MVC and ORM is crap (as a matter of fact MVC was invented in 1979 by one Trygve Reenskaug (Smalltalk, anyone?). StackExchange is not a business app? Oh for sure, I guess working with millions of DB records, scaling accross Internet for millions of users, and get this: generating revenue probably does not qualify as a true BUSINESS APP(!?). You know, there is a reason why only a couple of unadjusted incompetent devs are working with legacy Delphi/VB6 code nowadays. –  Jas Jul 22 '11 at 12:54
show 4 more comments

Not the answer you're looking for? Browse other questions tagged or ask your own question.