I am an engineering undergraduate who managed to get into an internship at a good software firm. I have the programming skills and know-how in order to succeed there, but as an engineer by education, I feel like I'm missing a certain level of polish and "etiquette".
What are skills and habits that set a professional software engineer apart from an amateur one. ( version control, development franeworks etc?)
I want to use this information to prepare myself. Thanks!
Christopher Parker
This in no way answers your question. But why is Haskell on that image twice while others aren't? Fuck that triggers me.
Cooper Butler
95% of programmers are sloppy as fuck
They get away with it because management has no clue what they are doing and just sees pretty looking number and coding jargon.
Jacob Price
>others weren't Scala makes two appearances.
Jordan Harris
Physicist here Unless we are writing quick and dirty code (in which case we are the worst coders), we actually make code relatively clean. Protip: Dennis Ritchie majored in Physics. Honestly engineers probably write better code than CS majors, especially with their work ethic.
Joseph Williams
Build modularly.
Get something to work then improve the shit out of it.
Reduce the amount of code you're repeating and always remember to clean up.
Finally, install Gentoo.
Lincoln Jones
kek Sadly true
Juan Ramirez
:( Butthurt here, wtf man That's probably because of faggots that only take CS for the money or they don't have a passion for it, I have friends that write shit code that werks and other ones that actually like this shit and write beautiful code.
Isaac Garcia
Learn how to use a debugger when analyzing code. It makes life easier.
When you arrive at the solution, analyze the code to see what can be done better and time sections of the code to see where bottle necks are. This can help to build more effective code. Cutting computer performance (like putting it in power saver mode) can exaggerate where the bottle necks are.
Probably other shit you can do but this is what I can think of at the moment based on my experience.
Eli Russell
Knowing how to actually program and getting paid for it is what sets apart a professional from the rest. Also, it takes 10 minutes to learn how to use a version control system.
Tyler Hernandez
Don't fall for the emacs/vim meme Comment your code if it's not clear what it does or how you got it
Caleb Rodriguez
Actually read the documentation for whatever tools, languages, etc you are using. Very few people do this, they've mostly just gathered together a random set of behaviors that manages to sort of work.
When you are unsure of something use stackoverflow to get yourself on the right track (sometimes you don't even know what question to ask, for example) but there are truly only a handful of answers on that site really worth reading, the rest are just bastardized versions of what you'd find in the actual source material.... so go to the fucking source material.
Ask your employer to buy you books, they probably will and they might already have some sort of subscription to O'Reilly or whoever.
Ryan Rodriguez
what would you recommend then vscode? eclipse? gedit?
Nicholas Parker
Everyone in this thread assumes you're talking about programming polish, but don't forget people skills. Try reading "Team Geek"
Jackson Watson
I think there's a bias toward sloppy code. Much of the bad code I have seen professionally was bad because it had to be; code that looked like it could be better, but try as we might there really was no better way to meet management's ridiculous requirements to build a Frankenstein of a code base with tools that make no sense for the job.
Hunter Hernandez
Be sure to know what the software you're writing is supposed to do, and in doubt get your superior to confirm it's the expected behaviour (a.k.a write tests)
Ethan Edwards
Cconsider the GOTO. Only when you understand why you should never use it will you finally be ready to use it
Evan Clark
I'm still in the bad habit of writing sloppy code and taking a second pass to clean it up. Don't do that. Take the time to do it right the first time.
Also never, ever use an internal style guide. Adopt someone else's style guide. No modifications. Because if nobody on your team is responsible for the style guide nobody can argue.
Alexander Lee
Only reason I am joining team vim, is that every linux machine has it, linux servers, clusters, etc. it is the defacto command line text editor.
Christopher Peterson
ed is the standard text editor
Brandon Perry
Which distros come with ed but not vi/vim?
Gavin Long
I don't think there are any. But there aren't any that you can't install in, so I don't understand why would you use vim.
Oliver Ortiz
*codeblocks
Jeremiah Anderson
Just use a modern editor that can open files via SSH.
>but that's not what we did in the 1980s >muh autism refuses to acknowledge change
Carson Hernandez
Learn to write unit tests, always keep things simple, code reviews are good, too.
Owen Murphy
Don't be indian
You immediately write better code than the majority of programmers
Blake Taylor
>especially with their work ethic
Get you off your high horse. Many people can write clean code if they don't have to meet tight deadlines.
Carter Ward
I think a large part of it is that the CS crowd is full of "everyone except me is retarded" autists
Connor Evans
this
Bentley Thompson
Until you try merging and something breaks.
Aiden Brooks
I've seen a program that was just 1k lines written by a physicist which was linked from an article on fluid dynamics I've been reading. Never. Fucking. Again.