SENTHIL KUMAR SELVARAJ III Floor, 28 Madley 2nd Street, senthil.thecoder at gmail dot com T. Nagar, 0000000000 Chennai 600017 http://senthilthecoder.info Summary ------- * Close to 5 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: "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" Technical Competencies ---------------------- Languages : C# 3.0, C++, Python, JavaScript, C++/CLI and Java. Can read MSIL and x86 assembly. Tools : Visual Studio .NET 2005/08, Rational Clearcase, TFS, Reflector, Windbg, SOS Databases : SQL Server Work Experience --------------- Technical Lead at HCL Technologies Ltd. Oct 2003 - Present [ C#, .NET 2.0, Winforms, Python, COM, C++, Windbg, SOS, Rational Clearcase ] * Rated "Outstanding" in every single performance review 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. Worked on multiple versions of Viper, a wafer inspection tool sold by KLA-Tencor, one of the world's premier semiconductor equipment manufacturing companies. Viper 7.0 Dec 2006 - Present, with 5 teammates. Viper 7.0 is the latest version of Viper, written from scratch in .NET 2.0 and C++/CLI. It's a Winforms app with SQL Server 2005 as the backend. 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. * 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, with 20 teammates. Viper 6.1 is a Winforms application, written in .NET 1.1, with SQL Server 2003 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, with 4 teammates. 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. In my spare time ------------ [ Recent ] * Published 11 articles in CodeProject (http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=492196) with an average rating of 4.15/5. One of the articles, "What's up with BeginInvoke", won the article of the month award in April 2005. * 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. * MethodLogger (http://msmvps.com/blogs/senthil/archive/2007/05/12/add-logs-to-the-start-and-end-of-methods.aspx) is a Visual Studio macro, written in VB .NET, that inserts custom code at the start and end of methods in a file. * AJAXAvailability (http://msmvps.com/blogs/senthil/archive/2007/11/10/greasemonkeying-around-with-irctc.aspx) is a Greasemonkey script, written in JavaScript, that modifies IRCTC's web page rendering to display availability inline, AJAX style. [ During College ] * Winmacro (http://geocities.com/win_macro) is a macro recorder/player for Windows written in C++. * The Genius (http://thegenius.sourceforge.net) is a chess program written in C++. * Winbots (http://senthilkumar.sourceforge.net is a combat simulator written in Java, where players write programs that compete with each other. Awards ------ * Microsoft MVP in Visual C# (2006 - Present) * Received "Certificate of Excellence" from KLA-Tencor (HCL Tech's client) * Was ranked 47 among thousands of participants in Google India CodeJam 2005 Education --------- Bachelor of Engineering in Computer Science and Engineering, Thiagarajar College of Engineering, 2003. 83% (Average)