Software engineer ii location: remote job summary as a software engineer ii you are critical to the team`s success and delivery of mvi`sYour primary role includes system analysis, coding, testing, debugging, documenting, and installing portions of new systems and modifying existing systemsTo be successful in this role you need expertise in application and database design, as well as software implementation and graphical user interface designLike the industry, we move fastWe need you to stay fresh with new technology, software and architecture so that you can innovate dailyAs a software engineer ii everyday will bring new technology challengesKeep in mind that as an agile team member you may be asked to step beyond coding and do whatever is necessary to help your team deliver in a sprint.
Essential duties and responsibilities
Develop new applications, modify and maintain existing software, working closely with end-users, it peers and management.
Make changes to prevent recurrence, modifying existing code and faulty files, writing and running special programs.
Participate in estimations, planning of feature releases, be involved in system feasibility check activities and developing design documentation.
Implement complex apis using appropriate algorithms and data structures.
Extend features to existing software applications.
Analyze, design and develop complex business logic.
Develop ui components using javascript frameworks and optimize dom rendering.
Participate in design and implementation of database architecture.
Work together with peers, managers and quality assurance team to build a complete shippable product within the agile methodology framework and track and report progress of deliverables.
Document the new applications, or the changes made to existing applications.
Participate in unit, integration, and business acceptance testing of the applications.
Develop automation for unit test cases for features.
Stimulate system load testing to identify performance issues, assess risk and highlight in a timely manner.
Fix defects identified during integration and user acceptance testing and complete defect root cause analysis.
Analyze production incidents and provide quick work around until it is fixed in future releases as well as troubleshoot application and system issues when required.
Monitoring event and exception logs for application to identify system issues and report and track any identified bugs.
Data validation & patching using sql data query language.
Do whatever is necessary to get to your team`s definition of done.
Stay current on emerging technologies.
Requirements to perform this job successfully, an individual must be able to perform each essential duty satisfactorilyThe requirements are representative of the knowledge, skill, and/or ability required.
Bachelor`s in computer science, computer engineering or related field.
2 years of experience in a related area
2 years of experience in at least one of these frameworks: c#, sql, asp.net, powerbuilder, html 5.0, css, or javascript frameworks.
2 years of experience in front-end frameworks such as: mvc, ember, web forms, angular, knockoutjs or nodeJs.
2 years of experience in middleware pattern such as: rest, class libraries as a layer, wcf or soap web services.
2 years of experience in data storage technology such as: microsoft entity framework accessing the data, relational databases (sql, oracle, mysql, etc.), or nosql technologies (hadoop, mongo, etc.)
Ability to combine and integrate the above-mentioned elements as an effective full stack software developer
Understanding of unit testing concepts and frameworks preferred.
Ability to be self-directed.
Familiar with an agile environment.
Participation and familiarity with open source projects is a plus.