SlideShare a Scribd company logo
1 of 3
Download to read offline
18+ years of professional experience as software developer, mentor & leader.
Presented talks at several international programming conferences.
Written 6 books on different programming related topics.
Automation enthusiast and perpetual learner with broad perspective.
PUBLISHED BOOKS
ML.NET Revealed (2020)
A hands-on guide to begin
your adventure in Machine
Learning using open source,
cross platform ML.NET
framework.
Source Code Analytics (2017)
A hands-on guide to analyze
source code using meta-
programming with Microsoft
Roslyn.
F# for Machine Learning
Essentials (2016)
Solving several Machine
Learning problems from
ground up using F#.
Dr. Ralf Herbrich, then
Director of Machine
Learning Science, Amazon
wrote foreword for the
book.
Thinking in LINQ (2014)
Several problems from
different domains are solved
using LINQ and C#, to hammer
show how functional
programming concepts can
lead to cleaner, concise and
maintainable code to solve
complex problems.
.NET Generics Beginners
Guide(2012)
Generics programming for new
.NET developers. Dr. Don Syme
and Dr. Andrew Kennedy from
Microsoft Research, UK wrote
foreword for the book.
SUDIPTA MUKHERJEE
SOFTWARE ENGINEER | AUTHOR | SPEAKER| TINKERER
WORK EXPERIENCE
Freelance Software Developer • July 2022 – Present
Have been working as a freelance software engineer working on
projects in source code analysis and process mining domain using
C#, F# and Python.
Lead Backend Developer • Phosphor.co • Dec 2021 – July 2022
Implemented several features of the domain specific language for
financial transaction modelling language using Python and F#.
COMPILER TECH LEAD • OutSystems • MARCH 2021 – OCT 2021
Helped create a new team for making a massive rewrite of the
code generation infrastructure of the transpiler that translates
C# and JS code from OutSystems Language. Led the team of 4
people. Made the code generation fast, discoverable, and
optimal.
SENIOR COMPILER ENGINEER • RAINCODE LABS • NOV 2016 – MARCH 2021
Worked in the code generation and semantic checker parts of
the new compiler for legacy programming languages (Mostly
4GLs). We created a new compiler for an old language and
target platform was MSIL. I was responsible for all code
generation and semantic checks and error reporting (mostly all
the compiler backend).
Automated documentation (for the most part) for the user
manual for all the compiler products. So, whenever we change
our code, documentation automatically changes to reflect it
not just in developer docs but in all user manuals.
SENIOR ENGINEER • EPICOR • AUGUST 2015 – AUGUST 2016
Worked in the tools and performance engineering group
to identify bottlenecks in several projects.
Created a Source Code Analytics system using Roslyn and
JavaScript Data Visualization. Later wrote about the experience
as a book (Source Code Analytics)
SYSTEM SOFTWARE ENGINEER II• HP • MARCH 2010 – JULY 2015
Designed and implemented a Domain Specific Language
(DSL) for defining UI constraints for different type of printers.
This replaced old XML based system as it reduced typing
needs drastically and offered almost flat learning curve
because of its resemblance with plain English.
Data Structure using C: 1000
Problems and Solutions (2008)
An undergraduate textbook on
Data Structure and related
algorithms. It got
translated to
simplified
Chinese
OPEN-SOURCE
PROJECT
Author of Squirrel. (The only
Cross Platform Agile Data
analytics Framework for
.NET [5600+ NuGet Download]
SKILLS/INTERESTS/HOBBIES
Framework Design; Data
Structures; Algorithms; Tools
Development; Text
Processing; Machine Learning;
Domain Specific
Languages(DSLs); Unit Testing;
Machine Learning; Usability;
Refactoring; Web Crawlers;
Data Analysis; Technical
Writing; Sketching; Geometry;
Programming Language Design.
Meta Programming, Software
Forensics.
COMMUNITY
RECOGNITION
Recognized F# Expert
Granted for contribution to F#
Eco system on Applied F#
Challenge.
Invented a programmable and distributable key value pair
storage format called “Sponge” for efficiently storing
iterative and repetitive data. This used 75% less storage
space than equivalent XML documents
TECHNICAL LEAD• NESS TECHNOLOGIES • APRIL 2009 – MARCH 2010
Built a data structure called “Affinity Map” and then used it in a
supervised learning algorithm to do auto-categorization of
banking transactions. This tagged unknown transactions with
85% accuracy.
Created a static code analysis tool. It could find near duplicate
code and supported a part of Code Query Language. This tool
was used to mine sections of the code for identifying code blocks
to refactor to reduce technical debt. This was done much before
Roslyn. Had written the parser and analyzer myself. It was
glitchy but worked on most of the cases.
TECHNICAL LEAD• NESS TECHNOLOGIES • APRIL 2009 – MARCH 2010
Built a data structure called “Affinity Map” and then used it in a
supervised learning algorithm to do auto-categorization of
banking transactions. This tagged unknown transactions with
85% accuracy.
Mentored and managed a team of developers and testers.
ASSOCIATE CONSULTANT• TATA CONSULTANCY SERVICES • NOV 2004 –
MARCH 2009
Implemented Affiliate Management Platform and Web
Application for Citibank. I started as a software developer and
eventually became the team lead to lead a group of 5 people.
Created a data mining tool for project support team. This tool can
read emails sent as support tickets and classify problems in
different problem domains. Later this tool sent emails to
respective support engineers.
LANGUAGES/TOOLS
Programming Languages
C, C++, C#, F#, Python, Kotlin
Unit Testing
NUnit, MSTest, Expecto
Frameworks
LINQ, Roslyn, Rx.NET, TPL,
STL, Pandas, NumPy
Databases
SQL Server, SQLLITE, Oracle
IDEs/Editors
Visual Studio, VSCode,
IntelliJ IDEA, Sublime,
Jupyter Notebooks,
LINQPad, .NET
Interactive
Tech Writing
Markdown,
Asciidoctor, Mermaid,
GraphViz
Machine Learning
ML.NET, Accord.NET, PyTorch
Versioning
Git
EDUCATION/CERTIFICATIONS
B.E • 2004 • VIDYASAGAR UNIVERSITY
B.E. in Electronics and Communication Engineering GPA: 8.0 out of 10
Certification on Python Foundation offered by Udacity.
Certification on Machine Learning from Coursera offered by
Andrew Ng from Stanford University. View my certificate here.
CONFERENCE TALKS
Meta Programming for the Masses: Programming 2020
(Cancelled due to COVID-19). Will try to deliver it in person
at a later date.
Practical Machine Learning using F# (Workshop): F# Exchange
2019 in London based on the F# for Machine Learning
Essentials book.
Creating DSLs using Functional Kotlin: A talk on how to create
DSLs using Kotlin in Functional Programming Conference
2018.
Practical Machine Learning using F#: At Functional Programming
Conference in 2015, I gave this talk based on my “F# for
Machine Learning Essentials” book.
https://confengine.com/functional-conf-
2015/proposal/1211/practical-machine-learning-in-f
Thinking in LINQ: At Functional Programming Conference in 2014,
I gave this talk based on my “Thinking in LINQ” book.
https://confengine.com/functional-conf-
2014/proposal/690/thinking-in-linq

More Related Content

Similar to Sudipta_Mukherjee_Resume_APR_2023.pdf

12 best programming languages for web & app development
12 best programming languages for web & app development12 best programming languages for web & app development
12 best programming languages for web & app developmentBiztech Consulting & Solutions
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?Markus Voelter
 
Cv 7830388-81894-rizwan-farooq
Cv 7830388-81894-rizwan-farooqCv 7830388-81894-rizwan-farooq
Cv 7830388-81894-rizwan-farooqRizwan Farooq
 
Jeff Olson\'s Resume
Jeff Olson\'s ResumeJeff Olson\'s Resume
Jeff Olson\'s ResumeJeff Olson
 
GDSC career guide presentation.pptx
GDSC career guide presentation.pptxGDSC career guide presentation.pptx
GDSC career guide presentation.pptxDishaSharma737984
 
GDSC career guide presentation.pptx
GDSC career guide presentation.pptxGDSC career guide presentation.pptx
GDSC career guide presentation.pptxAryanSharma853911
 
Software Developer's Journal - 02/2012
Software Developer's Journal - 02/2012Software Developer's Journal - 02/2012
Software Developer's Journal - 02/2012Ricardo Peres
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfssuserbe139c
 
.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptxEllenGracePorras
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data TypesKaty Allen
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkJanBask Training
 
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfTop Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfJamesEddie2
 
London Atil | The Guide to Thriving as a Full Stack Software Engineer
 London Atil | The Guide to Thriving as a Full Stack Software Engineer London Atil | The Guide to Thriving as a Full Stack Software Engineer
London Atil | The Guide to Thriving as a Full Stack Software EngineerLondonAtil1
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltreMarco Parenzan
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
Latest_Edwin_Alberto_Arias_Espinoza
Latest_Edwin_Alberto_Arias_EspinozaLatest_Edwin_Alberto_Arias_Espinoza
Latest_Edwin_Alberto_Arias_EspinozaEdwin Espinoza
 

Similar to Sudipta_Mukherjee_Resume_APR_2023.pdf (20)

12 best programming languages for web & app development
12 best programming languages for web & app development12 best programming languages for web & app development
12 best programming languages for web & app development
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
 
Cv 7830388-81894-rizwan-farooq
Cv 7830388-81894-rizwan-farooqCv 7830388-81894-rizwan-farooq
Cv 7830388-81894-rizwan-farooq
 
Intro1
Intro1Intro1
Intro1
 
Computer programminglanguages
Computer programminglanguagesComputer programminglanguages
Computer programminglanguages
 
Jeff Olson\'s Resume
Jeff Olson\'s ResumeJeff Olson\'s Resume
Jeff Olson\'s Resume
 
GDSC career guide presentation.pptx
GDSC career guide presentation.pptxGDSC career guide presentation.pptx
GDSC career guide presentation.pptx
 
GDSC career guide presentation.pptx
GDSC career guide presentation.pptxGDSC career guide presentation.pptx
GDSC career guide presentation.pptx
 
Software Developer's Journal - 02/2012
Software Developer's Journal - 02/2012Software Developer's Journal - 02/2012
Software Developer's Journal - 02/2012
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
 
.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net framework
 
Resume
ResumeResume
Resume
 
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfTop Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
 
London Atil | The Guide to Thriving as a Full Stack Software Engineer
 London Atil | The Guide to Thriving as a Full Stack Software Engineer London Atil | The Guide to Thriving as a Full Stack Software Engineer
London Atil | The Guide to Thriving as a Full Stack Software Engineer
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
Resume dilip kumar_gangwar
Resume dilip kumar_gangwarResume dilip kumar_gangwar
Resume dilip kumar_gangwar
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Latest_Edwin_Alberto_Arias_Espinoza
Latest_Edwin_Alberto_Arias_EspinozaLatest_Edwin_Alberto_Arias_Espinoza
Latest_Edwin_Alberto_Arias_Espinoza
 

Recently uploaded

办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改yuu sss
 
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一lvtagr7
 
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一F La
 
Black and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfBlack and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfpadillaangelina0023
 
Application deck- Cyril Caudroy-2024.pdf
Application deck- Cyril Caudroy-2024.pdfApplication deck- Cyril Caudroy-2024.pdf
Application deck- Cyril Caudroy-2024.pdfCyril CAUDROY
 
MIdterm Review International Trade.pptx review
MIdterm Review International Trade.pptx reviewMIdterm Review International Trade.pptx review
MIdterm Review International Trade.pptx reviewSheldon Byron
 
Ethics of Animal Research Laika mission.ppt
Ethics of Animal Research Laika mission.pptEthics of Animal Research Laika mission.ppt
Ethics of Animal Research Laika mission.pptShafqatShakeel1
 
Kindergarten-DLL-MELC-Q3-Week 2 asf.docx
Kindergarten-DLL-MELC-Q3-Week 2 asf.docxKindergarten-DLL-MELC-Q3-Week 2 asf.docx
Kindergarten-DLL-MELC-Q3-Week 2 asf.docxLesterJayAquino
 
Digital Marketing Training Institute in Mohali, India
Digital Marketing Training Institute in Mohali, IndiaDigital Marketing Training Institute in Mohali, India
Digital Marketing Training Institute in Mohali, IndiaDigital Discovery Institute
 
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一2s3dgmej
 
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一A SSS
 
Back on Track: Navigating the Return to Work after Parental Leave
Back on Track: Navigating the Return to Work after Parental LeaveBack on Track: Navigating the Return to Work after Parental Leave
Back on Track: Navigating the Return to Work after Parental LeaveMarharyta Nedzelska
 
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
Call Girl in Low Price Delhi Punjabi Bagh  9711199012Call Girl in Low Price Delhi Punjabi Bagh  9711199012
Call Girl in Low Price Delhi Punjabi Bagh 9711199012sapnasaifi408
 
Ch. 9- __Skin, hair and nail Assessment (1).pdf
Ch. 9- __Skin, hair and nail Assessment (1).pdfCh. 9- __Skin, hair and nail Assessment (1).pdf
Ch. 9- __Skin, hair and nail Assessment (1).pdfJamalYaseenJameelOde
 
定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一
 定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一 定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一
定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一Fs sss
 
Storytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyStorytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyOrtega Alikwe
 
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...nitagrag2
 
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证diploma001
 

Recently uploaded (20)

办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
 
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
 
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
 
Black and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfBlack and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdf
 
Application deck- Cyril Caudroy-2024.pdf
Application deck- Cyril Caudroy-2024.pdfApplication deck- Cyril Caudroy-2024.pdf
Application deck- Cyril Caudroy-2024.pdf
 
MIdterm Review International Trade.pptx review
MIdterm Review International Trade.pptx reviewMIdterm Review International Trade.pptx review
MIdterm Review International Trade.pptx review
 
FULL ENJOY Call Girls In Gautam Nagar (Delhi) Call Us 9953056974
FULL ENJOY Call Girls In Gautam Nagar (Delhi) Call Us 9953056974FULL ENJOY Call Girls In Gautam Nagar (Delhi) Call Us 9953056974
FULL ENJOY Call Girls In Gautam Nagar (Delhi) Call Us 9953056974
 
Ethics of Animal Research Laika mission.ppt
Ethics of Animal Research Laika mission.pptEthics of Animal Research Laika mission.ppt
Ethics of Animal Research Laika mission.ppt
 
Kindergarten-DLL-MELC-Q3-Week 2 asf.docx
Kindergarten-DLL-MELC-Q3-Week 2 asf.docxKindergarten-DLL-MELC-Q3-Week 2 asf.docx
Kindergarten-DLL-MELC-Q3-Week 2 asf.docx
 
Young Call~Girl in Pragati Maidan New Delhi 8448380779 Full Enjoy Escort Service
Young Call~Girl in Pragati Maidan New Delhi 8448380779 Full Enjoy Escort ServiceYoung Call~Girl in Pragati Maidan New Delhi 8448380779 Full Enjoy Escort Service
Young Call~Girl in Pragati Maidan New Delhi 8448380779 Full Enjoy Escort Service
 
Digital Marketing Training Institute in Mohali, India
Digital Marketing Training Institute in Mohali, IndiaDigital Marketing Training Institute in Mohali, India
Digital Marketing Training Institute in Mohali, India
 
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一
定制(NYIT毕业证书)美国纽约理工学院毕业证成绩单原版一比一
 
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
 
Back on Track: Navigating the Return to Work after Parental Leave
Back on Track: Navigating the Return to Work after Parental LeaveBack on Track: Navigating the Return to Work after Parental Leave
Back on Track: Navigating the Return to Work after Parental Leave
 
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
Call Girl in Low Price Delhi Punjabi Bagh  9711199012Call Girl in Low Price Delhi Punjabi Bagh  9711199012
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
 
Ch. 9- __Skin, hair and nail Assessment (1).pdf
Ch. 9- __Skin, hair and nail Assessment (1).pdfCh. 9- __Skin, hair and nail Assessment (1).pdf
Ch. 9- __Skin, hair and nail Assessment (1).pdf
 
定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一
 定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一 定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一
定制(UOIT学位证)加拿大安大略理工大学毕业证成绩单原版一比一
 
Storytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyStorytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary Photography
 
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...
Escorts Service Near Surya International Hotel, New Delhi |9873777170| Find H...
 
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证
原版定制卡尔加里大学毕业证(UC毕业证)留信学历认证
 

Sudipta_Mukherjee_Resume_APR_2023.pdf

  • 1. 18+ years of professional experience as software developer, mentor & leader. Presented talks at several international programming conferences. Written 6 books on different programming related topics. Automation enthusiast and perpetual learner with broad perspective. PUBLISHED BOOKS ML.NET Revealed (2020) A hands-on guide to begin your adventure in Machine Learning using open source, cross platform ML.NET framework. Source Code Analytics (2017) A hands-on guide to analyze source code using meta- programming with Microsoft Roslyn. F# for Machine Learning Essentials (2016) Solving several Machine Learning problems from ground up using F#. Dr. Ralf Herbrich, then Director of Machine Learning Science, Amazon wrote foreword for the book. Thinking in LINQ (2014) Several problems from different domains are solved using LINQ and C#, to hammer show how functional programming concepts can lead to cleaner, concise and maintainable code to solve complex problems. .NET Generics Beginners Guide(2012) Generics programming for new .NET developers. Dr. Don Syme and Dr. Andrew Kennedy from Microsoft Research, UK wrote foreword for the book. SUDIPTA MUKHERJEE SOFTWARE ENGINEER | AUTHOR | SPEAKER| TINKERER WORK EXPERIENCE Freelance Software Developer • July 2022 – Present Have been working as a freelance software engineer working on projects in source code analysis and process mining domain using C#, F# and Python. Lead Backend Developer • Phosphor.co • Dec 2021 – July 2022 Implemented several features of the domain specific language for financial transaction modelling language using Python and F#. COMPILER TECH LEAD • OutSystems • MARCH 2021 – OCT 2021 Helped create a new team for making a massive rewrite of the code generation infrastructure of the transpiler that translates C# and JS code from OutSystems Language. Led the team of 4 people. Made the code generation fast, discoverable, and optimal. SENIOR COMPILER ENGINEER • RAINCODE LABS • NOV 2016 – MARCH 2021 Worked in the code generation and semantic checker parts of the new compiler for legacy programming languages (Mostly 4GLs). We created a new compiler for an old language and target platform was MSIL. I was responsible for all code generation and semantic checks and error reporting (mostly all the compiler backend). Automated documentation (for the most part) for the user manual for all the compiler products. So, whenever we change our code, documentation automatically changes to reflect it not just in developer docs but in all user manuals. SENIOR ENGINEER • EPICOR • AUGUST 2015 – AUGUST 2016 Worked in the tools and performance engineering group to identify bottlenecks in several projects. Created a Source Code Analytics system using Roslyn and JavaScript Data Visualization. Later wrote about the experience as a book (Source Code Analytics) SYSTEM SOFTWARE ENGINEER II• HP • MARCH 2010 – JULY 2015 Designed and implemented a Domain Specific Language (DSL) for defining UI constraints for different type of printers. This replaced old XML based system as it reduced typing needs drastically and offered almost flat learning curve because of its resemblance with plain English.
  • 2. Data Structure using C: 1000 Problems and Solutions (2008) An undergraduate textbook on Data Structure and related algorithms. It got translated to simplified Chinese OPEN-SOURCE PROJECT Author of Squirrel. (The only Cross Platform Agile Data analytics Framework for .NET [5600+ NuGet Download] SKILLS/INTERESTS/HOBBIES Framework Design; Data Structures; Algorithms; Tools Development; Text Processing; Machine Learning; Domain Specific Languages(DSLs); Unit Testing; Machine Learning; Usability; Refactoring; Web Crawlers; Data Analysis; Technical Writing; Sketching; Geometry; Programming Language Design. Meta Programming, Software Forensics. COMMUNITY RECOGNITION Recognized F# Expert Granted for contribution to F# Eco system on Applied F# Challenge. Invented a programmable and distributable key value pair storage format called “Sponge” for efficiently storing iterative and repetitive data. This used 75% less storage space than equivalent XML documents TECHNICAL LEAD• NESS TECHNOLOGIES • APRIL 2009 – MARCH 2010 Built a data structure called “Affinity Map” and then used it in a supervised learning algorithm to do auto-categorization of banking transactions. This tagged unknown transactions with 85% accuracy. Created a static code analysis tool. It could find near duplicate code and supported a part of Code Query Language. This tool was used to mine sections of the code for identifying code blocks to refactor to reduce technical debt. This was done much before Roslyn. Had written the parser and analyzer myself. It was glitchy but worked on most of the cases. TECHNICAL LEAD• NESS TECHNOLOGIES • APRIL 2009 – MARCH 2010 Built a data structure called “Affinity Map” and then used it in a supervised learning algorithm to do auto-categorization of banking transactions. This tagged unknown transactions with 85% accuracy. Mentored and managed a team of developers and testers. ASSOCIATE CONSULTANT• TATA CONSULTANCY SERVICES • NOV 2004 – MARCH 2009 Implemented Affiliate Management Platform and Web Application for Citibank. I started as a software developer and eventually became the team lead to lead a group of 5 people. Created a data mining tool for project support team. This tool can read emails sent as support tickets and classify problems in different problem domains. Later this tool sent emails to respective support engineers.
  • 3. LANGUAGES/TOOLS Programming Languages C, C++, C#, F#, Python, Kotlin Unit Testing NUnit, MSTest, Expecto Frameworks LINQ, Roslyn, Rx.NET, TPL, STL, Pandas, NumPy Databases SQL Server, SQLLITE, Oracle IDEs/Editors Visual Studio, VSCode, IntelliJ IDEA, Sublime, Jupyter Notebooks, LINQPad, .NET Interactive Tech Writing Markdown, Asciidoctor, Mermaid, GraphViz Machine Learning ML.NET, Accord.NET, PyTorch Versioning Git EDUCATION/CERTIFICATIONS B.E • 2004 • VIDYASAGAR UNIVERSITY B.E. in Electronics and Communication Engineering GPA: 8.0 out of 10 Certification on Python Foundation offered by Udacity. Certification on Machine Learning from Coursera offered by Andrew Ng from Stanford University. View my certificate here. CONFERENCE TALKS Meta Programming for the Masses: Programming 2020 (Cancelled due to COVID-19). Will try to deliver it in person at a later date. Practical Machine Learning using F# (Workshop): F# Exchange 2019 in London based on the F# for Machine Learning Essentials book. Creating DSLs using Functional Kotlin: A talk on how to create DSLs using Kotlin in Functional Programming Conference 2018. Practical Machine Learning using F#: At Functional Programming Conference in 2015, I gave this talk based on my “F# for Machine Learning Essentials” book. https://confengine.com/functional-conf- 2015/proposal/1211/practical-machine-learning-in-f Thinking in LINQ: At Functional Programming Conference in 2014, I gave this talk based on my “Thinking in LINQ” book. https://confengine.com/functional-conf- 2014/proposal/690/thinking-in-linq