Live data from Hacker News

Ask HN: What should every software engineer know?

news.ycombinator.com

1–10 of 17 posts

Ask HN: What should every software engineer know?

#1
I've just started working on a side project that teaches users to build software. The pain point I'm attempting to build a solution for is the programming isn't the same thing as developing software and that there is a huge gap between the two.

With that said, I'd like to compile a comprehensible list of things that ever good engineer should know. Here is what I have so far:

+ The ability to read code is possibly more important that the ability to write code.

+ Version control is a requirement, not an option.

+ Same goes for testing.

+ Writing good documentation is important.

+ Open source projects are a great way to learn and build a resume.

These are obviously very basic, but I want to extend the list. What is something you think every engineer should know?

Re: Ask HN: What should every software engineer know?

#2
If I were limited to the one most important thing, it would be "How to handle user credentials and data securely."

Your app can fuck up a LOT of things, and maybe you'll lose users, or maybe you'll lose marketshare... but the one thing you shouldn't lose is user data.

Re: Ask HN: What should every software engineer know?

#5
post #2

If I were limited to the one most important thing, it would be "How to handle user credentials and data securely." Your app can fuck up a LOT of things, and maybe you'll lose users, or maybe you'll lose marketshare... but the one thing you shouldn't lose is user data.

It's interesting that you mention this, because I hadn't even considered it. This is especially important advice given the insane number of privacy issues going on these days.

Thanks!

Re: Ask HN: What should every software engineer know?

#6
post #5
post #2

If I were limited to the one most important thing, it would be "How to handle user credentials and data securely." Your app can fuck up a LOT of things, and maybe you'll lose users, or maybe you'll lose marketshare... but the one thing you shouldn't lose is user data.

It's interesting that you mention this, because I hadn't even considered it. This is especially important advice given the insane number of privacy issues going on these days. Thanks!

No problem. I might not have even thought about it if not for another recent discussion I'd been having about authentication and permissions.

Long and short of it, Github is screwing me over by not letting me get fewer permissions, and I won't release an app that takes more permissions than it needs. It's quite the quandary, really.

Re: Ask HN: What should every software engineer know?

#9
You can formulate a list of best practices and advice, but I'm afraid this is the kind of situation where experience is the best school. It's hard to talk about solutions to pain points when the person hasn't experienced them personally. Consider this on your project.

Re: Ask HN: What should every software engineer know?

#10
post #8

+ Top down and Bottom up: In other words, work out "What is wanted" and "What is possible". + Over 20 Quality control innovations exist, use at least 1/2 of them.

What do you mean by quality control innovations?

Most likely things like version control, static analysis, dynamic analysis (e.g. Valgrind), automated testing, and code review. The Joel Test[0] is a good starting place.

[0]http://www.joelonsoftware.com/articles/fog0000000043.html

Post reply on HN