1.Developing system functionality in various languages/technologies. 2.Familiarity with different software development methodologies. 3.Sound conceptual and working knowledge of database systems and SQL. 4.Experience with software engineering tools, test driven development, version control system.