r/SoftwareEngineering

▲ 0 r/SoftwareEngineering+1 crossposts

Do we need design patterns when code is only read by AI?

In my understanding we need patterns for better code organisation leading to code deduplication and better readability.

But how important really readability is? When all code is read and written by AI

Shouldn’t we let AI come up with whatever designs works for them?

I understand it can be taken further away up to writing assembly code, but we still in a period of time where we wanna have at least slight chance of fixing the thing ourselves in a critical moment

reddit.com
u/cloenche — 2 hours ago

Suggestions for ways to build a portfolio / my skills as a close-to-graduating undergrad?

I'm nearing graduation for my software engineering degree. I have a 3.5 GPA, could be better but I think it's still somewhat strong. My last three semesters before graduation are one class each, and unfortunately I cannot drive (disabled) so a lot of undergraduate job opportunities aren't readily available to me. I want to improve, not only for the sake of finding a job, but also for my own benefit. I wanted to ask people who have gone through this for their suggestions. What kind of projects should I tackle? What languages should I use this time to attain a mastery of? Are there any certifications that would benefit me to pursue? Please don't use this post as a place to doom about software engineering, you're not helpful.

reddit.com
u/EnderShot355 — 9 hours ago

Hard parts are still hard.

There is an emerging problem in tech now that the market is hyper-focused on developer productivity: people are optimising their profiles to suit the market, fuelled by the growing sentiment that coding and full-stack development is a solved problem.

I partly agree. Building basic CRUD apps is largely solved, and that is what a significant portion of developers were doing before Codex and Claude launched. But having worked heavily with major AI tools, it is clearly evident to me that expertise matters more than ever. Your ability to understand a portion of software or a domain deeply is going to take you a long way.

Writing software fast using LLMs is now a common expectation - preferred and appreciated. But to do that well, you need a deep understanding of what you are using. Catering to the LLM is a skill.

I am not saying you should not pivot your career around specific tooling. Do it if you deeply care about it. Otherwise, your moat is in going deeper in one area and relying on LLMs for breadth.

The hard parts are still hard - distributed systems, data modelling, performance under real load, security. AI was never a threat where there was no moat to begin with. If your only moat was working long hours to build the same old stuff, that is gone.

The skill of tomorrow is not prompting. It is knowing what context to load, what output to trust, and how to integrate all of it inside a problem space that is still messy and still yours. No frontier model is going to help you with that. Things are still breaking in production.

Depth takes years to build. But there is one thing each developer already has that is deeply their own: intuition. Intuition for how a problem should be solved. For how it will fail under load. For how a user will actually use the thing versus how the spec says they will. Unless you compound on that, you will always be playing catch up.

reddit.com
u/grandimam — 1 day ago

Best options to host a small automation

So I am a complete beginner to software engineering. I created a python script that scrapes data from a website everyday (It is just stock market data) and stores it into a .csv file. Now I want to host it on some cloud infrastructure so that it runs every weekday. So what cloud hosting is the easiest to use and the most cost effective? It isn’t a compute heavy application at all and even a very small amount of storage will work. Also right now I just add the command sleep(86400) in an infinite loop to make it wait the day, what can I do to fix this.

reddit.com
u/Stunning_Hawk6556 — 1 day ago

Is it normal to work on a large software project with basically no senior engineers and architects?

I’ve been working for about a year as a software engineer in a company that develops software for the defense industry.

To simplify it a bit: a defense company asks us for some software for a specific aircraft/display/feature, and we develop it. We’re probably somewhere between a consulting company and a product company.

There’s one thing I really can’t understand, and honestly it’s starting to make me hate this job.

For the past year, I’ve been working on the same project. We’re basically developing two major software components for a new aircraft from scratch. The overall team includes:

  • people talking with the customers/users (pilots, etc.)
  • people writing requirements
  • graphics/UI people
  • and then my team, which develops the software itself

The problem is: there are basically no senior engineers.

Other than one manager coordinating the project, everyone is junior. Most people have between 6 months and 1.5 years of experience. And honestly, I feel like I’m not learning how real software engineering is supposed to work.

What I feel is missing is someone who defines the architecture of the project and breaks problems down properly.

Tasks are technically divided, but it’s more like:
“You handle this huge feature.”

But that “feature” may contain 10+ subfeatures and a lot of internal complexity.

So yes, in the end I produce code that compiles and works, but it constantly feels like I’m patching things together without any real direction or long-term design.

What’s missing, in my opinion, is someone saying:

  • “For this problem we’ll use this architecture.”
  • “These components communicate this way.”
  • “This is the data flow.”
  • “This is the right algorithm/data structure here.”
  • “These are the interfaces/APIs.”
  • “This is how we organize responsibilities.”

Another thing that bothers me is that there are basically no technical senior figures to ask questions to.

If I get stuck on some complicated bug, design issue, or implementation problem, there isn’t really an experienced engineer I can go to and discuss it with. Of course I can debug things myself, use tools like Claude/Codex, read documentation, and eventually solve problems, but it still feels wrong that there’s no actual technical mentorship inside the team.

The only senior people are managers, but they mostly act as coordinators between us developers and the executives/clients. We usually have one weekly call about project progress, but the conversations are more along the lines of:
“Is that feature progressing?”
“Looks good, keep going.”

Not really deep technical discussions or engineering guidance.

Maybe I had unrealistic expectations, but I always imagined that in a “serious” software project there would be:

  • some kind of software architect/system architect defining the high-level structure (there are figures like these, but they are mostly on the system side, defining what the software should do, not the architecture itself, I hope I am explaining myself clearly)
  • senior engineers owning major areas and decomposing them into smaller tasks
  • juniors implementing more isolated features/components while learning from seniors

Instead, it feels like a group of juniors trying to collectively figure everything out as we go.

And honestly, since I really want to build a long-term career in software engineering and eventually become something like a staff engineer, lead engineer, or architect, I’m starting to feel lost. I don’t know if this environment is helping me grow, or if I’m missing the kind of mentorship and technical structure that people normally get earlier in their careers.

Is this normal in the industry?
Is this just a problem with my company/team?
Or did I have the wrong expectations about professional software development?

reddit.com
u/ThomasHawl — 1 day ago
▲ 7 r/SoftwareEngineering+7 crossposts

Autonomous QA Agent

As a software engineer, you eventually become QA for your own features too. At first it’s manageable. Then you realize you’re running the same regression flows every deployment.

So I built Easy Sanity — an autonomous AI agent for regression & sanity testing.

You define test cases in plain English, and the agent executes them for you.

It supports two modes:

• Deterministic flows → predictable, fast, low-token execution for stable regression suites
• Adaptive flows → browser-native reasoning for dynamic UIs and exploratory validation

For adaptive workflows, Easy Sanity uses Browser Harness by browser-use to connect agents directly to live browser sessions through CDP instead of repeatedly generating Playwright scripts.

The goal is simple:
Focus on shipping. Let the agent handle the sanity.

Repo: https://github.com/kedarvartak/easy-sanity
Docs: https://kedarvartak/agents/easy-sanity
Linkedin: https://www.linkedin.com/posts/kedar-vartak20\_as-a-software-engineer-you-eventually-end-activity-7458905107645009920-3aVL?utm\_source=share&utm\_medium=member\_ios&rcm=ACoAAEIgu4gB04kNAIaHNXANbvZjcB\_mJNsj\_L4

u/Desperate_Title1595 — 1 day ago

How do we actually grow new engineers in the AI era?

Something I keep thinking about, coming from enterprise and high-scale work: how do we create junior engineers who actually become engineers?

The old path made sense. You struggled, got mentored, built understanding through failure, owned your code, and eventually became the senior who grew the next generation. That cycle had real value.

AI quietly breaks it. If juniors vibe-code from day one, they skip the part where real understanding forms. They produce output, but do they own it? Can they reason about why it works, what breaks at scale, or how to debug it under pressure at 3am?

Maybe the job just shifts to orchestrating AI. But in enterprise, where correctness and accountability actually matter, I don’t think we’re there yet.

And the question I keep coming back to: if nobody truly owns the software anymore, is that a new paradigm we should embrace, or a fragility we’re sleepwalking into?

Curious how others are handling this, especially those mentoring juniors right now

reddit.com
u/John-Doe-02 — 1 day ago

I don't wanna use AI but want to code!? 😭 (help)

hey! So... I'm a teenager who wants to be a software engineer or Dev when I grow up and I am learning coding online right now, but I have this very specific problem and I was wondering if someone could help me with it. So I hate AI. Specifically gen AI. But I love coding and building stuff. I really want to pursue my interest in coding but every where I look, everyone is using AI for it and I understand that it can be used as a tool, yet I can't get rid if the feeling that it doesn't feel right to use AI. Not that its "cheating" or something, I just hate AI because of how much pollution it causes, water requirements to cool it down, also open AI being the biggest donator of the war, the ethical dilemmas that come with it and so much more... So I'm really confused on what sort of decision to take right now. I have quit the use if AI entirely for months now and it feels wrong to have to use it again later.

Help plz 😭

reddit.com
u/Due-Wedding-2680 — 3 days ago
▲ 42 r/SoftwareEngineering+6 crossposts

Hey folks! A post on cache types, but from a different angle than the classic one tied to where the cache lives.

u/teivah — 2 days ago
▲ 1 r/SoftwareEngineering+3 crossposts

agent-qa: Write tests in natural language. QA harness framework for web & mobile.

Hey Reddit,
I am the creator of agent-qa.

AI has accelerated development which allows devs to build products at lightning speed. But the confidence whether it works isn't there. Though coding agents can write tests on their own but they greedily writes tests to make them pass.

The intention of building agent-qa is to provide an AI native solution to E2E testing.
I have used playwright as a kernel for executing planned actions in the QA harness.

Looking forward to feedback.

GitHub - https://github.com/vostride/agent-qa
Consider giving it a ⭐
Thanks!

Demo - vostride.com/

github.com
u/IndianITCell — 2 days ago

Functional and Non Functional Requirements

I am having some trouble coming up with Functional and Non Functional Requirements in a system. What are some things you usually consider when coming up with this ?. I think the Functional Requirements are what the System is supposed to do for the user but what about Non functional requirements ?.

reddit.com
u/Busy_Selection5408 — 3 days ago

At what point does a four day access request SLA become an engineering team's problem to solve themselves

We rolled out a formal access request workflow last year proper approvals, audit trail. security was happy engineers were not.
four days average from request to access. not because approvals are slow but because requests route to resource owners who have other priorities and the escalation reminders don't really work.
two months in someone built a slack bot that auto-provisioned access to six internal systems based on team membership built it because four days is too long when you're blocked mid-sprint. no audit trail, nothing IT could see.
bot ran for six weeks before IT found it 34 engineers provisioned across systems that should have had individual approvals. IT shut it down. the engineers who built it said the formal system was the problem not the bot.
they were right about the four days.
every time someone raises it with security they come back to the same point  remove the friction and you remove the control.

has anyone actually found a way to make this work or is four days just the tax you pay for having governance at all.

reddit.com
u/Visible_Donkey_7130 — 4 days ago

Are there any rigorous SWE subfields?

With the whole AI thing people have gone crazy and a huge part of software is now (and has been) very shallow, are there any subfields of software that must require rigor and actual care for the craft?

reddit.com
u/Midk_1 — 4 days ago
▲ 5 r/SoftwareEngineering+2 crossposts

[Academic] Software Engineering Challenges & Tooling Gaps Survey (Software Engineers / Developers worldwide)

Hi there! This academic survey aims to explore real-world challenges, friction points, and technical gaps that software engineers face in their daily development workflows. Your insights will directly help identify a concrete research gap to be addressed through novel software tooling, automation, or methodologies. This survey is completely anonymous, and the data will be used strictly for academic research. Thank you for sharing your expertise!  

https://docs.google.com/forms/d/e/1FAIpQLSfX2IAK9ZG-RxcWmQEW086kpKyGHD6F9yn4GX0AVLIx-6-Dsg/viewform

u/Select_Feedback5478 — 4 days ago