As a Software Engineer, you will participate in reviewing code written by peers and receive feedback on your own code to ensure quality and maintainable software development. You will learn new technologies, languages, tools, and best practices and engage in the software development process utilizing agile methodologies. Responsibilities also include managing medium to large-sized tasks or features assigned by senior engineers, delivering them on time and to specification. Software engineers partner with Product/User Experience designers to bring to life excellent client experiences. The role needs an understanding of relevant software development tools including version control, build processes, debuggers, and test frameworks to diagnose and fix software defects or bugs reported by users or uncovered during testing.