Learn More About Jarmos

Hi there! ūüĎč

My name is Somraj Saha but you can address me as "Jarmos". I'm a freelance Software Developer & Technical Writer. And this personal space on the vast Internet is where I share my knowledge & experience as a self-taught programmer.

Since I'm self-taught too, I try to help those out who are in a similar situation like I was in, a couple of years ago. So, if you're teaching yourself to code, go check out my newsletter - "Musings of a Self-Taught Developer" where I share advice & tips for self-taught programmers out there.

That said, I've over 6 years of programming experience & working with clients from various backgrounds. If you own a business & need an experienced helping hand, feel free to reach out to me! You can find my contact details below at - "How to Contact Me".

About my Tool Belt

Over the years I've had ample opportunities to work with countless technologies! Some I enjoy working with & some I don't. Regardless, this section of the article details every tool I know of & use it on a day-to-day basis:

Programming Languages:

  1. Python  for scripting & backend development like building REST APIs. And to be honest, I'm not a big fan of the language but does hold a special place in my tool belt since its the first language I ever learned! It's also fairly easy & quick to write a REST APIs with its frameworks and/or scripting, so I don't see any reason to ditch it (yet).
  2. TypeScript for working on frontend projects because I feel Microsoft has done a great job at somewhat standardizing the JavaScript syntax. Not only is the language statically-typed but it deals with JavaScript's idiosyncracies behind-the-scenes letting me focus on writing good software instead.
  3. Lua  is one language which I don't enjoy working with! Its syntax is too minimal for my preference & it makes it difficult to visualize how data is being processed within Lua objects. For now I only use it for configuring & playing around with Neovim but I'm aware of its widespread usage!
  4. Golang (or in short "Go"), so far has been a wonderful language to work because of its "best of both the worlds" approach! I'm not very proficient with it yet but hey "practice makes perfect", right?

Frameworks & Libraries

  1. Next.js¬†is a¬†React.js¬† framework for building well-optimized¬†Server-Side Rendering (SSR)¬†&¬†Client-Side Rendering (CSR)¬†based¬†Single Page Applications (SPA)! And guess what? The site you're on right now, is also built on Next.js as well! ūüėÖ
  2. FastAPI is an asynchronous Python framework for building REST API endpoints. I enjoy working with it mainly for its speed, ease of usage & the builtin Swagger docs.
  3. TailwindCSS  for styling frontend projects because aligning divs with vanilla CSS is painful & inefficient. Its utlity classes helps me customize the styling of a website at a very low level.
  4. Chakra UI which is a React.js-based UI kit for quickly customizing a website using ready-made React Components. And this site made using components made available through Chakra UI.
  5. Hygraph CMS (previously known as "GraphCMS") is a hosted GraphQL-based Content Management System (CMS). And its my current choice for delivering & managing content on the platform you're on right now.

Other Development Tools

Software Developers are "naked" without their preferred tools besides the ones mentioned above! And I'm no different from them either. Hence following are the development tools I use every day to write good software:

  1. Ubuntu is a Linux-based Operating System (OS) & my current preferance of a primary OS to work with. I cannot imagine writing a single line of code (like ever) without Linux support (which is kinda unfortunate in my honest opinion).
  2. Visual Studio Code (or in short VSCode) is my preferred choice of an Editor/IDE for writing code (for now).
  3. GitHub is where I store, backup & version-control all my software development projects (until I can build my own homelab).
  4. Neovim for those rare moments when I quickly need to edit some source code & when loading VSCode might be too time-consuming!
  5. Docker for containerising my projects for easier development & production deployment.

My Hobbies

I don't spend all my free time writing code (but I kinda do). I do have some hobbies I'm passionate about & spend most of my time on those when not writing or working with a client. Some such hobbies are:

  1. Contributing to the Free & Open-Source Software (FOSS) community.
  2. Sharing knowledge & educating other self-taught software developers through my newsletter & other means like social media.
  3. And a little of gaming. ūüėõ

How to Contact Me

My inbox is always open for conversations & here are all the places you can either find me or drop me a message: