Slashdot Mirror


Ask Slashdot: Standard Software Development Environments?

First time accepted submitter sftwrdev97 writes "I have only been doing software development for about 5 years, and worked most of it at one company. I recently switched to a new company and am amazed at the lack of technology used in their development process. In my previous position, we used continuous integration, unit testing, automated regression testing, an industry standard (not open source) in version control, and tried to keep up with the latest tools, Java releases, etc. In the new position, there is no unit or regression testing, no continuous integration, compiled files are moved to the production environment basically by hand and there is no version control on them. The tools we are using have been unsupported for 5-7 years and we are still using old Java. I am just wondering since this is only my second job in the industry, is this the norm for most development environments? Or do most development environments try to keep up on technology or just use what ever gets them by?" What's it like in your neck of the woods?

362 comments

  1. Offshore everything. by Anonymous Coward · · Score: 0

    We usually just send the grunt work to India, and let them handle the details.

    1. Re:Offshore everything. by hazah · · Score: 1

      My god! You are so helpful! Whatever would we do without you!

    2. Re:Offshore everything. by Anonymous Coward · · Score: 0

      Is that you, Mitt Romney?

    3. Re:Offshore everything. by Anonymous Coward · · Score: 1

      No, actually Mitt says there are 1 million unfilled tech positions here in the U.S., so ramp up the visas!

      Note, not ramp up citizenship, just visas, we wouldn't want to bring over people who then expect similar wages!

  2. Its a wide spectrum by devilsandy · · Score: 2

    you were at one end in earlier job and moved to the other end in new job.

    1. Re:Its a wide spectrum by Anonymous Coward · · Score: 0

      It's a wide spectrum even within some companies. At one end, a vendor of ours is shipping Flex applications, full jquery/css interfaces, and the like. On the other end (same vendor), they provide a tool that requires VB6 to compile initially and again if you add additional database instances. It's officially only supported on Windows 98/2000 and Excel 97/2000 (it runs - but isn't supported - in XP and Excel 2003). They have stated they will not be converting it to VB.net, yet their training and planning guides assume you have it built for your site.

      Our own site is a mixed bag. We have SVN (and most people use it, albeit some grudgingly). Most of our development is based on supporting this vendor's languages (Oracle PL/SQL primarily, but small bits of C, Perl, COBOL and Java). No regression testing, limited automation, but we're managing version tracking OK at least.

    2. Re:Its a wide spectrum by cayenne8 · · Score: 1
      It can be pretty common.

      I've seen it as very much fly by the seat of your pants in govt contracting (both fed and dod)....often by reason of something started (maybe not even finished) by one contractor.....then, everyone lost from that contract when over, and now, it is you. Often, done with old tools, old or non-existant methodologies...but your job?

      Fix it, or keep it running at all cost, as that it is a critical system.

      No time to waste setting things up...quite often, it is band-aid work....and you aren't getting paid to be pretty. And, the 'client' doesn't want to hear about taking a year to study, and set things up correctly...as that that will cost them more money, and they won't see a ROI for over a year or more.

      That's just the public sector. Happens private too.

      Honestly, the first ideal work environment the author of the article sound like a utopia I've never encountered....nice, but I have to guess from my anecdotal experience, not the norm.

      While I like things cleanly coded, with CVS set up...multiple testing environments...and if given the time and funds to do so would work that way...I've found over many years that that just isn't the case in most situations.

      I get paid to make it work or keep it working...and hey, if that's what makes the customer happy, I'm getting paid well for it..so, I do it as they wish, not as I wish they'd wish.....

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  3. No CI? No version control? by barrywalker · · Score: 5, Insightful

    Run. Fast. This company is doomed without basic software engineering discipline.

    1. Re:No CI? No version control? by ByOhTek · · Score: 2

      I'd have to agree.

      Keeping things safe and secure where I work is a challenge, and we have mandates (that are followed) that ALL of our software be within the manufacturers 'actively supported' lifecycle, plus no more than 90 days out of date in patches. Working things as out of date as described in TFS seems like a nightmare in terms of reliability, security and lack of features,

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:No CI? No version control? by ranton · · Score: 5, Insightful

      Agreed. From my experience the lack of continuous integration, unit testing, and automated regression testing is the norm, but the lack of version control is simply inexcusable. It's not like it's a new startup or anything; if their tools are already unsupported for 5-7 years then they have been working this way for at least a decade.

      Every job you take is an opportunity to build your skillsets and improve your career, and I find it unlikely that this job is the best place to do either. Unless you are able to quickly get management support in your efforts to improve development practices (which could significantly improve your abilities depending on how involved you were with those processes at your last job), I don't see why you would want to work there. I cannot imagine your coworkers are the best of the best, and your IT management probably has no idea how to run a software development group. (I have seen small companies in an uncompetitive niche do well despite such environments, but then again I also know someone who won the lottery)

      Then again in this economy at least you are working, and who knows how good the IT industry is doing in your area.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    3. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      I think that's a pretty common misconception among programmers. Yes, all those tools certainly make life a hell of a lot easier, and going without can be an epic nightmare, and it might not be a bad idea to run. However, all the toys in the world can't save a shitty program or shitty programmers, and very talented programmers with a great program can overcome quite a bit.

    4. Re:No CI? No version control? by Anrego · · Score: 2

      I'd say it depends on what they are actually doing.

      Rigid process and a solid tool set is usually a good thing.. but "room full of coders with a goal" can work in some situations.

      As for the norm.. I'd say most companies fall in the middle. You've seen the two extremes. Most places have a handful of critical tools that are very well maintained and kept up to date.. and a whole bunch that are "we should really upgrade that" or "yeah, that's a messy pile of scripts, but it still works" and will usually have something between "20 person process with 8 layers of review and testing to roll the dev version into production" and "I'll just copy the file over after lunch" for their production management.

      Honestly the more important thing to be looking at is the people you work with, not the tools they use. The situation you describe would seem to speak poorly of them, but must not judge a book by its cover and all that. Well motivated, focused, and intelligent people can make masterpieces in the shittiest environment.. all the expensive tools in the world can't make a shitty coder produce gold.

    5. Re:No CI? No version control? by s73v3r · · Score: 1

      It's not a common misconception. It's very accurate. If they aren't doing these basic things, then what else are they doing wrong? What else are they burdening their developers with unnecessarily?

      While it might be very possible that great programmers could overcome that, why the fuck would you want to?

    6. Re:No CI? No version control? by aws910 · · Score: 1

      I'd say going without these tools and procedures *will* make for an epic nightmare. Since any self-respecting software engineer can work from anyplace, you'll basically always be "on call". Therefore, it's pretty likely that one day, another engineer will hack together something sloppy for a fix on one thing, and that will break another thing, and you will need to take a break from your vacation. Since you've already been in a good spot, you can see how bad it *can* be. At any interview I'm on, I make a point to ask about their version control systems, ticketing systems, deployment environments, testing methodologies, etc. A lot of startups don't place much emphasis on these. I usually pass on these jobs. I'd rather have my free-time than make a boatload of $$. Looking at the big picture, I don't blame the developers for these oversights. I believe it should be the job of management to set company-wide standards for these things, and enforce the use of them. Personally, management may be amicable/generous, but in the end it's not a nice thing to do to any developer, whether the oversight is intentional or not. My advice would be to educate yourself on the specific advantages of these tools/procedures, discuss them with your fellow developers to get buy-in, then assemble a small group and educate management on them. When speaking to developers, emphasize quality of life, and with management, emphasize quality and stability.

    7. Re:No CI? No version control? by rihjol · · Score: 5, Insightful

      Alternatively, if he likes the place, it's an opportunity to step up and say "here's how we can do things better." If it's well-received, it's an opportunity to show both expertise and leadership.

      --
      I like bread.
    8. Re:No CI? No version control? by Joce640k · · Score: 1

      What if they're paying a fortune?

      --
      No sig today...
    9. Re:No CI? No version control? by corbettw · · Score: 1

      I'd say it depends on what they are actually doing.

      Then you don't know what you're talking about and should not be allowed in a position of responsibility.

      Not using version control is simply inexcusable. The guy needs to run fast (maybe his old job will take him back) before the place crashes and burns.

      --
      God invented whiskey so the Irish would not rule the world.
    10. Re:No CI? No version control? by SirGarlon · · Score: 1
      Parent gives good advice.

      When speaking to developers, emphasize quality of life, and with management, emphasize quality and stability.

      I would add, management also likes to hear about risks and how they can be reduced or eliminated.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    11. Re:No CI? No version control? by Joce640k · · Score: 1

      Yep.

      Also on how many people work there. If there's only two programmers then there's might not be much need for source code control, etc. (although there's three people now so it might be time to start...)

      Ignore all the naysayers - there's simply not enough info in that summary to make the kind of calls they're making.

      Hint: Might be a good idea to include some actual info next time.

      --
      No sig today...
    12. Re:No CI? No version control? by nahpets77 · · Score: 4, Insightful

      Reminds me of the quote "In Chaos Lies Opportunity"... Sounds like a perfect opportunity to become a "value added" employee by "leveraging" your past experience and introducing "proven best practices" to your current company.

    13. Re:No CI? No version control? by msobkow · · Score: 1

      A single programmer project should still use version control to deal with machine crashes, accidental deletions, and the inevitable "oops."

      There are plenty of free tools for implementing versioning software. There is NO excuse for not doing so, other than sheer incompetent laziness.

      --
      I do not fail; I succeed at finding out what does not work.
    14. Re:No CI? No version control? by rihjol · · Score: 1

      Right. But dear god, with fewer buzz words.

      --
      I like bread.
    15. Re:No CI? No version control? by s73v3r · · Score: 2

      Well motivated, focused, and intelligent people can make masterpieces in the shittiest environment

      This much is true. But you know what? Having those tools, especially version control, makes things sooooooooo much easier. And since they're so easy to set up, why the fuck would you want to bother without them?

    16. Re:No CI? No version control? by gknoy · · Score: 1

      Every job you take is an opportunity to build your skillsets and improve your career, and I find it unlikely that this job is the best place to do either

      As someone else mentioned, that's an even better reason to push for improvements. It might not be the best place to stretch in a technological sense, but it seems like it would be great to have on your resume that you helped improve the process, reduced software errors, and helped make the team more competitive.

    17. Re:No CI? No version control? by nahpets77 · · Score: 1

      That's why I put them in quotes; but buzzwords help when speaking to manager types... ;)

    18. Re:No CI? No version control? by Synerg1y · · Score: 1

      The place I'm at currently is one such place where we don't even have versioning, we have nightly back ups and i've used those before, but not nearly as efficient. All major apps are developed third party and I sit here and patch them little by little. Versioning doesn't do much for me as a developer in this environment, I can make strong arguments both for and against it for me, but in the end I ask myself should I invest the time and burden and the answer comes back no every time. I can at the least get things functioning to a basic QC standard, edge cases sometimes aren't accounted for, but that's where I set my own expectation on handling those as they come up. Why do I want to go through all this you say?

      1. I need to entrepreneur to be happy I realize and wearing many hats at your job is one of the quickest ways to wear one big one.
      2. I work almost directly with the CEO so I get to see a lot of what made that person 7+ figures in their lifetime in hopes of learning the ins and outs of being the big boss.
      3. Flexible scheduling, the same disorganization that has nobody holding me accountable for standards spills over into the schedule, I can get things off short notice as needed as long as I don't over do it.

      It also pays more than enough for me to live on, I wonder if it's worth it though, the money isn't as great as people think, it certainly won't make me rich as to where I can chill and relax for large sums of time.

      I knew though, sometime past my first college programming course I wouldn't be able to be a pure code monkey, and need things to be challenging rather than repetitive (not a word, naming the same objects differently is not unique, the object still works the same), for which corporate was good for for a total of 6 months then shit got boring and repetitive.

    19. Re:No CI? No version control? by cayenne8 · · Score: 1
      Sounds like a smart...and well thought out work environment for coding, etc.

      I have to say from my experience....it is rare indeed to see this, especially in LARGE operations, especially ones that are long lived/old.

      Easy to start with this on newer developments and with newer companies or govt. contracts...but anything remotely older, larger...that environment is lost, and once lost...pretty much impossible to get it back on track.

      But heck...as long as they pay me good money, doesn't matter to me....just a job. Whatever the customer pays me/us for....fine with me.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    20. Re:No CI? No version control? by cayenne8 · · Score: 1

      Every job you take is an opportunity to build your skillsets and improve your career, and I find it unlikely that this job is the best place to do either.

      Depends.

      If you jump in and learn how to work and even help out in this situation....resume experience, and even adding on some older 'legacy' software that you can learn, is a good bullet point.

      And if you're contracting..who cares? You're just being paid a LOT of money to do what the customer wants. If they take your suggestions and improve...GREAT, you've done a good thing and likely earned more work and respece.

      If they don't listen...who cares? It is a paycheck. Do what they want as listed in the contract, bill them and make your money...after all, that's the reason you work one way or another right.....money?

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    21. Re:No CI? No version control? by flaming+error · · Score: 1

      Since any self-respecting software engineer can work from anyplace, you'll basically always be "on call"

      I respect myself. And I refuse to be on call. When I go home, I leave work behind and post on slashdot. When I go to work, I leave home behind and post on slashdot.

    22. Re:No CI? No version control? by umghhh · · Score: 1
      oh ne - you really have no clue do you? I mean there are companies out there that do chaos development and some of them strive. There are companies out there that use formalized forms for everything and they are slowly eaten by costs of maintenance of faulty software. There are of course examples to contrary.

      I laughed at the statement about continues integration. The corporation I worked for had quite some standards on stability and systems of which legacy parts exist for 20 or more years - the actual integration process is complex enough with some of the (stability) tests taking days that any 'continues' integration is just not feasible (this did not stop the management from introducing 'modern' agile principles and what not and issuing statements of success anyway). My view is that you can live also without well tolled revision control although this makes life difficult. I guess it depends on the size of projects and and size and complexity of legacy systems.

    23. Re:No CI? No version control? by Anonymous Coward · · Score: 1

      We all know what happens to new guys who step in and change things.

    24. Re:No CI? No version control? by Chapter80 · · Score: 2

      I disagree.

      As an owner of a software development company, I would LOVE for our team to use a more structured, process-oriented approach. Management support and financial support aren't the issue at my company. It's finding developers who have experience in such tools and processes, and having them embrace such methods.

      Sometimes management KNOWS these things have payback, but can't figure out a way to kick-start these processes. Slashdotters frequently make fun of "management speak", and when I start preaching the benefits of regression testing, unit testing, and version control to my team, I see the Dogbert eyeroll, as if I'm the PHB.

      So if you have the skills and experience to help your team implement such processes and tools, by all means, do it! Especially if you believe in the processes and tools. Or come work for me, and help me implement such tools and processes.

      Then again, recognize that you need to "smart size" these things. Too much process can mean death to a small company.

    25. Re:No CI? No version control? by s73v3r · · Score: 1

      and need things to be challenging rather than repetitive

      Working without version control might make things "more challenging", but not in any good sense of the word.

    26. Re:No CI? No version control? by Matimus · · Score: 3, Insightful

      I've been in that position. It worked out. It was also much more difficult than I initially thought it would be.

      I break my career growth into two areas: learning from the examples of those around me, and learning on my own. To maximize your growth you will need a good mix of both types. There are likely experienced people who can teach you many things wherever you go. What you really need to ask yourself is whether you value the types of things that you can learn from your co-workers in this environment. In this case, they can't teach you much about tools and process. What can you learn? If you can't think of anything that interests you then this sounds like a dead end, and you should probably leave.

      --
      GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social exper
    27. Re:No CI? No version control? by Synerg1y · · Score: 1

      I can deploy GIT faster than you wrote your post, what makes you qualified to judge?

    28. Re:No CI? No version control? by asdf7890 · · Score: 3, Informative

      Definitely worth a try. But do keep your eyes open for ways out in case it doesn't work out well.

      Best case: you get he credit for improving the company. That would put you in good stead where you are and help your attractiveness elsewhere if you need/want to move on later.

      Worst case: you get somewhere to work until you find somewhere else. No point dropping yourself out of employment until you have a safe exit strategy, especially with the job market the way it is in most places. Just make sure you aren't standing too near any fans, so you've got time to duck if something unsavoury hits them.

      Lack of CI and automated testing and such is not unusual at all - you were lucky in your last place (I wish I had that luck!). Lack of good source control is something that you need to fix fast, before it bites you in the arse (and it will).

    29. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      Run, run fast... The longer you stay in a poorly run, out-of-date place, the faster your skills will diminish.

    30. Re:No CI? No version control? by jlechem · · Score: 1

      No kidding, I run a software site for my wife that I maintain all by myself. I run subversion and it has saved my bacon several times when without thinking I changed something I shouldn't have. It's free and easy to use. I don't even use the backups, etc. It saves developers from themselves. And all this for an asp.net website.

      --
      Hold up, wait a minute, let me put some pimpin in it
    31. Re:No CI? No version control? by St.Creed · · Score: 1

      Spot on. I'd use as many buzzwords as possible when convincing management. Don't go for subtle: stuff as many buzzwords in as you possibly can and still have a correct English sentence. They love it.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    32. Re:No CI? No version control? by Nikker · · Score: 1

      Heh. While that is true I do have a car analogy for you. Wait till it's dying on the side of the road then step in. If you start talking before that that's where you hear "if it ain't broke..."

      --
      A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
    33. Re:No CI? No version control? by St.Creed · · Score: 2

      It all depends on how you do it. I've never had trouble but my niece is semi-sociopath and she got fired 9 times in a row. At least I have sense enough to be subtle about it. Anyway, just make a presentation on "things you've learnt at other places" and why it's a good idea. If they don't get it, you can always build your own environment or leave (which I did in one case - they just weren't into development). But test the waters first. Are you the sole programmer under 60? Maybe try and find one guy who loves new stuff and has a lot of influence. Get him on board.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    34. Re:No CI? No version control? by c++0xFF · · Score: 1

      Although it depends on your situation, you might be able to make a difference simply by applying these principles yourself.

      For example, set up your own Subversion repository. Set up unit and regression tests -- just for the things you change at first, but you can branch out as you go. Create a cron job for a nightly build. Report your findings (such as bugs the unit tests find) to your supervisors. Make build and installation scripts. Check these tools into your repository, so that changes to them are tracked and so that others who want to use them use the repository, too. Most of all, make life easier for yourself.

      As you go, share your tools with the other developers. With time, such tools become the normal way of doing things. At some point, go to your manager or supervisor and show the benefits of what you've done and how it would benefit the entire group. With their blessing, you just move the repository to an official server along with all the scripts and tools you made.

      My word of caution (from experience) is to make sure the things you do have that final goal in mind. The scripts have to be high quality, not haphazard. At the same time, realize that the change will be gradual, with acceptance coming as people realize that there is a reason for these practices.

    35. Re:No CI? No version control? by Anonymous Coward · · Score: 1

      Yes and no. I'm actually in a very similar position to the story author, except that I've been in the industry for close to 15 years and have held many positions. The biggest obstacle that I'm running into now isn't the actual improvements that need to be made, but the ingrained mindsets and the attachment that some of the major stakeholders have to the status quo. We're at the point where these basic software development tools are not secrets of people who are privy to some scarce knowledge. So when you see a company that's not taking advantages of the lessons learned over the past decade, there's almost always one or two key decision makers that are risk averse and afraid of almost any change.

      In my current position, it's the CTO. There's a couple of us that have been brought on recently who have seen more sane development environments and are pushing for change. But what we're seeing is that those of us who are pushing for change are being actively marginalized by people who want to preserve the current situation. We're being assigned projects that that will overburden us and keep us from having time to do proof-of-concept infrastructure changes. And we're being given projects that are outside of the core infrastructure to ensure that we don't have the chance to make substantive changes to the application's architecture (or, in our case, complete lack thereof...SQL in JSPs!) It's to the point where I'm seriously considering giving up and switching positions.

      So before you can see it as an opportunity, you need to actively assess what the obstacles are to effecting change. If it's just ignorance and there's a willingness to change, it can be a great opportunity. But, in most of the cases I've seen, there's political dynamics that you just don't want to get mixed up in. And unless you're planning an immanent switch to management and want to specialize in modernizing teams, it's better just to start looking for a new position.

    36. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      Alternatively, if he likes the place, it's an opportunity to step up and say "here's how we can do things better." If it's well-received, it's an opportunity to show both expertise and leadership.

      Nope... it's an opportunity to being fired for showing the management has failed.

    37. Re:No CI? No version control? by angel'o'sphere · · Score: 1, Insightful

      Honestly the more important thing to be looking at is the people you work with, not the tools they use.

      In this situation it is not the question which tools they use but: which tools they not use.
      People without a version control system don't know if the code they deploy tomorrow contain the fix they already deployed yesterday.
      With no version control system, you don't know which features are in the code base.
      Likely they have no "plan" what they want to deploy tomorrow, which means they dont even know what features tomorrow will be available, which also means they frankly have no base to bill their customer for what they did.
      With no overview over the features implemented, bugs fixed or not fixed (likely they have no issue tracker either) they are like a captain on a damaged ship, who does not have an accurate damage assessment, no position, no idea how much fuel is left, no indication of heading or speed and no idea if the crew is capable of fixing the damgage, if it is even worth fixing (note: heading, position, fuel -> cliff) or better to give up the ship ... or if there are even enough rescue vessels ...
      Sorry, the situation the article describes requires a lot of hero programmers. I doubt you ever find 2 of them at the same place ...

      Well motivated, focused, and intelligent people can make masterpieces in the shittiest environment..

      Sorry, for nitpicking, but you are wrong as you missed the most important word in your list: skilled. People who don't use the appropriated tools are in general not skilled, otherwise they would use them. Would you drag a hand cart behind you if you had a car ready and the skills to use it? Only one who neglects the usefulness of the car will use the cart. And when the axle of the cart breaks he will shrug, take the most valuable stuff and carry it instead of fixing the cart, as he simply lacks the skill for that.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    38. Re:No CI? No version control? by RCL · · Score: 1

      He said that there was no version control for compiled executables. And I know a lot of companies that have version-controlled source tree yet they don't v-c compiled files and data.

    39. Re:No CI? No version control? by Darinbob · · Score: 1

      Yes. Almost everywhere has version control. The other stuff listed I rarely see; continuous integration, unit testing, always using latest tools. When I see that sort of stuff I start to worry that someone is focusing more on process than in getting stuff done.

      But you MUST have version and source code control (and don't let people spend a lot of time arguing about which is the best tool, just grab one and start using it because those arguments will never end). After that you must decide on how you will deal with branching. Get this nailed down early. But these are not really programmer issues these are product/project/release manager issues, and if you don't have a product/project/release manager who understands these things you need to get one.

    40. Re:No CI? No version control? by Darinbob · · Score: 1

      It is actually handy to have experience with a disorganized mess, since that let's you learn the value of doing things better. If you start out a career always having a detailed process in place you may tend to remain just slightly suspicious of all the make work you have to do, whereas if you have experience with big disasters in the past then you're happier accepting the processes and are much more likely to recognize potential problems when they start to creep in. Ie, the sort of experience that schooling can't teach.

    41. Re:No CI? No version control? by angel'o'sphere · · Score: 0

      The corporation I worked for had quite some standards on stability and systems of which legacy parts exist for 20 or more years - the actual integration process is complex enough with some of the (stability) tests taking days that any 'continues' integration is just not feasible (this did not stop the management from introducing 'modern' agile principles and what not and issuing statements of success anyway).

      Emphasizes mine.
      Sorry, this is complete bullshit.
      First of all: no one cares if a "continuous" integration test takes a week, as long as you know after that time: it is fully tested as the tests can or some tests failed. Yes, in that case your automatic testing lags one week behind your development ... and?
      Second there are hundreds of ways how to improve your testing. The simplest one: get a few more machines, split up the tests and run them in paralel. If you have a little bit of brains you don't even need more machines but can distribute it on one.
      Finally you can start to test smart. Unit test the changed code only. Then start integration testing with directly attached other modules ... and ...
      Well, for god sake read a book about testing or hire an expert, your claims are 60 years out of date.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    42. Re:No CI? No version control? by rmstar · · Score: 1

      It is actually handy to have experience with a disorganized mess, since that let's you learn the value of doing things better.

      Also, it teaches you how to live in reality. Often, disorganisation and messyness are the result of history combined with actual constraints, and it is simply not reasonable to fix them. An excessive focus on avoiding messyness often implies not getting things done, or getting them done when life has moved on. If you look around, you will have no trouble finding lots and lots of projects that succeeded despite being badly organized, and lots more that died because they spent too much time basically in an autistic loop, self optimizing their internal structure and never getting off the ground.

      Diong things the right way has a price, and compromise (and thus messyness and disorganization) is necessary.

    43. Re:No CI? No version control? by MozeeToby · · Score: 2

      This doesn't happen unless someone high up in the heirarchy is insisting that this is the correct way to do it. If it was as easy as someone stepping up and making changes someone would have done so by now. At best, you've got managers who are oblivious to how much time and money it is costing them. At worst, you have some decades out of data lead engineer who is actively resisting change. Either way this is going to be resisted heavily by someone in the chain. Even if you take your suggestions to the right person and win out you're going to be in the cross hairs of someone who has held considerable power in the organization for making them look like a fool. And you can bet that if anything, anything goes wrong with the transition you will be thrown under the bus if said person is given the opportunity.

      As an earlier poster said: Run. Run fast, and run hard. I know you just started at a new job, but I've cleaned up after the messes that places like this produce, working there is going to be a black mark on your resume for anyone familiar with the companies work.

    44. Re:No CI? No version control? by billcopc · · Score: 1

      Funny, most of the places where I've worked have had worse practices than I, even for my personal "toy" projects.

      I'm currently helping a 200-seat company set up proper backups and disaster planning. They have the money, but no one there ever had a clue as to what to implement, or how.

      Even my day job has sporadic source control. We're in the process of fixing that, but in our case we were far too busy to slow down for such things. That's true of any business: when it's crunch time, the first things to fly out the window are all those "best practices" because billable hours trump infrastructure.

      --
      -Billco, Fnarg.com
    45. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      lower slashdot user id, for one.

      suck it.

    46. Re:No CI? No version control? by networkBoy · · Score: 1

      Hell one full test cycle here lasts about 2 months.
      We have three levels of tests that are continuously run:
      - twice daily (fully automated, no humans needed, naturally this limits what we can test, but it still catches lots of bonehead type errors that can happen). This test has to pass before your dev branch can even be checked into the main trunk project branch.
      - weekly. Run by a team. Must pass for project branch to check back to main tree.
      - full regression (the big 2 monther). Finds the little bugs that may otherwise be missed.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    47. Re:No CI? No version control? by billcopc · · Score: 3, Interesting

      Sure it is, and that's the route I usually take, but it's ten times more effort than you first anticipate. Even if you don't need to buy any new hardware, you still meet tons of resistance from people who refuse to change their habits.

      Just a few years ago, I went through that hell convincing my employer to start using virtual machines instead of 10-year old PCs in the server room. He suffered from extreme sticker shock, would rather buy used stuff on eBay than spend a couple thousand on a white-box 2U server. Those things would fail every other week, they were awfully slow, and I wasn't too fond of driving out to the datacenter all the time to reboot a box or replace an (IDE) hard drive. It was like playing whack-a-mole with hardware failures. It took about a year to convince the boss to toss all that junk out and replace it with a big SAN and a few VM hosts. Just the time saved by not having to support crappy old hardware has more than covered the cost of upgrading to proper enterprise gear.

      He finally saw the light, but it took a lot of nagging and teasing to open his eyes. Changing a company's dangerous or stupid ways is 10% technical know-how, and 90% psychology. You need to convince people their work will be faster/easier/better after the change, which often requires something to blow up in their faces before they'll even hear you out. Swoop in, save the day, and suddenly everyone's opening up their ears and budgets for your great ideas.

      --
      -Billco, Fnarg.com
    48. Re:No CI? No version control? by rihjol · · Score: 1

      Yeah, exactly why I had to preface it with being well-received. Breaking down other people's psychology takes time and determination, but I've been places where it's worked, and worked well.

      But to the larger point--if the place is completely change-averse anyway, it's probably not a good place to be.

      --
      I like bread.
    49. Re:No CI? No version control? by Saxophonist · · Score: 1

      Occasionally, someone with some experience is hired specifically to implement some of these "best practice" changes. That's the situation I'm in at present. But, agreed, it may not be the norm.

    50. Re:No CI? No version control? by billcopc · · Score: 1

      If version control is used as a single-user backup system, sure, good idea. But I already have a robust backup that runs several times daily. If I wanted to compile my project as it was on June 3rd, 2009, I just go to that folder and type "make". Done. If I have a brain fart and accidentally delete something, I open up the backup folder and fish it back out from the morning's snapshot.

      If you're in a scenario where there are frequent collisions and a need for developer accountability, sure, source control wins by a big margin. For single coders, or mostly independent workflows like web development, you can get by just fine with very little.

      --
      -Billco, Fnarg.com
    51. Re:No CI? No version control? by optimism · · Score: 1

      ...when I start preaching the benefits of regression testing, unit testing, and version control to my team, I see the Dogbert eyeroll, as if I'm the PHB

      If you get that "eyeroll" on these technical suggestions, chances are, you did not hire real software developers.

      You hired some dimwits who claimed to be software developers, but in fact have no understanding of the profession, and are just there to punch the clock and pull their paychecks with the minimum amount of work or learning.

      Fire them, and be smarter about interviewing next time.

      Too much process can mean death to a small company.

      Recognition of this fact confirms that you are not the problem; your lazy/stupid team is.

      Again, fire them, and hire new blood, learning from your previous interview mistakes. It may be painful in the short term, but will pay off in the long term.

    52. Re:No CI? No version control? by s73v3r · · Score: 1

      I honestly don't give a shit how fast you can deploy something. What really matters is how fast you can recover from a problem.

    53. Re:No CI? No version control? by superwiz · · Score: 2

      Don't be silly. Orthodoxy doesn't thrive because no one has yet discovered an alternative. It thrives because of endemic management practices. A firm which even has a chance falling pray to such chaos can be safely assumed to have "personal ownership" of each project attached to key stake holders. Any change probably requires a careful political negotiation because each stake holders sees it as an encroachment on their territory. Each new guy will try to contribute his view on how things should be only to get frustrated and give up within 6 months. Remember that managers are agents of the organization. They may not necessarily act in the best interest of the organization though. They may very well be simply positioning for their personal long-term growth. And that means managing more people. If they get to fix more "problems" (really put out more of their own fires) and increase their own head count, then they get more visibility and are more likely to move up. The metrics which measure performance determine the motivation of the mid-level managers. If they are motivated by having projects which are unknown to anyone (because they perform near-flawlessly), then that's what they try to achieve. If they are motivated by being able to show "management skill" (ability to push people around whether its needed or not), then they try to achieve busy activity whether it's needed or not.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    54. Re:No CI? No version control? by mattack2 · · Score: 1

      Why set up a cron job for a nightly build instead of using buildbot or something else built for that purpose?

    55. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      Run. Fast.

      Send me your CV if you are good enough to run fast from a job in todays economy. :)

      It does seem the submitter has taken a position in a fairly large company which really should have some version control in use and some kind of testing policy though the other points being made would depend on the size and type of company they are working for in my opinion.

      I've been running a high-reliability systems development business for 17 years on a basic in-house version control system, text editors and paper-based testing policies. I fail to see why open-source version control is not industry standard as implied by the submitter. As for programming platforms you use whatever works and whatever is needed for the job. Most of our software is programmed in C, Cobol, Ada and Python. Some of our clients come to us with applications written in Python 1.x. We do not 'niche' ourselves with legacy software, we just work in the environment that our clients are comfortable with and nudge them up a tech level when the time calls and they have the funds.

      For the record, we have never lost any code, never had a serious systems crash and never had more than 12 tickets in a clients issue tracking thread.

      Posted by adamskiec

    56. Re:No CI? No version control? by mikael_j · · Score: 1

      Would you drag a hand cart behind you if you had a car ready and the skills to use it? Only one who neglects the usefulness of the car will use the cart. And when the axle of the cart breaks he will shrug, take the most valuable stuff and carry it instead of fixing the cart, as he simply lacks the skill for that.

      If I was trying to haul stuff from the parking lot to an apartment building I would probably use the cart instead of the car. Each tool has its advantages and disadvantages.

      And yes, you should have a VCS but there are also situations in which it is not as important as some people like to think. And amazingly enough some skilled developers will arrive at a company that doesnt use a VCS, shrug and carry on with their job (while looking for something better every day when they get home). For sufficiently small projects and teams you may actually have an easier time getting things done without a VCS (if your "team" is three guys in a rented office that track feature implementation on a piece of A3 paper on one of the walls it's not that hard to make sure you're not messing with code someone else just changed, at least not as long as there are good backups).

      IMO there's a difference between "should" and "must or you will fail horribly and your entire extended family and all their friends will be killed by Cthulhu" (the latter being how some people seemingly feel about those not using VC, formalized deployment procedures, unit testing and any number of other things).

      --
      Greylisting is to SMTP as NAT is to IPv4
    57. Re:No CI? No version control? by fatrat · · Score: 1

      Exactly: "Never let a good crisis go to waste"

    58. Re:No CI? No version control? by angel'o'sphere · · Score: 1

      For sufficiently small projects and teams you may actually have an easier time getting things done without a VCS (if your "team" is three guys in a rented office that track feature implementation on a piece of A3 paper on one of the walls it's not that hard to make sure you're not messing with code someone else just changed, at least not as long as there are good backups).

      Well, if the project is that small you could wonder if not a singel person is enoough :)
      Anyway, working like you describe is only possible if every person basically has his/her own code base, or set of files. In other words either the project is very good modulized or you are using an antique language. In modern OO development you far to easy have to make changes that spread many files, like intorducing a new method in an interface or somewhere else on the inheritance chain.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    59. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      LMAO, even me as a student and single programmer, had my own server with SVN installed on it :P

      What the hell are they developing? minesweeper?

    60. Re:No CI? No version control? by mikael_j · · Score: 1

      Well, I've only ever seen that way of working in environments where everyone was working on something different from the others (one guy taking assets from an artist and creating HTML+CSS templates with some JS to tie it together, another one working on the base "framework" while a third is building modules for the framework).

      I do agree that once you start doing stuff that affects other people's code it becomes a lot harder (but still workable in smaller teams, once you have 4-5 developers I suspect it will become unworkable pretty quickly).

      --
      Greylisting is to SMTP as NAT is to IPv4
    61. Re:No CI? No version control? by lwriemen · · Score: 1

      I don't know if waiting is a good idea. Sometimes companies come out of bankruptcy still saying, "if it ain't broke...".

    62. Re:No CI? No version control? by lwriemen · · Score: 1

      Like DeMarco often says in his books, management is hard. Maybe you need to ask rather than preach. Ask your developers how they would improve quality. Maybe you're getting an eye roll when preaching "regression testing, unit testing, and version control", because the quality problems are occurring in analysis and design.

    63. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      Boy you have all the latest Politically Correct expressions down pat. So, there is more than one of us that is maybe not cynical, but shares a bit in common with Mark Twain. The PC folks claim we are "toxic personalities" or "negative influences", but there was a time when cynical or dry wit was valued. Since Dilbert is still very popular, I must believe there a quite a number of us!

    64. Re:No CI? No version control? by Altus · · Score: 1

      Yea, or you get ignored and become quickly disillusioned, or worse yet, you step on the wrong persons foot. If you are going to go this route, you still need to be prepared to bail if things go wrong.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    65. Re:No CI? No version control? by n7ytd · · Score: 1

      Exactly!

      Thus improving synergy while extending our core competencies to kick-start a dialog between all the resource involved!

      I couldn't have said it any clearer.

    66. Re:No CI? No version control? by Anonymous Coward · · Score: 0

      Well, I didn't THINK you needed an MBA to say that...

    67. Re:No CI? No version control? by Anrego · · Score: 2

      Version control, yes.. you'd need a pretty damn compelling argument to say that version control doesn't adds value to just about any dev operation. Even on an individual level, it's nice to be able to make huge changes safe in the knowledge that a previous version is just a command away. That said people do succeed without it (web devs in particular). If it were me I'd work hard to try and introduce it, but I certainly wouldn't run screaming just because of that.

      My argument was mainly against other tools and processes. Requirements management, unit testing, nightly builds, release coordination, bug tracking, etc. I've seen extreme cases of teams crushed under the weight of the tools that are supposed to help them, usually because the tools were imposed by upper management who were sold on them mainly using buzzwords. Not saying these tools (or at least a subset of them) don't add a lot of value, just that they shouldn't automatically be bolted on because "that's what you do".

      The thing to consider at the end of the day is whether you succeed because of or inspite of your tools and processes. If the later, it's time to look at whether it really makes sense to keep using them.

    68. Re:No CI? No version control? by smellotron · · Score: 1

      Why set up a cron job for a nightly build instead of using buildbot or something else built for that purpose?

      A cron-based build has a lower barrier to entry than any CI tool. Buildbot/hudson/whatever can come after the tourniquets are secure.

    69. Re:No CI? No version control? by corbettw · · Score: 1

      I'll grant you that. You original post left me with the impression you though version control was a waste of time. Thanks for clarifying.

      --
      God invented whiskey so the Irish would not rule the world.
    70. Re:No CI? No version control? by Hognoxious · · Score: 1

      I break my career growth into two areas: learning from the examples of those around me, and learning on my own.

      I'd break the former into two - learning what to do, and what to avoid at all costs.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  4. Flee Now by Anonymous Coward · · Score: 1

    Start looking for a new job -- unless you are in a position of authority and can fix that train wreck.

    Seriously. No version control is a sign of EPIC failure in any software group.

    Don't even mess with it. Find a job with some professionals.

    1. Re:Flee Now by Bobby+Onions · · Score: 0

      Not only this, the first time there's a fuck-up, you'll get the blame as you're the newcomer.

      Without version control and a rigid deployment process, the fingers will be pointing faster than you can blink.

      (Don't blink)

    2. Re:Flee Now by hedwards · · Score: 1

      I'd go so far as to say that it's probably something that the OP should have inquired about when being interviewed. Whoever is conducting the interview ought to be able to answer a basic question like that without having to go to too much trouble.

      Every job has tools of the trade that are essential and a larger number of ones that are optional but greatly improve the efficiency of the job. A well run company will have all the mandatory ones, and in up to date versions, and probably a few of the optional ones as well. One of my previous employers used a crappy web app for a mandatory job function that would be down regularly. Suffice it to say that the company wasn't very well run in other ways.

    3. Re:Flee Now by Anrego · · Score: 1

      Start looking for a new job -- unless you are in a position of authority and can fix that train wreck.

      Or fix from below. The key to that is not being cocky.. introduce stuff slowly, in a "this might be a good idea" vice "you are all idiots for not using this" kinda way.

      If the people you work with really are idiots, then yeah.. run. Fancy process and powerful dev tools won't fix bad programmers, and in fact will just make your life more hell because in addition to messing up the code, they will now mess up the process (ever seen someone try to use VC who just doesn't get it.. "but it compiles on _my_ box" .. it's not pretty).

    4. Re:Flee Now by wmbetts · · Score: 1

      I run a small software company with 3 programmers on staff (my self included) and I use version control. There's no excuse to not use and I'd be scared of any place that didn't. Hell, I used it when it was just me and I was hoping to be able to hire other people someday.

      --
      "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
    5. Re:Flee Now by Brummund · · Score: 1

      I agree. Noone likes a smart-ass. You have to use guerilla- and partisan techniques.

      You could use version control yourself, get it working and ally yourself with another coworker. Configure the SCM for him and make sure it is working properly.Make him see the light and be a proponent, too.

      If this is impossible, suck it up or change employer.

    6. Re:Flee Now by networkBoy · · Score: 1

      The Angels will get you

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
  5. Hell No! by Anonymous Coward · · Score: 0

    Hell no! This is not normal - run away quickly!

  6. Run, don't walk. by badboy_tw2002 · · Score: 5, Insightful

    #1. That sounds horrible. If you're looking to do good dev work, time to bail immediately, and next time be sure to ask about process in your interview.

    #2. On the other hand, if you're a career climber at this company, you can make huge impacts by driving the adoption of these kinds of processes, and will quickly vault your way to the top of the engineering pile. That assumes that this way isn't the grand design of some really stupid people, or that you don't have managers that will support this. In that case, see #1.

    1. Re:Run, don't walk. by Smallpond · · Score: 2

      #1 can be bad if some manager is just pulling stuff out of a catalog and imposing it on the developers. It can be good if the developers are on board with the process and had a hand in tailoring it to the way their group works. Technology alone doesn't make a good process.

    2. Re:Run, don't walk. by hedwards · · Score: 1

      If the OP is looking to get a good job in the future, he'd do well to bail right now. What gets nasty sometimes is if you make the mistake of sticking around an obviously incompetent firm, you tend to get some of it to rub off. It won't necessarily hurt your abilities, but some firms do become a sort of pox on ones CV.

  7. This is the norm. by Anonymous Coward · · Score: 0

    Most places simply accept that not using those types of tools helps the bottom line, and that it is the job of managers and developers alike to keep the goals in mind and have the vision to see them through to completion, or that bug tracking is an aspect of Support.

    When you only have a couple people, you can get by without continuous integration tools or automated testing. The problem is convincing the business that growth is more than just adding warm bodies.

    1. Re:This is the norm. by cornface · · Score: 2

      A lot of the times things like this don't help the bottom line.

      I've worked with a lot of developers who get on a kick about this development methodology or this version control or this framework or this pattern and if given any sort of leeway will shoehorn it into every single thing they have even a small stake in.

      Sometimes there is a good fit, but often it is just adding pointless overhead and complexity to something that doesn't need it.

    2. Re:This is the norm. by Smallpond · · Score: 1

      Most places simply accept that not using those types of tools helps the bottom line, and that it is the job of managers and developers alike to keep the goals in mind and have the vision to see them through to completion, or that bug tracking is an aspect of Support.

      When you only have a couple people, you can get by without continuous integration tools or automated testing. The problem is convincing the business that growth is more than just adding warm bodies.

      What's the deal with CI? What's wrong with merging at completion of work units -- like 2-3 weeks instead of daily?

    3. Re:This is the norm. by Anonymous Coward · · Score: 0

      Bullshit.

      No automated testing and no source control never help the bottom line. They only shift the expense of software development from "development" time to every other stage of the software process.. and usually at a much greater cost overall.

      Manual testing is a massive time sink and not particularly good at finding problems. It's a necessary component because not everything can be automated -- but if you want to protect your bottom line you make sure you minimize it.

      Continuous integration is the only thing that makes marginal sense to leave out.. but only with a small group of developers working on a small application with clearly defined modules and rigorous testing.

    4. Re:This is the norm. by Smallpond · · Score: 1

      Anything that can't be automatically tested should probably be redesigned to have some test hooks added. I/O can have some kind of loopback or test fixture, GUI testing is easy to automate, it's generally rare error conditions that can be hard to simulate. Those are the cases where you might need to add a way to inject errors upstream to force the condition.

    5. Re:This is the norm. by Anonymous Coward · · Score: 0

      Bullshit, I have never been in a position where they did not at least use source control.

    6. Re:This is the norm. by s73v3r · · Score: 1

      Most places simply accept that not using those types of tools helps the bottom line

      Any place that thinks not using Version Control, or many of the other tools, especially when low cost or no cost solutions are available, is run by incompetent idiots.

    7. Re:This is the norm. by s73v3r · · Score: 1

      You are alerted to bugs sooner. You know exactly when a regression bug get added, and can fix them sooner. However, remember, CI tests are only run when stuff is checked in to the trunk, or certain branches.

    8. Re:This is the norm. by Anonymous Coward · · Score: 2, Insightful

      Manual testing is a massive time sink

      Isn't that what customers are for?

    9. Re:This is the norm. by BitZtream · · Score: 2

      Anything that can't be automatically tested should probably be redesigned to have some test hooks added.

      Then you're testing the code you added to do testing, not the code you needed to test.

      If you're redesigning your code JUST for the purposes of testing, you've failed to understand what you're trying to test.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    10. Re:This is the norm. by RCL · · Score: 1

      Oh come on, please automate testing whether the player can complete the level without being stuck in a progression blocker, when level designers keep changing it daily. You will either need really smart level designers (more like scripters) or will need to "automate" testing again after each change.

      Even better example is automating tests that "AI does not behave erratically/stupid when players does something unexpected".

    11. Re:This is the norm. by rcuhljr · · Score: 1

      Merging is a lot less painful the more frequently you do it.

    12. Re:This is the norm. by Man+Eating+Duck · · Score: 1

      This is the norm.
      Most places simply accept that not using those types of tools helps the bottom line, and that it is the job of managers and developers alike to keep the goals in mind and have the vision to see them through to completion, or that bug tracking is an aspect of Support.

      Oh *come on*. Have you ever collaborated with competent developers and/or companies that *didn't* use source control? There is absolutely no reason not to use one, even if you're the sole dev on a small project.

      A long time ago I worked with a pretty good self-taught developer on a small, but growing, community website. He didn't use a vcs, but once I told him what they did we started using one instantly. If anyone tells you that it's not necessary for whatever reason they're grossly incompetent.

      --
      Are you a grammar Nazi? I'm trying to improve my English; please correct my errors! :)
    13. Re:This is the norm. by Grishnakh · · Score: 1

      No automated testing and no source control never help the bottom line.

      No, but sometimes source control can damage the bottom line, and also greatly impair productivity. Anyone who's used Clearcase will agree with me on this. Not only is it ridiculously expensive, you have to hire a full-time administrator just to maintain the Clearcase server, and using it will slow down all your development work.

  8. Wow! by Anonymous Coward · · Score: 0

    That must suck. I would try to talk to the people in charge to see if they could get you guys something better. If that don't work, try getting the software for free if you know what I mean. (as long as your not in Belgium)

    1. Re:Wow! by BitZtream · · Score: 1

      Ah yes, its always good to encourage a developer to steal software from other developers, thats exactly how to show that you deserve to be paid for your profession ... by ripping off others in your profession trying to do the same thing.

      Grow up.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:Wow! by Anonymous Coward · · Score: 0

      I'll give you "ripping off", but you need to go look up "steal" in the dictionary. It's not a synonym for "copyright infringement".

      (I am also a developer, and I wouldn't be happy about people ripping me off by infringing MY copyrights, but that doesn't make it theft any more than it makes it rape).

  9. keeping up with the world by lynnae · · Score: 2

    regarding this company's practice. Yes it's common, no it's not a place you should work.

    It's common because companies can be very very afraid of change, see IE6.

    You shouldn't work there for much longer because you really should be getting experience that will let you move your career forward. How would you show a prospective employer that you have Enterprise experience for example. Or experience working in with distributed version control.

    IDE wise, Netbeans, Eclipse, Visual Studio are all the big boys. I've only ever used Netbeans and Eclipse for Java (I prefer Netbeans). I use Redcar at home for Ruby development. And VS at work for .net.

    1. Re:keeping up with the world by BitZtream · · Score: 1

      ...

      If its common, and he survives and/or thrives, then it shows that he is in fact capable of dealing with reality rather than an idealistic fantasy where we all quit our jobs and go work for the perfect company that just does everything right all the time.

      Most places that aren't pure software development houses are like this in some form or another, if you don't work at any of them you're going to have to be a pretty fucking good developer because those jobs are far fewer and have far higher expectations.

      And to put it bluntly, if you'd walk into my organization with that attitude, I'd never hire you as a developer. The last thing I need is some arrogant little newbie developer come in telling me how 'I'm doing it wrong because I don't do what Linus/Stallman' does, which is about what you sound like. You're making blanket statements as if they are fact for every situation and they aren't.

      You really show how little experience you actually have in your post here.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:keeping up with the world by lynnae · · Score: 1

      don't worry mate, if your place of employment isn't working towards best practices and is happy treading water, I, and it looks like most here, wouldn't touch it with a ten foot pool.

    3. Re:keeping up with the world by 19thNervousBreakdown · · Score: 1

      aol

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    4. Re:keeping up with the world by 19thNervousBreakdown · · Score: 1

      Also, watch out, this guy seems pretty angry and if you taunt him any more with your "doing things the right way" bullshit, he might just go off the deep end.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
  10. Yes, and yes. by MrEricSir · · Score: 2

    Yes, that's normal.

    And yes, you should find a new job. Do you want to become a lazy programmer, or an excellent one? If it's the latter, you're in the wrong job.

    --
    There's no -1 for "I don't get it."
    1. Re:Yes, and yes. by dr_leviathan · · Score: 2

      Yes and not necessarily.

      I don't think you need to flee your new job yet. If the work is interesting and the company culture is decent then maybe it is worth sticking around. You could help upgrade the company's software pipeline. I'd start by trying to get them to move to a good version control system, then add an automated build system, and then add some unit tests and an automated test framework.

      On the other hand, if it the corporate culture is only OK or bad then yeah... flee early.

      --
      Religion is poison to rationality, and we lose sight of that at our own peril. -- Lurker2288
    2. Re:Yes, and yes. by Shatrat · · Score: 1

      Since when are laziness and excellence mutually exclusive in a programmer? I would argue that the former encourages the latter.
      Doing things manually is hard work, after all.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    3. Re:Yes, and yes. by Darinbob · · Score: 2

      Never flee until you have somewhere to flee too :-) People who say they'd never work in a place like that must not have a lot of experience in needing to take any job they can get. It can actually look bad on a resume to be seen to be job hopping frequently, and it also looks very bad to see a long stretch of no employment no matter what the reason.

      I had a job after leaving school that was a complete mess. We didn't even have QA. Everything was seat of the pants, one or two person teams. I set up a make system with my boss and he said "sure, you can waste time on it as long as you get the real job done". Later on I added a script to kick off make on all 5 Unix types we needed (I still had to swivel my chair around to kick off a windows build sadly). So one day he comes in and says "why are you working on getting your bug fix into all the builds?" because I was leaning back in my chair reading the paper. I pointed to the screen and said "I am doing the builds, see?". He was pretty impressed at that and never bothered me again about wasting my time on tools and scripts or cleaning up his older code

    4. Re:Yes, and yes. by MrEricSir · · Score: 1

      Ok, true. You got me on that one.

      Laziness and following best practices are often one and the same.

      --
      There's no -1 for "I don't get it."
    5. Re:Yes, and yes. by chrismcb · · Score: 1

      So the only way to be an excellent programmer is to work for a company that already does things correctly? That seems like the lazy answer. I'm not saying he should stay... But if he helps move the company to the proper tool set he won't be a lazy programmer.

    6. Re:Yes, and yes. by Anonymous Coward · · Score: 0

      Actually, most of the time an excellent programmer is a lazy one.

      Being able to make research during a few hours in order to automate a repetitive process taking fourty minutes to do by hand requires a very deep and yet valuable form of laziness.

    7. Re:Yes, and yes. by Jonner · · Score: 1

      Yes, that's normal.

      And yes, you should find a new job. Do you want to become a lazy programmer, or an excellent one? If it's the latter, you're in the wrong job.

      But good programmers are lazy (and impatient and full of hubris). Only a poor programmer would be satisfied with a development environment which requires a lot of drudgery.

  11. The real world, unfortunately by treerex · · Score: 1

    This is unfortunately just the way it is: some places do the Right Thing (for various meanings of Right Thing) and others do not. Now you'll know to ask about this kind of thing when you interview. :-)

  12. This is your oportunity to really excell... by Anonymous Coward · · Score: 0

    :-)

    No, this is not the norm.

    This sounds like a disaster.

    -paul

  13. Re:Visual Studio by MemoryDragon · · Score: 2

    Actually VStudio is only the most professional way if you are in a windows only world. I do server programming in banks and there you dont even see Microsoft outside of the desktops by miles.
    Eclipse btw. is pretty much standard there, although I dont like that IDE to much, I prefer Idea.

  14. Do what is necessary and right by bondsbw · · Score: 4, Insightful

    When I started, we had SourceSafe for version control, and Visual Studio 2002. That was pretty much it. Now, a few colleagues and I have made CI and unit testing a norm (at least for projects we are involved with). We now use CruiseControl.NET for CI, MbUnit for unit testing, SpecFlow for BDD, and Subversion (VisualSVN) for source control. We have also upgraded our toolkit significantly with open source and commercial tools (such as Resharper, various Red Gate tools, and various control libraries).

    The point: be your own advocate. The boss isn't going to care or even know about most of these things. Either that, or find a job where these are already established.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    1. Re:Do what is necessary and right by purpledinoz · · Score: 1

      I worked for a company where we HAD to use Source Safe because it was Microsoft, and we could only use Microsoft stuff. It was torture. Doing anything remotely over VPN was almost impossible. Every mouse-click resulted in having to wait for 30s for VSS to respond. Things that would take 1 minute to do in SVN would take 1 hour to do in VSS (I'm not kidding!). And there were many occasions where the VSS database corrupted itself. Why anyone uses VSS is a complete mystery to me, especially when SVN is available for free.

  15. Heh by hondo77 · · Score: 3, Interesting

    Welcome to the real world, sonny. Now get offa my lawn 'cause it's never as green as my neighbor's. ;-)

    Seriously, though, different companies are just different. That's just the way it works. Some are seriously great. Some seriously suck. The rest are in-between.

    --
    I live ze unknown. I love ze unknown. I am ze unknown.
    1. Re:Heh by Anonymous Coward · · Score: 0

      Your millage may vary.

  16. Obvious interview questions you forgot to ask: by Anonymous Coward · · Score: 4, Informative

    * Is there unit or regression testing?
    * Do you use continuous integration?
    * What is the workflow for moving items to the production environment?
    * What version control system do you use?
    * What tools are you using?
    * What version of Java are you using?

    1. Re:Obvious interview questions you forgot to ask: by starfishsystems · · Score: 2

      These are great questions (and there are many others that could be asked as well, concerning a multitude of important aspects of the work environment.)

      Asking them tends to reflect well on you, showing your alertness and discernment. Nothing wrong with that. But the way job interviews work, it's you the applicant being interviewed. For the most part, you have to take the cues you're given, starting with you making a trip to the employer, not the other way around. In other words, you're the supplicant. There are often several people in the interview room, and you have the singular burden of responding to all of them. Finally, the interview schedule may, but frequently does not, permit adequate time for you to ask evaluative questions.

      I've often found myself in interviews where there is a token "any questions?" moment right at the very end, with all the body language in the room telegraphing, "well, we're done here." Okay, let's agree that this is really dumb. After all, the fit has to work both ways or your placement will turn into failure. But we live in a culture where the employee is expected to adapt to the workplace, not the converse. There's very little acknowledgement that the workplace may be imperfect, or at any rate not easy for just anyone to fit into. If there are flaws, you'll rarely hear them spontaneously presented at interview time. You have to draw them out somehow.

      Over the course of several decades in the industry, I've gotten a lot of practice with interviews, on both sides of the desk. Practice makes perfect. I've come to find them quite fun, actually, and that's a great attitude to bring with you. When you're relaxed and enjoying the experience, you can not only participate more effectively in being interviewed, but you can also spare some cognitive focus for picking up clues from the environment. Those clues will help to guide and inform your questions later, to the extent that you get the chance to ask questions. I guess the attitude is that you're bringing your best self to the task, but you're not too concerned about the outcome.

      Here's two examples, just for fun. In one case, I was met in the lobby by some anonymous functionary who led me in silence to an interview room in which one school chair (the kind with the wide arm for writing on) had been placed under a recessed ceiling light, in effect a spotlight, in front of a long table with several office chairs behind it. The table was in shadow. This somewhat undersized school chair was exactly square to this long table. A few minutes later, the interviewers filed in, introduced themselves briefly, and began asking questions in turn. Meanwhile, I'm laughing inside. Sure, I'd made a long drive for nothing. There's no way I would want to work in a place like that. All that was missing was the whips and handcuffs. But on the other hand, might as well have some fun now that I'm here. So I moved my chair out of the spotlight, placed it at a casual angle where I could also see everybody's face, got nice and comfortable while making a couple of introductory comments on my own, and then said, well, let's get started. In retrospect, it was a very empowering experience. I totally outclassed these guys. Of course I wasn't offered the position, but then I wouldn't have taken it anyway.

      Another interview ran well overtime, we were so interested in talking with each other. It was led by two scientists, the principal investigators in a research lab. They were wearing suits. I didn't know how to interpret that, at the time. I ended up working there for 12 years, one of the best times in my entire career. Turns out that these guys almost never wear suits, only on quite formal occasions. Why then did they wear them to the interview? As best I can tell, because they were treating the prospective employee as an honored guest. Wow. And that's the kind of people they proved to be.

      Getting back to the kind of questions one might ask during an interview,

      --
      Parity: What to do when the weekend comes.
    2. Re:Obvious interview questions you forgot to ask: by angel'o'sphere · · Score: 0

      Lol why got this moded informative when the article poster clearly stated:
      none of the above
      and yes, the Java version is ages old

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Obvious interview questions you forgot to ask: by c++0xFF · · Score: 1

      Why do I care what version of Java they use, really?

      CI is a good way of doing things, but is by no means essential or even the best way of developing software for all environments.

      You should be able to use just about any version control system out there, without any training. Why do I care which one they use?

      No place I've worked at had automatic unit or regression testing. The most we had was a set of manual instructions on how to run the software to make sure everything worked in general. I never had a reason to complain. Automatic tests would have been nice, but why am I asking about this during the interview?

      In short, these questions, while interesting and informative, will never be a part of my decision to take or leave a job. There's many more things that are so much more important to know and ask.

      Honestly, you're trying to apply the idea of a regression test to the real world. "I could have avoided this problem by asking about their java version during the interview" is a lot like setting up an automatic regression test against 'javac -version'. Such a thing works when automated by a nightly build, but easily becomes a nightmare when done manually. Your list of questions would never be exhaustive.

      Besides, you can usually gather if there's a systemic problem (such as using Java 1.2, no version control whatsoever, and more), by just sitting down with one of the developers after the interview and chat informally about their work.

    4. Re:Obvious interview questions you forgot to ask: by swilly · · Score: 1

      While it is true that you are the supplicant, it is important to remember that an interview has two purposes. First (and most obvious), is for the employer to determine if they want to consider you for a job. Second, is for the employer to convince you that you want to accept any job offer they send you. If the tone of the interview moves from the first topic to the second, that is the time to start asking these kinds of questions. If it doesn't, then they probably don't want you, and you probably don't want them either.

      I have a friend who quit because he was asked to do some Windows development. He interviewed with another company, didn't ask many questions, and accepted their first offer. It turns out that the position was a Windows programmer and he didn't know that until he started. He didn't last long.

    5. Re:Obvious interview questions you forgot to ask: by Anonymous Coward · · Score: 0

      These are great questions (and there are many others that could be asked as well, concerning a multitude of important aspects of the work environment.)

      Asking them tends to reflect well on you, showing your alertness and discernment. Nothing wrong with that. But the way job interviews work, it's you the applicant being interviewed. For the most part, you have to take the cues you're given, starting with you making a trip to the employer, not the other way around. In other words, you're the supplicant. There are often several people in the interview room, and you have the singular burden of responding to all of them. Finally, the interview schedule may, but frequently does not, permit adequate time for you to ask evaluative questions.

      Why on earth would you work at a place that treats you so badly? If they treat candidates like that, do you want to find out how employees are treated?

      I have been to interviews like this. I didn't take the job. I took a job where the people treated me nicely. It was not a hard call, because the places that treated interviewes like supplicants had far lower pay.

    6. Re:Obvious interview questions you forgot to ask: by drew_eckhardt · · Score: 1

      I ask all of those questions and then quantify the quality of code, build system, and test effort by getting a code+test walk through plus demonstration of a build+test cycle.

      It still fails
      1) Following re-organizations into other groups with less lax standards

      2) Following organizational pivots where upper management decides they don't have time for reasonable development processes (even though they make schedules both shorter and more predictable!) and spineless engineers go along with it.

    7. Re:Obvious interview questions you forgot to ask: by HopefulIntern · · Score: 1

      Read the subject line. The parent simply listed good questions (relevant questions) the OP should have asked, and should ask in the future.

    8. Re:Obvious interview questions you forgot to ask: by Anonymous Coward · · Score: 0

      You ask them what version control system they use even though you don't really care which one it is, because that's more polite than asking "Do you guys use version control, or are you all complete fucking morons?"

    9. Re:Obvious interview questions you forgot to ask: by Anonymous Coward · · Score: 0

      Rule #1) Don't over analyze the interview process! They will certainly ask a majority of the questions but you need to make sure you are given an opportunity to ask your own questions at some point. If you never ask the necessary questions pertaining to the job then you end up exactly where this guy ended up. If your being intimidated into not asking questions then I would look else where for work and not waste your time.

  17. Re:Too many tools are a waste of time. by bondsbw · · Score: 2

    Any development tool beyond a print statement is over-engineering.

    I hope you didn't use a web browser to make this comment. You wouldn't want to over-engineer your web experience, after all.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  18. Cost and size of company by Synerg1y · · Score: 5, Insightful

    To answer your question better, I would have to know the # of employees at both companies aka size and the IT budget. The question to ask is are they giving you the tools to be successful. To directly answer your question though, yes for smaller IT shops it's the norm, for dedicated IT service companies and larger corporations it certainly is not. Enterprise environments with the project flows you speak of all cost money, a lot of, system debuggers, analysts, QC are all people the bosses need to hire, and they do not usually come cheap.

    Also at smaller shops it is up to you to take the initiative to upgrade usually since there is nobody else to do it and the bosses are typically busy with other stuff. As long as you are comfortable in it though it doesn't matter. What you'll notice is the standard is also lower, most CEO / boss people aren't ignorant / stupid enough to think that a smaller IT crew can produce the same quality as a bigger one, so everybody just rolls with the bugs and punches until a working product is ready.

    If this is an IT firm though, and they are running outdated software, then chances are your management team is NOT IT and that is usually a good sign to run. I've only truelly enjoyed working with IT people when I approach the coding realm, and everybody else is kinda meh, but you do what you to to put bread on the table :)

    As you become more independent though and possibly as your skill range widens, you may find things work out for the best in your career as there are more job paths to take. A common one is sql developer to sql dba, they are so closely related, experience can jump you from one to the other.

    I'm basing this all on your going from a larger well organized shop to a smaller to less organized one based on you naming the practices and lack of. I guess it's always possible to have a shitty large IT shop too, just talk to Sony :)

    1. Re:Cost and size of company by shutdown+-p+now · · Score: 3, Insightful

      Even for smaller shops, it's definitely not the norm to have no version control at all.

      Well, at least not for shops that are worth working at.

    2. Re:Cost and size of company by Anonymous Coward · · Score: 0

      Agreed. Me and a friend started working at a small company and one of the first things we did was implement continuous integration on the new project. We already had stuff in place for bug tracking, documentation and source control.

      The development team just maintain it ourselves. We don't have the manpower to dedicate a single person to it so we make do.

      There's no excuse for a company not to do it, even if you have to implement it yourself.

    3. Re:Cost and size of company by NewWorldDan · · Score: 2

      I'm a one man shop and I use version control, CI becomes a non-issue. I'm not convinced that unit testing is practical. However, there's one big red flag in the OP's question:

      NEVER DEVELOP ON OLD TECHNOLOGY.

      You will eventually find yourself out of work and unable to find work because you have a deprecated skillset. I've seen a lot of people in that situation. I know a very good Access programmer who really needs a job right now.

    4. Re:Cost and size of company by shutdown+-p+now · · Score: 1

      There's nothing wrong with developing on wrong technology per se. You have to be able and willing to keep up with what's current on the market, however, even if you don't use it daily. I don't mean being (say) a Rails guru, but at least know what it is, enough so that you can start being reasonably productive with it in a few days at most.

    5. Re:Cost and size of company by c++0xFF · · Score: 1

      The reason for using old technology is usually due to a customer requirement, and is never an excuse for the degradation of your own skills. It's amazing what you can learn from what used to be state-of-the-art.

      I would never refuse to hire someone because their last job didn't use Python and the new features of Java 7 ... but an inability to learn new technology at need raises all sort of red flags to me.

    6. Re:Cost and size of company by Synerg1y · · Score: 1

      There is a crown to be had in all of this...

      I can say I know how to use sql server 2000, 2005, 2008 as an example.

      Most resumes have sql server listed and then boom cold water. 2005 and 2008 have significant differences lol, especially in SSRS, even some syntax like system stored procs.

      Because we run legacy apps on these old systems, I get to for the most part unwillingly experience them and sql 2000 shows its age consistently, but by doing this I've learned the technologies and now when I apply for a job and they say they are migrating TO 2008 from 2000, I can be like "btw I can help, I know both", which may make a difference for me, and it wasn't as bad as I make it out to be to learn sql 2000, collation was a bit of thorn in side for sure... for a while.

      Then again when you know sql 2000, 2005, 2008 contracting seems attractive too as does dba :)

    7. Re:Cost and size of company by Anonymous Coward · · Score: 1

      Depends on the method of version control. Copy-Paste-Rename is a form of version control that does not come with a big price tag or a reconized name.

      My work is for a large company (this site is nearly 1000), but only 3 inhouse pc-based programmers, and one use's his own indipendent language suitable to his task.

      The other two? standard is VB6 (yes, not even studio). The applications are small and library based with 99% being one offs for a specific task.

      Bug testing is done by the programmer. Installation / feature testing, done by the programmer. Everything except backing up the data is done by the programmer. The backup of network files is IT's job (more desktop support than programming, and they are just two people).

      On the up side, money has been approved to upgrade to the current .NET version. We will have to see what else we have to use tool wise after the two of use convert the whole code base over (while still developing and bug fixing existing code).

  19. Deliberately behind the times by BabaChazz · · Score: 5, Informative

    We've found that going with the Latest and Greatest causes a lot of grief: M$ has elected to change a lot of the way version control works with their 2010 update to VSS, for instance, and as we still have clients who insist on the more compact executables produced by Visual Studio 6 (11 years old now), we cannot upgrade any further than VS2008. On my current build machine, for instance, I have every VS version between VS6 and VS2008, and I use every one of them for building some part of some product.

    That said, some form of version control is critical. All it takes is one fumble-fingered tech erasing a project (which is what spurred our installation of a source control system) or one showstopper bug introduced into the shipping product with no record of how it got there, and you quickly learn the value of having backed-up old source versions.

    Your shop shows all the hallmarks of the single-developer shop that grew without direction, as they all do initially. I'd strongly suggest that it would be in your interests to try and get at least minimal tools together... and to update to a recent Java before you start losing sales because of an outdated and now unsupported platform.

    1. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      We've found that going with the Latest and Greatest MS causes a lot of grief:

      FTFY. Asking a crap-merchant to deliver anything but crap is just a silly idea.

    2. Re:Deliberately behind the times by shutdown+-p+now · · Score: 1

      If you're using Visual SourceSafe, it's probably worse than not having any VCS at all. Reason being that VSS is extremely flaky and plain unreliable, but lures people into thinking that their code is safe because it's in a VCS (which is true of pretty much anything else, just not this case).

      Kill it with fire, and upgrade to something that works. If you insist on using ancient software, run CVS - it's still better by a long shot.

    3. Re:Deliberately behind the times by BabaChazz · · Score: 1

      I won't argue about VSS' flakiness, but I will say that so far it has not failed us when we needed to revert. The flakiness starts when you want to do something less than straight-arrow, like split a project, and there a lot of the flakiness actually comes from the integration with the other VS tools. In my experience. Your mileage may vary.

    4. Re:Deliberately behind the times by MemoryDragon · · Score: 2

      Everyone who uses Visual Source Safe as version control system should rething his job. Sorry, but Microsoft does not use VSS
      in their own development because they know what junk it it. Using this system as version control system given the myriads of really good free alternatives is inexcusable.

    5. Re:Deliberately behind the times by faldore · · Score: 1

      VSS?
      You mean TFS?

    6. Re:Deliberately behind the times by Mafia$oft · · Score: 2

      [reposting old semi-finished copy since Slashdot ate my entire edit window cold and UNRECOVERABLE when messing with Options dialog - and that's not the first time either of severe data loss with Slashdot website design!]

      - no atomic checkins ("goddamn, somebody forgot to check in another file again" - "err what in fact I did"), no consistent changesets
      - 5 GB max (official Microsoft recommendation), severe index size limitations
      - may corrupt easily
      - branching is ""supported"" but stay far away from it (said to be #1 source of corruption)
      - NO BLAME MECHANISM (perusing the Changelog thus takes about 5 minutes each to hit the relevant spot)
      - no 3-way merge AFAICS (and TFS still does not have that either)
      - cross-platform support is laughable (there's SOS, but you easily hit trouble on each of RHEL, Ubuntu and Mac, and of course there's no 64bit platform anyway, and it's x86 only)
      - performance is abysmal (depending on the moon phase, current mood of the Windoze server and number of busy colleagues, waiting for - yes, indeed - 1.5GB of source repository TAKES AGES (15 min. with VSS on Windows, up to 2 hours on SOS when synching database and subsequently fetching the entire tree); dito simply switching folders in GUI client treeview on SOS may take up to 5 minutes sometimes; this all as opposed to waiting for at most one minute for a kernel.org update to arrive from an internet server
      - terrible check-out mode of operation, leading to that dreaded "all files readonly" standard way of operation as opposed to good SCM
      - large slowdown of MSVS operation (lock contention!?!?) when additionally running the standalone VSS client
      - keeps asking the same stupid questions over and over again rather than simply fetching files
      - no distributed SCM (minor item)
      - sos command line client is NOT parallelization-safe (needs addition of manual flock/lockfile mechanisms in a wrapper script for reliable use within a massively parallel build system)
      - VSS DOES NOT LOCALLY DELETE FILES REMOVED FROM REPO (that one is a killer)

      And please do me a favour and don't go cold-turkey to a TFS "upgrade"
      but have a worthwhile attempt at reaching an informed decision of which ALM/SCM to actually use.
      TFS, while most likely a lot better than VSS, is said to still have lots of rough spots.
      See various Internet blogs (e.g. "TFS the Lotus Notes of ALM").

      Suitable alternative names may be Mercurial, git, and ALM components such as Trac.

    7. Re:Deliberately behind the times by BabaChazz · · Score: 1

      No, they use SLM, which IMHO is only slightly better than VSS, and which seems, according to MS devs, to have as its sole advantage over VSS that it is CLI only and does not suffer the slowdowns of the visual windowed interface.

      Not to say I am a rabid VSS supporter; I have considered switching. As with any system, of course, there is the cost of switching -- how much does it cost to import ten plus years of VSS data? If it could be done, I'd definitely be interested in switching to something better supported (read: FOSS)...

    8. Re:Deliberately behind the times by shutdown+-p+now · · Score: 1

      TFS is not as bad as many people make it to be. It's basically a lot like SVN (almost one-to-one mapping of concepts), but more "enterprisey" with bug tracking and build integration, and the ability to draw neat diagrams (bug burndown etc) that managers love so much. It's fairly heavyweight, though, and most operations are quite a bit slower, especially over a remote network connection. All in all, for a 99% MS shop where developers don't remote but work from office, and if it already has MSDN subscription that includes it, it's a better choice than SVN.

      But, yes, git or Mercurial (or any other mature DVCS) are definitely superior.

    9. Re:Deliberately behind the times by angel'o'sphere · · Score: 1

      I second that.

      And if you switch to Subversion (which I would not recommend) then for gods sake dont use it in database mode, but in file mode instead.

      The main problem with VSS and Subversion in DB mode is corruption of your version control "files" or "DB".

      You know, you check in check in check in and every night it gets backed up and after 3 or 4 nights it goes to the always cycling 4 days old tape and then today you want to check out a 5 day old code base. Guess what, check ins work, but check outs not, because the DB is corrupted.
      Now you think no problem, it is 5 days old, so lets get the old tape ... guess what it is overwritten by the already corrupt 4 days old back up ...

      Basically every company I ever met that used VSS once had this problem (that is easily a dozen or two dozen companies).

      And no, you can not simply open the fucking VSS DB with vi under linux and search for some text to copy paste the relevant part out of it: it is fully binary, encrypted or whatever, there is no searchable text to be found. Perhaps it is only compressed ... it is again one of the "We are Microsoft, we are so smart, why use RCS and adapt it, if we can find a way to really mess it up?"

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:Deliberately behind the times by angel'o'sphere · · Score: 0

      I guess MS invented VSS to keep their competitors (which use VSS) down ........

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      we still have clients who insist on the more compact executables produced by Visual Studio 6 (11 years old now)

      Wait, what? How much bigger are the executables of current VS? By what factor have drive and RAM capacity increased in the past 11 years? Hint: Size of executables shouldn't be an issue.
       
      Keep in mind that your clients pay you for your expertise, experience and judgment. By letting the client dictate what version of visual studio to use, the message you're sending them is not "the client is always right" but "the client apparently knows better than you". By doing so, you're throwing your credibility out of the window. Before long, you'll find the upgrade path is no longer maintained and overgrown with weeds, and you'll be in deep trouble.

    12. Re:Deliberately behind the times by shutdown+-p+now · · Score: 1

      it is again one of the "We are Microsoft, we are so smart, why use RCS and adapt it, if we can find a way to really mess it up?"

      SourceSafe was originally developed by a company called One Tree, and was purchased pretty much as is by Microsoft in 1994. It's may well be NIH, but not a local NIH.

      Anyway, all you need to know about VSS is that it was never used for pretty much anything by MS itself (unlike, say, TFS, which pretty much the entire DevDiv is on). IMO, for development tools, a good measure of their usefulness is whether the authors themselves use them - that way they truly understand the pain of their users.

    13. Re:Deliberately behind the times by AaronLawrence · · Score: 1

      I would also add that TFS feels a bit unfinished. The basic design is pretty good, but certain small but very useful things are missing in the UI, e.g.:
      the merge/compare tools cannot ignore case or whitespace (!)
      there is no rollback in the GUI (until a recent Powertools addon, which is flakey)
      In some places you can get to the history of a file, in others not
      There is no easy way to search your bugs (work items)!

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    14. Re:Deliberately behind the times by BabaChazz · · Score: 1

      This client is not keen on having executables increase in size by 125% (e.g. from 500k to 1125k). We have warned them that this will result in a program that is hard to maintain as the tools become superannuated, and they have agreed that if issues develop, they will cover our costs of rebuilding on a more modern platform to get assistance from MS, but that they will then want the fix back-propagated. It is something to do with the size of their distribution media, I believe. While CD-ROM has been pretty much superseded by DVD-ROM, there doesn't seem to be a lot on the pipeline larger than 4.7GB.

      It's more "The client will pay for his decision."

    15. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      In the case of VC++ 6, the path is crumbled and barely visible. I say this because of my experience migrating a million line code base through for loop mayhem and include path madness. It's been a week and the first couple modules still don't compile.

    16. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      Ah, Razzle. How I hate thee.

    17. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      Guess what. Some projects at MS do not use VS either for C# projects nonetheless.
      Not using VS for C# development is pretty dumb idea IMHO and it does not tell how bad or good VSS is.
      I actually used VSS many years ago and it was a decent and fast source control system.

    18. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      No, they use SLM.

      Your knowledge is at least 11 years out of date. I used to work at Microsoft (left several years ago). We switched from slm to Source Depot (Perforce fork) in about 2000. In addition, Google tells me that many teams are using VSTF (not SourceSafe 2010, which doesn't exist). It's not clear whether any of them are using the revision control part of TFS (hence replacing sd) but I imagine at least some of them are doing so, given that TFS has existed at least 6 years.

      How much does it cost to import ten plus years of VSS data? If it could be done, I'd definitely be interested in switching to something better supported (read: FOSS)...

      There are a number of free options you can try, which again you can find via Google, for example: http://www.google.com/search?q=migrating+from+sourcesafe+to+subversion. Indeed, this was one of the first questions on Stack Overflow: What's the best way to migrate from VSS to Subversion? Of course, you can also choose to make your SourceSafe instance read-only and simply check in a new copy into svn and start from there.

    19. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      As an aside, did you know that the 'password security' in VSS was all client-side? ... I had a job where there was some political infighting, and I had a minor stake in the game. VSS was set up for both 'competitors' (as we'll call them), and it's source database was on a network share that everyone had access to. Noone could see anything from their competitor, though, because you had to 'login' (bullshit) to VSS with the appropriate access rights in order to get to your data. Ain't no goddamn login if the client does all the password verification. I cracked the client like it was a video game, and was able to pull source and run administrative functions without any semblance of a password just by NOPing some damn JMP somewhere. Moral of the story: when they say "your shared VSS database is only as secure as the shared network folder in which it is located", they _really_ _really_ mean it, because your VSS password is useless fluff designed to make you think there is a security layer where there actually isn't one.

    20. Re:Deliberately behind the times by Anonymous Coward · · Score: 0

      We've found that going with the Latest and Greatest causes a lot of grief: M$ has elected to change a lot of the way version control works with their 2010 update to VSS, for instance, and as we still have clients who insist on the more compact executables produced by Visual Studio 6 (11 years old now), we cannot upgrade any further than VS2008. On my current build machine, for instance, I have every VS version between VS6 and VS2008, and I use every one of them for building some part of some product.

      You may want to download and test the Microsoft Windows Driver Kit (WDK). The compiler in the current WDK (7600.1 or something) is equivalent to VS2008 but links against MSVCRT.DLL (in Windows\System32) instead of MSVCR90.DLL. I'm not sure how much this will help you but getting as far away as possible from MSVC6 may make it worth trying.
      [Beware the build system, it uses the god awful nmake which is a real pain since you can't use subdirectories]

      BTW, have you tried a Release build with "Whole Program Optimization" (/GL), "maximum optimization" (/Ox), "favor small code" (/Os) and "Link Time Code Generation" (/LTCG)?

    21. Re:Deliberately behind the times by MemoryDragon · · Score: 1

      Well if a version control system is bad then it is a bad idea to use it especially if there are free alternatives with good plugins into the ide.
      The only developers I know who like VSS are the ones who either come from clearcase which is even worse or who have never used anything else.

  20. Depends... by Oswald+McWeany · · Score: 1

    In some small manufacturing plants you may find that is the norm.

    Where software IS the business that will never fly.

    I worked one place where there wasn't even a seperate test database. Test tables had "_test" applied to them.

    My last week there I accidentally deleted a whole bunch of production data that locked everyone in the office out of some important functionality- took hours to get things back running.

    Biggest mistake I ever made... LOL... although it makes me chuckle thinking back.

    YES- it was an accident.
    YES- I felt like a total doofus (although I kept telling them whilst there test needs to be seperated).
    YES- I'm sure some people probably thought I did it on purpose.

    --
    "That's the way to do it" - Punch
  21. Depends on the Economy by realsilly · · Score: 1

    During any economic downturn, one of the first things to go in a development environment is the technical writers or requirements analysts, then testing, then good processes. I write technical documentation and requirements. In every job (unfortunately I've had a few), I've seen this pattern for I'm the first one to be let go and then hear from co-workers how everything falls apart from there.

    If you're now in a large company, I would be amazed that they are that far behind in good practices, but it does happen. I'm in a situation now where those good practices are only just being put back into place. It's very difficult to change the mind-set of a skunk-works environment. Managers have a hard time justifying strict processes and procedures.

    Good luck in this job if you stick it out, and if you don't see change, consider a move to a more stable development team.

    --
    Life takes interesting turns, but the most interest is when you're off the beaten path.
  22. This is your opportunity by Faramir · · Score: 3, Insightful

    Instead of running - change things. Take it one step at a time. All these tools are valuable, but you can get by without some. Personally, I would start with Version Control, follow up with system/regression testing, then unit testing, continuous integration, and finally deployment process. I've never been in an environment with continuous integration. It hurts, and I'm trying to change that, but I've been picking my battles carefully and not pushed very hard on that one yet (challenges with integration into our version control platform). Don't run from the company, unless they're unable or unwilling to accept concrete proposals for changes. But be very cautious as the new guy. You don't want to continually annoy folks with your shiny new way of doing things. Be patient, research the reasons for each proposals, and try to work each one in over time.

    1. Re:This is your opportunity by Mia'cova · · Score: 1

      I'd try to identify the most time consuming and error prone manual operations. I wouldn't kick things off by pushing unit testing. Some people look at testing, documentation, etc as more of a tax than a benefit. If you can come up with some tools and scripts to automate those slow error-prone processes first, you'll get the entire team listening really fast. Figure out what helps your workflow and push it out to the rest of the team.

  23. Wisdom by BigBuckHunter · · Score: 5, Insightful

    Congratulations. You are now wiser than you were prior to accepting the position which you now fill. The next time you interview for a company, which sounds like it may be soon given your current situation, you will now possess an assorted list of queries when the interviewer asks, "Do you have any questions regarding the position or the company?".

    1. Re:Wisdom by Unequivocal · · Score: 4, Insightful

      I'd suggest being thoughtful in terms of how you ask those questions. If I'm interviewing someone and they give me the third degree on process stuff, I start worrying that they are a "process fanatic." Now don't get me wrong - I'm all for good dev process but there are some people who are fanatical and irritating and not nice to work with, and getting a lot of questions about it would be a small red flag. Just making this point to add nuance to your point.

      I absolutely think you should inquire into what the technical and process aspects of the job look like (among others). Just be thoughtful about how you ask..

    2. Re:Wisdom by SirGarlon · · Score: 2

      The way I ask it is, "Tell me about your development tools and release process." Then I shut up and listen until they ask something in return or change the subject.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    3. Re:Wisdom by Dahamma · · Score: 2

      And, really, even without asking questions like that directly you should be able to get am idea of how rigorous their development processes are. If I went through an entire interview with 4-5 engineers and not one of them asked me about unit testing, versioning, deployment, scalability, tools, etc, then that's a pretty big red flag right there...

    4. Re:Wisdom by Unequivocal · · Score: 1

      Great point!

  24. RSA One version behind by Anonymous Coward · · Score: 0

    I work on a large multiyear project with 300+ people. We used RSA from IBM for java development. The version control system has changed over time. Since it is a long project we don't use the latest. Instead we are one version behind. There have been upgrades during the project but there was alot of care that we used versions that worked. There is enough people on the project that we are not doing things by hand like at your new position. Things are also very organized because we have been working on this a long time.

  25. The "norm" is . . . there is no norm" by PolygamousRanchKid+ · · Score: 3, Informative

    It depends on the product and project that you are developing.

    Research Prototype? Two developers? Quality not an issue? Need to be done as soon as possible for a demo? Maybe vi and make are all you need. The error reporting system can be post-its on a wall.

    Long Term Product? Supporting multiple customers on multiple platforms? Man-rated? Well, you had better have all the doo-hickeys then.

    I've seen both these methods work, and all types of mixes in between. Like I said, it depends on your product and project, there is no norm.

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    1. Re:The "norm" is . . . there is no norm" by ClayDowling · · Score: 1

      Don't underestimate the power of vi and a makefile. They're actually powerful tools. Although I strongly recommend coupling them with version control, bug tracking, unit testing, and in an ideal world continuous integration testing.

  26. Lol by AlphaBit · · Score: 1

    Welcome to the schizophrenic world of technology.

  27. Relevant South Park quote: by Anonymous Coward · · Score: 0

    KYLE'S FATHER
    Do you understand?

    KYLE
    Yes. Yes, I do, Dad. Now let me tell
    you how it works in the real world.

    At your company, you've got a serious problem with management. It might be your direct managers, or it might be unreasonable demands of the higher ups forcing your direct manager to not get what s/he wants

    You may not be (and are probably not) the first to bring this up, you'll need to speak with your direct manager about this.

    . Management needs to realize that they need to readjust their priorities on how fast they can respond to things, and allow time / hours to be budgeted towards improving the development environments / tools / practices (which I'm sure your co-workers also are aware of).

        If they won't / can't make this happen, then hey, it's a paycheck, and you've said your piece.

  28. Re:Visual Studio by abigor · · Score: 1

    Obvious MS troll is obvious.

  29. At least VCS and IDE must be there by apetrelli · · Score: 1

    In all my jobs (I started in 2004, notice that I work in Italy) at least we had a VCS (CVS, Subversion or some horrible things like StartTeam or PVCS) and an IDE (mostly Eclipse).
    In one place we even had functional testing and CI with Hudson. But the two pieces above are the minimum requirements for a decent job, IMHO.

    1. Re:At least VCS and IDE must be there by dcollins · · Score: 1

      Agreed. My two engineering jobs had version control, and none of the other stuff the OP mentions. Not having version control is pretty jarring.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
  30. Quit when you still can by 140Mandak262Jamuna · · Score: 1

    Buddy, send your resumes out and hope you get hired before the company goes under. It is very difficult to get a job if you are unemployed, even if it was through no fault of your own. No. It is no the norm. I have been with my company from almost its start up days. We always had source control and regression testing. Unit testing was spotty in the early days. We were on the bleeding edge of adopting new tech (C++ from the days it was a downloaded preprocessor for a C compiler). So it is not the norm even for start ups.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  31. In the same boat by Pat+Attack · · Score: 0

    I am not a software developer, but I am in a similar environment. I went from a media company that had over 20,000 employees to an insurance company that has 1300. The programming groups are just like your situation. What's frustrating is that the developers will release a change and not even notify us on the application support side.I find out about new versions when my users call me to complain about a bug.

  32. This is definitely not normal by dkleinsc · · Score: 2

    The good news is you can probably start doing some of this stuff on your own. For instance, you can probably set up git on your dev box and just use it for your own change management. You can definitely write unit tests for your code, although you may have to keep that fact hidden from your boss. Just start doing it.

    If someone is running around in a panic of "I lost the version of the file from 3 days ago and we need to get it live right now!", use your version control and pull up the version from 3 days ago. When asked "How did you do that?" tell them all you can about the repo, so now you have 2 devs sharing code using a DVCS, and then he tells his buddy and so on, so that by the time management has to make a decision about whether to officially use DVCS the devs can say "We've been doing this for months and it's helped us work faster and recover from screw-ups quickly."

    This all assumes that the organization is this bad because it doesn't know any better, not because it's actually being impeded by a manager who would be featured over on Daily WTF.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
    1. Re:This is definitely not normal by dkleinsc · · Score: 2

      Sorry, obviously the link is incorrect. The correct link: The Daily WTF.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    2. Re:This is definitely not normal by Anonymous Coward · · Score: 0

      This is the exact situation I was in when I started in my new position.

      within 6 months I had CI, Unit testing and regression testing, automatic documention generation, code coverage, and proper version control. It was a pain in the ass to have to do it rather than just walk into it, however it has made me invaluable and really seperated me from the crowd of useless software developers that had worked here previously. Needless to say I've recieved a pay rise at every pay review for for the past 2 years which has made my salary grow by 8% since I joined in 2 years.

      I'd say suck it up, lead by example and write the new processes.

      DO NOT DO AS THEY DO. just because thats how it HAS been done before, does NOT mean thats how it should be done.

      Good Luck

  33. How big of a development environment we talking? by Derekloffin · · Score: 1

    If you only have a handful of people, it may simply be that they have been taking the 'quick and dirty' approach to development for a while and just haven't had the initiative to change it. In such an environment I suspect a few suggestions for improvements would be met with interest, especially if you're willing to put the time in to implement such. Now, on the other hand, if you're talking a mid to large development crew, then I'd be worried. That speaks to some serious weakness in management that they are willing to cut corners behind the scenes. Still, again, it could simply be lack of initiative. If you speak up with some suggestions you could find them receptive to some change, especially if you can sell them on the improvements in productivity and such.

  34. Sheer madness... by Neurotrace · · Score: 1

    I genuinely cringed when you said no version control. My opinion? Run away or revamp the whole system. All kinds of shit happens without version control.

  35. Two Choices by s73v3r · · Score: 1

    You have two choices: You can either push them to start adopting some better tools, ESPECIALLY VERSION CONTROL, or you can leave. Pushing these things will take quite a bit of effort, and it's quite possible that you will not be successful in your efforts. However, if you are, and can demonstrate to everyone what tangible improvements they bring, you'll be a hero. But remember, I said tangible improvements. You need to be able to communicate actual improvements that will come, in terms of bugs fixed earlier, number of crises prevented, stuff like that. You can't just say, "We should be using this stuff because it's good!"

    The other choice, is simply to leave. Sad as it may be, there are a lot of places out there that are not doing these necessary things. And most of them don't see any need for them, as they don't easily translate to benefits for the customer. Places like this don't care about the developers, and would have no problem sending you on a multiple month death march. If you are not able to convince them to adopt these tools, drop them like a bad habit. Make sure they know that you are leaving because of their refusal to adopt these practices.

  36. Yes, it is normal. by MagikSlinger · · Score: 3, Interesting

    I've been in corporate IT for over 10 years now.

    The corporate standard version for Crystal Reports was so old, the version wasn't even listed on their website.

    They were creating classic ASP (not .Net) applications as recently as 2005.

    The most recently approved version of Visual Studio is... 2005.

    There are still active VB6 programmers in the company.

    Most of my department uses VSS 5 (yes 5, not 6).

    The main corporate Java web app servers were Java 1.4 until last year.

    On the other hand, if you come work for my sub-group, we've recently decided to screw corporate standards. We use mercurial, continuous integration with Hudson, Glassfish, latest version of Eclipse IDE, Java 6 and jQuery. None of this is corporate "approved", but we get high marks from our users! ;-)

    --
    The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    1. Re:Yes, it is normal. by schlesinm · · Score: 1

      I've been in corporate IT for over 10 years now.

      The corporate standard version for Crystal Reports was so old, the version wasn't even listed on their website.

      They were creating classic ASP (not .Net) applications as recently as 2005.

      The most recently approved version of Visual Studio is... 2005.

      There are still active VB6 programmers in the company.

      Most of my department uses VSS 5 (yes 5, not 6).

      The main corporate Java web app servers were Java 1.4 until last year.

      On the other hand, if you come work for my sub-group, we've recently decided to screw corporate standards. We use mercurial, continuous integration with Hudson, Glassfish, latest version of Eclipse IDE, Java 6 and jQuery. None of this is corporate "approved", but we get high marks from our users! ;-)

      I think you work at my company. We just moved to Java 5 last year and are starting to decomission the VB6 apps. Just a couple years ago we finally moved to subversion from CVS (I got a lot of strange looks when I brought up DCVS systems). But my group keeps pushing the envelope and slowly changing the standards.

    2. Re:Yes, it is normal. by Anonymous Coward · · Score: 0

      Gosh! That sounds exactly like my com... Mike, is that you?

    3. Re:Yes, it is normal. by Thing+1 · · Score: 1

      s/Hudson/Jenkins/

      --
      I feel fantastic, and I'm still alive.
  37. change takes time but the free tools are out there by ncohafmuta · · Score: 1

    I don't agree that it's the norm, even for a small company. You don't need big money, esp. for java development.
    We're small and we get by well. cvs, eclipse, junit, cruisecontrol, ant, rpm. Throw a little money for Jira and you're doing pretty well.
    But you're there, so either run or try and change things. But believe me, it's not easy. Developers get engrained in ways of doing things. And even if it's for the better, changing that takes time. Convincing your boss and a senior dev guy to start is your best bet.

  38. make the difference by Anonymous Coward · · Score: 0

    Well, since you have experience with unit testing, version control, regression testing and the like, how about you make your case with your manager. Treat this as an opportunity, not a challenge. Your situation is typical for a company (or a department) that just existed out of 2-3 developers and had to expand.

  39. depends by rish87 · · Score: 1

    If this new job is on either the gov or contractor side of the DoD, this is more than normal (did my time in that setting, never want to go back). This sort of development setting is also commonly found in larger companies outside of DoD. I've only been out of school a few years, but I've already learned a valuable lesson: bad development environments are caused by lack of caring from the dev team which leads to a horrible working environment if you actually care about programming. Unfortunately these bad settings tend to pay the most, but I assure you that working in a company surrounded by people who know and stay current in their field who are also passionate about the work being done (professionally and personally) is worth more than any amount of hard currency.

  40. Very lucky in your first job by plerner · · Score: 1

    I think you where very lucky in your first job. I have had several jobs and only in one of them the manager considered that kind of tools. In the rest they always told me "Great idea, do it!"; "Thanks, then other people can now start using these tools, too. I may need a server to set it up"; "What? No, do it in you own time at home, I don't care about that stupid stuff, other people don't need that shit. Shut up and work!". That's the main reason why I keep changing jobs....

  41. Start looking elsewhere if they don't step it up by Sean · · Score: 1

    Luckily for them you know what a proper development environment looks like. If they want to make it a top priority to improve in that area than great. If they don't see it that way find another job immediately. Life is too short to be stuck in a place like that.

  42. Is all this ... thingies ... really necessary? by Anonymous Coward · · Score: 0

    You assume that all the layers you described are necessary for software development, aren't you? The point is: All this infrastructure needs to be maintained. Have you ever checked how much time you spend with the real product? Or checked the overall cost?
    Sometimes there are very good reasons for such a low-level approach.
    I give you an example: I work in a private health insureance company that is more than 100 years old an has 5 million customers with about 20 million contracts and more than 50 millions of different tariffs and policies. Every day about 20 000 bills need to be processed. The base system is a zOs based mainframe. It has an uninterupted uptime of 11 years now!
    Developing software for this environment is at the same time extremely challenging and extremely easy. It is challenging because one has to take care that the tools used must be available in 20 + years from now on. So the math is done with Fortran and SAS, database stuff is done with cobol etc.
    The easy part is, that one needs not to learn the newes style or program, one can become a real master of the particular infrastructure and of the issues.
    There is no need to run. There is a serious need to evaluate your situation: Do you understand why the development style is as it is? Do you understand the business idea that is behind this development style, if any? Maybe you find out that there are very good reason fot his. Or maybe you where hire because you have knowledge in the newest technology and it is hoped you can improve the situation.

    1. Re:Is all this ... thingies ... really necessary? by shutdown+-p+now · · Score: 1

      Version control is a must for any development more complicated than "hello, world", even when it's a one-man project. There are no ifs or buts about it. There's a reason why VCS date back 40 years.

  43. Not in the industry by Murdoch5 · · Score: 1

    I want to stress that I'm not in the industry as a developer but I do work on coop doing some code development. Where I work on coop we use Perforce as the SCM tool of choice and it is horrible.

    Outlining some of the problems I've had with Perforce:
    1) All the tools to work with Perforce are sloppy and bulky, The GUI is horrible and does not have a usable work flow
    2) Perforce is known to crash, I've personally seen the Depo get so messed up that the company I do coop for had to call Perforce and ask what to do
    3) Perforce makes it hard to get the files uploaded and then has in the past completely prevented me from checking them out
    4) Perforce doesn't allow you to change a files name when it's checked out, It should keep track of Inodes not file names
    5) Perforce has horrible cross platform support, unlike GIT
    6) Perforce has poor workspace support, If you mess around at all it will get more lost then a baby in a room of topless women
    7) Perforce loves to make more then 1 workspace per user and not tell you
    8) Perforce loves to lock up preventing you from getting access to your files
    9) Perforce is extremely slow, it crawl in comparison to GIT
    10) Perforce doesn't provide any actual customer help

    I've had these same problems at school, where we also run Perforce in our program. When it comes to SCM there is one product that I promise is more trouble then it's worth and that is Perforce. I haven't made up a single point above, I have had every problem I mentioned and coming from a closed source software I should of had been nothing but a stellar experience.

    If perforce wants to create a usable product they need to get rid of the GUI entirely, They do have a CLI but it's not the greatest. They need to create power shell tools to work it. They need to allow you to actually use the workspace and not manage it for you exclusively and they need to stop the freezing and crashing that plagues the software. .

    Luckily there is a GIT which does fix all the problems i've had with Perforce and has left me with a wonderful solution to SCM. I even use GIT at school now above Perforce because it leaves me with a usable product that can hold up.

    1. Re:Not in the industry by Anonymous Coward · · Score: 0

      What a load of balls. The fact that clearly don't even understand or know that p4 move exists says it all about this.

  44. Who's in charge? by ElmoGonzo · · Score: 1

    Sounds like a place I worked where the owner fancied himself a developer because he wrote the initial program in GWBasic. His fair-haired right-hand man wrote (probably still writes) some of the sloppiest code I have ever seen and when the boss man wants a change made he goes to "Karl" who "tweaks" the code solving the immediate problem and all too often creating a morass of workarounds and kludges which end up stifling attempts to extend the code. Rumor has it that they are still using a 12 year old IDE that was new when Win 98 was the latest, greatest thing on the block.

  45. you just learned a valuable interviewing lesson by Surt · · Score: 2

    And the lesson is, you need to ask more questions about the place you are interviewing. You wound up in an egregiously bad one because you didn't ask those questions. Remember in the future that at least one quarter of the interview should be devoted to you asking them questions, and if their interview practice doesn't allow for that, run away.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  46. Yup, this is normal by John+Bresnahan · · Score: 1

    Unfortunately, this sounds like almost every company for which I've worked.

    At one job, we were using the same hardware and software that had been used about eight years earlier to originally develop the software. Nobody, including the other developers, saw any reason to change a thing. At one point, the secretaries were getting new machines, so we grabbed their old machines which were still much newer than any of our development boxes.

    The only company I ever worked for that provided up-to-date hardware and software went out of business after six months, in part because they were spending so much money on "cool stuff" whether they needed it or not. (Lesson learned from the dot-com craze: Don't get expensive office space, fancy and expensive working "environments" and other perks until you actually have a revenue stream!)

  47. Version control first by Animats · · Score: 1

    Top priority is version control. Without that, you don't know where you are. Which version control system doesn't matter that much. They all work well for small projects.

  48. At least put YOUR changes on a VCS! by GPLHost-Thomas · · Score: 2

    If there's no VCS in the company, I'd use one at least for myself and my own code. Then if you use a distributed system like Git or Mercurial, you don't even have to ask anyone, it can become viral, and you don't need any piece of infrastructure that doesn't exist already (there's always a way to send patches, using a USB key, a mail attachment, etc.).

    1. Re:At least put YOUR changes on a VCS! by BitZtream · · Score: 1

      Yea, or they could use something designed without grandious plans of dominating the world with a decentralized ... something, I don't know what they were going for, the point is both Git and Mercurial are far more complicated than need be for anything but the most complex projects.

      Contrary to popular belief, anarchy is not productive.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:At least put YOUR changes on a VCS! by Just+Some+Guy · · Score: 1

      Git and Mercurial are far more complicated than need be for anything but the most complex projects.

      Couldn't agree more. I mean, git commit -a; git push and git pull are an utter bitch to remember.

      You know, you don't have to use their every feature just because they're there.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:At least put YOUR changes on a VCS! by GPLHost-Thomas · · Score: 2

      I think you mistyped. I think you meant:

      both Git and Mercurial are far more useful and easy for anything that even the tiniest project should be using it.

  49. Nothing worse than a bloated dev environment by elloGov · · Score: 1

    Here are my two cents: In any team environment, a good version/source management is a must. Build and deployment processes should also be examined. Shell scripting will go a long way to automate and alleviate many of your recurring headaches. With that said, there is nothing that annoys me more than employing industry standard buzz words for any and every solution, thus bloating the development process. As a developer, I always appreciate a thin development environment that allows me to do more development and less infrastructure, third-party software debugging.

  50. Make the software open source! by Lieutenant_Dan · · Score: 3, Funny

    It is obvious to everyone that you could harness the synergies that the OSS movement provides by convincing senior management at your new company to make the software open source. I would encourage you to take the initial step and putting the source code on torrents right now, which would show effective leadership and a long-term vision that your new company greatly requires.

    By making it open source you will find that there are very mature methodologies for version control and the likelihood that your code will be forked is almost zero (76% to be exact, or in decimal terms 0.76 which is pretty close to zero, more so than 12). Regression testing will be addressed by the multitude of your clients who will willingly give up their slack time to test the product and provide valuable Q&A. You will then need to merely glance at the feedback forum that you will set-up at your $4.99 LAMP web host to get a high-level view of the pertinent concerns.

    And use Ruby on Rails; it's the future.

    Only when we free ourselves from the dichotomy of corporate greed and lack of client-facing event management, can we attain new heights that will make your company stand out from the rest of software makers out there.

    Which is nice.

    --
    Wearing pants should always be optional.
    1. Re:Make the software open source! by St.Creed · · Score: 1

      No company who wants to stay in business long term makes any profitable product open source. Open source software is NOT THE PRODUCT of ANY COMPANY ANYWHERE.

      It is so easy to list dozens of counter-examples that I'm not even going to bother. Personally I know several companies that are open-sourcing their main product right now because the consultancy fees will outweigh the licensing fees. Or they sell add-ons to the main product for big companies that make a lot of sense for those companies, while their developers can use the same stuff (minus big unwieldy add-ons) at home for free. Win-win. I'm not even discussing the open source vendors here, who live off the support and consultancy. Or a local company, that makes money off the fees paid by customers who want to prioritize or speed up the extensions they need to the basic product. There are loads of different models to make money off open source software.

      I do agree that the GP is trolling though. But your comment is a bit strange.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    2. Re:Make the software open source! by Anonymous Coward · · Score: 0

      By "the future" you mean 2005 right?

  51. 56 posts and no one asked why? by vlm · · Score: 5, Insightful

    56 posts so far and no one asked why? This is the crucial question.

    1) They hired you specifically because YOU know good dev practices and management wants to model everything after you, or at least after your former employer. Well, golden boy, stay put and rake in the cash. Should be easy to angle into a management job assuming you want that. Maybe the boss thinks he's getting a promotion and is trying to put you as his protege.

    2) They started so small they didn't need those things. Now they're big, so they hired a guy from a big time operator. Sounds like it won't be too tough to convince them the new big guy comes with a new big VCS or a new big testing system.

    3) They're planning on selling / getting out of the field and just need to keep you around until the sale or bankruptcy is final, or they're completely bonkers insane. Run like hell

    Also you have to factor in the change difficulty level. Is your team... just you? Then what the heck does the boss care what your VCS is, just roll one out. Is your team also fed up old timers who know better? or is your team all clueless noobs? Will IT slap you on the back and buy you a beer if you install a GIT repo "hub" like gitolite, or take you out back and shoot you? How bout management?

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    1. Re:56 posts and no one asked why? by BitZtream · · Score: 1

      Will IT slap you on the back and buy you a beer if you install a GIT repo "hub" like gitolite, or take you out back and shoot you?

      Thats pretty much a universal 'take you out back and shoot you' response, unless of course you talk to them about it first.

      You don't start fucking around on someones network without talking to them first. When you are at work its not YOUR PC or YOUR NETWORK or anything of YOURS, its THEIRS, and you should be respectful of the fact that you don't know everything going on and you clearly are not a system admin so you know even less about whats going on with their systems.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:56 posts and no one asked why? by Anonymous Coward · · Score: 0

      Amen brother!

      All the +5 insightful posts saying "run away" are leaving in faerie-land.

      Of course the OP can (and should) bring better practices to the table. Last consulting gig (mucho $$$) was for a gigantic company >$100 bn in turnover. Well, guess what, they weren't about IT and their practices all sucked and where all outdated.

      But here and there teams started putting in place their own DVCSes. Started introducing (or fixing broken) unit tests. Etc.

      Saying "run away, that's bad practice, because I read in some agile-37-signals-Y-combinator blog that this is bad practice" is short sighted.

    3. Re:56 posts and no one asked why? by vlm · · Score: 1

      Will IT slap you on the back and buy you a beer if you install a GIT repo "hub" like gitolite, or take you out back and shoot you?

      Thats pretty much a universal 'take you out back and shoot you' response, unless of course you talk to them about it first.

      You don't start fucking around on someones network without talking to them first. When you are at work its not YOUR PC or YOUR NETWORK or anything of YOURS, its THEIRS, and you should be respectful of the fact that you don't know everything going on and you clearly are not a system admin so you know even less about whats going on with their systems.

      I've heard there are places like that, but everywhere I have worked, there has always been a "engineering network" or "dev net" or whatever with the IT guys firewalling it off from their stuff pretending that lan was as toxic as the internet, no open ports, no static nat, no access across the fw at all either direction without some sort of ticket or project being filed. I'm guessing a place that is so backwards they don't even have a VCS system, might not have something as advanced as a physically separate "dev net". Also I worked at one financial vertical integrator that had multiple "customer service" nets where an entire customer site could be replicated by customer service for customer service purposes using a mainframe and VM/MVS images (pretty much like vmware now, except it was the very early 90s and token ring was everywhere). And there was the nagios powered place that had a firewalled off "burn in net" where nagios pinged the heck out of the entire /27 and logged all changes and anyone from any dept could plug anything into it (with the idea that if the gadget stopped responding to pings during 24 hours, then it failed burn in testing), so we had everything from ITs desktops burning in, to outside plant UPS monitors burning in.

      Most "real" IT departments already have an extensively firewalled "test net" for their own purposes... Given a possibly infected laptop you don't stick it on the main lan, but on a special little highly monitored "test net", possibly with no access other than to the internet for software patches and updates. The concept of a nearly identical "test net" for the devs is not going to be a huge conceptual leap for them. Then again as above, the kind of place that hasn't discovered VCS probably takes laptops infected with the modern equivalent of "sql slammer" and drops them right into the database cluster LAN....

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  52. I would say, fight or flight by SirGarlon · · Score: 4, Insightful

    If your heart acquires strength, you will be able to remove blemishes from others without thinking evil of them.

    Mohandas Gandhi

    It is unusual for a software shop to be as immature in its tools and processes as your new employer. Rather than join in the chorus of voices condemning your employer, let me suggest an alternative.

    Understand the reasons for the current situation. Professionals, especially engineers, usually have a rational basis for their choices. Perhaps they are disillusioned from having wasted time and energy in the past (see Test Automation Snake Oil). Perhaps they have a few heroic individuals who hold everything together and don't see the need for tools. I have no idea. I cannot wrap my brain around how someone would try to get by without revision control but that's immaterial. You have to understand that before you can either change it, or learn to live with it.

    Read the IEEE paper, How to Be a Star Engineer. Then, be a star. Help your team see the value in some basic tools like version control. Introduce them. Train your peers. Proceed slowly and patiently. Talk to your managers and senior staff about the risks you can mitigate and be realistic about the costs of doing so. In other words, help your company do better software engineering.

    It is very possible they hired you because you come from a disciplined engineering shop and can help them improve their practices.

    Or you can take the coward's way out and flee before you try to teach anything or learn anything.

    --
    [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    1. Re:I would say, fight or flight by vlm · · Score: 2

      It is unusual for a software shop

      Assuming its a software shop... I've never worked in one, but I have some decades doing dev work as basically a tool maker at a couple places. The guy's description sounds like a lot of embedded places I've worked where "things just kinda got out of hand" after starting as such simple little projects.

      One minute you're basically writing a one page web cgi front end for "grep" and it seems like next thing you know, you're creating a giant data warehouse and statistical analysis system, wtf?

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:I would say, fight or flight by Frenzied+Apathy · · Score: 1

      +1 for this. A mature, reasoned, helpful post.

      --
      The cake is a lie.
    3. Re:I would say, fight or flight by jalefkowit · · Score: 1

      Understand the reasons for the current situation.

      This is excellent advice. Very few situations in life that appear to be irrational actually are. Almost always they come from some past experience that taught somebody a good lesson too well.

      Take version control, for example. My first exposure to version control software was Microsoft's Visual SourceSafe, back in the late '90s. Maybe it's better now, but back then VSS was an incredibly poor product. Imagine if someone managed to shrink-wrap the experience of getting kicked in the balls a thousand times by a steel-toed boot, and you'll have a pretty good idea of what it was like to use VSS.

      What I learned from that experience was "version control sucks." VSS was so bad that it put me off the entire idea of version control software for years. I reacted to suggestions that I pick up tools like CVS like I was allergic to them. It wasn't until better-designed tools like Git and Bazaar came along that I was able to overcome those bad old experiences and really get the value of version control -- and even then, I had to overcome a bit of skepticism before I could understand how things had changed.

      All of which is to say, it's entirely possible for me to imagine someone who got burned on the bad old version control tools God used to curse us with, and who simply hasn't gotten around to exploring the great new options that are available today; so as far as they know "version control" is just shorthand for "pain and suffering." They may have been too busy getting shit done with their current setup to look around and realize how much better the tools are today. So you may be in a position to teach them something new and make their lives easier, which, if they're good, they'll appreciate -- even if they grumble "why do we need this stuff again?" at first, until you demonstrate to them how much more productive they can be.

    4. Re:I would say, fight or flight by s73v3r · · Score: 1

      There is no rational basis for not using version control. None.

    5. Re:I would say, fight or flight by Anonymous Coward · · Score: 0

      Wow, that article about Test Automation is interesting, but it is 15 YEARS OLD (originally published October 1996). Do you suppose the state of the art of automated testing may have improved since then?

    6. Re:I would say, fight or flight by s73v3r · · Score: 1

      Or you can take the coward's way out and flee before you try to teach anything or learn anything.

      Leaving is not the "coward's way out." Quite frankly, it's the only way a lot of these places will change: If they can't recruit and retain new talent.

    7. Re:I would say, fight or flight by Just+Some+Guy · · Score: 2

      If your heart acquires strength, you will be able to remove blemishes from others without thinking evil of them.

      Mohandas Gandhi

      Smug bastard never had to deal with Team Foundation Server.

      --
      Dewey, what part of this looks like authorities should be involved?
    8. Re:I would say, fight or flight by Taty'sEyes · · Score: 1

      I agree with "Understand the reasons for the current situation". Once you do, you may find that there are political reasons or an unwillingness by management to spend money on "unnecessary" additional software. Once you stumble into one of these situations, you're either going to need to learn to adapt and SLOWLY change them or you'll find yourself very frustrated the rest of your time there. Once a company has a "working" solution, it's hard to change the heading of the ship especially as the "know it all" new guy. Be careful or you'll be branded a "loose canon".

      --
      We show geeks how to get their dream girl at EyesOfOdessa.com
    9. Re:I would say, fight or flight by Darby · · Score: 0

      Yeah, VSS is one piece of their own dogshit that even microsoft won't eat.

    10. Re:I would say, fight or flight by SirGarlon · · Score: 1

      Certainly. But the thesis of the article is that good tools won't save a bad process, and I believe that remains an enduring principle.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    11. Re:I would say, fight or flight by St.Creed · · Score: 1

      VSS was a pain but it provided basic versioning for single programmers. If you want to run your business on it, prepare to embrace the pain. Although now they no longer support it, what happens is that more people actually drop versioning altogether and aren't even aware of the benefits. Team Foundation is very nice, but way to expensive for single developers. And integration with Mercurial et. al. is a bit clunky.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    12. Re:I would say, fight or flight by c++0xFF · · Score: 2

      This is exactly why even the smallest projects need to use basic tools like version control right from the very start.

      Once anything I'm working on gets larger than, say, a couple files or a hundred lines, I set up a version control system for it. If I find myself doing something (such as copying binaries to a machine) more than a few times, I make a script for it and check that in. I set up a Makefile for even the most basic programs. Then, as the software gets larger or more people work on it, that's already in place, and adding other features (configure scripts, for example) are less of a hassle to put in.

    13. Re:I would say, fight or flight by turgid · · Score: 1

      Thank you.

      Taking the positive, pro-active "professional" approach always sounds great, but very often it can go nowhere, especially if you're young. Established "professionals" tend not to listen to enthusiastic newbies, not matter how reasoned an argument they put forward.

      One thing I've learned with experience is to know when to stop and to move on to the next opportunity. You can lead a horse to water and all that.

    14. Re:I would say, fight or flight by Anonymous Coward · · Score: 0

      Help your team see the value in some basic tools like version control. Introduce them. Train your peers. Proceed slowly and patiently.

      Be careful with this. You can really waste years trying to lead this proverbial stubborn horse to some water, and ultimately you may never make it drink.

      Make an attempt, yes. Proceed slowly, yes, but don't wait too long and be very prepared to bail on this company if they don't start to adopt these simple, easy and cheap to implement practices with enthusiasm and aplomb after a short amount of time.

      Unless there genuinely is no other jobs available for you in your area (in which case you need to strongly consider moving), life is simply too short to waste it on people and companies that simply don't (and never will) "get it".

      It is very possible they hired you because you come from a disciplined engineering shop and can help them improve their practices. Or you can take the coward's way out and flee before you try to teach anything or learn anything.

      Unless your employer made it absolutely and explicitly clear right from the outset that they hired you to come in and change things in order to improve working practice then they absolutely do NOT want you to do such things. They are probably very content with how things are, and will take it as a personal affront that you immediately join the company only to tell them that their working methods and practices are poor and (essentially) wrong, by suggesting something that you believe is "better".

      Also, do not believe that it's a cowardly thing to dump this company and move on to better things if they fail to see the error of their ways. Usually, the only people who feel this way are the embittered ones who stay put in a dead-end job and are resentful of the people who do jump ship to better things.

    15. Re:I would say, fight or flight by gangien · · Score: 1

      I would say just start using some of these tools on your own and see if they get traction. Just setup a CVS/SVN server and start using it. Setup Cruisecontrol or hudson or whatever, and start using it. You can spend a lot of time arguing about stupid shit, or just do it, and have everything ready to go and show them. Often time people will just use the excuse about not having "enough time" and crap like that.

      And I don't think it would be cowardly to leave. If it's a helpless situation, only a fool would stay.

    16. Re:I would say, fight or flight by gewalker · · Score: 1

      Rest assured Visual Source Safe has been bad, and will always be bad. However, given that as your only Source Control Option, it is still better than no source control (You just batter make sure you have traditional backups in place as well).

    17. Re:I would say, fight or flight by Grishnakh · · Score: 1

      The only problem with your statement is that the Slashdot asker isn't a newbie, he has 5 years of experience. That means his career as a software developer is already halfway finished! In another 5 years, if he hasn't moved up into management, he'll be too old to hire.

    18. Re:I would say, fight or flight by SirGarlon · · Score: 1

      Also, do not believe that it's a cowardly thing to dump this company and move on to better things if they fail to see the error of their ways.

      I didn't say it's cowardly to leave if you can't make a difference. I said it's cowardly to leave before you attempt to make a difference. Not such a fine line, actually.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    19. Re:I would say, fight or flight by turgid · · Score: 1

      That's an overly cynical point of view :-)

  53. Re:Visual Studio by shutdown+-p+now · · Score: 1

    This has exactly zero to do with the question asked in TFS.

  54. Re:Visual Studio by TheRaven64 · · Score: 1

    How's its Java syntax highlighting? Objective-C autocompletion? Visual nib editor?

    Visual Studio is a nice IDE (the debugger is still probably the best for any mainstream platform), but it is very much a Windows IDE. If you're targeting Windows, then it's probably the right tool for the job. If you aren't, then it almost certainly isn't.

    --
    I am TheRaven on Soylent News
  55. Version Control a must. IDE useful too. by aristotle-dude · · Score: 2

    A lot of people who talk about the Visual Studio are probably not using a stock install but most likely using addons like Resharper to give them the functionality they enjoy.

    If you are focused on Java but like the ease of use of Visual Studio + Resharper then take a look at Intelli-J. It is a Java IDE written by the same guys that produced Resharper for VS.NET so you are going to see a lot of similarities between the two products.

    I would stay away from GIT and other system popular in the blogosphere and go with SVN as it is tried and true or evaluate Perforce to see if it fits within your budget.

    As for continuous integration, look into CruiseControl or something similar.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
    1. Re:Version Control a must. IDE useful too. by vlm · · Score: 1

      I would stay away from GIT and other system popular in the blogosphere and go with SVN as it is tried and true

      We ran from svn fast as we could because its dying... git has taken over, like it or not. Your quote sounds like something fresh outta 2006, but that was a long time ago.

      All git pullers have essentially a full backup of the repo. All pullers are what other VCS would call a hub. With SVN you need a backup and availability strategy for the SVN hub, if the hub is down you're dead in the water, but not with GIT. With GIT you still need offsite offline backups, etc, but level of admin work is much lower.

      Worst case scenario, post tornado or whatever, bootstrapping is easier with GIT than SVN.

      Never forget if you're going to admin something, to admin it correctly. Even if you're a "dev". There's a lot more than just "apt-get install" you also need to backup, have a disaster recovery plan / strategy, monitoring...

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:Version Control a must. IDE useful too. by Anonymous Coward · · Score: 0

      Git is not just popular in the blogosphere. That's a weird dig at a technology that now enjoys wide support.

    3. Re:Version Control a must. IDE useful too. by Anonymous Coward · · Score: 0

      > I would stay away from GIT and other system popular in the blogosphere and go with SVN as it is tried and true or evaluate Perforce to see if it fits within your budget.
      Obvious troll is obvious.
      SVN was a major pain in the ass. Everytime someone committed something, it was always .. OH god, please no merge conflict.
      Since someone told me to try git, all the pain was gone :).

    4. Re:Version Control a must. IDE useful too. by Anonymous Coward · · Score: 0

      SVN has user management issues. What happens when you want to delete a user? What if she returns to the company? CruiseControl gave up when Jenkins came along: http://www.youtube.com/watch?v=9i4TsyFJvuU
      NetBeans vs Eclipse is not as clear cut and each have advantages. I use both of them for each of their strengths.

      -g

    5. Re:Version Control a must. IDE useful too. by Yunzil · · Score: 1

      Since someone told me to try git, all the pain was gone :).

      That's only because git killed you and took all the pain away.

      (I hate ever single thing about git.)

    6. Re:Version Control a must. IDE useful too. by Anonymous Coward · · Score: 0

      I have used almost all the various version control software out there over the years, and git is by far and away the best I have used. If you really want people to be able to code and not waste time waiting on commits, rebasing code by hand, merging by hand etc then you _need_ a proper DVCS like git.

  56. Leave the company by prefec2 · · Score: 1

    Using version control is an standard thing to do in software development. This even applies to the embedded system. Unit-tests are not widely used. However, not using them is stupid. The same applies to other more elaborate test mechanisms. Continuous integration is not used in all companies, but the use is becoming more common lately.

    If you are able to establish a tool landscape in your company then that would be a move in the right direction. What you also need is an agile development approach instead of the fumbling around approach. Agile is required, as requirements are never totally known at project start. They normally form in a longer process. Therefore you need also to support aspect oriented methods and feature driven development. And you should design for change and include monitoring in your enterprise application.

    If all these things are possible you actually can stay with the company.

  57. Where I am... by CompMD · · Score: 1

    My employer makes spiffy gadgets for the automotive market, and you may own one of our products. Commonly, developers have VS for building code in a simulator and CodeWright for developing code to run on an embedded device. Version control is done with Git, CI with Jenkins, code review with Gerrit, issue tracking with Jira.

  58. sadly by Charliemopps · · Score: 2

    Sadly it IS normal. But there's a paycheck right? Stay there until there's something that pays more... then leave.

  59. Make it better by Anonymous Coward · · Score: 0

    I was the driving force behind one employers adoption of version control, and of migrating off a vendor-specific language. If they are willing to change, you can make a big difference, and version control is an easy sell - everyone has a horror story about deleting something important.

    Dev environments and testing are much more variable - some places do not support SOTA testing, and you may have to get used to it. Some places don't have any way to emulate the deployment environment.

  60. Most Companies by Greyfox · · Score: 1
    Most companies don't know how to do software development, especially if they're not software development shops. If the project is a small one-or-two person project they might even be able to get away without version control for a while. It's pretty much impossible to scale up past that point though. Even fewer companies than have version control have good change management. So you'll never be absolutely sure what's deployed on production or whether you can rebuild the production servers from scratch if you need to.

    Sometimes they'll listen to reason, though. It's usually pretty easy to get a version control system set up. Might be a bit harder to get them to agree to a legitimate test environment if they don't already have one. They might at least allow you to build one with vmware. Drop in a build and deploy process and the development environment would be almost civilized.

    If they're not keen on any of that you'd be better off finding a real software shop to work in.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  61. You have your work cut out for you by Dan+Morenus · · Score: 1

    If the company is a start-up, then they need to get some process fast or they are one disk crash away from oblivion. If they've been around long enough to know better then you might want to move on now. Either way you can try to encourage them to adopt some process first, then if it just isn't going to happen look for a new job. They absolutely must have a source control system and offsite backups. It doesn't matter what's normal, not having source control is like not having toilet paper in the bathroom. Even a one-person development team should use it. Offsite backups are literally your fire insurance. The other things you mentioned are all good to have, and their presence or absence may give you some idea of the relative maturity of the business, but version control and backups are absolutely non-negotiable. Java versions are a little different. There, you may be forced to develop in an older version to support a customer that's slow to change their client configurations. This can be true especially when your clients are businesses rather than individuals. At one job I was developing in Java 1.1 for a long time because our biggest customer was running Netscape 4 on OS/2 at 6000 locations and that was the latest version they could handle. The software still worked fine for folks with newer browsers and JREs, I just didn't get to use Swing and a host of other niceties.

    --
    -- Conserve binary trees; recycle your email. --
  62. I"m surprised... by Anonymous Coward · · Score: 1

    ... at how many of the comments say to run from the company because they don't have good software practices and look for a job where that stuff is already in place. It makes me wonder how many people think that a company should just hand everything to you.

    If you see a problem in the company, where you know you can add the value of good software engineering practices, fix it. You looking for career advancement? What looks better on a resume? A person who switches jobs because they don't have what he wants implemented? Or a person who sees a problem, presents a solution, implements it and learns how to deal with it? Which choice screams of career advancement?

    Yes, it will be a risk and maybe it will get turned down, but at least make an effort. In software development, people tend to get caught up in their own little "programming" worlds and fail to see the big picture. Really, if you like the people you are working with, then just try to show them why they should be developing it the way you think it should be. If they argue that they don't want to change because of money, show them how much they can save by doing it your way. If they still don't agree and can't give valid reasons why they don't want to change, then it may be time to consider looking, because they aren't really looking for your input at that point and aren't really amenable to change.

    1. Re:I"m surprised... by s73v3r · · Score: 1

      It makes me wonder how many people think that a company should just hand everything to you.

      If they're not doing this right, imagine how many other things they're not doing right. And damn straight they should be "handing" this shit to us. It's shit that makes our jobs a fuckload easier, so we can be more productive.

      If you see a problem in the company, where you know you can add the value of good software engineering practices, fix it. You looking for career advancement? What looks better on a resume? A person who switches jobs because they don't have what he wants implemented? Or a person who sees a problem, presents a solution, implements it and learns how to deal with it? Which choice screams of career advancement?

      That only works if the company is willing to take your advice. If they keep shooting you down, their shitty practices will rub off on you, and make you much harder to hire.

  63. Option 2 probably isn't viable by bigsexyjoe · · Score: 1

    Option 2 probably isn't viable (although we don't know enough to make the call for sure). The place he works at likes being backwards, and the workers probably lacks tech enthusiasm. Updating things is difficult and error prone and its importance is for the long term and the benefits are non-obvious. OP probably can't do anything and will probably end up on the losing end of office politics if he tries.

  64. As always, it depends... by Anonymous Coward · · Score: 0

    In this case, it depends on the size and focus of the organization. Generally, the bigger the shop, the better the tools, and the more systematic the practices. When you run into a place using old tools and developing for out-of-favor languages, it's often because the folks on the development team want it that way - they're comfortable with the existing system, and have a vested interest in making sure current practices don't change.

  65. Every problem is an opportunity by morningstar8 · · Score: 2
    Yes, many of these things are standard in large development environments. The smaller you go, the less "standard" they might become. Nonetheless... I suspect that "drop everything and run away" might not be an opportunity for you, as if it were, you probably wouldn't be asking your question here. Every problem is an opportunity, right? Awesome! You have found a new opportunity to learn and grow. You have found yourself in a situation that rubs you the wrong way. How will you change it?
    • Run away? You don't like the situation, you don't like fighting windmills, and you're ready and willing to move on. Great, go for it!
    • Stick it out? You don't like the situation, you don't like fighting windmills, and you can't move on. Take this opportunity to learn about your new environment from within. Try to understand why they do what they do, and how it got that way. Someday, in a new role, you can bring that experience to bear on a new problem.
    • Fix the problems? You don't like the situation, and you have the courage and compassion to take on the windmill. Great! Tread gently, as you are new to this organization. Build trust within the organization. Take the time to understand why they do what they do, and how it got that way. Then, when the opportunity is right and you have a sympathetic ear, make your case for change to the right people. You will likely only have one shot, so make it good.

    Whichever route you take, good luck to you!

  66. Its your second job by BitZtream · · Score: 1

    You haven't seen shit yet, you'll experience FAR crazier things in your career for sure.

    What you should be asking however is ... why are THEY using old tools and not what you would consider 'best practices' (me too from the sound of it).

    There may actually be a reason, and it may give you a hint as to what direction you want to take with the company. The reason is probably a bad one, but it may not be.

    In short, you shouldn't be asking slashdot, you should be asking the people you work with that actually have some idea whats going on with the company you work for. You'll get a lot of retarded answers from slashdot telling you EXACTLY how it SHOULD BE when the people giving the answers have no clue what sort of requirements your company is operating under.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  67. Trade-offs by Anonymous Coward · · Score: 0

    Sounds like there's room for improvement at your current job, but too much process can also be a bad thing.

    You're in a great position to make positive change in your new organization. Convince them to use version control and get an up-to-date toolset at a minimum. One of my old employers, an innovative tech company, had a motto to fail fast and iterate quickly. That approach can be a good thing if you're trying to innovate.

  68. Depends - is your position part of profit or loss? by Anonymous Coward · · Score: 0

    When companies get down to it, building software is either viewed through one of two lenses: part of a profit center, or simply loss due to overhead. With the typical ignorant business view of "profit at all costs, make your quarter numbers, kill anyone in the way" that means you'll experience either:

    A.) If you contribute to profit (e.g. building software that helps make money or is sold) - You should expect the minimum level of support to keep things "mostly" up to date. This is where OpenSource tools shine (since they don't have to cut a PO & your salary is already a sunk cost). Good developers will help move things along with minimal budget purchases where needed. Play your cards right and the "we're not keeping up with industry" argument can get you some good results. Try that line at the beginning of a quarter after some good sales have gone through :)

    B.) If you're just a red line on the balance sheet (e.g. building software that just lets things operate) - Your screwed. You're already considered a "drain" on the balance sheet. If you think you're going to get funding to spend more money on something that's not bringing in revenue you're dreaming. Now you might stand a snowball's chance in hell of getting funding for something, but you're going to have to petition to PROVE how spending money will free up your time (since that's a sunk cost) to be directed to something else. The "we're not keeping up with industry" argument goes nowhere here.

    Some free advice - get yourself a job in category A if possible, where the software you write brings in real money to the company: where they need you and have to play nice politics (and they know it). Otherwise, your salary and everything you need to do you job will always be "an expense to to be minimized" by a stupid PHB who would pocket your paycheck towards his ill-gotten bonus in a _HEARTBEAT_ if he could....

  69. Well, sane developers by Anonymous Coward · · Score: 0

    Sane developers use Visual Studio. Most of the crowd around here are somewhat masochistic in that they like to use a bunch of non-integrated and unrelated tools to accomplish their broader development goals. I hear they also write makefiles from scratch using vi -- which I couldn't even figure out how to exit from.

  70. Depends... by johnlcallaway · · Score: 1

    My current job is mostly internal software, no software is sold (it's mostly data sources that we sell). We don't have testing tools except for some SQL scripts for parallel testing comparisons. Don't really need them either since a parallel test run for a few weeks against production pretty well tests everything (at least in our environment.) And since there are only two developers (the other is my boss), we don't really do much code review, although we do have 'what do you think about this' sessions quite a bit. We use VSS for production (because we always have), and subversion for development source control since Subversion integrates with NetBeans and we don't really have a need to merge code since we never work on the same code sets at the same time. Developers have full access to production, and can put code into place at any time without any restrictions. But since the two of us have over 25 years experience apiece, we know better than to do so during production periods and without adequate testing. I tend to script out database changes so I can make sure what changes in production is what I actually did in dev. No QC system at all, code moves straight from the dev system to production. No long, drawn out design sessions, most design work is done as we code after a high-level 'here is what I think we should do' session. Kinda waterfall like, write some code, get some results, write more code. Takes forever to get anything done because priorities are always shifting.

    In a prior company with more outward facing software, we used more automated tools and actually had a QC staff to use them. We used CVS for version control, since there was more of a need of a pure lock/check-in type system. Larger development staff of varying skills, system admins created tar balls and scripts to install code into QC and production. Code was moved to a staging area, then Unison was used to sync to production servers. Developers were not allowed access to any production system. Much more structured with actual design specs and sign offs. Took forever to get anything done because of all the BS that we had to go through.

    Both methods worked fine and produced good quality, repeatable results. I prefer the current environment to work in, but the more structured environment is required for larger shops. And the bigger the shop, the more structure that seems to be needed to keep conflicts at a minimum.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  71. Why not ask the people you work with? by Anonymous Coward · · Score: 0

    Instead of posting the question on Slashdot, where you'll get a lot of useless, conflicting advice, why not talk to the people you work with? You're the new guy on the scene so maybe they have reasons for working this way. Bring it up at the next team meeting. Say, "Hey, I have some thoughts on on tools I've used before. What do you think of... [insert tool you used before here]." Tell them how much it will cost and why you think it's a good idea.

    In the past I've introduced imaging software, backup scripts, remote desktop control software and document recovery tools to companies where they just weren't aware such things were available at an affordable price.

    Maybe you can get changes made, or at least find out why they're working in this style. If you don't like the way things are going, then you can consider your options.

  72. I don't remember posting this comment... by Anonymous Coward · · Score: 0

    but thanks for all of the replies.

  73. learning experience by Anonymous Coward · · Score: 0

    I agree with other posters that...

        - (1) you need to get out quickly (or take the lead in introducing practices that are more professionally responsible)
        - (2) in the future, you need to ask about these items IN THE INTERVIEW; fwiw I would be disinclined to hire someone who wasn't showing an interest in these topics

    That said, I think it's also important to include the counterpoint: these practices usually scale with the maturity and seriousness of your project. If the software you're writing doesn't (1) send billions of dollars worth of hardware to Mars or (2) assist in open-heart surgery (just 2 examples), then perhaps it doesn't need as many protocols and quality measures as software that does. These practices do come at a cost. Don't apply them as a matter of religion; first be sure they're justified by the business value they offer.

    Keep that last bit in mind, but NOTHING excuses them from basic practices like SCM. Either make some improvements or move on.

  74. Version control is not optional by msobkow · · Score: 2

    I don't care how good your programmers are, version control is not optional -- and the versioning server needs to be backed up regularly.

    Relying on the programmers to keep copies of code on different workstations and servers, and somehow magically coordinate them without ever losing code is absolute madness.

    Old tools aren't unusual, especially if you need them to support "legacy" apps. But some companies don't invest in keeping their tools and code up to date at all, and sooner or later the house of cards comes crashing down. Guess whose "job" it is to bail them out of the resulting situation? And when you tell them how long it'll take, it'll be your fault for being "incompetent."

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Version control is not optional by mikael_j · · Score: 1

      While I agree about version control I have seen a couple of environments where they for various misguided managerial reasons didn't use version control. Both had instead developed a set of rules for how to back things up and "version" their code.

      One place even had a set of scripts for handling these snapshots.

      Is using Git, Subversion or even CVS better than their solution? Yes. But it worked for them.

      --
      Greylisting is to SMTP as NAT is to IPv4
    2. Re:Version control is not optional by msobkow · · Score: 1

      I worked in such environments myself -- 15-20 years ago.

      There are plenty of free versioning tools. There is absolutely NO excuse for not using them. Why defend the practices of dangerously incompetent PHBs?

      --
      I do not fail; I succeed at finding out what does not work.
    3. Re:Version control is not optional by Darinbob · · Score: 1

      Yea old tools are normal. Basically everyone does whatever they can in the budget. It's can be a major effort to upgrade everyone, train everyone, update the source code to deal with newer quirks (you must keep the old tools around to build older releases anyway), etc. When you're tight on deadlines already you can't afford to stop what you're doing and upgrade just-because. Now if the new tools provide some extra productivity then that's another thing, upgrading will help. But very often newer tools are not always better tools, they're just slightly different.

    4. Re:Version control is not optional by blind+monkey+3 · · Score: 1

      Now, what is important is that there's a good workflow for the project, and tools can certainly help with that, But most projects don't necessarily really need tools. There's a lot of projects that simply don't have enough changes to really require any tools at all for their work flow; if you only have a few hundred patches per release, you can maintain those just about any way you want, including entirely by hand. - Linus Torvalds
      Note that this is not neccessarily my belief, I did find the interview thought provoking - and it seems very applicable for this question (it was discussed on /. recently btw).

      --
      BM3
    5. Re:Version control is not optional by networkBoy · · Score: 1

      I was in such a place as well...
      I installed SVN on one of my dev machines and made backups to USB keys.
      A couple of the other people on my team used my SVN server as well.
      All 4 of us considered the place doomed, but being employed is a good thing, even if it makes scheduling interviews challenging.
      Last I saw, they were still in business, and their website is still crap.
      I still think they're doomed.

      In a parallel thread someone mentioned different parts of a/the company using different tools.
      We use ClearCase, but there is a team here that still is using VisualSourceSafe. When asked why they always clam up, but I am convinced it is because they don't want to share some of their source code (in-house tools only) with a couple other teams that also produce in-house tools. It's the whole ricebowl phenomena.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    6. Re:Version control is not optional by billcopc · · Score: 1

      Yep, that has been my experience. We didn't use anything like SVN, CVS or even the proprietary ones, but every single project was backed up several times a day. If I screwed something up, I could roll back to the morning's version in about 30 seconds. We didn't need anyone to know how to work the source control system, because it all happened server-side.

      For my personal stuff, that's still how I do it. Heck, I could roll my entire cluster back to how it was 4 years ago if I so wanted, with nothing more than a few 'rsync' invocations. For large teams, that probably doesn't work out so well, but in scenarios where there are only 1-2 developers per project, it's all you need. It's not like we had a bunch of people committing large swaths of code that required delicate merging. It's usually just me and the graphic artist... no biggie!

      --
      -Billco, Fnarg.com
    7. Re:Version control is not optional by OFnow · · Score: 1

      The situation I saw ClearCase used was (I now realize) a successful ploy to keep the rest of the company from seeing what those clowns^h^h^h^h^h^h people were doing. Most stuff was in linux/unix based version control systems (starting way before there was subversion).

    8. Re:Version control is not optional by Grishnakh · · Score: 1

      Last I saw, they were still in business, and their website is still crap. I still think they're doomed.

      Not necessarily.

      I worked for a crappy small company when I first got out of college, back in the late 90s. I don't remember using version control there either, but I was mainly a hardware engineer at the time, and I don't know what the sole software engineer there did for VC. Anyway, after I got the hell out of there, I looked at their website from time to time, and it's still there, and it's still crap, in fact it looks like it hasn't changed much since I left there 12 years ago. Their products haven't changed much; they finally (recently in fact) released a new version of a product I redesigned for them way back then, and it doesn't look much different, just a little updated with a USB port added.

      It's amazing how long a small company in a niche market can continue to exist. As long as the owners are getting regular paychecks out of it, maybe that's all they care about. You don't have to continuously grow to be successful in business, you just have to continuously turn a profit and pay your employees, despite what many Americans might think.

    9. Re:Version control is not optional by savuporo · · Score: 1

      I don't care how good your programmers are, version control is not optional
      Im not trying to argue with your main point, but i've come across a ton of open source decent quality software that is only ever released as a tarball, without a central source repo.

      Heck, go try and find the source control repo for once dominant embedded linux distro : uCinux-dist.

      --
      http://validator.w3.org/check?uri=http%3A%2F%2Fwww.slashdot.org Errors found while checking this document as HTML5!
    10. Re:Version control is not optional by Unequivocal · · Score: 1

      That can work in some cases but why do it that way? Why not just use source control? It's not like SVN or git is harder to master than rsync? You will get more features than your current method too.

    11. Re:Version control is not optional by billcopc · · Score: 1

      Laziness. :)

      The rsync system, while suboptimal for code projects, works on everything. It abstracts the check-in process down to just saving a file in a monitored folder. If I screw up some random spreadsheet from last week, even though it's not part of any formal project, it is caught in the daily sweep anyway so I can roll it back.

      More importantly, it is transparent enough that my wife can benefit from it, so that when SHE screws up a spreadsheet, or absent-mindedly deletes her entire music folder, she can browse to the other (read-only) mapped drive with all the dailies and fish her files out. Do that with SVN!

      But yeah, at the base of it all, what I have works well enough for me, and I'm too lazy to implement anything more at this time. I'm very old-school in my ways and coding is only about a third of my time, most of my contracts these days are hardware and network admin so the pressure to change things just isn't there.

      --
      -Billco, Fnarg.com
  75. Now you know by Anonymous Coward · · Score: 0

    What YOUR questions should have been during the interview process . . .

  76. What if I'm the only developer? by Anonymous Coward · · Score: 1

    I work for a small company that hired outside consultants to build them a basic web app integrated with SharePoint. I was hired after the consultants charged wayyyy too much and delivered crap results.

    I was not specifically hired to do software development. I've never developed in a structured development environment. When I arrived there was no source control, barely an IDE, and no documentation. I've spent the last 2 years reverse engineering what was there and building something far more usable. We're now using Team Foundation Server and are getting a more structured process for builds due to SAS70 requirements.

    It's really difficult to manage the release cycles people expect when I'm the only person who writes any reasonable amount of code or understands the whole ecosystem. Because of this, most of my time is spent squashing bugs or working on building the next client site. I know there are plenty of deficiencies in our whole process (and I can identify them) but I don't have the time or resources to change much currently. The closest person to my level of knowledge is our IT guy, and he has zero background in software development (or best practices for IT for that matter).

    What the hell should I do? I would need to be involved in any decision to hire a real software developer because I don't trust the company to properly vet those who would be applying. The company also doesn't want to departmentalize things -- I hold the same title/position as others who write absolutely no code. I'm not sure they'd be receptive to someone who is primarily a software developer.

  77. meh..... by genner · · Score: 1

    It's not like the assignation of one man ever caused a world war.

    1. Re:meh..... by Thing+1 · · Score: 1

      I find it difficult (though doable, using hands and perhaps a detached corpus collosum) for "one man" to be in a lover's tryst. I think the word you were looking for was "assassination", which as a side benefit has twice as many asses in it.

      --
      I feel fantastic, and I'm still alive.
    2. Re:meh..... by genner · · Score: 1

      I suspected this earlier but now I'm sure I posted in the wrong thread.

  78. Depends upon the company and sector by jgotts · · Score: 1

    If your software processes credit cards, that type of environment is banned by Visa. Among other restrictions, you have to run supported versions of all software. You have to have a release process, including code reviews. You have to have a development process. It doesn't have to be strictly Agile, but the process has to be documented and followed. I've worked in other sectors at other companies where things are much more chaotic.

    As a programmer, you should take work which makes you a better programmer, while making enough money to be reasonably happy. You know if you're getting better as a programmer or simply treading water until the next job comes along. If you take work for the money, you're more likely to fall into the latter trap. The amount money you make, whether the company will survive longer than a few years into the future, and the exact processes at work at the company don't have that much to do with improving your skills as a programmer. What does improve your skills as a programmer involve things like how much design are you doing, do you get to see your work through to completion, do you get to be exposed to a variety of technologies and environments (not necessarily the latest fads), and do you get to work with other highly skilled technical people (especially other programmers).

  79. Ticketing system? by vlm · · Score: 2

    You forgot to mention your ticketing system, or whatever it is you use to track bugs and customer requests. Negative points if that is "nothing at all" or "the salesman promises the customer whatever they want to hear". Positive points if its some kind of request tracker ... you know, like that Request Tracker system...

    Other places use, essentially, manual ticketing by to do lists. Or a use Excel as the corporate standard DBMS and store their bugs in a spreadsheet. Some places use email, not as crazy as it sounds. A "workflow management" system using Lotus Notes will cause horrific pain, but is technically usable.

    I've never even heard of places using formal project planning systems like microsoft project and GNATT charts and all that, but I suppose it could theoretically happen.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    1. Re:Ticketing system? by Thing+1 · · Score: 1

      I've never even heard of places using formal project planning systems like microsoft project and GNATT charts and all that, but I suppose it could theoretically happen.

      The more you zoom out from a GANTT chart, the closer it resembles a GNATT?

      --
      I feel fantastic, and I'm still alive.
  80. Yes. it's normal. by Anonymous Coward · · Score: 0

    Yes, it is normal.

    No, you probably can't change it. (depending on how egocentric the management is)

    I tried changing one company to using svn, it was like pulling teeth, I was accused of deliberately complicating things to provide myself with job security, yadda, yadda, yadda.. in the end, they liked it for about a week and now they don't use it at all.

    Software development is something I've been doing for 20 years or so, the #1 burnout factor is, IMO, dealing with insecure managers.

  81. Worst summary ever? by Joce640k · · Score: 1

    The summary doesn't tell us the slightest thing about the job or the work environment?

    eg.

    * How many programmers work there?
    * What sort of software is it?
    * Is the software any good (despite all the 'missing' programming practices) or is it worthy of a Daily WTF article?

    I'm sure you'll get lots of opinions below but they're all posting in ignorance. There's simply not enough information up there to form an opinion.

    --
    No sig today...
    1. Re:Worst summary ever? by RDW · · Score: 3, Funny

      The summary doesn't tell us the slightest thing about the job or the work environment...What sort of software is it?...There's simply not enough information up there to form an opinion.

      Product Security Team at Adobe, with special responsibility for Flash and Acrobat?

    2. Re:Worst summary ever? by Anonymous Coward · · Score: 0

      Well said, especially the second point. Like it doesn't even say if they ship something, or develop something for in-house use. Though the mention of "production environment" sort of implies the latter.

      But then why is he grumbling about an old version of things? If they work, why upgrade for the sake of it?

      Sounds like a bit of a twat to me.

    3. Re:Worst summary ever? by angel'o'sphere · · Score: 0

      I disagree, he gave all informations necessary ... who cares how many programmers there are if they deploy compiled files literally by hand?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:Worst summary ever? by anomaly256 · · Score: 2

      If they are deploying said compiled binaries by hand... onto embedded hardware, then it makes perfect sense. The only thing here that really stands out is lack of version control, there really isn't a situation where that is justifiable. All the other points, I could easily invent or recount some corner case where they make sense...

    5. Re:Worst summary ever? by Hognoxious · · Score: 1

      ... who cares how many programmers there are if they deploy compiled files literally by hand?

      You're joking right? If there are two programmers change control and coordination is trivial; they can do it by shouting across the room.

      That doesn't work if there are fifty of them.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  82. To those reccomending to 'run'.... by Anonymous Coward · · Score: 0

    After scanning a number of comments, it looks most of the highly rated comments aren't actually addressing the actual question.

  83. You failed your interview. by faldore · · Score: 1

    Dude... How did you *not* know this before taking the job???

    "What is your technology stack?" "What bug tracking?" "What build tools?" "What development environment?"

    You need to interview them, just as much as they are interviewing you.

    You have crafted your own hell. Either fix it, or leave while you can.

    1. Re:You failed your interview. by Indigo · · Score: 1

      Right. How could a guy right out of school be so dumb as to not investigate which specific type of hellhole he's interviewing at? Fresh-outs don't have the bitter, hard-won experience of old farts - that's why they're not old farts.

    2. Re:You failed your interview. by bloodhawk · · Score: 1

      I don't know about you, but when I was first out of school I did plenty of reading up on how to perform in an interview including what questions to ask. Also he isn't just out of school he says he has been doing it for 5 years, while yes that doesn't make him a veteran it should have been more than enough to have learnt enough about software development to ask basic questions about the environment he was going to be joining.

  84. If you are developing/customizing MS SharePoint... by cyclocommuter · · Score: 1

    ...all I can suggest is to create a Development Environment in a Virtual Machine (I use VMWare for this) preferably allocated a minimum of 4 GB RAM and 2 Processors. Use a Server OS as your Platform such as Windows Server 2008, install SQL Server 2008 R2 Developer Edition (including SSRS, SSAS, SSIS), Install SharePoint Server 2010, Install Visual Studio 2010 for SharePoint WebPart development. Use TFS for integrating to the Source Control DB.

    After all the installation has been completed, setup the VM to connect to the company's domain and do all the development and testing in the VM. After it is fully tested, check-in the updates to TFS. It is a royal pain in the rear to set this all up from scratch.

  85. Working for Adobe? by Anonymous Coward · · Score: 0

    Are you working for Adobe now?

    When you look at all the non-secure software that Adobe puts out, this can be the only reason.

  86. Start researching tools by kimvette · · Score: 1

    If you're the release engineer and the first one to hold that position at that company, and management and development understand they are a software company and are willing to work together to succeed, I envy you, It is time for you to take the lead and implement good software build and maintenance practices. Start reading up on source control, build maangement, and quality assurance processes. Consider using subversion (svn) or git for source control (since they provide cross-platform clients and integrate very well with Linux, Windows, and Macs) and ant (Apache Ant) as your built platform. Get your developers into the habit of including notes on their checkins, and script build release notes with each build. Any time a build fails, capture the build error, and if you can fix it yourself patch it and provide is an an unofficial build, but do not check in the fix; email the offending error to the development team, cc: the QA team, and also note that an unofficial build has been provided for QA to make progress.

    Include QA in every step of the process; all too many people consider QA to be merely QC and a "final step" in the software production process. A mature development environment will include quality assurance from the very beginning (the requirements and specificiations stage) and release engineers often act as unofficial liasons between software development and QA despite living more in the development/sysadmin role. In fact release engineering can be one of the more fun roles in a software development environment because of the mix of technical challenges and being a more people-oriented position.

    Also, as far as tools go: don't blindly go f/oss. I tend to prefer f/oss but keep in mind that the tools need to make your work easier, not harder. If a F/OSS tool complicates the job, but a for-pay tool makes you more productive, push for the company to buy the tool.

    Consider designing and implementing and managing process and managing people to be your MOST important task in release engineering, and the tools you use to be secondary, and based on the decisions you and the rest of the team make regarding processes and policies you propose.

    I'll add more later - but don't let people discourage you. Release engineering can be a LOT of fun!

    --
    The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
  87. Re:Visual Studio by RCL · · Score: 1

    I'm a C++ programmer, you insensitive clod. C/C++ is not limited to Windows, yet there are no better IDE for C++ than Visual Studio (especially with Visual Assist).

  88. Re:Visual Studio by Anonymous Coward · · Score: 0

    He's talking about the parent and obvious MS-astroturfer North Korea. Read his post history for a hilarious failure of subtly. My favorite:

    No I'm not a Microsoft employee. Why does everyone always think you have to work for some company if you give positive comments about them?

    If he doesn't work for Microsoft, he should, because he's one hell of a troll. It's always a similar pattern, "Such and such non-MS technology is okay, but the competing MS-technology is surprisingly superior!"

    It's mostly just one time thing where elitist Linux geeks (those using on desktops, I actually use on servers too) want to show off when they once have the change.

    it's a lot easier to rootkit and hide in Linux based systems than Windows, and most people don't know how to get rid of them too. Hell, in Linux a simple rootkit can work just by editing the system commands like ls.

    Also, don't forget the fact that Google royally screwed over their existing users when they seriously limited the available resources and changed pricing just a few weeks ago. And how do you know Google won't discontinue the service soon enough as they seem to do with a lot of their products. I can't rely on that. At least other services give me some reliability.

    I run Linux servers myself too, and I think they're better in some situations. At the same time I can also see and understand that there's also lots of Windows Servers around and they also do better job at some things. The fact is 50% of servers run Windows Server, and you can't get around that. Personally, I use the best tool for the job and don't really care about all the evangelist bullshit.

    Sorry North Korea, you're not going to change popular opinion on /. by pretending to not have an agenda. We're not that stupid.

  89. Maybe HR / a non tech manger did the interview by Joe_Dragon · · Score: 1

    Maybe HR / a non tech manger did the interview and they have no idea about the software being used.

  90. Life in the real world by Anonymous Coward · · Score: 0

    You have a production enviroment?
    Luxury!
    All we have is a cardboard box in the middle of the road, and we're lucky to have that.
    You kids these days with your version control and latest releases...

  91. status quo by Anonymous Coward · · Score: 0

    welcome to the real world. i've been setting up development environments for over 20 years. maybe 10% are done well and then it falls off very steeply. there are teams still using cron, shell, and perl to do their builds. almost no-one uses pre-integration which is an order of magnitude better than continuous-integration. even when teams do use most of the tools that have become made available in the past 10 years, its generally not well maintained, out-dated. can teams still be successful without a good development environment. Yep, it happens everyday. It's just requires more brute force and long wasted hours performing tasks that should take minutes that take days and weeks. It seems almost impossible that this could be true, but once you've moved around a bit. The hardest part of about improving the development environment is not technical, it's getting buy-in and that means the right priorities. the development environment in most places is the last thing folks will work on, as they are so busy overcoming it to make then next delivery. another pattern you'll notice is that it is rare to see even the most basic development practices applied to the creation and deployment of the environment. it generally is a hackfest.

  92. not necessary to keep up with the Jones family by Anonymous Coward · · Score: 0

    I would draw a distinction between "keeping up with technology" and getting your job done. You will learn eventually that the only reason to ever upgrade or re-write something is when there is a compelling need to. Blindly updating and grabbing the latest "keeping up with technology" will put you into a tailspin. Most of the buzz is just that. Ignore it and do what makes sense to you. You sound like someone who isn't willing to put such systems in place.

  93. on the other hand .... by nblender · · Score: 1

    I'm an old greying kind of guy... I've been writing code with some variant of 'vi' for going on 20 years or so... The place I'm at now, I'm one of about 4 'old guys'... We use 'vi'... Corporately we use cvs, bugzilla, manually hacked up nightly build and regression testing. It works well and our code is safe. Occasionally some young whippersnapper will come in and shake his head at us old guys not using Eclipse/Git/whatever... "I'm surprised you guys get any work done at all!" ... It doesn't take long for little Johnny to see that we typically can code circles around him... Frankly, I don't give a rats what tools someone uses, as long as they're good. So I agree with the basic sentiment that SCM, CI, test suites, etc, are all vital and necessary, I don't think it's of much value to criticize the choice of tool... Oh yeah, and emacs sucks.

  94. The "process weenie" by Anonymous Coward · · Score: 0

    Every place I've been, there were "process weenies". At least, that's the attitude you have until you slow down and realize that without the weenie you'll lose your buns.

    It sounds to me like you know what this company needs if it's going to produce software that doesn't just blow up.

    This could be your mission. Get some process and standardization going. Dare I say it? It could be you. You. You could be that weenie.

  95. Chinese word for "crisis" anyone? by GodfatherofSoul · · Score: 1

    Use this as an opportunity to contribute what you know to your company. Don't assume that the deficits in your work environment are a result of apathy. With 5 years experience in that environment, you can well be the worker to come up with a proposal or demonstration to upgrade the environment.

    Make sure you don't assume that everyone knows or understands what the benefits of the solutions you want to bring to the table are. Lay it out and be prepared to show real-world examples and answer questions. You might get more out of this than just a better work environment. This could be a stellar opportunity for career advancement!

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
  96. Welcome! by Anonymous Coward · · Score: 0

    Welcome to the wider world of software development!

    That's pretty much standard. It sounds like you were lucky with your first role, and fortunately, since you were lucky enough to begin your career within a well run development team, hopefully you'll be able to take some of what you've learnt and bring about some positive changes in your new team. Unfortunately if they've been working like this for a long time, it may be difficult to convince them that there's a better way...

    Good luck!

  97. Re:Visual Studio by pwizard2 · · Score: 1

    C/C++ is not limited to Windows, yet there are no better IDE for C++ than Visual Studio (especially with Visual Assist).

    Only if you're using Microsoft APIs and libraries. However, if you want to do cross-platform development, then you're better off using something like QT. (which works great on Windows with MinGW) I've been using QT Creator for awhile and it is very good. (furthermore, the QT documentation is excellent and has gotten me out of many a problem) True, you can use QT with Visual Studio and get QT projects to build with nmake, but it feels bolted-on compared to using an IDE that was designed with QT in mind.

    --
    "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
  98. Joel Test by Anonymous Coward · · Score: 0

    Excellent essays on how it should work:

    The "Joel Test" http://www.joelonsoftware.com/articles/fog0000000043.html

    "Getting Things Done When You're only a Grunt" - about fixing broken process when you're not in management.

    http://www.joelonsoftware.com/articles/fog0000000332.html

  99. Re:Too many tools are a waste of time. by Anonymous Coward · · Score: 0

    it has console.log. So where is the problem?

  100. The other half of why... by Anonymous Coward · · Score: 0

    The other half of why is "Why are they doing that?" Usually there is a reason. For example, do they use a 5 year-old Java to maintain compatibility? If you start building with the latest Java you now require the latest JRE with your product. Are they not using version control because they still considering their small output to be non-mission critical, development, prototype, or even non-software? (I would still suggest using RCS or SCCS or something for version control)

  101. ISO 9001 by EmperorOfCanada · · Score: 1

    I worked for an ISO 9001 company which had all kinds of procedures an practices in place. These were externally audited. Yet somehow the only programming language approved in the big books was C (which nobody used) and an old version of C at that.
    It was here I discovered that there are two reasons for "best practices" one was just as it said, unit testing and whatnot to reduce bugs.
    The other was a combination of power broking and make work. The company I worked for had a huge QA department. So when they were idle they would put QA people on whatever project had some budget. The QA people would lard on the procedures and practices. They would make sure that everything was as ISO as it could be. They would see nothing wrong with 5 or 6 QA people for every programmer. Projects would grind to a halt where the programmers were quickly sucked into providing materials (not code but documentation and whatnot) for QA.
    Another company had one senior guy who made sure to do code reviews. A code review could be an all day affair while he and his lackeys would go through your (potentially in production) unit tested code and start altering it starting with removing all the unit tests as they interfered with the changes. Then they would hand back a broken set of code and smugly say they put you back on the right track. This same company had a custom complicated source control system that prevented you from checking out code without being authorized for it. After checking the code back in the authorization would be withdrawn. I would guess that manager spent nearly all day doing yards and yards of micro management.
    But to partially answer your question what are the best tools? The answer depends completely upon the skill of both your best and worst programmers. GIT is a great system for great programmers. A terrible system for poor programmers. VSS is a great environment for managing a pile of crap programmers. You mentioned using an old version of Java. Is there a reason for this? Once in a blue moon there is a good reason for sticking with an old environment. Maybe it is being deployed to some crap embedded device. More often it is a spaghetti architecture where too many things break when you upgrade and without good unit tests it is hard to pin down the problems.
    How mission critical is your system? If this is a navigation system then your code should have more unit tests than code by a wide margin. If it is a dating site then maybe you can be a bit slack about even things like data integrity and thus have a tiny set of unit tests that make sure that core functionality remains intact after changes.
    What IDE? Eclipse is a big favorite of mine but most modern IDEs are good enough and might even be better depending on the language in question (even XCode).
    But a sure bad smell is documentation. I would guess that 99% of documentation is never read. So people who create systems that somehow leave yards and yards of documentation behind are basically creating TPS reports. Good documentation is the sort that everyone will read or those who do will literally thank you for it. Something like a command by command document on how to set up a production server. That is a life saver. (Didn't know that you had to install the beta version of X).
    Another bad smell is given off by meetings. Many people who don't code seem to think that meetings are productive. A Monday morning pow wow to see look at last week's progress and see that everyone has a plan for the week is good. Daily meetings or regular 2 hour meetings only serve to make some poor manager feel like they are contributing.
    A great manager is barely there. They quietly make sure that progress is being made and quickly deal with roadblocks present and future, especially those created by the company itself. So the moment a programmer hears the words "Code metric" or some such trash then their manger is out of control. Maybe the manager uses code metrics but from the programmer's perspective all they should hear it as "Keep up the good work." Or "Why

  102. Re:Visual Studio by RCL · · Score: 1

    It happens that I also use Qt (note it's Qt, since QT is for QuickTime) for my pet projects (like programming N900 phone). And as much as I like Qt Creator, it has much less features than VS and is severely limited by underlying qmake. While you can create something like "solution" by using nested qmake projects, you cannot easily control which configuration (a set of compiler options, with Debug and Release being predefined) you want to build for a particular project in a solution - and none of these can be done from QtCreator GUI. In fact, you cannot even rebuild a single (nested) project from withing QtCreator GUI, let alone edit dependencies between them. Also, QtCreator doesn't allow you to arrange project files differently than they are laid out on filesystem and does not expose compiler options, relying on hand-editing .pro files.

    This is all basic usage, but this haven't been improved in more than 2 years (since 1.0 version).

  103. Re:How big of a development environment we talking by starfishsystems · · Score: 1

    This is true. Commonly, the development environment evolves in ad hoc fashion with various elements and approaches being tried along the way. The result after a few year can be pretty messy, especially if developers have been sidelined to do the system administration. If you're a developer, it's important during the interview to find out about this, but the exact details are probably less important than the attitude toward maintaining and improving that environment. There's always room for improvement, after all. It's exactly the sort of question that you can very reasonably ask during an interview. I'd look for clear, candid answers from each of your interviewers, according to the perspective they have within the organization.

    --
    Parity: What to do when the weekend comes.
  104. Re:Too many tools are a waste of time. by St.Creed · · Score: 1

    He obviously used telnet, you insensitive clod!

    --
    Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  105. Get Out Now! Save Your Sanity! by turgid · · Score: 1

    This company is a bunch of clowns. They can not possibly hope to deliver working software reliably and on time (or at all).

    What happens is that everyone develops "their" code in isolation. Near the deadline for the project everyone tried to deliver their code all at once. Not only do they find that it doesn't "fit together" (it doesn't compile), but after a few weeks of late-nighters and all-weekenders trying to fix it, when it does compile, it doesn't run and certainly doesn't do what it was intended to.

    This sort of disaster scenario has been documented and understood - in books you can buy from Amazon - (heck, even by Microsoft of all organisations) since the 1980s. This isn't just old, it's antediluvian. It doesn't work!

    I worked at a place like that before. Not only was the product flaky and always late, but it was a very stressful place to work with the developers "given responsibility" whenever something went wrong. They went bust 18 months after I escaped.

    The reasons things went wrong were that there wasn't a team: individual developers silo'd and working on different things, forbidden from communicating in case they were "wasting time." And there were a bunch of enthusiastic but inexperienced junior coders in China churning out lines of code (Perl-written-in-C) by the thousand that did nothing but crash.

    There were no peer reviews (i.e. code reviews), there was a coding standard that was ignored, infrequent status meetings, plans (MS Project) that were pure fantasy.

    The Director of Software Development and his sidekick sought to ensure quality and timeliness by taking the developers individually into their offices and shouting at them for 30-45 minutes.

    Appraisals involved the aforementioned dynamic duo. You would be invited in, smiled at unconvincingly and then asked how you thought you did in the previous year. Then you would be told how you did and what pay rise you were (or weren't) getting.

    I was there for 2 years and 2 months and the Software office had between 22 and 25 people at any one time during that period. 19 of us left (including 2 who resigned when I was working out my 1 month notice period).

    They were dinosaurs and their bones lie under the Cambridgeshire countryside.

    BTW, it was my second job in the industry, too.

  106. missing question: better code? better service? by Anonymous Coward · · Score: 0

    All those practices, processes and buzzwords do not matter much if the end result is not better.
    Did you verify what the end result is?
    Do you have the customer perspective in this company?
    Did you have it before?

  107. Getting by is the norm by Anonymous Coward · · Score: 0

    Okay, I've worked with a company that was on top of tools and best practices and was dysfunctional, a company with no organization that still got things done and a few in between which honestly were the ones I was happiest working with.

    The hyper on top of it company spent more time worrying whether a data encapsulation class was properly unit, integration and performance tested than in shipping a product that customers wanted. Dealing with customer feed back then was an abysmal exercise in management asking why process did not work. Oh and new tools that aren't tested make developers crazy.

    The under organized company had good vision and while getting things tested was soul sucking customers liked the product which was gratifying.

    The companies in between that do good products and use version control and some kind of formal testing make developers proud of their product while slowing the decent into madness so yes be your own advocate and try to get them into version control and some sort of build process. ( I sold this once just by telling management that this would yield consistant and usable version numbers which they turned into savings in support ) and if you get unreasonable push back then leave. My advice though is don't go whole hog. Get version control first.

  108. Team Foundation Server by garlicbready · · Score: 1

    I know this probably isn't a popular open source option, but the latest TFS 2010 is quite good at version control.
    We've been using Sourcesafe / VB6 / .Net 2.0 platform for a while now
    But sourcesafe is all shared drive based which makes it particularly slow over the internet
    we're currently in the process of moving to TFS 2010 / .Net 4.0

    TFS stores all it's data under MSSQL 2008.
    presents a soap interface for checkins / check outs (so will actually work with VB6 or other development enviroments quite easily)
    If you have a MSDN subscription the licence for TFS / Database is already covered
    the only licences needed are for Visual Studio / the CAL's (Client Access Licences)
    you can view source over a web interface and can be set to operate similar to Sourcesafe (only one checkout allowed at a time)
    plus it has Windows Explorer integration via the Power Tools

  109. Experience here by Anonymous Coward · · Score: 0

    I've experience a small shop like the one described.

    Two places that use Visual Source Safe (VSS) (Because everyone did bak then), but moved on to CVS in one case (early 2000s), Subversion (SVN) in another.

    A company will go with something for a number of years, then change when it feels it needs to. Then it can be a big change. We're moving now to Maven as our build and integration tool, Jenkins for continuous integration, SVN for source control. Previously we had Ant, CruiseControl and VSS. We're staying with Eclipse. We're looking at CDI and JSF2 on the front end, but integrating with our legacy application code on the app servers. It's easy with a CDI extension, and these technologies seem reasonably mature now to be worth working with.

    These tools are worthwhile. Continuous integration and testing are very useful. Maven is powerful and encapsulates the build process well. Jenkins just fires off Maven at the right time so gives nice separation of concerns. It could be worth the original poster trying to champion some of these things. I think the company will see the benefit.

    A post above mentions Intelli-J. Eclipse is nice. The Maven integration can be a little rough at times, but the tools are incredibly powerful. I think a lot of Resharper is copied from Eclipse! Having gone back to Java and Eclipse after some time in the Dot-Net world, it's nice to be back and I notice how much more there is in the latest version. If you've been using Java with VSS then you'll find the integration between SVN and Eclipse excellent! CDI Events make Dot-Net events look poor, but LINQ was nice when used with care :-)

  110. Before you quit.... by Anonymous Coward · · Score: 0

    Get another job lined up. This is not an economy to be quitting paying jobs without something in place.

  111. Parent's VCS suggestions are poor... by Anonymous Coward · · Score: 0

    Perforce is for chumps with mega budgets that can afford to have build engineers and people who specialize in running a super complex version control system. There's zero chance this guy has either of those things if this company doesn't have version control yet. Git (or any of the other DVCS systems, mercurial, bazaar) beat SVN to pulp in flexibility, ease of use, and speed. There's a good reason people are moving away from SVN toward them.

    The comments about Resharper, Intelli-J and CruiseControl are right on though...

  112. Bad Bad Sign by Anonymous Coward · · Score: 0

    I've done this job for decades, including many years before version control.

    Those were the dark ages of pain and terror and confusion.

    Just maybe you can help this company move on, and win a gold star.
    Possibly you'll be banging your head against a brick wall

    a) Are you an evangelist? If yes, go for it, but let your bosses know this will be 25%+ of your workload for the next while. They may welcome it, and you may end up kicking the company into much better shape. Could be promotion in it etc.
    b) Are you a coder who wants to work with other great coders? Leave. If this company had any great coders now, they'd have SVN/etc. It's not a 'maybe'

  113. No version control, or just nothing called that? by AaronLawrence · · Score: 1

    Most places do have a rough form of version control, as simple as zips backed up to a server. These kinds of low-tech unofficial approaches seem ugly, but basically do the job for a single developer or several independents.

    --
    For every expert, there is an equal and opposite expert. - Arthur C. Clarke
  114. Standard Software Development Environments? by Anonymous Coward · · Score: 0

    Puleeze. You're lucky if you have version control in some places. The biggest problem is still the same: the vast number of companies do not really understand technology THEMSELVES, they hire managers who subscribe to some daft idea that you can manage anything if you have METRICS and they throw knowledge out the door because THEY DON'T LIKE HAVING TO DEAL WITH COMPETANT I. T. PROFESSIONALS. Instead, they rely on believing the marketing hype. There are plenty of companies out there who use new technology only when Microsoft promises it will decrease development costs and they think that means developer salaries, yet they still want functional systems. They want to claim they use a particular development methodology, but no methodology makes up for the lack of complete documented systems analysis and design.

  115. open source = subpar standard? by chienyul · · Score: 1

    I don't quite get the "industry standard (not open source) in version control" part. What is the difference between them? Does that mean open source version control is not as up to standard as industrial solutions? I asked because so far only one of the three companies I worked for uses non-open source vcs.

  116. Bring your own ... by vovin · · Score: 1

    Regardless of what the state of version control and bug tracking and development tools are used within a company I always have my own available. If the company I am working with has a suitable suite of tools then I use them. When no such suite exists mine is available as either a standalone or server installation on my own workstation or laptop.
    If I am working with a team that has nothing I generally offer to setup and deploy a basic infrastructure if the existing one is missing or broken. Normally a suite of Trac/SVN works reasonably and only takes an hour or so to setup.

    As a consultant for many years I have seen the full range from none to a full suite of tools supporting a rigorous development process. I've help with roll outs of CVS, SVN, AccuRev, and ClearCase. Personally Trac and SVN do everything thing I need and do it really well. That said I normally augment those tools with my preferred setup of RabbitSVN + meld or TortoiseSVN and WinMerge and some personal scripts for diffing and merging.

  117. Is there a foosball table? by blanchae · · Score: 1

    All of this version control isn't worth a damn if there's no foosball table or bar fridge stocked with Coca Cola, Pepsi, and Aquafina. That's what drives the creative process, the movie pictures on the wall and the basket ball hoop in the corner help too. Using CVS is for suits and lawyers, real programmers don't have time to comment their code if they want to be successful. Your new company is giving you the freedom to code outside of the box, embrace it. As for unit testing and automated regression testing, that's what customers are for. If it is good enough for MS, then it should be good enough for you.

  118. Money by Dan+East · · Score: 1

    If I were paid enough, I'd code in Notepad, save my work on floppy discs and use dot-matrix printouts on fanfold paper for version control (again). Maybe the submitter is making hella money at this company, in which case #1 is moot in my book.

    --
    Better known as 318230.
  119. That's the kind of thing... by mario_grgic · · Score: 1

    you ask in an interview. This is not the norm among good development shops. You are stuck in a pretty bad one it seems. So, you have not really found a job yet, this is a stop gap for you I'm afraid, unless you are willing to regress professionally.

    So, next time be smarter and interview your prospective employers as well and ask about their processes, tools they use to manage them, methodologies, what kind of hardware infrastructure they have in place, build environment, automated tests, do they have QA department/employees, what developer tools are used, how do developers typically work (IDE only, or do some use CLI tools?), what GUI toolkit is used, how does continual improvement work, do they have a coding standard, do they do peer reviews, are they mandatory, are developers admins on their machines, what OSes do developers typically work with, what databases etc (just off the top of my head the things that are important to me). If you spot any red flags, like no version control used, ask more questions for clarification. If they really don't use version control and think its not necessary, eliminate them. Not everyone is worth working for I'm afraid.

    And if you are thinking of instituting change and putting proper practices in place, think again. If you were not hired specifically with a mandate to do that, you will just being perceived as a bitchy new guy, who complains a lot about how things are done at the new place.

    --
    As the island of our knowledge grows, so does the shore of our ignorance.
  120. It was at my place by Anonymous Coward · · Score: 0

    Even for smaller shops, it's definitely not the norm to have no version control at all.

    I moved to a smaller start-up place three years ago. Owner says to me, "There's a lot of code that Matt (the former lead developer) had and worked on, should be a good base to get started from." Great, super.

    After looking around, I found an older Dell that was his workstation. He had about 150 different subdirectories in his home directory, some with similar names (eg, processlogs-1, processlogs-2, etc). In each subdirectory was where the version control magic actually took place. Each source file had a matching suffix number corresponding to the revision number. Sort of. A text file in each directory had the "official" revision number, except when it didn't which was about 80% of the time. And usually if it did, the actual "working" code was in another subdirectory anyway.

    It took about a three months before statements like "See if Matt had anything that might help with this..." stopped being uttered. I finally had to come out and tell everyone that we're getting source control, everyone's using it, and we're throwing away all that old code. Assuming you could find a working version, everything had what looked like Matt's favorite parts from three different styles, but not consistently.

    It helped that we were moving in a new direction as a company, but the owner really thought he had value in all that code Matt wrote for him for two years. What he had was a mess that would have taken someone competent about 4-6 months to write. "So, yeah boss: Matt basically overcharged you for a shitty product, perhaps 1% of which has any real persistent value to us going forward." He wasn't happy to hear it. Was rough, but now we have an actual build system, automatic documentation, unit tests, automated deployment, backups, change lists you can actually use... all manner of wonders.

    -B

    1. Re:It was at my place by ShakaUVM · · Score: 1

      It helped that we were moving in a new direction as a company, but the owner really thought he had value in all that code Matt wrote for him for two years. What he had was a mess that would have taken someone competent about 4-6 months to write. "So, yeah boss: Matt basically overcharged you for a shitty product, perhaps 1% of which has any real persistent value to us going forward." He wasn't happy to hear it. Was rough, but now we have an actual build system, automatic documentation, unit tests, automated deployment, backups, change lists you can actually use... all manner of wonders.

      While "Matt's version control system" sounds ridiculously stupid, it's a pretty common thing for new coders to just throw away everything old they find, because they can't understand it.

      But if the code they hand you isn't in working shape, then it's usually easier to just recode than try to wade through piles of code that don't make any sense.

  121. Telnet, OpenVMS, EDIT and COBOL! by Anonymous Coward · · Score: 0

    Thats how we do it! Most low tech dev environment ever. Its a great throwback and I get stuff done just fine. Inherited this from the former programmer and oh man is it bad. Still works though. AND this is a mission critical environment! LOL!!

  122. It all comes down to money by Kittenman · · Score: 1
    Basically, it's money. When I was younger I'd wonder why the powers-that-be weren't moving to Client/Server, OO or whatever the current flavour-of-the-month paradigm (I go back to CASE and upper CASE. And Waterfall. Yeah, get off my lawn). Reason is that they can't see any $$ in the move. The only reason they get new shiny desktops, laptops or IPads is because the support lapses on the old ones. And that's also what spurs the move to newer tech.

    For newer software, newer design, newer methodology - unless it saves them cash they won't go for it. You can rant all you like about newer tech, latest ideas from Silicon valley, etc etc ... the bottom line is ... the bottom line.

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  123. Demonstrating how to do things better doesn't work by drew_eckhardt · · Score: 1

    >Alternatively, if he likes the place, it's an opportunity to step up and say "here's how we can do things better." If it's well-received, it's an opportunity to show both expertise and leadership.

    Nope.

    1. In some cases the decision to eschew good test automation comes from the top in an effort to reduce time to market by reducing total lines of code. To quote one CEO I worked with, "We'll add quality later" followed by mumblings about how engineering would rewrite the code a bunch of times and would to save time by getting to the final product and then testing." No number of personal anecdotes, quotes from papers and books, reasoned arguments, supporting arguments from executive staff, etc. showing that a smarter and more thorough test effort makes time to market shorter and more predictable will change things. The best you can do is take care of your own corner of the product, point out the places where you fixed certain types of bugs in X hours versus X weeks by group members not doing that, hope your co-workers join you, and hope for a leadership change that will be more receptive to your input before the company tanks.

    2. Most developers can make it a decade into their career without both grasping the utility (fewer bugs reaching users that become irate, less effort to fix the bugs you do find, more predicable schedules so that death marches are less likely, less integration pain with fewer errors) of and choosing to apply good test automation and continuous integration. They can be impervious to talk, management buying people copies of relevant books (The Clean Coder, XP: Extreme Programming Explained, etc.) in their choice of print or Kindle edition and telling them to read it at work whenever they want, a rubber chicken or toilet plunger for whoever last broke things, etc. You need to get management buy in with leadership willing to hire and fire if people won't get in line.

    In both cases you may be better off finding a more sensible job.

  124. Some more data by Anonymous Coward · · Score: 0

    The last 2 positions I had:

    First had basically same as OT. Up to date java, but no testing / version control.

    Second started basically the same, but I implemented version control, build control, and some forms of regression testing. Unit testing was next on the list when the company went under.

  125. Interesting isn't it? by Anonymous Coward · · Score: 0
    • If it isn't broken don't fix it. That's a good reason for sticking with what some people call "obsolete".
    • Some places rely on tools, others skilled people. There are arguments ad-infinutum for both. Success depends on the correct proportion and situation on the ground.
    • It may be that the business model of your new company loads software problems onto the client. (ie. You have a bug then our charged-for support will fix it.) If they can sell the product on those terms then that's the free market in action.

    Have you ever seen anybody who was promoted for showing the existing management how wrong they were in theory and practice? I though not. Given that, you have an excellent opportunity to suggest improvements -- an opportunity to put theory and one way of putting it into practice into terms that are meaningful to your new firm. (ie. Don't expect to copy old firm's tools lock stock and barrel across to new.)

    It sounds like a very interesting situation. Don't bail out as some have suggested.

  126. Nah... by justforgetme · · Score: 1

    forget about English. Just shout out a torrent of buzzwords and the check is in the mail! proven practice

    --
    -- no sig today
  127. Whats Wrong wit u by Anonymous Coward · · Score: 0

    You have not heard? All SE is going to India for 5USD/hr at most. You cant afford all that s/w licensing

  128. an encouraging admission there by mr.gates by Anonymous Coward · · Score: 0

    end of comment

  129. So, back on topic: by BrokenHalo · · Score: 1

    This has exactly zero to do with the question asked in TFS.

    Exactly.

    And the answer to that question, from my experience, is "yes, this is quite common". As to whether one could say it's the norm possibly depends on the kind of shop you're talking about.

    My first computing job (back in the late '70s) was at a shop that offered bureau services run on a Burroughs B3700 mainframe. A lot of my software tools were already 5 years past their release date, and it wasn't uncommon for me to have to patch binaries directly when the Fortran, assembly or COBOL source had either been lost or had already diverged significantly from its associated code. Back then we just saw this as a fact of life and got on with it.

    Unless I happened to be the sysop or one of the keypunch ops, I didn't even have a dumb terminal to input my code. Most of my work was written on 80-column coding sheets with a strange stylus-like wooden instrument with graphite in the middle. (Or if our patches were small, we used a 10-button card punch.) Our offices were thus a lot quieter than modern counterparts.

    The good thing about this was that it kept your problem-solving skills honed, which I would consider vastly more important than having the very latest toys to play with.

  130. Mine's worse... by glhturbo · · Score: 1

    Well, since you asked ... Here's my daily work environment (Just so you know it's worse somewhere :-) )

    - Main application coded in VB 6.0 ("ported" from VB 3.0, so it uses NO "advanced" features of VB 6.0)
    - Secondary and "tool" applications coded in C/C++ (but compiled with Visual Studio 6.0)
    - Version control: MKS
    - Bug Tracking: MKS
    - SQA -- Only since 2010, and the product in its current form has basically been around since VB 1.0 (the original version was written in Pascal for an Apple ][!)
    - Code reviews: no
    - Coding standards: no
    - Continuous Integration: WTF is that? :-(
    - Unit testing: HA!

    The good news is, we're hiring!

  131. Time warp? by Dabido · · Score: 1

    You fell through a hole in time and are at MS developing Win95????

    --
    Sure enough, the cow costume was hanging up next to the superhero outfit and sailors uniform. (S,Spud)
  132. Wow, a lot of windows developers here. by lordmage · · Score: 1

    A shop needs to at least have a version control system. I would consider that if you are in a Unix environment (linux etc) you are working in an older development arena and you are looking at a minimum you should have subversion.

    Requirements Tracking, Use Cases, Test Driven Development, Integration Testing, and Validation are all buzzwords for making sure the PROCESS is correct. Tools are just in support of the process. If your company is doing the previous then what you are looking at is pushing a technology refresh on your tools.

    If the previous is not done, push the processes first. You can show how taking a strong model can improve the system and then you can show that tools enhance. Its all about proving the cost savings.

    If its a small company, its HARD to prove the cost savings as an overall group since you probably are looking at a few "super stars" who do not take direction well but will produce greatly in the short terms. Short Term development (small products, products that have short shelf life) tends to push towards quick development and cheap processes.

    --
    I can program myself out of a Hello World Contest!!
  133. You expected a Cray supercomputer? by Foolomon · · Score: 1

    "Welcome to hell, kid." - Wally (of Dilbert fame)

  134. No, they're not standard by whitroth · · Score: 1

    I haven't worked anywhere without version control in 20 years. And we had stuff on m'frames, too. The folks running your new shop are idiots, and ignorant idiots. Both hands on the gun, and taking time to aim, and squeeze the trigger like a lemon, to shoot themselves in the foot.

    In *real* professional shops, we had (actually, I helped build) automated systems that extracted the current release ever single 0-dark-thirty in the morning from our VCS and rebuilt production, every single day.

    Keep your options open for other jobs, I'm afraid.

                  mark

  135. Terrible Advice So Far by benhattman · · Score: 1

    How many comments on this topic are "run for the hills and ask better questions in the future". Everyone here seems to assume that just because a company doesn't have X or Y, which they think makes their lives easier that the company is doomed or terrible to work for. That can't be further from the truth. Regression tests are nice, but maybe this company doesn't require regular overtime. VCS are important, but maybe these guys keep a manual version repository (lots and lots of copies of old files) and work in a way that almost nobody is ever touching the same file during the same month, let alone at the same time.

    That an organization uses a development environment you are familiar with should only be one of many aspects that inform how you think about that organization or whether you wish to work with them. They are clearly successful (using 7 year old environments suggests they've been around at least that long). So, figure out how they are doing it, what they are doing right, and what improvements they may be ameniable to, given the group dynamics at work.

  136. Run... by smitherz · · Score: 1

    run very fast.

  137. Try to improve the enviroment yourself! by Anonymous Coward · · Score: 0

    Sounds like the development environment at my previous place. I spent months just trying to get them to start using an issue tracker. Pointing out that the huge backlog of bugs/features/deadlines can be organized and managed so we don't have a client calling 2 days AFTER the deadline for a feature/system we haven't even started working on and asking "where the fuck is it?". This kept happening every other month or so!
    My advice is to ask them why they don't use such tools. If they say that they don't have the time to learn it, then find the time and do it yourself. And teach everyone else. It will save your ass many times over. Point our the places where such a tool could have saved them time/money. If after a while they still don't see the benefit in it and are still resisting, its time to find a new place to work.
    And next time you will have another thing to ask at the interview.

  138. Hero or beaten down.... by Anonymous Coward · · Score: 0

    Frankly - you can consider making a difference by adding "best practices" and dragging their heads out of the sand.
    But - in seeking out the notion of becoming the "hero" -- you really have to be honest about WHY they are not doing things already: what is preventing this team of your now co-workers from doing even the most basic steps?

    Is there a company cultural issue? i.e. Management not respecting and appreciating the value of invested time to establish proper software engineering?
    Or - are they are just very very foolish (which is unlikely - but really if so - that is a larger problem).

    You also need to consider your role in the team -- and within the company. Are you empowered and *supported* to make incremental change?

    One of the KEY changes you can start with is "Lunch and Learns" to interview your team mates -- and share ideas.
    If you create enough ground swell around how these practices make jobs better. costs lower. and people happier -- you can be that hero.

    However - be prepared for disappointment if the right people aren't supporting this.... And if your peers are clock punchers who just draw the paycheck. Sometimes its too big a fight -- too many flies to swat down. And if THAT is the case -- politely bow out with a respectful "creative differences" and definitely incorporate into what you're looking for at your next gig.

    good luck.

  139. Sounds lame. by Anonymous Coward · · Score: 0

    Frankly - that you'd have to "post" to Slashdot for this tells a few things:

    1) you're kinda a dick.
    2) you're not really seeking "Advice" but likely more seeking fodder for how you're better then the great unwashed who are just idiots.

    So - you're better then them.
    you can step up and be a mentor to your new team --
    or you can leave - and then cast disparages for the balance of your career.

    either way - you're still likely just another "I'm so much smarter than my peers" kinda guy. Or prove me wrong. step up to this challenge. earn your job.