68 karma · joined August 21, 2020
Web applications, Computer graphics, Systems programming.
2. You could use Bazel. Also look into CMake, it's an industry standard, so to speak, and will let you generate build files for almost any kind of build system including Makefiles.
3. I don't use any but some people have success with vcpkg.
4. Clangd is a good choice.
5. A quick one that works is VSCode + clangd and CMake extensions. Clangd will let you format, lint and do some basic static code analysis. Installing clangd extension will install clangd automatically. Or, if you are on Windows, "Visual Studio: Community edition" is even easier to start with right away.
* Blockchain - this is usually the first that comes to mind.
* Rust - "hmm, where would I use it now?" is the question you'll ask if you just learned Rust but knew C++ already.
* Vulkan / Direct3d12 - yes, you now have the ability to recreate your own driver from scratch, but who has time for that? Even Microsoft Flight Simulator uses Direct3d 11. GPU ray-tracing will force you to use one of those though anyway.
* WebAssembly - at least in it's current state.
Do you listen to music with lyrics? Replacing it with ambient music with no words and no distinctive melody could be one solution.
Or, in my opinion, a better solution would be to dig deeper and to find out why silence causes you anxiety and discomfort. For hundreds of thousands of years people have worked in complete silence. Are you mentally avoiding something?
Visual Studio IDE is an added bonus.
My advice is to lower the value of ideas. A lot of time people think, "If only I had a good idea I would be successful". You will see other people saying things like, "Buy my good idea!". But really, good ideas are a dime a dozen. Good ideas, bad ideas... it actually doesn't make much difference. What makes the difference is execution and timing.
For things that take a long time, timing is essentially random. The world is chaotic. Had I known everyone and their dog would be locked down in their houses for months on end, I would have built something to cater to them. But of course, there is no way to know. I find it amusing that just before the pandemic there was a thread on HN talking about overvalued unicorns and Zoom was up near the top of the list. What would need to happen to make Zoom a household name, people asked?
To be successful, really what you need is execution and to have the patience to wait until what you are doing is relevant. Of course there is the fear that it will never be relevant. However, if you accept the thesis that the good idea is not valuable in itself, then you realise that it is not really valuable to pivot without a really good reason. A good idea that is never relevant is just as worthless as a bad idea that is never relevant. However, even a bad idea that is executed very well and ready when the opportunity arises can be successful.
So to answer the original question, my epiphany is that something being "hard" is a relative thing and that "hardness" should never be a barrier that keeps me from reaching my goals.
2. I just recently started.
3. Hosted on Netlify, built with Hugo.
If you are a well know or experienced dev with a long resume of working for closed-source companies, then, yes, you don't need a GitHub profile. For younger people or developers switching domains, GitHub contributions and personal projects might be the only way of showing their worth to future employers.