1
23
submitted 4 weeks ago* (last edited 3 weeks ago) by th3raid0r@programming.dev to c/ask_experienced_devs@programming.dev

I'm just so exhausted these days. We have formal SLA's, but its not like they're ever followed. After all, Customer X needs to be notified within 5 minutes of any anomalous events in their cluster, and Customer Y is our biggest customer, so we give them the white glove treatment.

Yadda yadda, bla bla. So on and so forth, almost every customer has some exception/difference in SLAs.

I was hired on to be an SRE, but I'm just a professional dashboard starer at this point. The amount of times I've been alerted in the middle of the night because CPU was running high for 5 minutes is too damn high. Just so I can apologize to Mr. Customer that they maybe had a teensy slowdown during that time.

If I try to get us back to fundamentals and suggest we should only alert on impact, not short lived anomalies, there is some surface level agreement, but everyone seems to think "well we might miss something, so we need to keep it".

It's like we're trying to prevent outages by monitoring for potential issues rather than actually making our system more robust and automate-able.

How do I convince these people that this isn't sustainable? That trying to "catch" incidents before they happen is a fools errand. It's like that chart about the "war on drugs" where it shows exponential expense growth as you try to prevent ALL drug usage (which is impossible). Yet this tech company seems to think we should be trying to prevent all outages with excessive monitoring.

And that doesn't even get into the bonkers agreements we make with customers to agree to do a deep dive research on why 2 different environments have a response time that differs by 1ms.

Or the agreements that force us to complete customer provided training - while not assessing how much training we already committed to. It's entirely normal to do 3-4x HIPAA / PCI / Compliance trainings when everyone else in the org only has to do one set of those.

I'm at a point where I'm considering moving on. This job just isn't sustainable and there's no interest in the org to make it sustainable.

But perhaps one of y'all managed to fix something similar in their org with a few key conversations and some effort? What other things could I try as a sort of final "Hail Mary" before looking to greener pastures?

2
8

cross-posted from: https://lemm.ee/post/33211685

Hello Lemmy,

I am the author of bluetuith, an open-source TUI-based bluetooth manager for Linux only. I have been working on this project for over 2 years on and off, and I was wondering about extending support to other platforms as well.

To begin with, the Bluetooth Classic (BR/EDR) implementation on Linux is fairly standardized (via bluez APIs), but on other platforms, especially windows, Bluetooth APIs are finicky, and tricky to deal with, and also there is no standardized management in general.

I would like to start creating a centralized Bluetooth server or a daemon for other platforms (natively maybe), mainly Windows and Linux, which can expose relevant APIs so that clients can use them to handle Bluetooth-based operations. I know this is quite an uphill task, but I would like suggestions on how to implement it, or if anyone has a better idea, please do suggest that as well.

To summarize, my current plan is this:

  • Create bluetooth servers natively for each platform, utilizing the platform's proven APIs to handle bluetooth-based functions and expose a standard API to clients
  • Adapt clients to use said APIs provided by the daemons to allow the user to control bluetooth in general.

For the server implementation (mainly to other platforms), I will require contributors, so contributors are highly welcome to be involved in the project. I am in the process of securing an NLnet grant to invest into this project and mainly pay contributors to implement this platform-wise (the proposal has been accepted, and the negotiation call will be hosted in a few weeks, more details about this can be further published if anyone has questions about this. If contributors are confirmed, maybe the budget could be adjusted as well).

I apologize if the post is naive or does not fit this community's guidelines, and if it doesn't, a comment on where to redirect this question would be great.

Constructive feedback is appreciated. Thank you.

Note: By Bluetooth operations, I mainly mean Bluetooth Classic based operations.

3
14

The problem is I am using beam.ParDo to call api, to enrich my data.

pipeline | "read_csv" >> beam.io.ReadFromCsv("...") 
                | "get_info_api" >> beam.ParDo(GetApiDoFN()) 
                | "write_output" >>  beam.io.WriteToBigQuery(...)

The problem is that api have limit. I need a way to control so it do not overload api or get 429 error.

I would like to set api call should not exceed 4 call / second.

How should I do it ?

4
23

cross-posted from: https://sh.itjust.works/post/19440902

I want to document my debugging sessions in a text file but I don't know if anyone did this before.

I came up with this kind of "language" that is a mix between Markdown and C++, but I still wonder if something equivalent exists already.

// When you click on the button
# [click button]
- A::f()
// - ... other method calls, don't document if you don't need to

# A::f()
// "..." for "parameters" where you don't need the details
- Stuff::g(...)
- Stuff::h(...)

// <Class> is a fake template thing to show the possible types of an object
# <SubStuffA | SubStuffB> Stuff::g(...)
- Stuff::g() {} // empty but I use v/=> for virtual call
  v/=> SubStuffA::g()
  v/=> SubStuffB::g()

# SubStuffA::g()

# SubStuffB::g()

# Stuff::h(...)

I document methods in the order of appearance in the code.

If you have any good idea about a reliable way to document a list of function calls, I'm interested!

5
25

Sorry for the burner account.

I have to figure out what to do with my life right now. I really enjoy programming, and honestly, of any kind. Haven't really found a kind of developing I dislike yet. I have been doing stuff for around 4-5 years by now, so I have confidence that I'm a good programmer, with the huge caveats that I've never finished any presentable project and I've never done anything with a team, I've only done solo stuff.

It seems like the logical thing to pick for a job. However, I've heard experiences of people with programming jobs and CS degrees that they're absolute hell to be in. Super long work days, absurd deadlines, crunch, and that doing a CS degree means you have absolutely zero time for anything else in your life.

Having a life like that really scares me. I'm not really a strong, disciplined person. I know I can't handle living like that. I'm scared I'll just realize I want to quit and end up having wasted years of money and work on a degree I don't want to use for anything - and that's even assuming CS college isn't that awful.

My biggest dream is doing indie game development, and it has always been that since I was a little kid, but I know that's not a safe prospect for a reliable living wage. At the same time, abandoning that dream completely would make me feel awful. So I NEED to have time to work on my own stuff.

I wouldn't go to a CS degree purely for more job opportunities, I'm sure there's a lot of things I'd be able to learn in one that I need. I just don't want to end up living just to work. I'm really only going off on rumours and experiences of other people I know though - and I don't have much of a chance of visiting a campus or talking to professors. Because of life reasons it'd have to be abroad and I'd have to do at least the first year online.

So... yeah. I'd appreciate hearing some experiences in CS degrees and in programming jobs. Is it really that bad time-wise? Is it something enjoyable?

6
26
submitted 1 month ago* (last edited 1 month ago) by aidan@programming.dev to c/ask_experienced_devs@programming.dev

I'm really enthusiastic about anything involved with Unix/Unix-like operating systems and their ecosystems (Mostly Linux and a bit of BSD variations). I also know a couple of programming languages including C, C++23 and OCaml. But other than doing a couple of tiny projects mainly to practice my programming skills in the languages mentioned above, most of my experience is theoretical and it comes from reading books, blogs and watching conferences.

I'm interested in gaining "actual" experience by doing systems programming related projects but I'm not sure how to get started. How do I decide on which topic to choose? A topic which would not be too overwhelming and actually achievable? And how do I gain the background knowledge needed to implement a project without ending up copying and pasting everything from existing implementations?

Thank you!

7
65

Referring more to smaller places like my own - few hundred employees with ~20 person IT team (~10 developers).

I read enough about testing that it seems industry standard. But whenever I talk to coworkers and my EM, it's generally, "That would be nice, but it's not practical for our size and the business would allow us to slow down for that." We have ~5 manual testers, so things aren't considered "untested", but issues still frequently slip through. It's insurance software so at least bugs aren't killing people, but our quality still freaks me out a bit.

I try to write automated tests for my own code, since it seems valuable, but I avoid it whenever it's not straightforward. I've read books on testing, but they generally feel like either toy examples or far more effort than my company would be willing to spend. Over time I'm wondering if I'm just overly idealistic, and automated testing is more of a FAANG / bigger company thing.

8
14

I'm thinking of ways to help people move from established software to more open, flexible forms that don't lock them to another organization.

9
74

I am professionally a software developer for 8 years and I simply don't have ideas for personal projects (Can't find any problem that I can fix with programming). At times I feel like that's natural and I shouldn't worry about it. But on the other hand, I do like to imagine having something personal that I can work on so that even if some days on my main job are not satisfying, I can always work on my hobby project and find that missing satisfaction.

End goal here is obviously to get better sleep as sometimes my mind feels dissatisfied with the day's work.

Funnily, I day-dream about the idea of already having done the boring parts (simply manifesting a project that already exists) of some personal project and only solving exciting problems in relation to adding a new feature or exciting aspects.

This creates a problem as I hate staring at a blank file not knowing what to write.

10
23

Imagine, your are a Java developer with multiple years of experience in the job. You really like working with the language.

Your employer kind of canceled most of the Java projects of the company over time and is now really focused on AI...... And AI means here: LLMs, GPT, ... Not like basic Machine learning... It's all about language models. Most of this stuff and the tools are written in Python and your employers wants you to kind of throw away your pretty good Java skills completely and start over in Python.

The new tasks would be kind of "easy"... You have to prototype "LLM bots". And that's your perspective for like at least 1.5 years. No, not real software development.. Prototyping... And that means, quick and dirty is what they want... It's also very easy to impress your employer with GPT doing things. Easy money, isn't it?

I'm in this exact situation right now and worried.. What, if I quit in 2 years and the new potential employer for a Java job asks "What have you done recently?"

I kind of liked working there and like the colleges and the salary is fine and switching the job and maybe moving away is a huge thing for me... It could get better... But maybe also worse........?

What would you do in my situation? Accepting it? Starting a rebellion? Looking for a new job somewhere else?

11
31

I've been doing some interviews lately, and my most recent one seemed to be my most promising one so far, until he started doing what he called "light tech screening" and did some trivia questions to test my knowledge on what goes on under the hood. I do admit, I should have been better prepared on the topics, and didn't do as well as I could have. At the end, he said my experience was interesting but I needed a better grasp of the fundamentals, and that we should keep in touch. Afterwards, I messaged thanking him for his time, and that I needed to review my course material, asked if he thought I should review anything specific and if I could do that for a few weeks and revisit it like he said. He suggested I do a deep dive into JS/TS to really understand what goes on and why, and would be happy to revisit it in a few weeks, and again said to keep in touch.

Does that really mean keep in touch regularly or often? Or is it just a throw away yea reach out again in a few weeks when you're ready? I'm already pretty stoked to get a second chance at this, the company seems cool and I like that they aren't weighing everything on leetcode problems. If I should keep in touch regularly, what would that even be about? I also don't want to annoy him before meeting again.

Any advice would be appreciated!

12
15

My current team runs weekly retrospectives using the Lean Coffee format. More and more, I find that the items people are bringing up aren't really important or could just be a question in Slack.

For example, someone recently made a topic for how we can test credit card payments. Another topic was navel gazing about how we use Jira and multiple team members asked "what's the problem you're hoping to solve?" to which the only answer was "That's not what I've seen elsewhere".

I'm beginning to think that there's something wrong with our format or prompts, in that we aren't identifying important issues for discussion. Perhaps the format is stale or there's no serious issues lingering each week?

Any advice on alternative formats, how to get better feedback, etc. would be greatly appreciated.

13
9

Hello! I'm making changes to a web app that involves some aria classes, and I read the docs about how they work, but I'm not real confident in my ability to construct them into something that produces a well-usable experience for someone who's using the app. Is there a good way to get direct feedback from someone who uses a screenreader, or otherwise get some evaluation on whether what I've fumbled together is actually functioning well?

14
8
submitted 5 months ago* (last edited 5 months ago) by TankieTanuki@hexbear.net to c/ask_experienced_devs@programming.dev

Would I have to drive there myself or could I pay an on-site tech to do it for a courtesy fee? Does it depend on the company?

15
42

I've interviewed for and been interviewed by companies large and small. We all know software engineer job interviews suck. But it's hard on the other side of the table too.

One of the better places I worked for had a lightweight process of one phone screen and a four hour on-site. The company also prepared offers before the on-site interview round.

When you finished interviewing, you got a same-day yes or no answer, and if it was yes, you had the offer in your inbox within an hour.

What interview practices have you found effective?

... And by what metric?

16
14

We have a team AMA coming up with a director. Apart from the typical "what are plans/goals for the team" type questions, what else could be useful or insightful questions?

17
17

Was just wondering what's popular nowadays, maybe I find something new and better - what kind of tools are you using to access and manage databases?

I'm personally using Dbeaver a lot but honestly it feels increasingly more buggy and unreliable as time passes, every installation and update has had (unique) issues so far and there's little support. However the ease of use and some powerful, convenient, utilities in it make it preferable to others.

18
1
submitted 8 months ago* (last edited 8 months ago) by learningduck@programming.dev to c/ask_experienced_devs@programming.dev

I'm looking for an external monitor for both programming and gaming. Currently, I'm using a 1080p monitor, but I'm tired of turning my head between the macbook and the monitor when I have to deal with 3+ windows.

So, I think a 2K monitor would be a nice improvement for my QoL, wouldn't hurt my GPU too much compared to a 4k monitor. Any suggestion or should I scrub the idea?

19
1

Hi.

I'm a dev with 3 YOE, mostly in ML and MLOps, and more and more I'm trying to pivot into traditional software engineering. As of now I'm trying to really learn the fundamentals of backend engineering (as opposed to the bootstrapping DIY learning attitude that I had during my ML roles towards backend engineering), and I'm learning Node.JS. I'm getting familiar with the the concepts and the syntax, and so far so good. But one thing that I really lack is the imagination of what a good side-project might be.

So I ask experienced devs here, can you recommend me some good project ideas to work on, to make myself a better dev?

20
1

Hi experienced devs , I am a beginner programmer. I mostly use code completion and go-to source , and rename function and objects, code-pretty. Other features not so much. What features do you use often And what features are not that useful in an IDE and can be considered bloat? P.S.- Which is that one feature that you can't live without?( sorry for sounding like tiktok wannabe)

21
1
Woocommerce API help (lemmy.blahaj.zone)

cross-posted from: https://lemmy.blahaj.zone/post/4160765

I am opening a woocommerce store pretty soon and I was looking through a various drop shipping/fulfilment on demand services. One of them offers their services through an API and there is some documentation on it, and how to run a test if it works correctly on my end but no information on how to "install" it on my store.

I can send you the link to the service and their documentation page - just don't want to do it here not to doxx myself 😄

What is API and how do I use it?

Many thanks

22
1

I got this article in a reply to a different conversation, and for the most part I agree with it. Gpg is old and we have better ways. I like signing my commits, I like feeling that these commits are actually and provably mine. But I'm not married to GPG like I used to be, I'd like a better way. The problem is that git used gpg for signing. I learned about this new thing called minisign and I wanna use it with git. So how do we switch? And if we can't switch, then how do we fix GPG?

23
1

For a personal project, I’m not exactly sure how to decide between cross-platform mobile frameworks (e.g. React Native, Ionic, Flutter, etc.).

I know a lot of it is use-case based, so as an example consider a highly simplified social media with creating posts with text and photo, editing your profile, and viewing/following others. What works best here and why?

For my project, I do have a web app as well built using NextJS, and I have a decent amount of experience with React. I’ve also used Flutter in the past and found it pretty easy to work with, but I’ve never tried my other options.

As far as I’m aware, most people generally recommend staying away from Ionic? I’m not exactly sure why that is or if that’s just an old sentiment.

Thanks!

24
2

I know this is a very generalized question, as it depends on the company, product, position, etc. But in general, what sets someone apart as ready for a senior position over an intermediate or junior position? Experience I would think would be a big one, but say you have a candidate that shows problem solving abilities to solve code problems, but is newer to the tech field vs someone who's been in the field x years, does the first guy have a shot without really knowing the ins and outs of working as a software engineer, hoping to pick it up quick?

25
3
Are there others like me? (programming.dev)
submitted 10 months ago* (last edited 10 months ago) by tinker_james@programming.dev to c/ask_experienced_devs@programming.dev

I'm a senior engineer (web full-stack) at a bank. I've been doing this for about 5 years.

When I write code, I find it similar to authoring a book or even writing a poem. I love trying to write code that reads really well, has beautifully designed boundaries between dependencies, great structure and so on. I also find that I write code with a big focus on making it a joy to work with for developers that touch it later on.

I struggle with the emphasis on collaboration and quick iteration approach in this field. "Co-authoring a book" with 6 other "authors" in two week chunks just seems crazy to me. And what I've seen that passes as shippable code is also crazy to me -- but hey, "it works".

I also have never been a guy that gets overly excited about using technology to solve problems or using software to satisfy business needs. I really just like writing code, setting up development environments or CI/CD pipelines, cloud infrastructure or whatever...just for those things themselves. (Again it's like an art form to me. And I really really like reading other's well thought out code and appreciate for just that rather than the use-case or problem that the code is actually solving)

Anyone else out there like me? (Not arguing the merits one way or the other...just curious if I'm a weirdo)

view more: next ›

Ask Experienced Devs

1064 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS