This README provides an overview of my experience in software development, along with the tools and technologies I have worked with throughout my career. My background spans various software development methodologies, tools, and frameworks, including both front-end and back-end development, cloud solutions, and DevOps practices.
I am a software developer with expertise in building and optimizing multi-platform applications, transforming legacy systems, and leading data-driven development projects. My focus includes cloud-native solutions, data visualization, and automation in software development.
- Cross-Platform Development: Designed and developed multi-platform starter applications, including Android and web-based TAK (Tactical Assault Kit) apps.
- Cloud Modernization: Spearheaded the transformation of legacy systems to cloud-ready solutions using modern cloud architecture principles.
- Automation: Implemented CI/CD pipelines and automation tools to streamline development workflows, significantly reducing manual processes and errors.
- Mentorship: Trained over 300 engineers on various software development tools, processes, and technologies.
- Languages: Java, Kotlin, Python, JavaScript, TypeScript, C++
- Frameworks: Spring Boot, FastAPI, Flask, Jetpack Compose, React, MUI
- Cloud Platforms: Google Cloud Platform (GCP), AWS, Heroku
- DevOps Tools: Docker, Kubernetes, Jenkins, GitLab CI/CD, Nginx, Uvicorn
- Version Control: Git, GitHub, GitLab, Azure DevOps
- Testing: JUnit, LocustIO, Selenium, PyTest
- Data Visualization: Palantir Foundry, Seaborn, Matplotlib, Pandas
- Other Tools: Jira, Asana, ClickUp, Figma, Adobe XD
- Git: I use Git for source code management in all my projects. Git’s branching, merging, and history-tracking features make it essential for collaborative work.
- GitHub & GitLab: I use GitHub for hosting repositories and collaborating on open-source projects. GitLab is my go-to for integrated DevOps workflows and CI/CD pipelines.
- Docker: Docker containers allow me to create consistent development environments across multiple machines and ensure smooth deployments in production.
- Kubernetes: Used to manage containerized applications, Kubernetes helps me scale applications automatically and handle orchestration across clusters.
- Jenkins: For CI/CD pipelines, Jenkins is an essential tool for automating builds, tests, and deployments.
- Nginx: Nginx acts as a reverse proxy, handling load balancing and optimizing web server performance for my deployed applications.
- Google Cloud Platform (GCP): I have utilized GCP for hosting scalable applications and managing cloud infrastructure for various microservices.
- AWS: I also use AWS for S3 storage, EC2 for compute services, and Lambda for serverless functions.
- Heroku: For fast and easy deployment of web applications, I often use Heroku to deploy, manage, and monitor applications, especially during the testing phase.
- Spring Boot: My primary framework for building Java-based microservices, allowing for rapid development and integration with various tools.
- FastAPI & Flask: I use Python-based frameworks for creating RESTful APIs, focusing on fast development and ease of deployment.
- React: I use React for building dynamic user interfaces with reusable components.
- MUI (Material-UI): MUI is my go-to library for creating responsive, accessible, and aesthetically pleasing front-end designs.
- Jetpack Compose: For Android development, I use Jetpack Compose to build modern UIs with Kotlin.
- Palantir Foundry: I leverage Palantir Foundry for advanced data analytics, visualization, and collaboration in data-driven projects.
- Pandas: Pandas is my preferred Python library for data manipulation and analysis, particularly when working with structured datasets.
- Seaborn & Matplotlib: These libraries enable me to create informative, high-quality visualizations to represent data insights effectively.
- Agile Development: I adopt Agile principles, focusing on iterative development, continuous feedback, and adaptive planning.
- Test-Driven Development (TDD): Writing tests before code ensures that my applications are reliable and maintainable from the ground up.
- Continuous Integration/Continuous Deployment (CI/CD): Automating builds and deployments through Jenkins and GitLab CI/CD allows me to catch issues early and release updates quickly.
- TAK Server Cloud Transformation: Led the modernization of TAK Server to align with cloud-native practices, improving scalability and resilience.
- Army Pulse Dashboard: Developed a front-end dashboard in Palantir Foundry, allowing VIPs to monitor key metrics across multiple domains.
- Manifest Generator: Automated the customization and deployment of infrastructure configurations for platform engineers.
My journey in software development has been defined by a passion for building efficient, scalable, and innovative solutions. By leveraging modern tools and technologies, I aim to continue contributing to cutting-edge projects and driving digital transformation. This README offers a glimpse into my experience and the tools that have shaped my development workflow.