bignavy

joined 1 year ago
[–] bignavy@programming.dev 0 points 1 year ago (1 children)

The most compelling argument I heard is that WASM can’t manipulate the DOM and a lot of people don’t want to deal with gluing JS code to it, but aside from that

But other than that, Mrs. Lincoln, how was the play?

You've gotten several other answers that are true and correct - the pain of implementation at this point is greater than the pain points that WASM solves. But this is also a non trivial one - most of what Javascript should be doing on a webpage is DOM manipulation.

At some point, WASM will either come out with a killer feature/killer app/use case that Javascript (and all the libraries/frameworks out there) hasn't figured out how to handle, and it will establish a niche (besides "Javascript is sort of a dumb language let's get rid of it"), and depending on the use case, you might see some of the 17.4 million (estimated) Javascript developers chuck it for....what? Rust? Kotlin? C? C#? But the switching costs are non-trivial - and frankly, especially if you still have to write Javascript in order to manipulate the DOM....well, what are we solving for?

If you're writing a web app where one of the WASM languages gives you a real competitive advantage, I'd say that's your use case right there. But since most web applications are basically strings of api calls looped together to dump data from the backend into a browser, it's hard to picture wider adoption. I've been wrong before, though.

[–] bignavy@programming.dev 3 points 1 year ago

Like the SEAL who became a doctor and then went to space. Don’t feel like you have to limit yourself, you know?

[–] bignavy@programming.dev 2 points 1 year ago

Just because it's 'the hot new thing' doesn't mean it's a fad or a bubble. It doesn't not mean it's those things, but....the internet was once the 'hot new thing' and it was both a bubble (completely overhyped at the time) and a real, tidal wave change to the way that people lived, worked, and played.

There are already several other outstanding comments, and I'm far from a prolific user of AI like some folks, but - it allows you to tap into some of the more impressive capabilities that computers have without knowing a programming language. The programming language is English, and if you can speak it or write it, AI can understand it and act on it. There are lots of edge cases, as others have mentioned below, where AI can come up with answers (by both the range and depth of its training data) where it's seemingly breaking new ground. It's not, of course - it's putting together data points and synthesizing an output - but even if mechanically it's 2 + 3 = 5, it's really damned impressive if you don't have the depth of training to know what 2 and 3 are.

Having said that, yes, there are some problematic components to AI (from my perspective, the source and composition of all that training data is the biggest one), and there are obviously use cases that are, if not problematic in and of themselves, at very least troubling. Using AI to generate child pornography would be one of the more obvious cases - it's not exactly illegal, and no one is being harmed, but is it ethical? And the more societal concerns as well - there are human beings in a capitalist system who have trained their whole lives to be artists and writers and those skills are already tragically undervalued for the most part - do we really want to incentivize their total extermination? Are we, as human beings, okay with outsourcing artistic creation to this mechanical turk (the concept, not the Amazon service), and whether we are or we aren't, what does it say about us as a species that we're considering it?

The biggest practical reasons to not get too swept up with AI is that it's limited in weird and not totally clearly understood ways. It 'hallucinates' data. Even when it doesn't make something up, the first time that you run up against the edges of its capabilities, or it suggests code that doesn't compile or an answer that is flat, provably wrong, or it says something crazy or incoherent or generates art that features humans with the wrong number of fingers or bodily horror or whatever....well then you realize that you should sort of treat AI like a brilliant but troubled and maybe drug addicted coworker. Man, there are some things that it is just spookily good at. But it needs a lot of oversight, because you can cross over from spookily good to what the fuck pretty quickly and completely without warning. 'Modern' AI is only different from previous AI systems (I remember chatting with Eliza in the primordial moments of the internet) because it maintains the illusion of knowing much, much better.

Baseless speculation: I think the first major legislation of AI models is going to be to require an understanding of the training data and 'not safe' uses - much like ingredient labels were a response to unethical food products and especially as cars grew in size, power, and complexity the government stepped in to regulate how, where, and why cars could be used, to protect users from themselves and also to protect everyone else from the users. There's also, at some point, I think, going to be some major paradigm shifting about training data - there's already rumblings, but the idea that data (including this post!) that was intended for consumption by other human beings at no charge could be consumed into an AI product and then commercialized on a grand scale, possibly even at the detriment of the person who created the data, is troubling.

[–] bignavy@programming.dev 2 points 1 year ago

This was my first thought.

I do this for a living and it’s literally built into Linux.

Set their permissions carefully, ensure that the permission set does what you want (and not a bunch of stuff you don’t want), and keep on keeping on.

[–] bignavy@programming.dev 2 points 1 year ago

I have some experience using git and svn, but really never work in collaboration with others, in my current work we used but only git without external service. Just to keep track of the personal work.

No this is great in and of itself - what I would tell you is to treat your github projects, even if you're the sole contributor, like you're working on a team. Checkout a feature branch, complete your code, then PR it into main/master/release/whatever, even if you're the one doing the code review for yourself. Even if you don't get to experience other devs (inevitably borking what you're working on) in the codebase at the same time, it'll give you a better idea of what the workflow should look like.

I have a “software engineer” job in a research institution, is only the title because I’m a research assistant most of the time with some dev time. The problem is there is no grow and the founding is through a international project, so the time is fixed.

My pay is not so high, is a EU salary in a semi-public institution, tho the pay is lower that the equivalent in the industry, but I’m above the average of at county level, I’ll consider a paycut at least I could still pay the rent and past time with my family.

This all makes the SRE part more understandable and more within reach. I wouldn't lead with, "I don't have any dev experience"; I would lead with "I've been a software engineer for x years, specializing in atmospheric modeling." Whoever is interviewing you will probably dig and figure out that you were a solo developer, but....you were still a software dev, and the first job in this industry is way harder than the next couple. Lean into that - you have the job title, you have the resume, you're looking to take 'the next step' into SRE/DevOps, because as a solo-dev, you had to handle all that stuff yourself, and you figured out that you liked it and were good at it.

We've all been the new guy trying to break into the field - pay it forward after you land that first SRE gig.

[–] bignavy@programming.dev 4 points 1 year ago (2 children)

I think you have an interesting background and potentially interesting technical skills, and I could totally see you catching on with someone and having a fantastic career. I could also see why it would be a weird or awkward fit, that you might be totally overwhelmed, and possibly even hate it. Let me qualify my answer(s) and see if that helps at all.

I feel like at its heart, being a DevOps is just being passionate about tinkering and technology. The best DevOps Engineers I know love nothing more than to nerd out about....well, all kinds of stuff. From K8s to Linux distros to build tools to code. DevOps is a practice, not a skill set - and that's reflected in the fact that there's no 'base' skill set for DevOps Engineers. I've known developers, sysadmins, even help desk type folks that found their way into the field and were successful. It just depends.

It kind of feels like you have the heart of a tinkerer, and the fact that you have a MS in a hard science suggests that you have the brainpower to hack it - maybe literally. :)

That said - what would worry me if I were considering hiring you is that you don't really have any exposure to Software Development Lifecycle concepts. Maybe I'm too stupid to understand all the acronyms above, but in my (limited) experience, having a good handle on SDLC is sort of the beating heart of DevOps - at least in part because being able to have the infrastructure ready to mate up with the code at the right time and right place is like, 80% of my gig. Too early is a security vulnerability (potentially), too late and the dev team misses all their sprint targets. You don't have to write code, exactly (although I wish I wrote more), but you have to be able to 'follow along' with the dev team. Especially when you're troubleshooting.

For SRE particularly - you have a lot of nice sysadmin-y type background skills, but particularly understanding design patterns and telemetry would be the thing I'd be most nervous about for you. Scalability as well - although that's hard for almost everybody. But for an SRE to improve reliability, you have to be able to really hone in on what's breaking - and once you've gotten the big pieces sorted, being able to understand resource usage, and all of that points towards good instrumentation (and good instrumentation practices).

I joke that reading logs is my superpower - both because my devs, bless them, don't do it, and also because if we've done a good job building the application, build/deploy pipelines, and infrastructure, your alerts and instrumentation will tell you exactly where any pain points are happening, and make it a lot easier to figure out where and how to focus your efforts moving forward.

So, after that wall of text - I'd point you towards the cloud. AWS is the largest/most widely known, but arguably kind of opinionated in terms of implementation. Still, AWS Solutions Architect is a pretty good 'gold standard' type certification. If you're more familiar with GCP or Azure, do the 'associate' level certs there.

Another obvious thing that I didn't see in your background - VCS. Git gud, as it were. I'm a big fan of hanging pretty much all your personal projects on GitHub. Mine is atrocious since I got hired, but before that I had a full year straight of commits. Sometimes it was impressive stuff, most of the time it was just messing around with code - but all the companies that gave me an offer letter mentioned it. Ymmv.

Finally - you might expand your search a little wider (SysOps instead of SRE off the bat? DevOps as well? Maybe going straight stick software dev, with your background, at a company where your science background would be a real value add is something to look at) and also be prepared to 'take a step back' if you do jump. I'd definitely hire you to see how things go, but I'd want you to come in as a Junior, and based on what you wrote above, that's probably a bit of a paycut for you.

TL;DR - Do cloud certs, practice on GitHub so employers can see what you're working on, consider SysOps/DevOps as well as SRE.

Best of luck to you!