Sergio Costa

Sergio Costa

$30/hr
Software Engineer, .Net C#, Asp.Net MVC, Asp.Net Core, MCP, MCSD, Azure, DEVOPS
Reply rate:
-
Availability:
Hourly ($/hour)
Age:
41 years old
Location:
Dublin, Dublin, Ireland
Experience:
11 years
SERGIO VIEIRA DA COSTA E-mail:​-Mobile: ​- LinkedIn:​ ​Sergio Vieira da Costa Summary Ten years of experience in analysis, architecture and development of systems based on web and client-server. Experienced in systems architecture definition in .NET, best practices of software development, design patterns, unit testing. Experienced also in componentization, SOA, UML, OOP, distributed applications, multi-threading, Asp.Net MVC, Web API, Rest, .Net Framework 2.0 and above. I am a passionate and enthusiast in software developing, unit testing, code coverage I like being updated about new technologies by watching conference videos, reading blogs and books. My background is mostly on Microsoft stack, so I’m comfortable with .Net Platform. I’m currently learning Docker and .Net Core. Keywords / Skill Set C#, SOLID principles, Unit Testing, Multi-Threading, TDD, DDD, DAO, Repository, ASP, Vb.Net, Asp.Net MVC, Razor, Asp.Net Web API, Asp.Net Web Forms, JavaScript, jQuery, Rest, WCF, Web Services, Windows Forms, Windows Service, SQL Server, Oracle, MySql, NHibernate, Entity Framework, Linq To SQL, Redis, MongoDB, AngularJs, Cordova, Xamarin, NodeJs, MEAN, Task-based Asynchronous, Singleton, Facade, Factory, Strategy, Builder, MVVM, CosmosDB, Azure, Azure Functions, Cloud Computing, Acetive Record, Layer Super Type, Adapter, Eager Loading, Lazy Loading, SCRUM, Kanban, TFS, VSTS, Visual Studio. Education: May 2017, Everest Language School – Dublin, Ireland English Language 2016, “Faculdade de Informática e Administração Paulista” (FIAP) – Sao Paulo, Brazil MBA Software Engineering - Graduated 2010, University “Universidade Nove de Julho” (Uninove), Sao Paulo (SP), Brazil System Analysis and Development - Graduated Certificates: ● Microsoft .Net Framework Programming in HTML5 with JavaScript and CSS3 (70-480) – Dublin 2018 ● ● ● ● Microsoft .Net Framework C# Programming (70-483) – Dublin 2018 Microsoft .Net Framework Developing ASP.NET MVC Web Application (70-486) – Dublin 2018 Microsoft .Net Framework Developing Windows Azure and Web Services (70-487) – Dublin 2018 Certified Ecommerce Professional by Ecommerce School - Sao Paulo - Brazil - Jul 2013 Employment History: Jun 2017 - March 2019, Vitro Software, Dublin, Ireland Software Engineer / DevOps Vitro Software is a company focused on hospital systems. Today the majority of the customer is concentrated in Sydney (Australia) and Dubai (United Arab Emirates). Vitro Software's mission is to generate Quality Software and be a leader in the follow-up of Hospital Systems. Vitro Apps ● ● Key technologies: Typescript, WebPack, JavaScript, Azure. Creating complex, high-quality applications using good JavaScript practices and object-oriented programming. Use of advanced concepts in Javascript. Use of XMLHttpRequest for queries on the Server side, use of the protocol oData for Web Services queries. Development of a rich user interface that allows physicians to create ● ● ● ● drawings to analyse the results of the patients' exams. Integration with Hospital Equipment APIs through an Integrator called Iguana that provides data in the HTL7 format. Creation of reports through SQL queries for Business area. Deploy the Vitro Web Application on Windows Server using VMs on Microsoft Azure. Creation and documentation of business specification to be used as a use case. Development of improvements in the Vitro platform, such as corrections, changes and releases to improve the performance of the application. Vitro Software ● Key technologies: Javascript, TypeScript, WebPack, VSTS, Git Hub, Mocha, Shai, Sion, Web API, Azure. Creation of a new front-end architecture based on Typescript, using the good practices of modularization, Object Orientation, Dependency Injection. Design Pattern MVVM was applied to separate the business code from the User Interface. For automating the build of the Typescript files that need to be transpiled to Javascript, we used the WebPack tool with the Babel compiler. After being compiled into a specific directory, the JS files can be automatically published to the Server by an extension of the VSCode that will be described later. This architecture aims to improve the performance of applications and bring more readability of the code using a strongly-typed language, such as Typescript. To test the Applications, we made use of the NPM packages like Mocha, Shai, Sion, which are powerful Test tools. ● ● ● ● ● Responsible to creation new front-end Architecture Code Reviewer. Development Team Training Instructor at Vitro. Elaboration mini courses for Development Team Development at Vitro. Software Engineer Vitro Blueprint Publish ● ● Key technologies: NodeJs, RESTful, VSTS Creation of the VSCode extensions to Provide means for App developers publish the file JavaScript of their code to Vitro without using Blueprint. This is something that only be available in test or app development environments of Vitro like the cloud. Publish is done for one app at a time. From VSCode the user is able to publish their code without blueprint. This project changed the way how to deploy code in Vitro Platform helping and improving the Work process. ​I used NodeJs to create this VSCode Extension. The NPM module called fetch, was used to make asynchronous http requests. Version Control with VSTS ● Key technologies: Git Hub, VSTS. Creation and standardization of the versioning flow of the code using the VSTS tool for managing the branches and Pull Requests. Implementation of Test Culture and Code Review. Vitro Software Platform ● ● Key technologies: C#, ASP.Net, SOLID, SignalR, Multi-thread, Entity Framework 6, VSTS, WCF, SQL Server, Web API, Restful, SCRUM, TDD, Client-Server Architecture, Azure Cloud. Vitro Software Back-end was wrote in C# using the better pracitics of Objects Oriented Programming such as SOLID and other designer patterns. I worked to creating improvements and fixing bug in many parties of the system such as: DAO Layer which is used Entity Framework 6 and ADO.Net to connect and manipulate data on the Database. Business Layer place where the Domain business rules are. Service Layer where we used WCF and Restful to expose services to interoperate with other Hospital systems and share data between them. In this integration layer other systems can send and receive information using XML or Json format. We also used OData to expose information for other systems through http protocol for searching and query. Thus Vitro makes the integration with a lot differents systems in a Hospital which it can receive and share information from Equipaments and straight away makes it available for doctors and Nursings. We using ASP.Net Signalr to create a continuous connection between our back-end and front-end to display the Patient result in real time. We used the VSTS as Source Control to deploy our building on Azure Cloud using continuous integration. To improve our performance quality, we adhere to the practice of TDD and SCRUM, SOLID, process parallel using Task, Async and await. In the SQL Server: Creating Stored procedures, reports, improvements the queries performance through index and better practice in Database development. Nov 2015 ​ May 2017, PH3A, Sao Paulo, Brazil Architect of Applications, Senior Developer DataCob - Sistema Credit Recovery and Fraud Analysis ● Key technologies: C#, SOLID principles, Unit Testing, Asp.Net WebAPI, TCP/IP communication, Multi-Threading, Entity Framework, WebSocket, Windows Services, WCF, ASP.Net MVC 5, NodeJs, Redis, MongoDB, Asterisk, SQL Server, MS Test, HTML5, ​Task-based Asynchronous, Facade, Strategy, Adapter, Layer Super Type, Javascript, JQuery, CSS3, NUnit. ● ● ● ● ● ● ● ● ● The purpose of the system is to consolidate all credit information of the Bank's Clients and to perform a detailed analysis of these clients to set the score. The process steps are performed in parallel using the messaging system. Synchronization between threads and between other machines is done with redis signalling. The application uses memory cache and Redis. Communication with credit systems is done through the Web API Restfull. The end result of the processing is the generation of Excel reports, graphs, generated by each client available in browsers, applications and tablets. We Created Web API Restful and WCF services to communicate with the front-end, we created Asp.net Web forms pages and user controls using JavaScript, jQuery and HTML5. We Created database structure and domain models for negotiation rates and system configuration using DDD concepts. I created the financial reports through Sql language and I used components written in jQuery for show the data. Improved the internal framework by creating component to support component registration by code on Dependency Injection container instead of XML. Created Builders and Factories components to make easy the setup of WCF self-host services, queue threads and schedule tasks in the Windows services projects. ​For to this we used the Design Patters Facade, Strategy, Adapter, Layer Super Type, MVC, TDD, IoC, DI, Task-based Asynchronous, Lazy Loading, Repository e Unit of Work. Created unit testing for almost 100% of the new code. Added a test case for all known business possibility. Used Moq as a mock framework to simulate behaviour. Working with the client for asking questions to choose the better way to do the tasks, alerting possible problems about the client requests, doing meetings to understand new request or to show what was done. Creation of Import/Export component based on metadata (attributes) and reflection to generate report and import files from partners. The component imports and exports text files, CSV files and Excel files. The work is done by receiving a list of objects with the right attributes containing the metadata information to generate the target file. In the telephony part, the system must manage the phone call queue and assign the calls to the users automatically. The system performed the call and delivered it to the user's extension. The system record the connection time and end status if it was successful or not. The application also provided operators who are ● ● ● ● ● ● ● ● available to receive new calls. The system uses the voice platform (Linux servers running Asterisk) through TCP communications to listening to events for active calls and send commands for new connections. A part of the solution is the voice applications (IVR) following standard VXML. Voice applications interact with Web APIs in Asp.Net to record the user's operations. Encourage use of TDD to cover maximum of business possibilities with unit tests. Wrote the primaries components, such as TCP/IP connector with Asterisk Server running on IIS, the CallPhone component (component that abstract the infrastructure to send a command to the platform to generate a call) and the platform status control (component who controls p/ machine, how many channels are available, in use, etc.) Understood the Asterisk Server Extensions, commands and Application to be able to configure new business applications. Also learned about Asterisk CLI commands, such as platform status, channels status per technology (SIP, SS7), ManagerAPI commands (Asterisk TCP API). Designed a database structure to save all calls data with maximum information about time and status. Created complex queries to show the average time of the calls relating with calls status per region number of Brazil. Was used Entity Framework as ORM and FluentApi as mapping tool. Created an event based component that listen to Asterisk platform events and then send the events for the components that wants to process that information. Development and improvement of the DataCob billing system. The DataCob is the best billing system on the market, used by the largest collection agencies of the Brazilian market. A customizable system, scalable and adaptable to any form of Collection. The DataCob is also integrated with the largest telephony systems and market dialers. The DataCob covers the entire billing process from initial receipt of contracts, negotiation, agreement and issuance of ticket. On PH3A I had the opportunity to cover my knowledge in the area of working with collection Development integration with banking systems of various institutions through Web Services, Web API, development of scheduling features of contracts, contracts drive history. Development of robots for automation of the contract’s strategies distribution process between collection teams. May 2011 ​ Nov 2015 Mercadocar Mercantil Ltda, Sao Paulo, Brazil Software Engineer / Senior Developer S.I.M System Integrated Mercadocar (EPR) ● ● ● ● ● ● ● ● Key technologies: C#, SOLID principles, Unit Testing, Asp.Net Web API, Asp.Net MVC, JavaScript, jQuery, Multi-Threading, WCF, SQL Server, Entity Framework, Windows Service, MS Test, Angular, Ionic, Cordova, Xamarin, Redis, NUnit. The purpose of the system is to manage the business model of sales of automotive parts that involve all processes of purchase, inventory and transportation of goods between the affiliates company. And meet the sale of products over the internet. Survey, analysis and detailing requirements with stakeholders, prototyping, database modelling, planning and delivery tasks as SCRUM methodology. Experience and knowledge gained in the areas of purchasing, Receiving and tax. Improvement in purchasing modules, stock and tax solution S.I.M. (Integrated MercadoCar System) ERP used by the company, contributing to the optimization of the receiving logistics, validation of incoming invoices and integration with the 10 Protheus system from Microsiga. Created a Web API to consult information about products, quantities and prices. The API should respond different contents according the client and header variable. Was extended the default Asp.Net Web API content negotiation to support this business rule. Our mobile telephony platform requires two response formatters (VXML, a specific Javascript notation), because of that, was needed to create and add more formatters to the Web API default content formatters. Session. This has slowed the processing of information and the delivery of the request by IIS. Created an intranet portal to be a front-end site of this application and for other as well. I did the design and implementation using Asp.Net MVC. Created a customized access control, allowing external users to access specifics functionalities. ● ● ● Mentor junior and trainees in increasing overall skillset within programming logic, algorithm, and Web development; Encouraged knowledge sharing of best coding practices, troubleshooting of issues and bugs. Creation of Reports Managers for the Purchasing area helped the negotiators together with the suppliers in the outlets the best products. Creation of various functionalities and control of the company’s ERP system, such as creation of Product Transport Modules, alerts of products with low inventory, improvements to SQL query performance. Contingency System ● ● ● ● ● Key technologies: C#, SOLID principles, Unit Testing, Multi-Threading, WCF, SQL Server, Entity Framework, Windows Service, MS Test, Redis, NUnit. The purpose of this system is to provide an off-line parts consultant. In case of loss of connection, the sales department continues to sell the products in the physical store at the current price. Created the component to perform the Data Cache and user sessions in Redis instead of using the IIS Responsible for analysis and project management of contingency, which had as main objective to allow the product query and offline budget generation if the server or network link was inconsistent. Wrote 80% of the code using C#, SOLID principles, Entity Framerok 6 as ORM, and FluentApi for Mapping, DDD, Repository, Multi-Threading, WCF services. The system runs on a Windows TCP service on the machines of the sales team. S.I.M Telephony System ● ● ● ● ● ● ● Key technologies: C#, SOLID principles, Unit Testing, Multi-Threading, WCF, SQL Server, Entity Framework, Windows Service, Asterisk, Redis, NUnit. The purpose of the telephone system was to provide an integrated platform and consist of the business system and the telephone system, control the flow of calls, identification of Inbound and outbound calls. Development of teleshopping module having as main premise the realization of personalized service to the client through the integration between S.I.M and PBX-IP. Created an event based component that listen to Asterisk platform events and then send the events for the components that wants to process that information. Automation Project between Telesales and URA increasing to 40% the number of Attendances. 25% increase in sales of parts by telephone through personalized service. Member of the team for created solution architecture and implementation and also for design and code the primaries application components. Understood the Asterisk Server Extensions, commands and Application to be able to configure new business applications. Also learned about Asterisk CLI commands, such as platform status, channels status per technology (SIP, SS7), ManagerAPI commands (Asterisk TCP API). S.I.M Mobile ● ● ● ● ● Key technologies: C#, SOLID principles, Unit Testing, Asp.Net Web API, Asp.Net MVC, JavaScript, WCF, SQL Server, Entity Framework, MS Test, Angular, Ionic, Cordova, Xamarin, Redis, NUnit. Creation of an application on the Android platform for ordering parts and creating orders in the physical store. Created the mobile application for presentation and consultation of automotive parts. The app was written in Cordova Js and made available on tablets on the Android platform for sellers in the physical store. This helped facilitate order processing in the physical store. Created Api Restful Web Services to view product information. The data is available in XML or Json formats depending on the content type defined in the request http header. We use the concept of asynchronous transactions. Using NUnity as a Dependency Injection engine. S.I.M E-Commerce ● ● ● Key technologies: C#, SOLID principles, Unit Testing, Asp.Net WebAPI, Asp.Net MVC, JavaScript, jQuery, Multi-Threading, WCF, SQL Server, EntityFramework, Windows Service, MS Test, Redis, NUnit. The purpose of this system is to sell automotive products and parts through the internet. We create a business layer that is appropriate to meet the needs of different types of clients such as browsers, internal systems and mobile devices. So we prefer to isolate the business layer to centralize the ● ● ● business rules of the system and through services available to the other layers. We build these components using SOLID's best practices and design patterns. Created a windows service responsible for process online the orders in a multi-threaded environment. The charge is through the Web API, to HTTP Get request with queryString parameters to charge the orders. According confirmation of payment by credit card with a card operator status the online orders is process or not. The communication between our system and the system of operator of the credit card is made through WCF services through the protocols HTTPs. Created the integration component with the anti-fraud system (Company F-Control). Communication with the anti-fraud system is done through WCF services by the https protocol. Those responsible for anti-fraud analysis provide a key to encrypt the data. At the time of sale, S.I.M requires a consultation with the anti-fraud system. If there is no problem, the sale of the product goes ahead. Created the product delivery component that integrates with the Enterprise Scheduling Delivery component of the Enterprise Direclog through the Api Web through the https protocol. Customer address data, the system calculates the delivery value and the days available for delivery of the product. May2010 - May 2011 - Ka Solution Tecnologia em Software LTDA, Sao Paulo, Brazil Systems Analyst / Developer E-Commerce ● Key technologies: C#, SOLID principles, Asp.Net Web, Multi-Threading, SQL Server, Windows Service, NHibernate. ● Ka Solution Consulting I was allocated in client Kalunga and participated in the development and evolution of E-commerce (internet sales System), creating order management modules, and invoiced sales for employees. Optimize the sales process, we improved the user interface used W3C standardization, applied the most current concepts of usability and navigability to best suit customers of Kalunga. Increase in the percentage of conversions in online sales. We migrated the website of classic ASP to ASP.NET Web Forms, using the best of object oriented programming, JavaScript and CSS. Development of management reports using the SQL Transaction language of SQL Server. Apr 2009 – May 2010: Sonda Procwork, São Paulo, Brazil Systems Analyst / Developer SPED - Financial System ● Key technologies: C#, Oracle, Windows Forms. ● By Sonda Procwork consulting I participated in the development and evolution of SPED fiscal system. I worked on support team Software SPED fiscal incident, absorbing knowledge in the tax area. Participation in meetings for strategies definition and development methodologies. Requirements elicitation, system specification and document using UML. For application development we use the c # language and the Oracle database.. Mar 2007 ​ Feb 2009: Inspirit IT Solution for Management, Sao Paulo, Brazil Developer Intranet ● Key technologies: Classic ASP, VbScript, Javascript, Asp.Net Web Forms, MySql. ● The goal of this system is to create an internal communication platform to integrate all the commercial areas of the company. ● Database creation and modelling using the good practices of normalization and denormalization of database with MySql. Creation Store Procedures, management of reports, queries and improvements in query performance. ● Creation of the graphical interface using HTML, Javascript, VbScript and Classic ASP. Integrated System SI4 ● Key technologies: VB.Net, Classic ASP, Asp.Net Web Forms, Sql Server. ● The goal of the SI4 system is to create an integration platform between several different systems through WCF services, Excel files, text files. ● I worked in the Software Factory as system analyst programmer, participating in the meetings with clients and performing the requirements elicitation, documentation in UML. Participated in the design of E-commerce Company Cafe-Sache, developing customer register modules, order management, registration of products and images, integration with PayPal and integration with the postal system. Attended the Central project of internships for college students by developing a multilateral platform, FAAP where companies registered the vacancies, students visualized the vacancies and applied for it, and teachers assessed students ' performance. Participated in the development of E-commerce Company PaperClick, where the main purpose was the sale of prints/graphics service delivery of documents over the internet. Acting by Inspirit participated in the intranet development project of Sociedade Esportiva Palmeiras. References are available upon request.
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.