AWS has over 175+ services and is continually improving. I would say more new services on launch don't live up to the promise but quarter after quarter you see dramatic improvement, some services it's year after year. What makes AWS so valuable is not individual services but the fact you can string them together which outweighs the feature set of a single service.
Github is amazing for developer happiness but CodeCommit is secure and seamlessly integrates with so many AWS Services I Can live without all the bells and whisltes of Github.
I've never had aws hand over anything under a tenuous legal argument. Github bent over and found the first reason they could. I'll pay my money to AWS first, because it doesn't compromise my business.
AWS Business Support is only $100 / USD per month where you can call in 24/7 and be connected with a Cloud Support Engineer within 5-15 mins. If you don't like the engineer, hang up call again and get someone different. That's incredibly in-expensive, saves me hours or hiring more devs.
You can get this Business Support for free a year if you join StartupSchool and get 3K USD credits with the business support.
If you can't afford it, maybe you are just hobbying around but AWS offers lots of ways to support you until you have a substainable revenue.
That may be. But, then, you're definitely in the category of your time isn't really worth anything and screwing around for a few days doing DIY on software/hardware/etc. is a better solution than paying someone to do something for you. That's fine but you're really describing paid support generally.
I always hear people on the internet talking about AWS being crazy expensive, but from SFBA it looks really damn cheap. Would I rather give $thousands to AWS or $hundredthousands to an internal specialist who’s likely gonna say my company is too small and boring to keep them interested anyway?
AWS wind that math every day. And that’s the market they target. Why wouldnt they?
AWS is extremely expensive once you get to any meaningful size. If you save on infrastructure you pay for it on enterprise support, engineers or consultants and/or bandwidth.
I LIKE AWS. I think it can be a great choice for many companies and use-cases. But the idea that AWS is firmly everyone, that it's less expensive for everyone when you factor in the TCO, simply isnt correct.
This just isn't true, in fact quite the opposite. If you just have a website you are working on aws is complex and expensive. When you need to handle it at scale then AWS is far better than other clouds and an order of magnitude cheaper than rolling your own racks.
What's meaningful? It'll cost you a half million to build a full rack, power it and give it connectivity for a year. That's a lot of spot instances if you don't have a constant load
> It'll cost you a half million to build a full rack, power it and give it connectivity for a year.
For $1500/mo you can get half rack (5Kv) and 50 Mbps internet. A couple $5k switches and 6-8 10k servers and you're well under $125k, plus you probably don't need $10k servers or $5k switches and can find cheaper hosting. I realize you said a full rack, but that's probably overkill and could be done for $350k or less. Once you have the servers/switches your fixed costs are relatively low.
Part of it is that people see the AWS or support bill or consultant bill or whatever. But they don't really see the cost of DIY whether initial cost or ongoing support. The cost of build (on many dimensions) vs. buy is often underestimated. That's not to say you should never build--no, you shouldn't use AWS for everything--but it's important to understand the real costs.
I ran the tech team of a startup in a third world country (bullet lending $100 bucks to people) we were cheap and it was always a problem to convince finance to buy technology instead of throwing more cheap labour.
Still, those $100 monthly we paid for aws support were worth their weight in gold.
For a person anywhere on earth? Sure. But 99.99999% of those people don't need on-demand cloud hosting support.
But for a business that requires cloud hosting with support? There aren't many places on the planet where $100 is a prohibitive cost for a business that's willing to spend at minimum that much for hosting.
They once tried to get me to sign up for $100/month to fix an issue on their side. I refused and 3 days later my problem was magically resolved. AWS is starting to mimic the poor customer treatment I used to only associate with the Amazon marketplace.
Hey. I’m one of the authors. We focused on things we have significant first-hand experience with. We didn’t want to write on things which we haven’t used ourselves for many years.
I knew about the keyboards when I bought mine, but didn't opt for Apple Care because they're offering a 4 year warranty on the keyboards whether you bought Apple Care or not.
Of all the complaints about the keyboard, the reliability issue with them are real, but also they're the one thing Apple owns up to. When I get the keyboard swapped they often also swap out a new battery for me.
I've been using Rails since version 0.8.6 and have apps as old as 8 years I'm still maintaining. I've had teams as large as 20 on a single rails codebase.
You do not need anything other than the MVC pattern.
I would love to see the claimants of these needed abstractions post their code so I could refactor and show you how you're wrong.
If you make good use of your base controllers you can reduce controller code to next to nothing.
If you avoid Rails abstractions such as scopes use callbacks sparingly and focus on writing raw SQL instead of using Arel's query builder your models are easy to manage.
For me its wasn't about becoming a 10X developer but proving that I was already 10X because I was facing a salary cap of 120K CAD where I saw friends working as long as me 180K+ CAD and some 250K+ CAD. The last job I attempted we had a 55 year old developer being paid the same as me doing the same rot work and I said thats not going to happen to me.
I've always been a person that gets things done but when you asked me how I did it I could never regurgitate the factoids.
Interviewers or other developers thought I was stupid/faking because their probing of my knowledge came down to superficial factoids and not evaluating the past work as a whole where I literally have 30+ projects. Hiring is broken and instead of getting upset about it you just have to meet the checklist.
I have Cracking the Coding Interview and I've been through that book 3x and I can not remember the contents of it because that book has been more more useful to me to prompt up my monitor than in my in the day to day work.
I feel when you're a developer 10 years in you'll be forgetting things as quick as you learn them but proving you have in-memory knowledge is super important.
I use Anki and Mnemosyne but found their UIs clunky and so I built my own Space Repetition Learning flash card system. I was studying for AWS Certifications and I wanted a way to tied practice exam questions I wrote to flashcards so when I got questions wrong it would reload my deck, and one I memorized all the factoids via space repetition learning I could go back and attempt a practice exam.
Now when people ask me whats the different between RAID 0 vs RAID 1 I know which is stripping or mirroring.
I got so carried away building my study system it because my own startup called ExamPro: https://exampro.co
Its really nice to have something you can build where you actually have domain knowledge and its the first time independently where I was successful building a startup that has generated revenue.
I could build anything but without domain knowledge I could never sell what I could build and now I can and its wonderful.
Space Repetition Learning changed my life. Who knew?
Is hiring really that broken? Not everyone hires like that and if they do, maybe they're no good to begin with.
I keep hearing how the interviews at Google are really tough, but then a lot of the people who actually get through quit in the first weeks. It can't be that great of a job.
Yes, hiring really is that broken. Everyone who is a player who is openly "hiring" is playing that same game. "if they do maybe they're no good to begin with" is sour grapes, and while it may be true, it's also true that almost no company is good. But they have the money and I need the money, so.
Speaking of which, "it can't be that great of a job"...no, of course not, it's a job. But a job is a job (roughly speaking), and a $300k/year job is to many/most people twice as good as a $150k/year job.
I do something similar with Rails and Postgres. I've never been good at publicizing tools I've built.
I think the biggest problem with Rails is Arel and by making it easier to write raw queries that serve json straight from the database you get great performance, composability and its still all really simple.
I don't need GraphQL because its so easy to write in one one endpoint everything I need to get back from my database and then write endpoints for all the smaller endpoints.
But yeah my project is basically handlebars meets SQL. I'm currently working on writing my own template language and hope to port it to other common languages.
I get really depressed working on projects with a million small endpoints or they take the other extreme of using GraphQL.
I'm quite tired of Full-stack development since things are taking 100x more effort and not because things are getting more complicated because they can't see the simpler solution.
I've built 40+ web-apps in the last decade through freelancing and then had my own web-firm with a team of 8 developers all remote. I got tired of building MVPs and so switched to AWS Training and Consultancy since my passion is with educational training.
What kills projects and drives up costs was:
Client doesn't have a clear vision of what will sell.
This is evident since they have multiple business models or they keep changing features to tweak the business model.
Have one business model and be confident that you won't change anything. If you have to change then you didn't do market validation and you are wasting money on development.
Client's don't understand the scope of what goes into a app and when you ask them to block out the pages they need come back with only 30% and then an estimate is made based on whats presented. They never think about the admin panel, the auxiliary pages, support pipeline, on-boarding flow. If you can find an "Interaction Designer" who can not only wireframe but design end to end flows this will migrate developer waste.
Bringing in a technical advisor, developer, designer mid project always inflates budget because they provide conflicting advice, try to over architect over process, or now we have two sources of truth, the advisor and the client. If you want to bring in more resources you need to understand you'll be expected to adjust the budget and pay more since you made more work for freelancer/firm than previous.
Flipping the coin I have been brought into projects as a technical advisor, and I have found developers totally lieing about their work by logging fake hours or outsourcing when they are not allowed to. I helped the client gain visibility by showing them how to read git commit history, what a sprint should look like. Re-estimate out tickets and gauge an alternative velocity to help the understand if the speed of the developer matches their cost. What a good/bad commit looks like. But I don't tell the developer what to do, create tasks or make in detail architectural decisions.
AWS, Rails and NodeJS are good as your primary stack since bootcamps churn juniors as low as 2.5K CAD on Rails and NodeJS. AWS is good since it gives you full visibility and helps you enforce good practices so you have less technical debt down the road.
I've hired developers out of bootcamps, hired them off of upwork, randomly cold-emailed developers I liked. I get them from everywhere. Its a 1:40 ratio to find a developer with good work ethic.
I care about work ethic and best practices/good habits first and developer experience second.
I would suggest getting lo-fi sketches of every possible page in desktop for your admin, marketing, support, onboard, auxiliary and core pages.
Then you get a developer to code them
Then after the functionality is in place you bring in a UX designer to polish the designs.
If you have the money I would get a Interaction Design on day 1.
Another Canadian in Toronto. Its not hard for US companies to work with remote Canadians but there is a perception that taxes, payroll, insurance is hard when its not. Its frustrating because the US dollar has more buying power so they can get higher quality developers at a lower rate.
Github is amazing for developer happiness but CodeCommit is secure and seamlessly integrates with so many AWS Services I Can live without all the bells and whisltes of Github.