Ten Questions You Must Ask When Applying for a Software Job

Software Job photo

Software Job

Photo by juhansonin

These practices will help ensure that you spend your time having fun building new things rather than the Very Bad Things which happen when these practices are not in place (trust me on this). No matter whether you are applying for your first gig in IT or you are a master engineer, it is your responsibility to assess a potential employer during the interview process.  If these things are not in place already, your employer should be open to doing them.

  1. Do you use source control? What kind? What are you requirements/to check in code (assignment to tasks, unit tests, peer review, etc)? Refuse to work anywhere which refuses to do this.
  2. Do you use process/task/bug management system to track all work? How do you track progress and manage change? Is your process management tool integrated with your source control?
  3. Do you use the best tools money can buy? For example: MSDN/Apple Dev accounts, dual monitors, powerful workstations (SSD, 16GB RAM, i5+), and tools like ReSharper, RedGate, etc.  Don’t work for bosses who don’t value your time.
  4. Do you have a dedicated QA team/role? Are they involved in the requirement/release management process?  Developers make very bad testers – make sure your team has a formal process for testing
  5. Do programmers have quiet working conditions and rooms to meet? Show them to me.
  6. Do you get feedback from customers during the development process? 
  7. Do you have a continous integration server? Do your builds include automated integration/unit tests?  Do you have a QA/UAT environment?
  8. Do you create specification/requirements documents? Do you do it before, during, or after writing code?  Depends on whether you use an agile/Scrum or some other process, but there should be some sort of written requirements for all work.
  9. Do you have a daily standup or regular team meeting?  Not everyone can use a Scrum-style methodology, but every team should have a regularly scheduled status meeting.  It should be daily for teams working full time in the same office, and not less than weekly in other cases.
  10. Do you use modern frameworks?  Not every team is required to use bleeding-edge development frameworks, languages, etc.  However, software productivity IDE’s and frameworks improve quickly, and an old toolset (Visual Studio 2005,VB.Net,Android IDE in Eclipse, PHP 5.3, etc) is a bad sign.
David L Veksler
Software Job

David L Veksler

David Veksler is the Director of Technology at FEE.

This article was originally published on FEE.org. Read the original article.