• Home
  • About
    • Anirban photo
    • About Me
    • Email
  • Blog Posts
    • Writings
    • Tags
  • Skill Set

Skill Set

General

  • Languages: Well-versed in English, which includes fluent conveyance of my thoughts and straightforward communication aspects while using the language. Apart from my vernaculars, I learnt French and although inadvertently, dialects from anime made me learn a bit of Japanese as well.
  • Creative Writing: Expressive in penning down my thoughts, with clarity and quality embedded in my writings.
  • Time Management: Punctual and active, working as per set schedules and efficiently handling designated work before deadlines.
  • Mathematics: Fairly good at computational and discrete mathematics, linear algebra, number theory and probability (plus statistics).
  • Logical/Analytical Reasoning: Adept at critical thinking from different perspectives based on my observation, which occasionally includes out-of-the-box approaches for something which needs to be sorted out.
  • 130+ wpm: Reasonably fast typing speed, with a hold of muscle memory (touch typing), thanks to years of experience playing games and then, of course, coding!
  • Artwork: Fortified over my childhood pastime of sketching, I love to create illustrations (logos for instance) and portray something without words.

In addition to the above, I have decent interpersonal skills which help me to collaborate, work and socialize with different homo sapiens in various aspects, which include listening to their ideas or point of view, questioning when in doubt, conveying my thoughts with lucidity, and most importantly, understanding situations in their shoes’.

Technical

  • Coding: Focused on writing clean/readable, organized/maintainable and performant code with significant proficiency in C, C++ and R, among other languages. Fairly experienced at using UNIX platforms (Linux/OS X) via the terminal, and at creating shell scripts for automating tasks of basic to intermediate difficulty as well.
  • Debugging: Dealing with loopholes and corner cases, avoiding segfaults and memory leaks, performing preemptive bug checks, fuzzing and rooting out scenarios which presumably could result in undefined behaviour. Tools include GDB, Valgrind and various fuzzers.
  • Unit Testing: Previously tried/worked with testthat and tinytest for R, JUnit for Java, Google Test for C++ (with the VS-specific plugin Visual Assert) and automatic parameterized unit test case generators/fuzzers such as DeepState.

Programming

Language Speciality Lines of code Recent stack
R Complexity testing, Benchmarking, Statistical data analysis and visualization 5,000+ Grid Graphics, S3 Object-oriented system
C Parallel Programming (POSIX/Pthreads API), Creating USB drivers 5,000+ Bit Fields, ns3, Socket programming (TCP/IP)
C# Coding scripts for games in Unity 2,500+ Raycasts, Delegates and events
C++ DSA, OOP, Competitive programming, C++ 11-17 12,500+ Concepts (C++ 20), Modules, Smart pointers, Templates
SQL Writing complex queries 1,000+ Triggers, Procedures
Java DSA, OOP, Multi-threading, .doc/.pdf content extraction, JFrame (Swing) 5,000+ Spring Boot, Hibernate (for ORM), Junit
Julia Numerical computation 500+ Views, Dispatch system
Shell Unix/Bash scripting 2,500+ Regular expressions
Latex Technical documentation (Vignettes and Rmds in R for instance), Resume/Paper template creation 1,500+ graphicx, algorithmicx, AMS-Latex
CUDA GPGPU Computing 1,000+ Shared memory kernels
Kotlin .doc/.pdf content extraction, Compose Multiplatform 1,500+ Lambdas, Mutable collections
Golang Inter-goroutine communication via channels 1,000+ Concurrency patterns, Modules
Python Backend development (Django), Numerical analysis, Data visualization 5,000+ Image processing, subprocess handling, Tensorflow
JavaScript Building functionally sound UI components 1,000+ Node.js, React.js

Using lines of code as a metric to represent (albeit, approximately) the amount of versatile code written in the language.


Environments: OS X, Linux, Windows, WSL (Docker/VSC), Slurm, and Node.
Developer Tools: Git, GitHub Actions, perf, Homebrew, Azure, (C)Make, Maven, and Gradle.
Paradigms: Agile development, RAII, object oriented, functional, DRY and generic programming.
Libraries/Frameworks:

  • Frontend
    • React and Bootstrap.
  • Cpp
    • Standard Template Library, Boost, and Qt.
  • Py
    • Django, OpenCV, Tensorflow, NumPy, SciPy, PIL, re, os, subprocess, qrcode, hashlib.
  • Java
    • Apache PDFBox, Apache POI, JUnit, and JavaFX (FXML GUIs, in addition to the base Jframe).
  • R
    • devtools, dplyr, ggplot2, grid, testthat, reprex, covr, directlabels, bench, microbenchmark, etcetera.

Web-scripting/Markup/Text-formatting/Data-serialization languages: HTML, CSS, Markdown, Rmarkdown, Tex, MathML, XML, YAML, JSON.
Software Development: Version control, CI/CD workflow automation, unit testing, code coverage, maintainence, technical documentation and open-source collaboration.

Scripting Tools

Among code editors and related software, I’m familiar with the interface and usage of:

Tool Type
Atom Text Editor
Nano Text Editor
Sublime Text Editor
Unity Game Engine
Spyder IDE
Eclipse IDE
Rstudio IDE
IntelliJ IDEA IDE
Visual Studio IDE

Miscellaneous: Corsix Studio (modding games, mostly dealing with .lua scripts), Adobe Illustrator (logo designing), Animotica/Capcut (video editing) and OBS Studio (screen recording for project demos, tutorials, and gameplay).


➤ Online Learning Resources • C/C++:
Cppreference website, TheCherno's C++ Playlist, Jason turner's C++ Weekly, Meeting C++ talks, Bjarne Stroustrup's 'The C++ programming language' book, Cpp conferences, CoffeeBeforeArch

• C# + Game development in Unity:
Documentation{Unity 3D, Microsoft C#}, Brackeys' tutorials (+ Dani's videos for fun)

• Java:
Documentation{Oracle}, YouTube{Coding with John, Java Brains}

• Web & Software Development:
YouTube{Fireship, Tech with Tim, devaslife, freeCodeCamp}, various blogs on CSS (Sarah Drasner and Josh W. Comeau for example, over the top of my head)

• Language Comparisons:
ContextFree
➤ Other Skills • ASCII art
• Google-fu
• Mind mapping
➤ Setup • Phone: Red Magic 7 Supernova
• Laptops: Macbook Pro 16" M1, Asus Strix Scar 17
Latest version of my work laptop, one that acts as a GDS, facilitating transmission of up/downlinked telemetry data to and from the moon, and one that covers some of my interests with relevant stickers atop =)