July 18, 2021
Developing, programming, coding, scripting, whatever you call it, is difficult. It’s a fact.
Luckily, there are a plethora of tools we can use to make it just a little bit easier and faster to get code done and into production.
The tools I personally use evolve depending on the projects and technologies I am working on but the below list are the ones I use pretty much every day, both personally and with colleagues.
VS Code is my IDE of choice for 90% of my work. It is lightweight, but fully featured and has an extensive range of extensions to make working with any technology much easier.
Not much choice here for iOS app development. XCode has a bit of a learning curve for Apple integrations and inner-workings but does provide the best options for deploying an iOS app.
Again, not much choice for bundling and deploying Android apps. I actually like the Android Studio developer experience in general but don’t spend a lot of time writing pure Java or Kotlin so my usage is limited to testing and building.
Given you’ll see below that I’m using the Atlassian suite of project management tools, it just makes more sense to also use Bitbucket as my source control. Github is one I do use sometimes for completely personal projects, but I’ve found no massive differences in the functionality provided and they are both free.
These two are combined as they essentially provide the same functionality for me. Both have similar interfaces for connecting to SQL databases and performing management tasks and querying.
Jira makes Agile/Scrum project management simple. I’ve found that even for relatively small projects with small teams, Jira sprints and bug cards makes development flow much easier.
Every developer needs documentation. Whether it is general stuff about the product, specific code related information or meeting notes and decisions, Confluence has a template for it.
Learning Git and all the frequently used command line commands is vital to ensure you actually know what you’re doing to your source code repository. That being said, having a GUI that provides a visual representation of where your branches are, makes life for me substantially easier.
Slack is a pretty simple tool for us. 94% communicating and discussing issues - especially during these Covid-19 lockdown times. The other 6%? Giphy!
I fell into using Azure for my DevOps requirements (Why I Use Microsoft Azure) but it provides all the PaaS, IaaS, DBaaS services I need.
Automating the integration/deployment of production apps makes life substantially easier and faster. There’s something comforting about simply having to push to your main branch and walk away knowing that unless you really stuffed up, your app will build and deploy to production without you being involved.
Sometimes I need to throw up a quick WordPress landing page or a simple website for a client. The reality is that for this sort of website where there’s nothing more than a few pages and a contact form, WordPress is quicker and looks just fine. SiteGround provides easy install of WordPress sites and easy configuration sections to hook domains in, SSL certifications, CDN’s and any other installs required.