605 karma · joined November 6, 2014
- Ethan Chlebowski https://www.youtube.com/@EthanChlebowski
- Adam Ragusea https://www.youtube.com/@aragusea
I tried numerous recipes from both and learned quite a bit about the technique as well.
- Async... The Django way of doing things... Celery -> it's a background task system which is like bringing a bazooka to kill a fly for what you wanted to do (I assume proxying the request to an external API).
- database I/O and calling external services -> Use gunicorn gevent worker type that brings up the pseudo threads.
- JWT was poorly supported -> There's at least 5 battle tested libraries that you can use to implement JWT alone (simplejwt comes to mind first)
- the most popular auth library needed quite a bit of manual patching in code to make it all work -> Which one? There's few that are standard and most are easy to customize via global settings.
- Raw deployment on PaaS like Heroku and Elastic Beanstalk -> that's more on the platform rather than Django itself
- DRF -> I agree, DRF has it's own way of doing things and deviating from them can give you massive headaches.
- ~500gb one fails to backup
- ~1tb one fails to backup
- ~100gb one succesfuly backups
The link where I got that number is here - https://devcenter.heroku.com/articles/heroku-postgres-backup...
If someone was to use heroku I'd advise to at minimum:
- move the DB elsewhere.
- not setup external services through heroku auth (sentry, logtail, newrelic etc)
With all of that said - I do have my startup and some pet projects there as it does in fact abstract the devops aspect away.
2) Spot on - Agile does not work well in such environment, I have seen it first hand twice. I feel that with senior/staff level devs, you can expect and should get higher level of autonomy and less hand-holding, so in a solid project oriented company, I do feel that fewer "business hours overlap" would impact much. I do feel that at least 3, preferably more hours should be reserved for meetings / overlap.
3) I'd argue about that one, haha. I have been on-call troubleshooting production at 2-3am my time, not once, but multiple times. For a great employer, with proper compensation and benefits, you'd be surprised what devs from this area would do!
4) YES! Companies are greedy. However, they do have to pay pension/insurance on the hourly rate they give to the dev, think 50-60%, but they don't want to give away their cut at all, it seems to be non-negotiable flat fee, which is deal breaking. Another point is that Microsoft and other big brand outsourcing names are coming to EE and stealing away the workforce.
Disclaimer - I work as a senior/staff level dev with high base salary and equity, so my experience may be a bit skewed.
An example - in Serbia and Slovenia you arrange a net salary, and the company pays the taxes/insurance etc on top of net salary (usually around 50-60%). So for a senior salary in Serbia of around 4k euros. you're looking at the company paying around 6-7k euros. For a contractor (as a sole proprietor) you can make at most 50k euros a year and then you pay benefits that are minimum 300e. If you go above that you pay 10% tax on profit + 15% personal income tax. You can choose to still pay yourself salary and 50-60% on top of that, and you will most likely not pay yourself a big salary, but take the profit and pay the 15%.
What we would try to accomplish is:
- Not have developer as a contractor, but as an FTE
- Create a pipeline of US based companies
- Bump the salary for devs for 25%-30% -> pay the taxes/pension (30k+ more)
- Take a 15% of the annual salary (20-30k)
- Provide cheap senior/staff/principle devs that are cheaper than the same devs, but same or similar quality