Hacker News new | ask | show | jobs
by sdevonoes 1999 days ago
It's going to affect our jobs, but not like many people think. I imagine that it's not that crazy to think that some future software will auomate the design and implementation of, let's say, CRUD web apps... but by then the requirements of web apps would have changed: they would be more complex to the point that this automation software won't be able to deal with them, hence the need for human software developers. Rinse and repeat: automation comes but by the time it arrives, more complex requirements appear and the automation can't yet cope with it.

> My strategy, albeit likely flawed, is:

- focus on fundamentals: so instead of learning a graphics API like OpenGL 2.1 or OpenGL 4.x [...]

I agree on that we should learn and focus on fundamentals, but we also need to learn the specifics. So, from my poiint of view there's no shortcut. Example: let's say you want to design the infrastructure of some online services: you need to know the fundamentals of networking (NAT, subnets, firewalls, VPNs, etc.) but you also need to be proficient when it comes to use the tools you have available at the moment to implement your infrastructure (e.g., terraform, k8s, ansible, bash, etc.). These tools change from time to time (hence we need to keep learning all the time).

One needs to have solid fundamentals and one needs to be proficient in ephemeral tools. It's tedious.

1 comments

"One needs to have solid fundamentals and one needs to be proficient in ephemeral tools. It's tedious."

Thank you too for your insightful answer! Yep, OpenGL is quite a good example for an "ephermal" API. Now, I saw people either switch to DirectX 11 or they go the Vulkan/DirectX 12 route where it takes ages to render a simple triangle... However, I would still argue that knowing how to implement fundamental rendering algorithms yourself (rasterization or ray tracing) gives you deep insight and hence more power to manipulate things (since you know how it all works under the hood). But to be "production ready"/"job market relevant" you need to learn these "ephermal" tools (APIs, frameworks etc.). At this point I wonder who could render a simple triangle faster. Someone who knows only Vulkan/DirectX 12 or someone who knows the necessary algorithms and the math? What if someone knows both? I don't know, but at the end of the day a little insight on how stuff works under the hood won't hurt you at all.

BTW: The things that prompted me to think this way (i.e. "automation will cause less and less demand for programmers") were HN posts like these:

https://news.ycombinator.com/item?id=25540583 https://news.ycombinator.com/item?id=25540059

"https://www.appgyver.com/ - The world's first professional no-code platform, enabling you to build apps for all form factors, including mobile, desktop, browser, TV and others."