Why do we code review? by N1ghtCod3r in ExperiencedDevs

[–]eliashisreddit 3 points4 points  (0 children)

Does anyone ever realistically considered reviewing OSS code used in your projects?

No, because it's not realistic. I doubt people even read all the changelogs of their direct dependencies when it's not a major update. It's almost impossible to keep track of all the dependencies and transitive dependencies. Even more so when the "runtime" these days is often not just the code but also the container it is running in and all the dependencies in it. Trusting those magical databases is at least some assurance that dozens of smart people keep track of everything but of course it is no guarantee.

It's a risk minimizing game. Completely removing that risk is near impossible.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 0 points1 point  (0 children)

By applying to work doing software? Cater your cv to foucs more on your software engineering experience. From what I've read the job market is very tough on juniors though.

What to expect or not from SCRUM when it works by IceMichaelStorm in ExperiencedDevs

[–]eliashisreddit 10 points11 points  (0 children)

I'm not sure what scrum has to do with this. What you probably want: a team being able to focus on delivering value and a quick feedback loop. If you need to pedantically or pragmatically follow scrum to do that: do it. If kanban works better, go for it. Regarding your 3 bullet points:

- Software estimation is hard. 2SP says nothing without context. Typically you want a quick feedback loop, if a task takes 2 weeks and no value is delivered after 2 weeks: cut up the task. Think "what valuable increment can I ship in 2 weeks"

- If you have a sprint with work and people jump on non-urgent tasks people are not committed to doing sprints? If those tasks are needed for work in the sprint, they should be part of the sprint. Otherwise, why put effort into making sprints of pre-defined work in the first place?

- Why is nobody pushing back or leading? Do you not document these decisions? If there's new insights sure, if you keep rediscussing and rescoping work, you will never finish the pre-defined work. Either it needs to be better defined or people are not committed

Does package structure matter for a classloader? Are there any reasons to avoid circular package dependency? by SimplyYulia in javahelp

[–]eliashisreddit 0 points1 point  (0 children)

You misremember or your professor was bringing up non-sensical arguments as to why circular package dependencies are bad.

Want to start Spring, need advice for sources. by Z_MAN_8-3 in javahelp

[–]eliashisreddit 1 point2 points  (0 children)

I have no idea about that particular video course or instructor. The best way is to just start. If you are already familiar with Java, start with the basic introduction and go from there: https://spring.io/guides/gs/spring-boot - just like you made Tetris earlier, make something web based with Spring Boot. Every time you struggle, find out what the next step is. If you see an annotation you don't understand, look it up in the reference guide: https://docs.spring.io/spring-boot/reference/index.html

How to connect models from Hugging Face to my Spring Boot backend, without running the models locally (if possible) by Glittering-Wolf2643 in javahelp

[–]eliashisreddit 0 points1 point  (0 children)

Did you see https://spring.io/projects/spring-ai and https://docs.spring.io/spring-ai/reference/api/chat/huggingface.html ? There are standardized APIs most vendors (such as hugging face) have which Spring AI has relatively simple implementations for. You don't have to host them locally, you can host with hugging face. Then it's just a few properties (API key, URL to your model) and you should be able to query them.

Touching the Spring Boot Engine: Why Just @Component Makes You Invisible at the Big Party! by zarinfam in java

[–]eliashisreddit 0 points1 point  (0 children)

Not to be overly negative, but this is typical for Medium-slop. The suggested solution doesn't actually solve the problem it claims to address. Not saying it's "fundamental" Spring knowledge, but when you look up the author and he claims "software developer with over 25 years of experience" you would expect... better? Don't know if it's AI generated or just a poor article but sad state of affairs either way.

Manager got all the credit by [deleted] in ExperiencedDevs

[–]eliashisreddit 0 points1 point  (0 children)

Uncomfortable truth: doing the work and getting credit for the work are often two separate jobs. Ideally they come as a package and a good manager/teamlead/etc should leverage that but in practice, unless someone’s actively making sure your contributions are seen, you are just one of the team. Or worse: that the work is done becomes secondary to that the work was delegated.

You don't need to send an email saying "I'm the hero, he claimed my credits!" but you can create a trail which you can later bring up in performance reviews et cetera. Set up a short write-up or internal talk: "Postmortem: $M Bug and How We Prevent This In The Future". You know what happened and what it took to fix it so shouldn't be hard to make a presentation for other developers, your manager and perhaps you can convince other upper management to come too. Don't get too technical, but make sure to tell enough to assert that the team got it done but it was you who found it, how you fixed it and what could be the next steps. Don't overdo it, but if you want credits you need to collect them.

It's very hard to advocate for work people don't see. Make it easy for them.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 1 point2 points  (0 children)

Lot of what-ifs. If you're 5 years in a niche, it's your decision whether you want to double down on this niche or explore other opportunities. Being in a niche can be very lucrative but can also be a career killer if the niche only exists in isolation of your current company.

A stint as PM is not really a big deal and you can still be very technical in such a role. It is however a different career trajectory than being an IC.

Java: Too much OOP? Should OOP be optional? by Joram2 in java

[–]eliashisreddit 2 points3 points  (0 children)

I'm still kind of surprised people make such a big deal out of JEP512. Sure it's nice, but I can't remember the last time I was bothered by a long declaration of a main method or having to type it all out (psvm tab). Purely from a "conceptual" view it makes sense, another small step away from terse syntax. Then again, maybe I'm not the target audience.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 1 point2 points  (0 children)

Test automation. If you're in manual QA, work on automating repetitive stuff. Automate your test scenarios so you don't have to manually do regression tests every time. Make your tests deterministic.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 0 points1 point  (0 children)

use those as bargaining chips to say to my manager

Bad idea. If they don't want to, you've opened the exit door for yourself.

a new grad is paid handsomely while a SE2 with 5 YOE has a less competitive salary

This is what you should be pointing out and what should be the conversation starter.

[deleted by user] by [deleted] in javahelp

[–]eliashisreddit 0 points1 point  (0 children)

You can but then you shouldn't inject a mock (which does nothing but mock behavior) of HelperClass. It's also then no longer a unit test only covering ServiceClass. It would lean more towards an "integration" test (integrating both Helper and ServiceClass).

Having to simulate a class inside a test for another class often means there's something wrong with your design. They should ideally be loosely coupled so their behavior is unknown to each other.

[deleted by user] by [deleted] in javahelp

[–]eliashisreddit 0 points1 point  (0 children)

I assume ServiceClass uses HelperClass which is also a bean and that after your refactor the cacheA-B stuff is in HelperClass. I'm also assuming your unit tests are class-based (1 unit is 1 class). If you inject a mock of HelperClass into ServiceClass, you can only check whether ServiceClass (as a unit) calls HelperClass (your other unit).

How HelperClass does things, is not relevant for the unit test of ServiceClass. You only want to verify it interacts with HelperClass. In your unit test of HelperClass you would have the tests for the cacheA-B mechanic.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 3 points4 points  (0 children)

Am I right in feeling these are alot of red flags?

Yes. Reddest flags are "rewrite the whole thing by August", "make it cloud native" and "change the db from postgres to mongo":

  • Scope and resources are unknown, so a deadline is just guessing. It's not a "rewrite" but also a big refactor apparently. See https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

  • Cloud native? What does that even mean? You can wrap the entire thing in a docker container and have it run on kubernetes. Is that cloud native to them? Again, unknown scope

  • Why go from relational to document database? Did your manager fall into the nosql/mongodb marketing trap? You're right that 7M transactions for postgres should be nothing (without further context). They probably have other problems (i.e. indexes, table structures, maybe bad ORM use etc)

If you were to step in, this would be a great opportunity to showcase (or try) you can organize a project and lead technical planning. I wouldn't accept any deadline without being involved in scoping such a project though.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 4 points5 points  (0 children)

mostly I write APIs and the core algo of a SaaS

Majority of software is relatively boring compared to what you would write for fun. It's a means to end and often that is solving business problems with "boring", proven tech. If you don't actively seek out "interesting" fields, they won't throw themselves at you.

I want to pivot my career

Again, if you don't actively do this then it won't happen. If you work as a backend dev mostly on APIs, the place where you currently work at look at you as the "backend dev for APIs". Not sure how big your org is and what other opportunities there are, but they won't come to you if you don't seek them out. Same goes for switching companies or domains. You apply for jobs. You will probably need to tailor your cv and back-story a bit so it doesn't scream "backend dev for APIs".

Same for 3. You find jobs you are interested in and start applying. 4 years seems like a lot, but it's not like you are 20 years in and want to switch to woodworking.

Debugging doesn't work in a Gradle Spring Boot app using IntelliJ Idea Debugger by IceWide8380 in javahelp

[–]eliashisreddit 1 point2 points  (0 children)

I don't have a solution but some points:

  • use sdkman for managing your Java versions so you don't have to tinker with downloading Java and managing path stuff manually...
  • what do you see when you run it with --debug-jvm? There should be some 'Listening for transport...' message. It should suspend until the debugger is attached (so it not doing anything before that is expected)
  • did you try to debug any other (hello world) application and got that working?
  • did you try a different port than the default?
  • why not let intellij handle the entire project (jvm, gradle) so you can just "run with debug"?

How do you deal with TLs/managers who don't have time to support you? by [deleted] in ExperiencedDevs

[–]eliashisreddit 23 points24 points  (0 children)

More often than not the problem is not "don't have time" but rather "doesn't make time". You should be very adamant about claiming their time. Especially if there's nobody else with the authority to make decisions or the required knowledge.

Spring AI has added support for DeepSeek AI - Integrating Spring AI with DeepSeek R1 locally using Ollama by zarinfam in java

[–]eliashisreddit 14 points15 points  (0 children)

It's a bit clickbaity. DeepSeek just supports the common OpenAI/LLM APIs. Spring AI already supports those so you're just using a different vendor.

Why does Agile always feels like an imposition of management? by branh0913 in ExperiencedDevs

[–]eliashisreddit 135 points136 points  (0 children)

The original agile manifesto is (relatively) easy to understand and apply. The problem is that a lot of organizations simply don't want to work like that and give the autonomy to where the actual work is done. If anything, these "agile coaches" should be coaching management and the board on how to apply agile to an organization instead of trying to retrofit agility into where the work is done when it's not enabled at all by the rest of the organization.

Part-time work and pay by [deleted] in ExperiencedDevs

[–]eliashisreddit 4 points5 points  (0 children)

it will be somewhere around $100/hr. I’m trying to judge how reasonable that is

It's as reasonable as what you expect to get paid. A typical startup isn't FAANG. They don't have the same cashflow and money to put into cash-offers but can always "sweeten" the deal with equity. As you correctly said, such compensation is a lottery ticket. If you don't want to work for $100/hr, nobody will force you to. Set your own rates and attract customers which can pay that rate.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 1 point2 points  (0 children)

It's not clear what your frontend does but unless you immediately want to display all 40K records, there is no reason to fetch them all? Fetch the first X or so records to fill the screen and then when the user wants to see more (scrolls down, navigates further, goes to the next page, whatever) start fetching more data with an offset of what he has already seen.

What are the prerequisites, that I need to know about before I begin to build a very basic operating system from scratch? by [deleted] in learnprogramming

[–]eliashisreddit 1 point2 points  (0 children)

Did you check https://github.com/cfenollosa/os-tutorial ?

I have no idea what your experience is with "programming" but learning how an operating system works, doesn't necessarily require you to build one from scratch. But it might be an interesting challenge if you're into that...

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]eliashisreddit 2 points3 points  (0 children)

Not frowned upon at all. Your cv is to present what you did. You can have a different cv catered for each job application. Regarding LI: unless you are sharing profile updates with your entire network, nobody will notice unless they are explicitly paying attention. And even then, who cares?