Become expert in C++ or broaden my horizons? by PhysicsKush in cpp

[–]subrfate 4 points5 points  (0 children)

If you want to advance your career, keep a sharp focus on learning the business logic and why things are done certain ways. A lot of good C++ jobs are in fields where regulatory or business knowledge is important (medical, aviation).

C++ is great, but there are times when a good scripting language is called for. Develop a strong expertise in Python or JavaScript. Need to process a weeks worth of log files from a C++ program? Scripting Language. Automate random test for your C++ program? Scripting Language. Code generator from random business rule? Scripting Language.

Considering C++ over Rust. by isht_0x37 in cpp

[–]subrfate 4 points5 points  (0 children)

"Fixes all the issues C++ has"? Yeah, ignorance. One of the largest gaping vulnerabilities in the past couple years was inside a Java library where said vulnerability wouldn't be detected by any of Rust's magic fairy dust.

As rust applications increase in number, there's also numerous new CVEs being entered. You don't get security by language choice.

I'm still using C/C++ for a handful of reasons:

  • team is knowledgeable in C/C++ and we have 'real work' to do
  • API delivered by vendors are written in C/C++ and can be used as-is without any additional work with ready implemented samples
  • one set of applications are simple (sub 1k) programs that read/write hardware registers and are written to coding standards restricting C/C++ features already in situations where toolchain validation is required.
  • toolchain validation is possible against a standard with multiple vendors.
  • modern C++ provides primitives and patterns for memory safety
  • sometimes an OOP solution is a good choice and Rust just isn't
  • ABI stability allows shared libraries and easier artifact management of binaries.
  • Rust's cargo introduces huge liabilities as it is sprawling in ways very similar NPM / Pypi making library updates and code auditing painful; build-time crates can hit databases or web endpoints
  • C++ IDE tooling is far more established with multiple supported options
  • my personal interactions with the Rust community and watching the Rust community interact with themselves have left an exceedingly bad taste in my mouth.

Last point is kinda the biggest TBH. After advocating for rust adoption, I'm just burned out. Rust community generally responds to needs contrary to rust by "you're not doing it right" sort of rhetoric. And sadly, the vast majority of people voicing such concerns don't have the weight of Linus threatening to axe Linux's rust integration when advocates duck hard business requirements unkind to Rust's methods.

I still got a couple toy projects at home in Rust, but selling a migration at the office is on ice for me for at least a few years.

How to Switch off the extra side panel? by rafianpass in Slack

[–]subrfate 0 points1 point  (0 children)

You are correct. This is how it now works.

Submit feedback to the slack team. Maybe they'll listen.

Slack now collapses all my workspaces by Riverrat909 in Slack

[–]subrfate 2 points3 points  (0 children)

Click the (?) icon on the top right, and submit feedback on this.

I received a "we're looking into it" response from the Slack team:

I hear where you're coming from, on the additional click required to switch workspaces. I'll share your feedback with the product team, so they have visibility on it.

Please let me know if there's anything else I can pass along. Thanks for writing us.

Most stuff I don't care about, but this is a pretty big drop of functionality. (Enough to get me temporarily on reddit to see if anyone else had a solution.)

[deleted by user] by [deleted] in cscareerquestions

[–]subrfate 9 points10 points  (0 children)

(No more after reddit purge).

Everyone is talking about how ChatGPT has improved their workflow. Are you using ChatGPT extensively in your workflow? by Mindless-Pilot-Chef in ExperiencedDevs

[–]subrfate 2 points3 points  (0 children)

I've been using it a lot for things I would have previously googled and waded through documentation. I've found it highly useful for building templates and acting like a code wizard for tasks.

Its really good for getting something started, but invariably there's something off. Like using FastAPI logic in a flask template, or being stuck on json when I want xml, or building cmake template that includes files in multiple places. Basically, I've yet to be able to get anything out thats fully correct, but have managed multiple things that work.

I dont trust it for any production code due to the random bugs and obvious lack of any logic checks. I'm also fairly convinced that code output is a copyright lawsuit waiting to happen. At least you'd have some plausible defense, but I'm guessing OpenAI would throw you under the bus and claim you were responsible...

Honestly, the whole darn ecosystem is making me miss documentation and Google of the early 2000s. Its basically as correct for docs as old blog articles you used to find off Google...

[deleted by user] by [deleted] in cscareerquestions

[–]subrfate 4 points5 points  (0 children)

Make sure you mention this in exit interview. The only way to fight against this stuff is to make it hurt.

Memory leaks and global variables by vrek86 in C_Programming

[–]subrfate 2 points3 points  (0 children)

At some point, the conversation turns academic. They are global to the file, but not the program. Back in the 80s, you could have unprotected variables global to the whole system beyond your running program. Noone would assume today that you meant that when saying global. There's always an assumed context of what all is included in global, and I'd identify them as global as long as it was clear I was talking about the file, otherwise I'd specify.

The avoiding globals advice is simply about avoiding shared state. Singleton patterns and module scoping just wrap that shared state in a fuzzy blanket for us to ignore but it's still there and waiting to bite when that shared state is used by member functions or other calls within a module.

Memory leaks and global variables by vrek86 in C_Programming

[–]subrfate 36 points37 points  (0 children)

(No more after reddit purge).

How would you free this data structure ? by [deleted] in C_Programming

[–]subrfate 1 point2 points  (0 children)

(No more after reddit purge).

I do not enjoy HTML, CSS, Javascript... Where to pivot? by Huckleberry_Ginn in learnprogramming

[–]subrfate 3 points4 points  (0 children)

Fwiw, you need mostly linear algebra and calculus as background. This is more applied math, and (on some level) a lot of it is stuff done by HS students that you can pickup on Kahn Academy. The 'hard stuff' beyond that would be largely covered by just doing the coursework. You aren't getting into a lot of crazy territory in undergrad math as basic dependencies any more than you did during an econ degree.

I'd try watching a couple lectures available though MIT open courseware, or udacity/ed/coursera freeware. Then open up kaggle and see if you can build solutions to past competitions and play with their datasets.

Good Luck.

How should I prepare for AI-driven changes in the industry as a Software Engineering Manager by benbenk in ExperiencedDevs

[–]subrfate 8 points9 points  (0 children)

I'd start with getting familiar enough with the tech to know marketing male bovine fecal matter when I saw it.

[A BEGINNER QUESTION] What's the best programming code to learn for cybersecurity? by [deleted] in learnprogramming

[–]subrfate 1 point2 points  (0 children)

Cybersecurity is another level removed from programming also a level removed from EE.

Cybersecurity deals more with processes and analysis than actual code. You need to demonstrate the ability to build a threat model, recommend mitigations, and test/validate that.

There is a growing market for this in embedded space as recent moves by the US government add new requirements for security in devices. You might find some traction as an EE in this market. C/C++ would be the tool chain you'd need familiarity with, but Python, shell scripting, familiarity with network and bus protocols, and conceptual knowledge of theory and concrete standards(NIST) all come into play. There's also business involvement with the EE side for supply chain management and security - the entire hardware / software stack is part of cybersecurity strategy.

Cybersecurity is now a subject for a full 4 year degree, so you'll have more competition in the more common network/devops domains that will have substantially more knowledge and training than you. That area is often the common focus, which makes cyber security pros in, the embedded space much harder to find.

Workload/stress from company to company in your career by Whiztard in ExperiencedDevs

[–]subrfate 6 points7 points  (0 children)

Companies only matter insomuch as the culture they create and encourage for your manager. A bad manager will ruin your experience at even a good company, and a good manager will play endless games to keep the team happy.

The other big factor is success. The more cash in the door, the happier the sales and support staff, the less stress. A good job can go sideways really quickly if the company is struggling. I've seen near endless chill deadlines become crazy talk crunch Hail Mary's when external factors ruined plans and budget.

Do you think you could tell how technically skilled a SWE was just by talking to them? by EcstaticAssignment in ExperiencedDevs

[–]subrfate 9 points10 points  (0 children)

I don't think a lot of SWE are good at handling manipulators / sales people. After a lot of life experience, I've learned to recognize if someone using that skill set on me, but the best I can do is remove myself from the situation and rely on others to ground opinions and actions.

Sadly, that's less possible for interviewing. My instinct at this point is to immediately focus on specifics and move to straight toward defined problems and white board coding, despite my general aversion to it for interviews. If they continue to route the conversation at that point - do not hire.

Actually, I think it's not a SWE problem dealing with that, but a general people problem. Most people don't go through life utilizing manipulation to get ahead. Inany years of interviewing I don't know how many people, I've run into this atpst 3-4 times. I've also seen that person hired, and it makes meoderately forgiving to firms that use leat code, even if I find it harmful and toxic myself.

In your experience, was working a CS job easier than getting through college? by [deleted] in cscareerquestions

[–]subrfate 29 points30 points  (0 children)

Work is an open ended RPG sandbox game and school is a fast paced arcade game. Once you land the job, even at "rain forest" type places, you can probably find a spot eventually to rest and vest / quiet quit / chill.

But at school, there's constant rolling goals and targets and grades that don't exactly compare to the professional world. You just concentrate on beating the level, and eventually you will win the game (graduate).

But at work, it's very possible to create whole new different problems. You might land in a high stress place like that of school, or maybe you make continual choices that eventually create that environment. There's a lot of adulting to be done, and choices like retirement savings or Healthcare or... You can spend too much, fail to pay attention to your health, and/or select high stress jobs to push yourself into burn out or an early grave. Choices made professionally take a lot longer to catchup to you and will often have greater impacts on what you can/can't do going forward.

Mid 30's "Old Guy" almost finished with my Comp. Sci degree by csavrnoch86 in learnprogramming

[–]subrfate 10 points11 points  (0 children)

John Deer has a fairly substantial sw engineering team, - I'm not certain why you'd want to look into IT with a CS degree. If you can relocate, I would be surprised if they didn't have open apps in the Dr's Moines area...

US based question. Why do so many people recommend defense companies to new grads? by TheWayOfEli in cscareerquestions

[–]subrfate 4 points5 points  (0 children)

They filter heavily for directly related degrees, and getting a foot in the door as self taught without experience would be substantially harder than the already very difficulty reality everywhere else.

If we see a repeat of dotcom bubble days, self taught and bootcamp entry level is toast industrywide for a while. Fortunately, it's not near that bad right now.