
With over 12.4 years of professional expertise, this individual possesses a robust background in Dot Net Development, encompassing the testing and implementation of both web and Windows-based applications using Visual Studio, including C#, .Net, VB.NET, ASP.NET, and MVC. The scope of experience extends across diverse domains such as Banking, Healthcare, Retail, Logistics, and GIS. Proficiency is demonstrated in designing, developing, testing, and implementing web-based applications in a 3-tier development environment, utilizing C#, .Net and VB.Net with SQL-Server as the backend. The candidate exhibits strong hands-on experience in database design and data access methods like ADO.NET, ADO, and Relational databases, along with expertise in creating functions and stored procedures in SQL Server. Familiarity with Agile methodology, proficiency in version control tools (VSS, TFS, GIT, SVN), and a solid grasp of SDLC contribute to the comprehensive skill set. Furthermore, the individual showcases good organizational skills, excels in multitasking, and is adept at both independent work and collaborative teamwork. The extensive experience includes active involvement in production support.
Senior Software Engineer
Alinx SoftProfessional 2 Application Designer
DXC TechnologyAssociate
Cognizant Technology SolutionsSenior System Engineer
IBM India Private Limited
MySQL

jQuery

CSS3 & CSS5

Git

Javascript

HTML5

Ajax

REST API

Visual Studio Code

Postman
Jira
Azure

Visual Studio 2019

SQL Server Management Studio 2022

.NET Core

ADO.NET

VB.NET

Visual Studio

SQL Server

SSIS

IIS

SAP

AWS

Angular JS

TFS

SVN
Kathiravan is technically strong resource, playing a key role in upgrading NTB application database from SQL to Postgres SQL by providing the technical solutions. He is involving into dispatcher role activities and he is a great technical asset to the team and helping junior resources when they are facing any other technical challenges.
Role: Senior Developer and Lead
Environment: MVC, MVC web API, C#, SQL Server, GIT
Role : Senior Lead Developer Subject Matter Expert
Environment : AWS, MVC, Web API, C#, SQL Server, TFS, SSIS
Role : Lead - Development
Environment : MVC, MVC Web API, Angular JS, C#, SQL Server, TFS
My name is. Uh, I'm a MSC computer science postgraduate. I'm doing this in software development industry nearly 15 years. Uh, my career, I worked on a dot net development using SQL Server. I have worked to various Microsoft related technologies, Windows applications, web applications, services, and the APIs. And I have developed a few SSIS package jobs, SSRS reports. I have designed I have worked with various development and the migration projects, migration from legacy application to latest to technology and migrated from, uh, ASP dot NET or ESP dot NET applications into MVC applications and rewrite some, uh, application UI alone without affecting the business logic. We have developed the Windows applications so to it, the stack holders to understand the requirements, convert to that business requirements into application development, um, the design using a Yomel and diagrams. I have developed the, uh, ERP application end to end. I have worked the various domains like banking, health care, insurance, insurance brokerage, uh, telecom network like Ericsson kind of works, and the airways, air services, and the financials, and the hotels, and the print media for Pearson publications. All the domains I come across throughout my career, I have designed the subtle applications using Windows web applications, the API services. I have consumed the services. I have exposed those services. We have worked, uh, all Microsoft technologies in this.
There was some incident when we are deploying work from on prem to cloud environment. There was an unexpected issue at the time of cloud migrations. Uh, we have done couple of format deployments and, uh, documented all the stuff. Somehow it was missed on configuration setting, and I have take that responsibility and I through with that help of, uh, CCO IT network team and the from 2 third team. So that was the recent, uh, time there was some rule back we used to do.
What are some best practices you follow in developing a dot net particularly for other applications? Best practices, uh, completely implement that OOPS concept and the solid principles, and we need a clear, uh, definition, clear, uh, segregation between the classes and create, um, areas for each class and the club, all that stuff, as to decide whether it needs the Windows authentication or the single sign on or the forms authentication. Uh, it should be a very compatible, lightweight component, uh, should work on all kind of, uh, browsers on the computer. We have various browsers from Edge to Chrome, Firefox, and Opera. We should check our browser compatibility and the content, whatever we are displaying on the screen. It should be so secure and able to crack, easy to download. So all client side and server side configuration should be clear. Let's define what are the components can be exposed, what are the configuration settings should be restricted to the data users, and browser compatibility and the user experience, how it should be used as a when it is a public accessible portal, uh, we're solely challenged to the persons, uh, also should be able to access that application without any issues. Browser compatibility. Responsible designs, we always prefer instead of cutting all, um, or with heavy weight images and large volume of data. We always prefer to lightweight, uh, page design with very limited and soothing color company combinations on the UI. Easy to access user experience, uh, should be very flexible, and the color should not affect all that, uh, screens. And they're easy to deploy, easy to clarify whether it is coming to scalable. It should be easily expandable into that next level, and we are adding a new features. Design principles, solid principles we can implement, uh, for that a good, uh, maintainability and authentication. We can maintain a forms level. If it is in in house application, we can go for a single sign on AD authentication, Windows Direct. Windows authentication is against the active directory authentications.
Hello. So the the API and the asset compliance, can you describe how you have used them in building a web page? So I have used the web APIs to create, um, web API views to go, uh, create a c sharp with, uh, within my Zoom studio. Uh, web API controller, we created, uh, inside the controller, put post, uh, delete, uh, get methods with the HTTP verbs. We can implement that. We can implement, uh, token based authentication to access the web API. From the controller, we are defining all that input parameters and validating the input parameters. Uh, you are not null and expected format. Failed throwing back with the invalid input bad request, uh, exception to the, uh, consumer consumer who consumes the web service. Everything works fine to send back that valid request back to them. Internally handles the exceptions and throwing back all the earlier invalid exceptions data handling. For, uh, invalid bad request, it can be thrown there. If any internal exceptions, we can generate a complete error code and error message dictionary. We can publish to the consumer so we can, uh, bad request comes or any validation error or the application error, one time error, we can throw with that error and the description combination dictionary to that, uh, fault contract. I mean, exception. Token based authentication is good to have that, and authentication keys and the auth code can be shared to that. We can use that internally. Uh, after receiving the request, we can build the body of that and the process business logic. If any data access, read the data access and the get the data. Make it a presentable format. It can be some format. We can send back the string or JSON string with the result of HTTP, uh, result back to the consumer.
Situation where you took initiative to solve problem that was not necessarily your responsibility. What was the result? It happens when I was leading a team and I facilitate the team. Often, they used to start with the technical help. Uh, I mean, technically, they may not move forward, and I'll get into that. And I'll sit with them, and I'll provide the technical solutions to them. Uh, reading a file from the the UI, uploading into server or handling a huge volume of data while sending back to UI or bind that volume into UI. I have extended my support to the support team. This always happens. I used to work with that. I happy to work with that, uh, support team for their, uh, better output performance. So it always gives a pleasure to me sharing a problem and giving the solution. It not only sharing the solution, it's also gaining a knowledge for me also. It is always good to have that kind of, um, behavior. I used to do always to help the team. Uh, it is not the only recent time it happens throughout for me. This career, very often I used to work with that, uh, my fellow subordinates, my team members to help technically for their difficulties to come across the situation.
Can you explain what delegates and the events are in c sharp? And how you have used them in your project? In what situation would you choose to use a interface over an extract class in c sharp? Explain how garbage collection works in c sharp and what impact it has on your development. Delegates and events. Delegated is a pointer to the function. Uh, again, no need to directly call the function. By delegating, we can call that references instead of directly accessing the functions. Even so we can trigger from a code behind, um, when there was a customer object is there, some multiple users are accessing that object. When the object the customer object is, uh, modified in a by different user when it is back, reflect on another user's screen. So we can, uh, write this event on the customer status change by other users. So when it gets impact, it will be the the event is triggered, and it will reflect on the another user's screen. By the way, you can implement the events. This is one, for example, recently used. Comparatively, interface and abstract class, in a very high level, both are seems to serve the same purpose, but but it is not actual. When we are going for a interface, we have to, uh, implement all its functions, properties, uh, in the interface. But for abstract, we no need to be. It is a it's a literal meaning. It is abstract. So the class and it won't functions can be used. The functions are from this class function. I mean, abstract class functions can be consumed if we need, if no need, no need to be. But, uh, we need to implement same kind of complete structure or complete, uh, same kind of, uh, implementation we need for all the classes, then we should go for, uh, interface. So all the functions in that office need to implement on the, uh, where we are implementing for the class. Garbage collector, when the objects are abandoned, not handled by programmatically, it will clear all the objects. It will, um, that generation 1, generation 2, generation 3, generation 3. So least used objects first, it will come into load, and it will clear that object and clear the memory. Then 2nd gen next generation next generation, it will glow like this. So garbage collector is, uh, used to to clean the, uh, unused objects. Uh, by using using keyword and, uh, c sharp object installation, it will fix by default.
When would you choose to abstract functionality into reusable piece of code? Can you explain your approach to deciding when and how to abstract a code? When designing a car, we are using a car gear, uh, car with the 4 wheelers and gear, uh, and the all internal, uh, car with the gear, uh, wheel, uh, wheels, 4 wheels, and the gears, 1, 2, 3, 4, 5. And, uh, we have a automatic model also. When we are designing a car with abstract, it is a it has, uh, 4 wheels, gears, and automatic. When the car model and car 1 model 1 implements that up side class, we no need to get all the functions. We can use only gear and the wheelers. When we are implementing automatic car, we don't need to be implemented gear. We can implement only automatic function and the wheelers functions. So we can decide based on our requirement when we are consuming, uh, using a abstract class. Uh, basic, uh, abstract class name is a car. The real class name is, uh, automatic car and the manual car. When we have manual car, it's get, uh, implement abstract class car. We can use only, uh, gears and wheel gears and the wheels. When we are implementing a manual, uh, automatic car, we can use automatic, um, uh, drive and wheels. So wheels is mandatory for both the models, but gear or man automatic gear, it is based on our requirement. We can decide that this is a very simple and neat example for, uh, choosing abstract functionality for reusable piece.
Between views, functions, and stored procedures. So views in the database, it is a clear, uh, select statement only. Views, we cannot have, uh, other operations like insert, update, or delete. Uh, so it cannot be modified or deleted the data for so use is used to combine complex kind of joints. Um, no need to use a inline query. When we are using a select statement, every time it will create a execution plan, it will, uh, take more memory. But when we create a use, it will create the the predefined pre precompiled execution plan, complex joints. So it will give performance improvement. This saves that SQL injections, uh, from applications when we are implementing. So functions, it is a it returns a value. It can be a scale out or any record, uh, table type, uh, records. It cannot be used, uh, alone. It can be used in the select statement or to calculate the data. Store procedures, we can use any number of, uh, any kind of functions, the inset, update, delete, all kind of database manipulations. Uh, you can read, delete, update that, uh, stored procedure. Queries inside the stored procedure, it will return, uh, any record set or it will let know any scalar or it can be wide. Uh, it is also predefined precompiled SQL statements. It has a input parameters and output parameters. Uh, we can pass that, uh, by, uh, inside the stored procedure, we can call another stored procedure, nester stored procedures. It is a precompiled store procedures, complex joints, or multiple operations we can do. Multiple operations on multiple tables we can do inside the store procedures by implementing, uh, transactions. So rollback, commit, uh, begin transaction, rollback, commit operations. We can implement try catch, uh, for exception handling. We can add conditional executions, if flow, If conditions, everything can be done in short procedures.
You will need accuracy and the reliability of your data analysis before presenting your findings. Accuracy and reliability of your data analysis before presenting your findings. Based on the requirement, how the if it includes any calculations, we can go for manual calculation, programmatic calculations. For account data count and verifying the data, we should have some, uh, key. Right? So we have to compare the data, uh, correct the result and expect the, um, the actual result and expect the result that we can manually verify the data data count. For small account, we can go for validations. If it is, uh, millions of records, we can validate and manually, then we'll go for a programmatically automated annotations. Reliability of your data analysis, uh, before presenting your findings. So we should have that valid data, then we can validate the expected result that we might derive right when we are writing procedure or function or starting with that, um, expected result test cases. After implementing a, uh, unit testing, we can find our actual result to very well. The generator result against expected result, actual result. We can validate, and we can come to know that it is valid, uh, the accuracy and the data label.