Live data from Hacker News

Ask HN: How does one become a better Software Engineer?

news.ycombinator.com

11–19 of 19 posts

Re: Ask HN: How does one become a better Software Engineer?

#11
It seems kind of obvious, but build the system you are interested in learning how to build. If you want to do it professionally, use common tools. If you want to do it to start your own company, use tools that you are most comfortable in now. Set a goal and once you start walking towards that goal, the path presents itself.

Re: Ask HN: How does one become a better Software Engineer?

#13
Build something, from nothing, and make sure it involves a full stack and has users other than yourself...even if it is just one other person. Promise your future self that you will see this through to completion.

Oh, and build something small in scope. You don't want to be working on the pre-launch 10 years from now...

Re: Ask HN: How does one become a better Software Engineer?

#14

Work with good engineers, or work with good code bases off github. Theres no way you can conceive of truly amazing software yourself, unless you are linus torvalds. There are patterns, and you need to learn them externally by writing code with others or by working with exceptional open source.

Actually Linus studied the heck out of other codebases. For example, linux itself was inspired by UNIX and it is said that he studied MINIX (minified version of UNIX used for teaching) before he started developing linux.

Re: Ask HN: How does one become a better Software Engineer?

#15

Get some historic perspective. The classic older browsers will run easily in Wine or VirtualBox. Try to build a website for Mosaic. And upgrade it for Netscape 2.0 and IE 3.0. Then upgrade it for Netscape 4 and IE 4, while retaining compatibility. And onwards to today. If you can span 25 years of it, you'll know more than most of today's web devs by a long margin. It is easier than it sounds, especially if you start…

No. You won't know more than the average web dev by a large margin. You will know very little of what is possible today and some things that are outdated and not relevant any more which are going to be useful in very rare situations.

Knowing what to do in rare situation is what separates an advanced practitioner from an expert.

Re: Ask HN: How does one become a better Software Engineer?

#16
Progress not perfection. Which in this context should be read as willingness to getting know new solutions, new technologies and new applications; You delve into things, get some of the ideas, think about them, implement parts of them, fidget with them. BUT! Do not let them overwhelm You. It's virtually impossible for a person who isn't genius engineer to be fluent in all known technologies, languages, libraries and rest of the stuff. You focus on setting in your head memory anchors to different solutions, different approaches, and when the time is done You will end up with bigger knowledge and skill set. You don't need to remember all the details, You just need to remember where to find them.

Second thing - constantly improve communication. Be as humble as You possibly can, because people have their own struggles we are not aware of, and those affect the way they write and speak. That's why You need to remind your self everyday - "is this what I understood really the thing the person has said?". And ask for their understanding of given information. It's basically 70 to 80% work of good SE.

Finally, take care of your physical and mental health. You cannot be productive 24/7. Your body and mind need breaks and maintenance. Treat yourself in this aspect as any other high-grade, professional, top-quality tool. Your mind, your body are your tools - take care of them, so they can perform for life.

Oh! And be nice to yourself. Harsh treating You will most likely get from others. If You don't be kind to yourself, who will be?

Re: Ask HN: How does one become a better Software Engineer?

#17

Earlier quoted context omitted.

No. You won't know more than the average web dev by a large margin. You will know very little of what is possible today and some things that are outdated and not relevant any more which are going to be useful in very rare situations.

Knowing what to do in rare situation is what separates an advanced practitioner from an expert.

No it doesn't. Knowing how to solve real problems is what makes you an expert.

Who cares if you can make a website with early 90s browsers. That's a skill that is obsolete. It might be fun but it doesn't make you a better engineer.

Re: Ask HN: How does one become a better Software Engineer?

#18

Build something, from nothing, and make sure it involves a full stack and has users other than yourself...even if it is just one other person. Promise your future self that you will see this through to completion. Oh, and build something small in scope. You don't want to be working on the pre-launch 10 years from now...

I would add keep doing it. Iterations build experience. Completion allows you to judge success and refine what works and what doesn't.
Post reply on HN