4+ years of professional software development experience 3+ years of programming experience with at least one software programming language 2+ years of experience contributing to the system design or architecture (architecture, design patterns, reliability and scaling) of new and current…