I have been working (~ 5 years & first IT job) as an application developer at a large financial institution with a strict corporate hierarchy, multiple LOBs, and heavily process-laden IT departments.

Now, one aspect of this culture is to use a lot of external contractors and vendors to port legacy code to current technologies. However, the internal developers are made to test (black-box) their code. A majority of the time these external developers do not ensure that their apps work end-to-end properly before releasing their code and wait for us (internal developers) to investigate issues/collect logs/any screen shots of failure/database logs etc.

I am wondering if anybody else has encountered such a situation in their role as developers in IT shops/orgs. Do you really improve technically or intellectually, especially, on large complex projects where testing can go on for more than 6 months ? For instance, I went a whole 7 months QC'ing and acting as a non-coding team-lead thinking that I should not let the team down. However, I see now that this is detrimental to my coding skills.

  • sounds like external development lacks acceptance tests; but self-improvement is your responsibility – Steven A. Lowe Feb 24 '13 at 6:04
  • related question at Workplace: How can I get out of a bad job assignment... – gnat Feb 24 '13 at 7:48
  • How is seeing the code from the other side detrimental to your coding skills? It should give you some interesting perspective. At least it does for me when I get roped into QA . . . – Wyatt Barnett Feb 24 '13 at 11:18
  • @WyattBarnett I think "black box testing" means not seeing the code from any side, but just working with apps as a user/sysadmin. – scriptin Feb 24 '13 at 11:27
  • @DmitryScriptin exactly. In most cases we are building apps for people to use, looking at them through those eyes is an interesting perspective. It is amazing how many little UI bugs get fixed when you have programmers enter the first 1000 records . . . – Wyatt Barnett Feb 24 '13 at 12:47

In an ideal world, developers should not be doing this type of testing.

Ideally, you would have a test team who would carry out this function.

Developers in general are not very good at this type of thing, it does not interest them. Testers are.

In some workplaces however, "techies" have to wear many hats. Often this will be because IT is under funded, or management do not believe in having a separate testing function. Some people enjoy being involved in multiple functions of course.

If you as a developer are being forced into long periods of testing poorly written external vendor code, this is a massive job smell for me.

| improve this answer | |
  • 'Job smell'... That's a new one – James Feb 24 '13 at 13:12

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