Skills you must have:
• Strong understanding of Object Oriented C# programming, for instance know the difference between Interfaces and Abstract classes and know how to break a problem down into classes/interfaces that separate concerns
• Proficiency in C# programming with .NET Framework versions 4.0, 4.5.x and 4.6.x and ASP.NET XML/JSON Web-services programming
• Strong Knowledge of ASP.NET Web API 2.x and JSON HTTP APIs/REST web-services programming with C#
• Proficiency in writing SQL queries and stored procedures with different DBMS systems (MySQL and/or Oracle SQL/PL-SQL programming experience is preferable)
• Broad experience in deploying, installing and configuring ASP.NET web applications both on premises and on the Cloud
• Experience developing XML client code and web applications that consume both SOAP/XML web services and JSON/HTTP API web services
• Experience with Git and/or Subversion (SVN) code versioning systems
• Comfortable working in UNIX/LINUX environments
• Comfortable working in Cloud Computing environments
• Cloud Computing applications management and deployment knowledge, including computing instances configuration and ASP.NET application deployment experience with one or more of the following Cloud technologies:
Amazon Web-services (AWS) EC2 and S3 (Solid experience)
OpenStack Private Clouds (Solid experience)
• Knowledge of IT configuration management / automation engines such as Ansible or Chef. Ansible is preferred.
What you will do:
1. Design, modify, develop, write and implement C# web middleware applications and APIs.
2. Support and/or install software applications/operating systems both on premises and the Cloud.
3. Participate in the testing process through test review and analysis, test witnessing and certification of software.
4. Maintain and enhance existing .NET code
5. Automate the provisioning of cloud applications and their configuration management via Ansible working in a DEVOPS like model
Rely on your experience and judgment to plan and accomplish goals.
Perform a variety of complicated tasks.
May lead and direct the work of others.
May report directly to a project lead or manager.
An ample degree of creativity and latitude is expected.
Familiar with a variety of the field's concepts, practices, and procedures
Ability to dissect, reverse engineer and understand the inner workings of existing code with minimum guidance
Basic Job Function: This position exists to perform research, design and software development assignments within a software functional area. Acts as a knowledge resource to entry level and mid-level staff and provides technical leadership to small and mid-size development teams. Provides meaningful input to project plans, schedules and approach in the development of cross-functional software products. Owns and maintain applications that interface with legacy systems and databases
1. Interfaces with internal customers; interprets requirements and provides recommendations on how to implement.
2. Independently performs analysis to develop and implement high level designs for assigned projects.
3. Full lifecycle development process including design, development, testing and implementation of moderate to advanced complexity systems. Develops moderate-to advanced modules and system components and develops simple to moderately complex re-usable code.
4. Acts as point of escalation to resolve new/complex issues and provides input about team members' performance and technical abilities. Mentors and coaches team members.
5. Remains current on industry standards and advances within area of knowledge.
6. Diagnoses complex system problems using dumps, traces or other diagnostic tools.
7. Leads in design, code and test reviews where needed.
8. Leads a mid-size or larger teams of technical staff to complete assigned projects balancing quality and schedule.
9. Identifies and recommends opportunities for continuous improvements and efficiencies.
10. Interfaces with team members both in the United States and United Kingdom
11. Other duties as assigned
1. Bachelor's degree in computer science, computer engineering, math or equivalent technical discipline or equivalent technical experience
2. Strong experience in full lifecycle development process including design, development, testing and implementation of moderate to advanced complexity lsystems.
3.Ability to work independently and collaborate with cross functional groups as required.
4.Strong verbal and written communication and presentation skills with both technical and non-technical audiences including management and cross functional groups.
5.Ability to lead small to mid-size technical teams including strong organizational skills, attention to detail, management of multiple assignments at the same time. Must be self-directed and provides up to date information on progress and issues.
6. Ability to conduct in-depth research and work through complex problems successfully and reach workable solutions.
7.Knowledge of large complex systems within
the functional area.
8.Ability to work in ambiguous situations; take a high level assignment and work the detail to produce a successful solution.
9. Ability to effectively mentor and train less experienced
• Proficient English and Portuguese speaker