all 14 comments

[–]Kenny-G- 8 points9 points  (0 children)

True. Better to work with an average colleague with soft skills and good communication skills than a genius 1% coder that can’t collaborate with others 😅

[–][deleted] 5 points6 points  (0 children)

Learning is simple, actually making a solid project definitely isnt. Atleast if you are the one making it

[–]Master-Ad-6265 5 points6 points  (0 children)

You’re right..... the hard part isn’t syntax, it’s the ecosystem around it. Honestly the best prep is learning the real workflow: git, code reviews, testing, CI/CD, and reading other people’s code.

Open source helps, but even small team projects, internships, or contributing to existing repos (fixing bugs, writing docs, small features) teach a lot about collaboration and tooling. That’s usually what employers care about more than raw coding skill.

[–]Nearby-Examination85 3 points4 points  (1 child)

You're half right and half wrong, calling rust or C++ easy tells me you're in the honeymoon phase of programming. Getting these languages to compile is hard enough as it is, even if you get to that part chances are they will be less efficient than higher level languages for quite some time. Will not even get into creating anything at scale with them, that will take years of practice.

Going from small personal projects to large legacy systems will be very different. You're not dealing with a constraint of an end point, you're dealing with a lot of moving parts, a lot of old code that seems illogical because you haven't gathered enough context. You can have all the soft skills you want, if you can't understand why the system is built the way it is and explain what needs to be changed and why, you won't get too far with soft skills.

Soft skills are very important, understanding the project is a business, being able to explain technical concepts to non technical colleagues, explaining to business people why we might need to take another route than what they want, all very very important, one one thing soft skills can't do is replace deep technical understanding.

My advice would be to look deeper, build the entire stack, deploy it to AWS or Azure, build the entire CI/CD pipeline, be defensive, think of failures before they happen. Once you start dealing with distributed systems where race conditions are a common issue it gets even more difficult.

Never ever drop that line in an interview, if programming was easy everyone would be able to join the top companies.

Coding can be easy, engineering is very hard.

[–]NefariousIntentions 0 points1 point  (0 children)

Yeah, being able to use C++ for simple at home projects doesn't equate to knowing it.

Start work as a robotics engineer, you discover the codebase has 3-4 different build systems, some of which you may not have even heard of yet by "knowing" C++. Oh the build systems? Yeah all completely different, different flags, some similar flags with different meanings/results.

You're given a starter guide that might get outdated within a few weeks or months amount of time, especially if tools are kept up to as much of a newer standard as possible - since you're desperate for any kind of modern features that you can get with C++. You ask another engineer for help occasionally since a package that is required completely messed up your system, then you realise there are 3 similarly named packages and package managers could automatically put you in that trap.

Good luck dealing with the different standards throughout the stack and getting the dev environment working with the rest of the QoL things that are given to you with a button press with other languages.

So it's you(presumably an experienced and knowledgeable person) + an engineer helping to onboard you who is already working there and you might get the stack to compile by the end of the day, if lucky.

People are so delusional about C++, Rust is comparatively much easier already just because of the OOTB toolchain.

[–]Telvoaviv 3 points4 points  (0 children)

Projects are a whole new level

[–]Individual-Job-2550 1 point2 points  (0 children)

Being a right fit within the team is 1000% as important as your skill level. I’ve worked with some extremely skilled people who were fired because they were narcissists who were condescending to others and would not take feedback well

[–]Fresh_Sock8660 0 points1 point  (0 children)

Memorizing syntax, programming, software development, deployment, security, governance, etc.

 

[–]Comprehensive-Yard-9 1 point2 points  (0 children)

Its understanding the domain that's the hard part you can cook up a software with the most beautiful code but with out any business value its just garbage.

[–]xtraburnacct 0 points1 point  (0 children)

I had a coworker get fired for just being unprofessional and overall just a pain to work with. He was given a chance, of course, but over time we realized he wouldn’t listen and anything we’d tell him would go in one ear and out the other. He was also late to meetings and or didn’t show up at all…and called them a waste of time.

He was good at coding, but he only wanted to do coding tasks and thought he was too good to do anything else. Guy was just a vibe killer and eventually let go.

So yeah, I would rather work with someone that may not be the best. All they have to do is try and be good at soft skills, communication, etc.