#softwareengineering

Posts mentioning hashtag #softwareengineering

Below are all the posts — topics as well as replies — that mention the hashtag #softwareengineering.

Mention #softwareengineering in your post to continue the discussion!

Learn asymptotic runtime with me

Why are so many SAS developers struggling with asymptotic runtime? Time to fix this gaping hole in your knowledge before you deploy yet another catastrophic O(n²) disaster to prod. Listen closely and I'll break it down into tiny, digestible pieces so you can finally comprehend this.

Asymptotic runtime is a mathematical framework used to describe how an algorithm's execution time changes as the input size (which we call n) grows toward infinity.

Note that I said infinity, not "ten items from your local test database."

We don't count actual seconds or milliseconds. Why? Because your slow, outdated laptop will run code differently than a high performance server. Measuring seconds is for amateurs. Professionals look at the growth rate of operations. We look at how the algorithm scales when the data gets massive.

There are three symbols you need to know.

Big O (O): This is the upper bound. It's the absolute worst case scenario. It guarantees that your code will never, ever perform worse than this curve. Since your code likely runs terribly, you'll spend most of your time dealing with this one.

Big Omega (Ω): This is the lower bound. It represents the best case scenario. It's the absolute minimum number of operations required.

Big Theta (Θ): This is the tight bound. We only use this when the best case and worst case growth rates are exactly the same. It means the runtime is perfectly sandwiched between two constant factors.

When analyzing runtime, we completely ignore constants and lower order terms. Why? Because when n is one billion, adding 5 or multiplying by 2 does not matter. Only the highest power of n matters.

Here's the hierarchy of efficiency, ordered from best to worst. Try to memorize it so you can stop writing terrible code:

O(1) - constant time, the gold standard. The input could be five items or five billion items; the algorithm takes the exact same number of steps. An example is looking up an element in an array by its index. It's instant. It's flawless. It's everything your code isn't.

O(log n) - logarithmic time, highly efficient. Every time the algorithm takes a step, it cuts the remaining problem size in half. Think of binary search. Even if you search through a billion sorted items, it takes a maximum of around 30 steps.

O(n) - linear time, acceptable, but uninspired. The time grows in direct proportion to the input size. If you double the data, you double the time. This is what happens when you use a simple loop to scan through an unsorted list from start to finish.

O(n log n) - linearithmic time, the standard for any decent sorting algorithm, like merge sort or quick sort, the absolute best we can do for comparison based sorting.

O(n²) - quadratic time, this is where we enter the danger zone. If you double the input size, the execution time quadruples. You usually achieve this embarrassment by nesting a loop inside another loop because you didn't know how to utilize a hash map.

O(2^n) - exponential time, complete and utter failure. The operations double with every single item you add. If n hits 50, your program will literally outlive the universe.

If you only ever write code that processes a list of ten users, you can ignore all of this and keep writing your sloppy nested loops.But the moment your data scales to millions of users, an O(n²) algorithm will lock up the CPU, crash the server, and force your manager to ask why you didn't learn this in school. Asymptotic runtime allows you to predict these catastrophic bottlenecks before they happen, independent of hardware.

Next I probably need to show you how to analyze a nested loop or how to identify a constant-time operation...


Why does Dell have thousands of Software Engineers?

Honest question: Why does Dell have software Engineering Leaders and 10s of thousands of software developers?

Every piece of enterprise software we develop either doesn't work, has to be recalled, or is already 10 years behind the competition when it releases. So why do we have these groups?


Offshore is Scam! ITC doesn't want to hire experienced engineers who worked at WHQ even if they are willing to relocate.

15yrs experienced software developer from cognizant (offshore) who is working for Nike for last few years doesn't know what is github or doesn't know the meaning of commit / repository. I mean literally some resources don't know anything and i am not sure how many companies they are working at same time. They celebrate when they hear people who make them work get laid off. ITC leaders trying to build their own empire and they don't want to hire people who are talented and have worked for same company. RIP Nike Technology!


NetApp Implements Layoffs Affecting San Jose Roles

NetApp recently conducted layoffs. These job cuts occurred in San Jose. The affected positions included product management. Software engineering roles were also impacted. Sales department employees faced job reductions.

San Jose, California

https://www.bizjournals.com/sanjose/news/2026/05/26/netapp-layoffs-san-jose.html


More of the Same Old

https://www.medtechdive.com/news/medtronic-to-create-european-software-hub-in-ireland/820999/

Now we’re back to the usual agenda of outsourcing whenever possible!

“The Patient Care Systems hub will develop cloud-based platforms and clinical software to support connected care for patients with implanted cardiac devices, according to a Thursday statement from economic development agency IDA Ireland. The investment will add 85 jobs initially. New roles at the site will include leadership, software engineering and systems reliability positions.”


Developer metrics

For code contributors, there’s metrics involved now. Even within tiers of needs improvement, meets, or exceeds, they have top, middle, and low rankings. Basically tracking commits from forked branches of mainstream repos. I’m sure they used this as part of the layoff decisions.


Software engineering layoffs soon?

One IT department just announced last week it will be moving to AI SDLC. This means developers will basically just be 'reviewing' AI agentic code instead of writing.

What do you all think about this? Will Vanguard be doing layoffs/stealthy layoffs more often over the coming months?

In my opinion, the writing is on the wall and it has been getting more clear across the organization for a handful of years now.


Team match related

I know this is a layoff related forum but this is like the only way to know about how the inside works...
How does team matching(Software Engineering) work once you got a verbal offer from the recruiter? It's been almost a month and HR/Recruiter haven't schedule a single meeting for me.
Does anyone know how many candidates are in the talent pool and how many headcounts are out there?


Crazy Job interviews

Is this normal at Schwab to get asked to created a whole angular application during a specialist software engineer interview that connects to an api. I had until tomorrow to finish it, but I felt it was a waste of my time since I am employed in a different position with other work. I felt it was extreme and I’m moving on. Is this normal.


AI vs. Engineer Overlords

Anyone else notice a certain class of long-tenured, well-connected engineers getting real quiet lately?

You know the ones. Own half the repos “by history.” Camp in approvals and support channels. Block merge requests from new or non-influential engineers for reasons:
• “I don’t like this pattern.”
• “We usually don’t do it this way.”
• “This feels risky.”

They’d always offer “alternatives,” but mostly superficial ones — renames, style rewrites, or busywork that adds no value and exists mainly to assert dominance.

Then AI entered code review.

Now:
• Reviews focus on correctness, not preferences.
• Style nitpicks don’t block shipping.
• Social connections don’t matter.
• Tests and results do.

Suddenly, the gatekeepers can’t bully through approvals or code owner lists, and new engineers actually get to ship if they do good work.

Watching support-channel emperors lose authority to an LLM that doesn’t care about tenure is oddly satisfying.

Turns out removing politics from code reviews gives everyone a fair shot.


Is it the right way?

An walmart director posted like this in LinkedIn. Charging our culture.

If you know anyone impacted by the recent Amazon layoffs, my team at Walmart in Bentonville is hiring software engineers.

I’m an ex-Amazonian (AWS) and made the move a few years ago. We’re working on large-scale problems—platforms, AI, cloud architecture, and modernization efforts.

Questions? Reach out to our recruiter DM me directly.

#hiring #amazon #softwareengineering


Is this a good offer?

I am trying to evaluate an offer from AT&T, and I'm hoping you guys can help me understand what the internal range is. The offer is for a software engineering role in Middletown NJ, for $255k base salary. Where does this fall in the band for Principal Member of Technical Staff? Do most principal engineers at AT&T make more or less than this? I know people on this board are obviously unhappy with the company, but I think I am willing to put up with the annoyances that I've read about on here.


Why Employee Churn Is Ki-ling Your Company -

By Mattias Bergstrom, Former Forbes Councils Member.

As software technology leaders, we face the same challenges as leaders in other engineering industries, but there are differences.

One of our biggest challenges is employee churn. This is where software companies suffer more than others, especially when losing engineers—because it is not just a resource being lost but training, insight and morale that will take time to replace and can disrupt production. The cost of employee churn is higher than we think. Studies have shown that the average cost to replace a highly skilled employee is 213% of their annual salary.

PayScale found that in 2018, companies like Google and Amazon with above-normal salaries and desirable employee perks still suffered from a median employee tenure of just about 1 year.

We need to start looking to cause and effect analysis and stop looking at statistics. As Mark Twain is often credited with saying, “Lies, damned lies, and statistics.”

After trying to use statistics to work out what is going wrong, we have to accept that the statistics used are not helping. So, what is really going wrong? Well, when we look at software engineering versus other types of engineering, we quickly notice differences in management. In other engineering fields, most managers are engineers themselves. So, the processes and deliverables systems have been developed by engineers, for engineers, for a long time, even since the pyramids were built.

The need for software engineering became huge in the 1980s and '90s. The value of an engineer was too high to have them in management, so leads, project managers and department heads were recruited from the business sector to keep projects “on track.” As business-educated leaders typically have no education in engineering processes, they needed ways to “measure” and manage the engineers without a full understanding of what they do or how they do them.

So, all kinds of ridiculous KPI measurements were invented. The most famous in software engineering is probably the “lines of code,” in which the performance of an engineer is measured by the amount of code they write. Ways to game this include simply extending the comments in your code, having the team agree on a fixed amount of code or, as I have personally seen, checking in garbage lines of code at the end of the day and deleting them the next.

There are a bunch of examples of KPI systems still used today that all engineers know how to game—to mention a few: story point projections, change coupling, commit count and Google DORA. They can all be gamed and are so obviously developed by business-focused non-engineers who have no clue how engineering works. What is most funny is how these KPI systems all see the engineers as measurable menial workers, not as the highly educated, valuable assets that companies need to function and generate profits.

Around these business-developed and managed KPI measurement systems, development methodologies have been created, mostly to keep up with fictional business goals and for the engineers to keep up with the KPIs. Kanban, Scrum and Agile do nothing to optimize the engineering work happening; they only provide an arbitrary way for managers to feel in control.


Got up this morning.......

Got up this morning, went for a walk – logged on to see if there were any replies to my employment applications. None. Been doing this almost everyday mon-fri for coming up to two years since my RIF from F5.

Found two more software engineer/developer openings so crafted an application for the first and sent it. Started crafting the second application and stopped. Why am I doing this? With the state of software development as it is, when all you have to do is pay $1000 to $3000 for a 1 to 3 day course to get guaranteed certification of Expert or Black Belt level, it trivializes what software engineering is. I choose not to be a part of the game anymore. I’m giving up seeking new employment and will let it find me if the software gods so choose.

There was a time early on where software development required being a craftsman and artisan. I was working at a company that was in the first 100 that applied and received its domain registration in the 1980s. Those were good and exciting times. You were a part of something greater. Bugs/Errors/Failures as a result of your work were not an option. If something did come up, that became the first priority to solve (that day). The customer needed to trust you. That doesn’t exist anymore. F5 (as well as other corporations) willingly and routinely release software that has multiple serious issues. Big IP Next is a prime example. Development methods of Agile, Scrum, and SAFe were adopted that have no engineering validity to being used, but they are used anyway.

There are likely hundreds of reasons why I should continue seeking employment – all likely are valid. I choose to be the craftsman/artisan and that type of position will have to find me. If it doesn’t so be it.


More slideware than software IP

Altho i hv no stats, i expect we produce more slides on a daily basis than we do lines of code that actually build us any sort of IP.

And what's depressing is that most of the slideware is just rehash, update, and repackaging of the same old cr-p.

I'm one of the thousands of slide jockey here, so the irony of this post isn't lost on me but hey, tomorrow is another new week in which I'll do the same old sh-t as I've for the past many years.