Head of IT at lawpilots·

It is not too hard to land on Git for version control nowadays. Although it doesn't have the best user experience or user interface the tooling around git has "won" and there is little reason to look at anything else.

Overall git is fast, has "cheap branches" and the tools and documentation around git make up for what is lost.

READ MORE
9 upvotes·3 comments·4.8K views
Harry Slaughter
Harry Slaughter
·
June 11th 2021 at 8:27PM

As far as RCSs go, Git is no less user friendly than other systems. I've used CVS, RCS, Perforce, SVN, Mercurial, Bitkeeper (the one that caused Git to be born) and others I can't recall. Git is by far the most reliable, fastest, most advanced of any system out there. And if you're not comfortable on the command line, I'd have to wonder what you're doing using Git at all.

And there are always Git GUIs that can take the edge off. Save your time and just get the best one out there, GitKraken: https://www.gitkraken.com/ I use both a GUI when I'm just browsing and the CLI when I'm working.

·
Reply
Christian Stefanescu
Christian Stefanescu
·
June 15th 2021 at 9:56AM

I am comfortable with the command line and I am strictly speaking of the user experience there. It is partially broken because it exposes quite a bit of the underlying data model. Without understanding that you have to resort to learning certain invocations by heart or looking them up.

One large inconsistency is around `git checkout` being used for multiple actions (not just checking out) - recently this has improved by the addition of `git switch`.

Another big gripe is the inconsistent use of command line arguments and flags, see for instance https://stevelosh.com/blog/2013/04/git-koans/#s4-the-hobgoblin

Mercurial - which you are familiar with - is consistently better than git at everything related to the CLI user interface and experience.

·
Reply
Prolay Chaudhury
Prolay Chaudhury
·
June 22nd 2021 at 4:13PM

Would you please share few excellent resources based on your experience?

·
Reply
Head of IT at lawpilots·

A big part of our needs fits perfectly into what Django has to offer: an ORM with support for PostgreSQL , the amazing auto-generated admin interface, consolidated tooling around the application lifecycle and a well-established community with solutions to the majority of common problems.

We use Django whenever we need the auto-generated admin and the friendly templating language to build capable web applications which are relatively easy to maintain for a comparably long time. The excellent integrations for Celery and Django REST framework make it easy to build the necessary integrations with other services.

READ MORE
5 upvotes·10.6K views
Head of IT at lawpilots·

Our default RDBMS of choice is PostgreSQL because it is an astonishingly well executed piece of software. Reliability, stability, documentation, speed, ease of use are all there for us. While we don't have huge amounts of data to process, we still enjoy the excellent community and great tooling around Postgres. And the excellent query plan analyzer helps us troubleshoot bottlenecks fast. It also helps that Postgres is available as a hosted option with pretty much any hosting option we might be looking at.

READ MORE
5 upvotes·1.6K views
Backend Developer at Lawpilots·

Since internalisation is a big topic here in lawpilots, we chose to use POEditor so we could delegate and separate the need for translations from the dev team efforts. Supporting more than 22 languages (and keeping at it, more languages are added frequently!), allowing 'automation' on our translations has been a huge help to us. POEditor providing us exactly that - using their web app we are able to provide access to colleagues outside the dev team and they are able to be manage existing or adding new languages autonomously. The integration with Bitbucket / github providing us PRs that we are able to review and approve easily.

READ MORE
4 upvotes·9.8K views
Backend Developer at Lawpilots·

We in lawpilots chose to use Asana for our cross-department communication and organizing our tasks. Although we are using Jira for dev tasks and all our agile needs inside the dev team, using Asana with non-technical teams have been very helpful and made the communication easier and faster. Our favourite feature of Asana is definitely the Asana forms which provides us the ability to receive feedback and requests from our colleagues in a constructive and productive way.

READ MORE
4 upvotes·312 views
Head of IT at lawpilots·

If you are building an API with Python there are lots of good reasons to pick FastAPI. It is a modern framework with very good documentation and a great community built around it. It supports async Python and it builds on Starlette and pydantic to provide ergonomics and speed. One of the bigger wins is the integrated documentation browser alongside the great testing support.

One part that was not as easy to get into was the proper use of the dependency mechanism, but once that was solved FastAPI remains a great choice.

READ MORE
4 upvotes·244 views
Backend Developer at Lawpilots·

We chose to use Mailjet here in lawpilots because of numerous reasons. First of all, it was important to us to have the option to allow access and autonomy to different teams here in lawpilots to access the stats and configuration, which the simple yet powerful Mailjet GUI is providing. Secondly, it was essential to us (and our clients) to have an EU-based provider. In addition, Mailjet dev-focused offer provides a lot of convenience to the developers and it's versatile enough to provide solutions to all our mailing needs.

READ MORE
4 upvotes·61 views
Head of IT at lawpilots·

If you don't want to use an ORM but also don't want to write that bit of convenience wrapper on top of SQLAlchemy or the raw SQL driver, PugSQL is quite the nice middle ground. It puts the SQL in flat files, following a convention which annotates them with parameter names and that makes the whole DB querying logic very easy to follow.

READ MORE
3 upvotes·1.1K views
Head of IT at lawpilots·

Makefiles are the common denominator to getting things up and running across our repositories. Even though we are slightly abusing them (with PHONY targets) and as long as we are consistent about naming targets it's the fastest way to bring up a development environment or look at what the CI system is doing. And all of this works independent of the repository-specific environment (programming language, framework, even OS).

READ MORE
3 upvotes·74 views
Head of IT at lawpilots·

When you focus on application development and not on maintaining infrastructure, a PaaS provider is a good choice. Render adds quite a bit of usability on top, with the pretty good (and getting greater) Dashboard, the Github integration (triggers as well as environment listing), deployment hooks, deployment notifications, hosted PostgreSQL option. But one of the things I like best about them is that they are very transparent about what they are working on and very helpful to provide workarounds when things are missing. At the current pace of development I think Render will become an awesome platform in the next years, but right now it already is a perfectly usable platform for us.

READ MORE
3 upvotes·46 views