andrew_wc_brown
Joined 19 years ago
Joined 19 years ago
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.
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?
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.
https://github.com/monsterboxpro/monster-queries
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.
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.
If anyone has an interest in playing on my server ping me. We could use a few more players.
https://medium.com/@andrewbrown_78670/2018-modded-minecraft-...
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.