Von_Broheim

joined 1 year ago
[–] Von_Broheim@programming.dev 1 points 1 year ago* (last edited 1 year ago)

Last 2 job changes I told the recruiters my current company is not paying competitively and the annual raises are below inflation. Then we agreed on my expected salary range. They got back to me within a day or two with offers and both times I was signing a new contract within a week.

They respected my bluntness and aimed to meet my expectations. I'm in the UK and I find that outside the hipster businesses or blatant venture capital scam startups, in tech, people respect being to the point and honest.

Sadly both times my existing employers couldn't afford to meet my new salary range when I got the counter offers, I would've stayed if they matched or exceed.

I'm also honest and to the point when interviewing and my interview to offer ratio is about 1/3. The other times they find someone cheaper or they're one of those companies that expect a full stack senior dev at mid tier salary. I never got ghosted or declined, it was always that I asked for too much money and I declined the counter offer.

Also, never complain about your current job. Instead say what you want/expect and mention that you're not getting it in the current role. I find that recruiters and interviewers address these expectations very early in the process.

[–] Von_Broheim@programming.dev 26 points 1 year ago* (last edited 1 year ago) (2 children)

Yeah, that's great, until you need to conditionally compose a query. Suddenly your pre baked queries are not enough. So you either:

  • create your own shitty ORM based on string concatenation
  • create your own shitty ORM
  • or use a well supported ORM, those almost always support query composition and native queries

You write like it's ORM vs native. ORMs let you write native queries and execute them while also doing all the tedious work for you such as:

  • mapping results to model objects
  • SQL injection safety
  • query composition
  • connection builders
  • transaction management

So if you love native queries write native queries in an ORM which will do all the tedious shit for you.

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

Serverless will forever be stuck as a tech that's only good for majority async stuff because of cold boot speed, scaling costs, and general latency.

[–] Von_Broheim@programming.dev 1 points 1 year ago

I'm learning Scala, is that close enough?

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

Language absolutely is a marketable skill because most companies are looking to hire someone who can start working day one not someone they'll have to train for weeks or even months in a new language that heavily relies on some specific framework.

[–] Von_Broheim@programming.dev 14 points 1 year ago

Jira is a pain, slow, bloated, and ugly.

Trello okay is for student projects, too basic.

ClickUp was decent when I used it professionally, I still use it for personal project management.

Azure DevOps is baby's 1st JIRA, but somehow Microsoft made it worse in every way.

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

I find that code written towards fulfilling some specific database design is usually a nightmare about 20minutes into the project. You end up with garbage semantics and interfaces because you're building an entire app for the sake of storing stuff in a database. It's an ass backwards approach to software development imo, software is about solving a human problem and data persistence is just one of the steps in the solution. Instead figure out what data your consumers need, then figure out what domain objects can be extracted from that, then plan how you will persist those domain objects. You'll end up with less boilerplate, better naming of entities and services and you'll also find that the words your team uses to talk to each other make sense to your business people not just your dba.

[–] Von_Broheim@programming.dev 1 points 1 year ago

Just do TDD instead

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

If you're writing an explanation of what your code does then, ding ding, you're writing code. If your code has so many side effects and garbage in it that it's incomprehensible without an explanation then it's shit code and I doubt you'd be able to write a comment that explains it that is not equally as shit as the code. Commenting on how shit code works cannot be trusted because the commenter has already proved they're shit at the job by creating that shit code.

Best you can hope for is the comment contains a reason as to why the code is shit.

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

The problem is that code is language and people who write shit code tend to write shit comments, so no value is gained anyway. The sort of person who'd write good comments will most likely write good code where these comments are not needed, and when they intentionally write shit code they'd probably explain why.

So best you can hope for is that both of these people write comments about why they decided to write a comment, and hopefully the person who writes shit code improves over time.

[–] Von_Broheim@programming.dev 1 points 1 year ago* (last edited 1 year ago)

Microservices and document db's go brrrrrrr. Data duplication is completely fine as long as there is only one source of truth that can be updated, all copies must be read only. Then the copies should either regularly poll the source or the source should publish update events that the copies can consume to stay in sync. It's simple stuff but keeps your system way more available and fast than having multiple services talk to a shared db or worse, multiple services constantly fetching data through a proxy.

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

People hating on Java because "inheritance" usually don't know the difference between inheritance and polymorphism. Stuff like composition and dependency inversion is black magic to them.

view more: next ›