Tools
Integrated Development Environments (IDEs):
Android Studio
- IntelliJ IDEA
I use IntelliJ IDEA primarily for non-Android development tasks, such as creating and testing pure Kotlin modules or projects, where Android-specific features are not required.
Version Control Systems:
- Git
Git is my go-to version control system for tracking changes in my codebase and collaborating with team members efficiently.
Command-Line Tools
- ADB (Android Debug Bridge)
ADB is essential for debugging and managing Android devices, allowing me to install, debug, and test applications seamlessly.
- Scrcpy
Scrcpy allows me to mirror and control my Android device screen on my computer, facilitating debugging and testing of Android applications.
Project Management and Collaboration Tools:
- Atlassian products
I rely on Atlassian products like Jira, Confluence, and Bitbucket to manage projects, collaborate with teams, and host Git repositories.
- Gerrit
I use Gerrit for code reviews, facilitating team collaboration and ensuring code quality in our Git repositories.
App development platform
- Firebase
Firebase is my preferred platform for developing mobile applications, providing real-time database, authentication, and analytics services.
Continuous Integration and Continuous Deployment (CI/CD):
- GitHub Actions
GitHub Actions automates my workflow in software development, enabling me to build, test, and deploy code directly from my GitHub repositories.
- Jenkins
I employ Jenkins for continuous integration and continuous deployment (CI/CD) pipelines, automating build, test, and deployment processes in my projects.
Build Automation
- Gradle
I use Gradle as a build automation tool for my Java projects, allowing me to define and customize build processes efficiently.
Git GUI Tools
- SourceTree
SourceTree provides me with an intuitive graphical interface for managing Git repositories, simplifying tasks like branching, merging, and reviewing changes.
Virtualization Tools
- VirtualBox
VirtualBox is crucial for my Ubuntu development setup. I use it to create and manage different virtual machines, each serving specific development purposes.
Documentation Creation
- PlantUML
PlantUML helps me create UML diagrams from text descriptions, making it easier to visualize and communicate system designs in my projects.
- Writeside
Writerside, a JetBrains IDE based on the IntelliJ platform, simplifies the creation and management of technical documentation. With its intuitive interface and robust features, it enables authors to author, build, test, and publish documentation seamlessly.
AI-Powered Assistance:
- ChatGPT
I utilize ChatGPT as an AI-powered assistant for generating human-like text, helping me with various tasks such as writing, brainstorming, and problem-solving.