au750 | 6 years ago | on: Pointers to Members in C++
au750's comments
au750 | 6 years ago | on: Ask HN: What are the most innovative new OSes in active development?
https://genode.org/about/index
"The Genode OS Framework is a tool kit for building highly secure special-purpose operating systems."
"Genode is based on a recursive system structure. Each program runs in a dedicated sandbox and gets granted only those access rights and resources that are needed for its specific purpose."
au750 | 6 years ago | on: Ask HN: How to grow as a software engineering generalist?
If you want to be a generalist, you may want to learn things which are useful independently of the programming language.
Some books that would qualify in my opinion (as examples):
- Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnell
https://www.amazon.com/Code-Complete-Practical-Handbook-Cons...
- Facts and Fallacies of Software Engineering by Robert L. Glass
https://www.amazon.com/Facts-Fallacies-Software-Engineering-...
Learning the different approches taken by multiple programming languages is certainly useful. It may not be that much relevant which language it is unless you want a job specifically in that language.
I can't speak for Google but I guess it is more relevant how familiar you are with software development practices and general knowledge about architecture, design, testing, algorithms to name a few than a specific language.
au750 | 6 years ago | on: Ask HN: Designing a Modern API
"How To Design A Good API and Why it Matters" by Joshua Bloch
Video: https://dev.tube/video/aAb7hSCtvGw
PDF: https://static.googleusercontent.com/media/research.google.c...
It is presented with Java as example but the principles are general.
au750 | 7 years ago | on: Ask HN: Reasons to stay in Software Engineering
* Everyone can be a "software developer". Everyone can also be a [whatever]. Why would you want to have a whole profession for yourself? If you don't have to prove yourself during the interview, you'll have to do it on the job. This is not going to be different somewhere else. In general, is better for you if your colleagues have to meet a minimum competency standard.
* You have to know _a lot_. There is a lot and there is a lot that changes. There is also a lot that stays the same and a lot that you can transfer from an area to another. Once you are a good at design, architecture, Test Driven Development, Pair-Programming etc. you are not going to forget everything just because you have to use a new programming language.
After all it's "just" software. How you solves the problem and write your code internally is going to influence how good it works (bugs, performance) and how fast you can change and improve it. People will care about that. Usually, you are going to work in a team and your colleagues will also care about your solutions.