17
[-] nibblebit@programming.dev 10 points 1 year ago* (last edited 1 year ago)

Audit logs and Access control paper trails.

Security event logging has to be:

  1. Broadly accessible
  2. Write-protected
  3. offering some proof of completeness.

These three requirements are tricky and often conflicting. Block-chain might be an inefficient way to achieve these, but the glove does fit quite neatly.

Logistical paperwork

  • Purchase Orders/Invoices and packing slips
  • Waybills/Bills of lading and CMR's

These kinds of documents require multiple stages of matching and approval by untrusted 3rd parties. There are dozens of ecosystems of interacting systems that support processing these documents, but most people still use paper. Paper is more reliable when you need to deliver a container full of diapers from Poland to North Sudan. It's more reliable but incredibly prone to fraud and forgery. Having all of these approvals and transactions tracked on a blockchain and letting different systems interact with the same chain, would make it possible without each ERP having a rest API to each other ERP.

[-] nibblebit@programming.dev 11 points 1 year ago* (last edited 1 year ago)

This is a bit of a narrow view of a very vague term. Having worked with many different sizes of organisations i can say that the responsibilities of whomever is labelled CTO are completely arbitrary. The only thing you can establish is that they are the person accountable for the technology decisions.

Sometimes that's a legacy developer, sometimes that's the first sys-admin.

Sometimes it's the VP of engineering.

Sometimes that's the person that maintains the best relationships with software vendors.

Sometimes it's the person that was hired externally to explain the tech to the CEO and let's them make informed executive decisions.

Sometimes it's just a public figure used to promote the org and maybe do DevRel.

Sometimes it's the Architect that designed the ecosystem.

Sometimes it's the ancient programmer that has kidnapped the entire codebase so that no-one else can sanely work on it.

Sometimes it's a six sigma type that setup the ticketing system, PRs and the release process.

At any size, the CTO is whatever the org needs him to be at that point.

[-] nibblebit@programming.dev 5 points 1 year ago

I had been struggling with severe RSI for a few years and no one thing helped. I would try something out and the pain would return in a few weeks. What eventually completely solved my problem is variation. I have several working spots using different devices (traditional mouse, vertical mouse, thumb balls, trackballs, pen tables, touchscreens). I've made sure to just change posture and devices every few weeks. Ever since doing that, my problems have completely gone away. A mobile standing desk that you can adjust for squatting to slouching to sittin to standing and walking is great adds a ton of variation.

1
[-] nibblebit@programming.dev 16 points 1 year ago

Inheritance is a fine abstraction. Easy to understand, but can't bring you very far. It's like a necessary evolutionary niche. It has its places, but it's most important as a gateway to get us to better abstractions.

[-] nibblebit@programming.dev 5 points 1 year ago* (last edited 1 year ago)

some solid software system specifications. The kind of thing you might get from a client or stakeholder

๐Ÿค”

In all seriousness, sounds like a fun exercise. Have you tried to contribute to open source? That doesn't mean just bug fixing, many popular projects accept contributions in issue tracking and QA. Many are great ways to get to know a new technology and solve novel problems.

[-] nibblebit@programming.dev 16 points 1 year ago* (last edited 1 year ago)

All you folks are crazy not to unit test personal projects. Unit tests don't need to be fancy and exhaustive. A sanity check and having a simple way to execute isolated code is well worth the 15 minutes of setting it up. Heck, just use them as scratch files to try out libraries and APIs. I can't imagine having the kind of time to raw-dog that f12 button and sifting through print() nonsense all night.

[-] nibblebit@programming.dev 8 points 1 year ago

You either start saying no to unreasonable demands, or you hire someone that will take the heat for saying yes.

[-] nibblebit@programming.dev 5 points 1 year ago* (last edited 1 year ago)

So what we do is, between the first and second interview we have new candidates recreate Twitter over the span of a week. We stress that they can put in as much time into it as you want. By no means does the site need to be functional at all by the second interview. If they spend 30 minutes thinking about it and are able to have a decent conversation, great! 30h assignment is a bit much and a programmer with that kind of time, is a bit of a red flag actually.

The point of the assignment, for me, is not to have some barrier of entry for a candidate. Instead, I use the assignment to:

  1. Have something to talk about
  2. See how good they are at structurally dissecting the problem
  • Do they get bogged down in details
  • In what order do they attack the problem
  1. Are able to effectively communicate some basic concepts around web-development
  • Request sequences
  • Authentication
  • Database Schemas
  1. Asses their personality
  • Do they want to try some new tech
  • Do they polish
  1. How broad are their technical interests
  • Do they do tests, did they host the project, did they do something interesting with UI
  1. How deep does their knowledge go
  • did they use the right tools, do they have experience
  1. Have room for some hypotheticals
  • How would you do it in a team
  • what would you do with a month of time

When you look at it like that, the project doesn't really need to be that complicated. A candidate may be able to fake a challenge, but they can't fake an interview.

[-] nibblebit@programming.dev 4 points 1 year ago

Whenever possible, I've run projects to have zero downtime deployments. Multiple stateless instances behind a load balancer. Deploy one instance at a time, run a health check and move traffic to the fresh instances. Most cloud providers often have these out of the box. Database migrations are run well in advance. New functionality is hidden behind feature flags.

Zero downtime is nice, but the real benefit is that you force the teams to really think about deployments as migrations to accomplish this policy.

Your instrumentation and alerting need to be top-shelf you need to automate deployments fully, which means you can fully automate rollbacks.

The downside is that you have to build everything twice, deployments are slower and there is a significant descaffolding.

But that's a small price to pay not to be on call outside of business hours to deploy.

[-] nibblebit@programming.dev 9 points 1 year ago

A single race condition is a tragedy. A million race conditions is eventual consistency.

[-] nibblebit@programming.dev 7 points 1 year ago

If OP play their cards right they have a wonderful legacy support gig for life

[-] nibblebit@programming.dev 19 points 1 year ago

Counter point. Sounds like a c-level pet project on steroids. It doesn't sound like anyone is planning a migration. So they are relying on a big bang.

Now... A question for the panel: how would you say big bangs on corporate software projects with actual customers typically go?

3

Hey I started making an Azure functions bot so I made a quick lemmy HTTP client and decided to push it to Nuget

3
Let's play a game... (programming.dev)
2
Welcome to C#! (programming.dev)

Hey there! ๐Ÿ‘‹

Welcome to our C# community on Lemmy! We're a group of programmers, hobbyists, and learners all keen about C#. Whether you're a pro or just getting started, we're excited to have you here.

Our goal? To learn, share, and collaborate on everything C#. Got questions, projects, or resources to share? Or simply want to discuss a feature you love (or not) about C#? This is your space!

Here are a few ground rules:

  1. Be respectful and considerate: Remember, we're all at different stages in our C# journey.

  2. Stay on topic: Let's keep discussions C# focused.

  3. No spamming or self-promotion: Share your projects, but don't overdo the self-promotion.

  4. Use appropriate language: No offensive language. Let's keep it positive!

So, let's dotnet build and Nuget Unable to resolve dependency

Cheers!

1

Hello and welcome to /c/loud, the community for everything cloud computing. We are a growing community of IT pros, developers, tech enthusiasts, and novices alike, all with a common interest - exploring and understanding the expansive world of cloud technology.

This community was created to foster meaningful discussions, insights, and knowledge sharing about cloud computing. Here, we delve into everything from the fundamentals of cloud architecture to advanced topics, such as implementing cloud-native applications and mastering different cloud services like AWS, Google Cloud, Azure, and many others.

What Can You Expect From /c/loud?

  1. Discussions: There's always a vibrant conversation happening here. You can ask questions, answer queries, engage in debates, or share your insights about various aspects of cloud computing.

  2. News: Stay up-to-date with the latest developments in the cloud computing world. From new service launches to policy changes, we discuss it all.

  3. Learning Resources: Whether you're just starting with cloud computing or are a seasoned professional looking to expand your skills, we regularly share resources to helThere's something for everyone, fromu. From online courses, tutorials, and webinars, to blog articles ething for everyone.

  4. Career Guidance: Interested in a cloud computing career but unsure where to start? This community can be an excellent resource. Share your career-related questions, get advice from industry veterans, and learn about job opportunities.

Rules

Remember, as with all communities, we have a few rules to ensure the conversations remain respectful and relevant. Before you post, please take a moment to go through our rules.

  1. Respect Each Other: Everyone has a right to their opinion. Please respect that right. Healthy debates are fine but do not resort to personal attacks or hate speech. We value a diverse community with different perspectives.

  2. Stay on Topic: This is a cloud computing community, all discussions and posts should be related to this subject. Please ensure that your posts are relevant.

  3. No Spam or Self-Promotion: This community is a place for discussion, not self-promotion or advertising. Posts that blatantly advertise a product, or service, or are used for self-promotion will be removed.

  4. Avoid Reposting: Before posting, please use the search bar to ensure the topic hasn't been covered recently. Repetitive posts can clutter the feed and might be removed.

  5. Professional Language: Use professional and (hekkin') polite language. Avoid using inappropriate or offensive content. Firefly profanity is allowed.

  6. Fact-Check Your Posts: Misinformation can be damaging and misleading. Please ensure that the information you are sharing is accurate to the best of your knowledge. This includes outdated articles or content regarding deprecated services.

  7. Respect Privacy: Do not share the personal information of others. This includes email addresses, phone numbers, physical addresses, etc.

  8. No Illegal Content: Any posts or comments sharing illegal content, or discussing activities that violate the terms of service of cloud computing platforms, will be removed.

  9. Cite Your Sources: If your post includes data or information sourced from somewhere else, please provide a link or citation to the original source.

Violation of any of these rules can result in post/comment removal. The mod team reserves the right to enforce these rules at their discretion. If you have any questions or concerns, please feel free to reach out to the moderators.

We look forward to a positive and engaging environment here in our community!

Enjoy!

Whether you're exploring cloud computing for the first time, or you're an experienced professional keen on staying abreast of the latest trends, /c/loud is the perfect place for you. Join us today and become a part of our thriving community!

2

I think this is a struggle for many of us. Not only to re-organise existing teams but also positioning teams in a larger organisation. What team composition works for your cases? What roles are filled within a software development team, and what roles run across teams? What kind of teams are there?

I've applied teamtopologies and unfix to help communicate about our team structures, but I'm curious about what problems people encounter and what solutions you've discovered.

Some challenges I've been facing:

  • Finding or training security officers
  • Organising IT operators
  • Dealing with access control and compliance
  • 24-7 Coverage
  • Keeping Data Scientists productive
  • Avoiding superheroes
  • front-end and back-end teams
  • dedicated testers
  • The role of QA and Product

I'm curious to see a discussion :)

view more: next โ€บ

nibblebit

joined 1 year ago
MODERATOR OF