BFLpL0QNek
Joined 7 years ago
Joined 7 years ago
DevOps is similar to agile. Originally they both described a set of principles, an ethos, not a specific role. DevOps was your development team work closely with ops as one team, using software engineering practices, config as code etc etc.
Then, it just came another name for sysadmin and later platform teams and back to where it all started, passing things over the wall from engineering to platforms.
Since the early 2000s I’ve been buying used vehicle parts from these off eBay. One of my local shops closed the physical store and went eBay only in 2000s as that is where most of his business came from so a physical shop was costing to much.
This “new” phenomenon has been happening for 20+ years. Selling used parts has existed way before that also except you’d have to phone around and get the part shipped instead of search online.
Why do people want a “home”? It provides a security renting doesn’t, you can make it your home.
Renting can be more flexible if you are nomadic, it can also be a huge pain dealing with leases, rental increases, dodgy landlords, a lack of security so can’t truly settle on a 12 month lease.
I’m not sure on R2 specifics but I remember when I wanted vanity names on Cloudflare I.e assets.example.com it was not possible unless you give Cloudflare control over your entire domain, dropping your current nameservers or sign up for an enterprise plan for cname support.
I’ve twenty plus years experience building software on the JVM. From EJB’s of early 2000s to original Spring, then the more recent Spring Boot, a plethora of other JVM tooling. Then I’ve used various languages on top of the JVM, Groovy, Clojure, ETA, Scala. I haven’t used Kotlin only because not had a role that needed it. Then I have a list of non JVM languages, frontend stacks and sysadmin/cloud or as they like to call it DevOps
Scala has been my JVM language of choice for the past ten years.
When I was last applying for jobs my experience with Scala seemed like it was a huge negative for the companies I interviewed at. It was “you’re one of them” and things got frosty after mentioning I’m reasonably experienced in Scala and its functional programming libraries and enjoy it as find I have less bugs.
If I removed Scala from my cv and never mentioned it I got a much more positive experience.
Some of the roles I didn’t mind it going frosty. My red flag radar went up aswell and I got the sense of big balls of mud and I’d probably hate it but needed a job. Some it was a huge disappointment, exciting company, exciting projects, perfect fit skills wise but I was seen as a Scala developer not a great fit for Kotlin as excited as I was to use it because of the companies projects.
Not sure what I’m trying to say but this “not good fit” attitude doesn’t seem uncommon if you have used specific languages/tools/things people interviewing you don’t like or didn’t grok. Tech talks a lot about diversity which is mostly virtue signaling and forget diversity of minds is also good.
Searching for products or manufactures is now increasingly impossible. Almost all the hits are ads for online retailers selling the product with the manufacturer’s page increasingly difficult to find in results.
The other one is everything is now “The best”. Every article surfaced is some low quality SEO post starting with “The best”.
Then tech searches bring up sites that have scraped stack overflow/GitHub duplicating content in a worse UI with ads/pop ups/redirects reminiscent of early 2000s filesharing website download link clicks. How these sites rank higher than the sources is a bit confusing.
Sites like medium locking content up so need to join to read it, Facebook groups killing forums have killed a lot of what made the internet/Google good.
It seems Google has less content it can index as content is locked away in private silos, the only freely searchable content is e-commerce sites and Google makes it money off the ads for ecommerce sites so those get pushed to the top of the rankings.
They have a waterfall of multiple API requests by the browser to display a single page. That means the front end has a bunch of logic to aggregate and piece together requests. This in itself isn’t a big deal, if you move to doing it on the backend you still have the same logic and need to make the same sub requests.
Where it does become problematic is it leads to fat API endpoints sending far more data to the client than is needed. GraphQL lets you choose what fields you query but odds are there’s still data available you can ask for that shouldn’t be asked for and sent to a browser.
If your requests/aggregations are done serverside it gives you a better chance of filtering out data that should never be accessible in the browser. You can also make full use of Cache-Control headers and backend caching.
Creating individual endpoints for web apps went out of fashion as it involves more effort and people don’t like effort to do things well. I see it re-invented recently as backend-for-frontend.
It’s not to hard to learn. The Rust web stack is fairly simple and easy to get going with in a few days. Good developers use many languages and enjoy using many languages. If you drop the usual requires ten years experience you have just increased your hiring pool to a bunch of people who are excited to learn so will often put in the hard work to learn.
It’s a bit disrespectful to think a new grad can’t use a language other than JS/Python and they’ll be more productive in JS/Python. How little do you think of grads?
Not Google but I worked at a mid-size US based company briefly last year.
The team was junior but senior in titles and highly opinionated, that was why I ended up leaving as nothing was getting done. Not last week I got a bunch of LinkedIn updates saying “Congratulate X being promoted to Senior/Staff/Principal Engineer”.
The grads I worked with who were good and what you expect for a grad where getting promoted to senior’s and the seniors who were ok, maybe a little inexperienced were getting promoted to staff.
I think roles mean nothing these days. They’re devalued and only exist for people to move up in to the next pay band.
What I consider senior from 15-20 years ago is staff engineer now and principal today feels like someone at the top of senior 15-20 years ago.
Now it supports Containers it’s a place you can run any compute you can think of as long as it finishes in 15 minutes, uses less than 10gb of memory and you want to trigger it using http, direct lambda invocation or from one of the various aws event sources such as s3, sqs, sns.
I used to avoid Lambda as it was an opaque black box. Now it’s a generic compute platform for short lived jobs using container support.
Deprecating zip packages doesn’t mean zip packages no longer work, it means pretty much what they’ve done, ignored the managed runtimes with the view if the current runtime doesn’t do what you want, make your own with exactly what you need using tools you are likely already using with no vendor lock-in.
For things like Python most people don’t care about the underlying operating system from the projects in multiple orgs I’ve worked in. They go to Dockerhub, type Python, pick the image with the highest downloads and run pip install inside it. If you use Go, Rust, anything that creates a static executable you use “FROM scratch” with the only thing inside the container being the executable.
Those who do care about the underlying image are likely large orgs with a set of already blessed base images or people using things like Nix to build containers.
From a large org perspective and developer experience getting a “registry” for free because packaging as a standards compliant OCI image means instead of effectively creating your own registry on top of s3, you get a far more robust one with tagging, asset hashes, layering etc out the box. I never had a issue with zip archives but containers removes a bunch of roll your own boilerplate registry.
If I was an AWS exec I’d say managed runtimes are legacy, with the introduction of containers move to containers for new deploys.
I’ve been critical of Lambda in the past and critical when people use Kubernetes/Docker because it’s Kubernetes/Docker. The container support in Lambda has been a game changer, it’s one of them now they’ve done it you think why didn’t they think of that earlier, it’s a great fit.
I personally am a fan of schematic html/css. I remember the days off CSS Zen Garden, with well marked up html you can change the visual look completely by swapping out the style sheet. There’s a nice decoupling layer, it’s flexible, it’s conceptually simple, it works.
Despite all that I find myself using Tailwind. I’m not a frontend/designer expert, Tailwind goes against what I believe makes good HTML, Tailwind is ugly to me, polluting classes with markup. It’s equivalent to the embedding inline styles anti pattern. However in an imperfect world it works surprisingly well for visual styling on large projects, with many teams and components and just as well in small single page sites. The perfectionist in me says it’s horrible, the I can’t be bothered with frontend design in me says it’s so much less effort and avoids styling conflicts from multiple style sheets/components and I don’t care if it’s ugly or against the ethos of good html.