Codewithajoydas LogoCodewithajoydas.
  • Home
  • About
  • Skills
  • Projects
  • Lab
  • Experience
  • Articles
  • Contact
Codewithajoydas LogoCodewithajoydas.
  • Home
  • About
  • Skills
  • Projects
  • Lab
  • Experience
  • Articles
  • Contact

© 2026 Codewithajoydas

Experience

A journey from
learning to building.

I'm an independent developer building my own software, exploring engineering concepts, and continuously turning what I learn into working systems.

01

Independent developer

04+

Major software projects

∞

Things left to learn

Not a traditional career timeline

I'm building my career by building software.

My experience cannot be accurately represented by a list of companies and job titles. I work independently, build my own software, study engineering concepts, and use projects as a way to develop deeper technical ability.

That means my journey is closely connected to the things I build. Each project introduces new problems, and each problem forces me to learn something that the previous project did not require.

Over time, the focus has moved from simply making software work toward understanding how complete systems should be designed, structured, tested, maintained, and improved.

Development journey

How the journey evolved.

Each stage built on the previous one. The goal was never to collect technologies. The goal was to become capable of building increasingly complete software.

01

Foundation

Learning the fundamentals

My development journey started with understanding the fundamentals rather than immediately depending on frameworks. JavaScript, HTML, CSS, programming concepts, browser APIs, asynchronous programming, and the mechanics behind the web became the foundation for everything that followed.

JavaScript fundamentals and advanced language mechanics
DOM and browser APIs
Asynchronous JavaScript and Promises
Object-oriented and functional programming
HTML and CSS fundamentals
Understanding how web applications work
02

Projects

Moving from learning to building

After learning individual concepts, I started connecting them through practical projects. Instead of treating learning as an isolated activity, projects became a way to discover where concepts actually matter.

Building complete applications
Working with frontend and backend code
Connecting applications to databases
Designing APIs and application workflows
Learning through debugging real problems
Improving projects after the first working version
03

Independent Development

Building my own software

My focus gradually moved toward building software that solves actual problems. This includes developer tools, full-stack applications, backend systems, and utilities designed around real workflows.

Building independent software products
Creating developer tooling
Working with authentication and databases
Designing reusable application architecture
Building CLI applications
Exploring full-stack product development
04

Engineering

Going deeper into engineering

Building larger applications naturally introduced questions beyond simply making something work. Architecture, scalability, maintainability, performance, testing, deployment, and system design became increasingly important.

System design
Software architecture
Backend architecture
Performance optimization
Testing and reliability
CI/CD and deployment workflows

Engineering experience

What building has taught me to work with.

01

Frontend Engineering

Building interfaces with React, Next.js, HTML, CSS, and modern frontend tooling while keeping usability and maintainability in mind.

02

Backend Engineering

Working with Node.js, Express.js, APIs, authentication, databases, server-side logic, and application workflows.

03

Database Engineering

Working with MongoDB, Mongoose, data modeling, relationships, queries, and the role databases play inside application architecture.

04

Developer Tooling

Building CLI tools, project generators, utilities, and development workflows that reduce repetitive work.

05

Architecture

Learning how applications should be structured so individual components can evolve without making the entire system difficult to maintain.

06

Engineering Workflow

Working with Git, GitHub, package management, bundlers, testing, CI/CD, and the broader software development workflow.

My development loop

How I turn a concept into experience.

Building software is not a straight line. I repeatedly move between learning, experimenting, building, debugging, and improving.

01

Learn

Study the underlying concept and understand why it exists.

02

Experiment

Create small implementations to understand how the concept behaves.

03

Build

Apply the concept inside a larger project with real constraints.

04

Break

Find edge cases, bugs, limitations, and architectural problems.

05

Improve

Refactor the implementation and improve the surrounding system.

06

Understand

Extract the deeper lesson and carry it into the next project.

Engineering principles

The principles behind the work.

These principles influence how I approach learning, projects, architecture, debugging, and continuous improvement.

01

Understand first

I try to understand what is happening underneath a technology instead of treating it as a black box.

02

Build to learn

Projects turn abstract concepts into practical engineering experience.

03

Keep fundamentals strong

Framework knowledge is useful, but strong fundamentals make it easier to learn whatever comes next.

04

Solve real problems

Building software around actual problems creates better constraints and better learning opportunities.

05

Improve the second version

The first working implementation is rarely the final implementation. Refactoring and iteration are part of the process.

06

Think beyond the code

A useful software system involves architecture, workflow, deployment, maintenance, and the people using it.

Right now

What I'm working toward.

The goal is to move from knowing individual technologies toward being able to design and build complete, reliable software systems.

01Advanced JavaScript and TypeScript
02Node.js and backend engineering
03System design
04Software architecture
05Database design
06Web performance
07Testing
08CI/CD
09Developer tooling
10Full-stack application development

I'm not waiting for a job to build software.

Working independently gives me the freedom to choose what I build, what I study, and which engineering problems I want to explore next.

That also means taking responsibility for the entire process: understanding the problem, designing the solution, writing the code, debugging it, learning what I do not know, and improving the final system.

Independent development

Define the problem

Design the solution

Build the software

Test and debug

Learn and improve

Next chapter

Build larger systems. Understand them more deeply.

The next stage is not about collecting more technologies for the sake of having a longer skills list. It is about taking the technologies I already know and combining them into more complete, reliable, and thoughtfully designed software.

See what I'm building

01

About me

Learn more about the person behind the software.

02

Skills

Explore the technologies and engineering areas I work with.

03

Projects

See the software where this experience has been applied.

Let's build

Have an idea worth turning into software?

I'm always interested in practical problems, interesting systems, and opportunities to build something useful.

Start a conversation
Codewithajoydas

Software developer building applications, developer tools, experiments, and systems while continuously learning.

Explore

ProjectsSkillsExperience

About

About MeContact

Connect

© 2026 Codewithajoydas. All rights reserved.

Built with Next.js & Tailwind CSS