Senthil Kumar Selvaraj
More than 6 years of software development experience.
Awarded "Most Valuable Professional" (MVP) in C# by Microsoft for three consecutive years (2006 - 2008).
Passionate about programming - have written plenty of open source software in my spare time.
Love learning new technologies and programming languages. Always looking for ways to improve as a software developer.
Some comments from users/readers of my software and articles:
"Got my 5 for this incredibly useful utility (Undisposed), and I love your writing style--very friendly and easy to read!"
"This is a great article - I've been aware of the need for BeginInvoke, but I haven't found such a concise and thorough explanation as to just why you need to use it"
"Your WinMacro application is perfect for automating some testing which I need to do. Thank you for spending the time to come up with it and also for distributing the source code."
"IRCTC should learn something from you, to implement these kinds of great ideas. Keep it Up"
Languages :
C# 3.0, F#, C++, Python, JavaScript, C++/CLI and Java. Can read MSIL and x86 assembly.
Tools :
Visual Studio .NET 2008, Rational Clearcase, TFS, Reflector, Windbg, SOS
Databases :
SQL Server
Technical Lead
at
HCL Technologies Ltd.
Oct 2003
-
Present
[
C#, .NET 2.0/3.5, Winforms, Python, COM, C++, Windbg, SOS, Rational Clearcase
]
Worked on multiple versions of Viper, a wafer inspection tool sold by KLA-Tencor, one of the world's premier semiconductor equipment manufacturing companies.
-
Rated "Outstanding" in almost all performance reviews held so far.
-
Wrote SECSimLink (http://hcltech.com/semisignals ) outside office hours, to replace Secsim Pro, a host simulator. SECSimLink is now being sold as a product by HCL.
-
Considered an expert in the Factory Automation aspect of the semiconductor domain.
-
Debugged and resolved lots of problems, including memory leaks, deadlocks, crashes and resource starvations etc. using tools like Windbg, SOS and Process Explorer.(http://msmvps.com/blogs/senthil/archive/2008/05/29/the-case-of-the-leaking-thread-handles.aspx )
-
Wrote several project specific tools to automate boring, repetitive and tedious tasks. IronMon, for example, is a tool that acts as a health monitor for reliability runs and periodically emails project members about the status of the run. This previously required a person to keep watch at the tool.
View All Project Details
Viper 7.0 / 7.1
Dec 2006
-
Present
Viper 7.1 is the latest version of Viper, written from scratch in .NET 3.5 (C#, C++/CLI and IronPython). A Winforms app, it uses SQL Server 2005 as the backend and talks to a lower level Java library through CORBA.
-
Suggested and implemented IronPython scripting support. Helps developers look at and change state of running application and write automated integration tests.
-
Designed and implemented critical pieces of the software, like job management, sequencing of wafer inspection and post processing, and pausing/resuming/aborting of operations, all of which were heavily multithreaded.
-
Wrote several generic reusable lower level classes, like LazyWeakProxy and Workflow.
-
Helped design and implementation of lazy loading of properties from DB, using Castle DynamicProxy.
-
Designed and implemented error handling framework, diagnostic framework and several UI controls that required custom drawing and real time updates.
-
Ported Factory Automation code (20K lines) to work with the new version.
Viper 6.1
Oct 2004
-
Dec 2006
Viper 6.1 is a Winforms application, written in .NET 1.1, with SQL Server 2000 as the backend.
-
Implemented several Factory Automation and material handling related features, including inter-lot pipelining, which dramatically increases application throughput..
-
Resolved hundreds of customer issues, including memory leaks, race conditions and data corruptions. Was sent as the first choice to Japan to resolve a critical customer issue. Was instrumental in increasing the MTBA (Mean Time Between Assists) from less than 20 hours to more than 80 hours.
KT FA
Dec 2003
-
Oct 2004
KT FA is a COM library written in C++, with a MFC GUI for viewing state and exercising the library. It implements several Factory Automation standards and is intended to be used by all KLA-Tencor equipment software, saving money and standardizing the implementation in the process.
-
Quickly got up to speed with the code, COM and STL, and was granted check-in rights in record time.
-
Added several APIs and implemented them using C++, using advanced language features like template template classes.
-
Became an expert in SSL (Secsim Pro Scripting Language), a dynamically typed interpreted language that runs on Secsim Pro, a host simulator.
-
Made small additions and changes to the GUI.
Recent
Cicero [still under development] (
http://cicero.codeplex.com ) is a managed library that uses DbgEng and SOS under the covers to provide programmatic access to managed crash dumps.
Undisposed (
http://undisposed.codeplex.com ) is a tool written in C# / C++/CLI that uses the CLR profiling COM API to monitor finalizations and object creations and report all undisposed objects with stack traces for the respective constructors
Wami (
http://www.codeplex.com/wami ), written in C#, is a Windows mobile application that uses cell broadcast information freely broadcast by service providers to provide location tracking.
findrefs (
http://www.codeplex.com/findrefs ) is a console app written in C#, that analyses .NET assemblies and lists references to types outside the current assembly. Useful for finding dependencies.
During College
Microsoft MVP in Visual C# (2006 - 2008)
Received "Certificate of Excellence" from KLA-Tencor (HCL Tech's client)
Was ranked 47 among tens of thousands of participants in Google India CodeJam 2005
Bachelor of Engineering in Computer Science and Engineering, Thiagarajar College of Engineering, 2003. 83% (Average)