Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Does modern software development need any coding?
7 points by shetill on Dec 20, 2021 | hide | past | favorite | 14 comments
There so many standard tools, workflows and cloud techs out there that custom code is becoming more and more useless. All these tools are usually open source, well tested and reliable so unlikely you will write anything custom that’s better than them.

You need some data engineering and analytics? → Databricks. You need some APIs → API Gateway. Mobile apps? → Firebase. Deploying applications and CI/CD? Configure Git and have your apps build with a configured Jenkins to then have it all deployed by a configured Ansible/Terraform onto a configured Kubernetes Cluster. Assuming you don’t use some cloud tool that does it all like Azure DevOps. Need monitoring and logs? → Graphana, Prometheus, ElasticSearch. Need backend services? → go serverless use Lambdas. Need workflows? → Airflow and your DAGs in Yaml hook it up with Redis and you got it. You get the point. If you ever need to write code at this point it’s probably some glue code just to hook it all together.

I know some of you will say they have some special custom app with very custom logic that is so unique that can only be done in code. Honestly chances are it’s already a solved problem by a standard tool out there and your team leads are simply unaware of it or don’t have the skills to operate those tools.

I’m a backend dev and still write code but a lot of my time goes into configuring some of those tools and more and more of the code is being migrated into them.

In 10 years are we all going to be some sort of devops yaml configurers?




35 years ago, that same question was asked, but in a different context. It was thought that when there are BASIC and spreadsheets there is no need to do any more serious coding.

Even more so 25 years ago when various GUIs became ubiquitous.

About 20 years ago, Flash and Dreamweaver were promising the same.

You see where it's going.


Not exactly. VisualBasic and MS Access were pretty powerful. Something remade in the cloud with collaboration and versioning that combines those with spreadsheet like intuitiveness could get us closer than ever. Airtable is maybe leading so far.


Sounds naive. Do you have any experience with real-world projects? We're nowhere close to just writing some glue code. Web APIs are moving in that direction but the software world is a vast ocean and APIs are just a drop in the bucket.


Not everyone is writing web apps.

Do those solutions run on your smartphone? Your car? Your IoT devices?

Custom code can also give businesses a competitve edge because they can do things that others using existing code cannot.


you would use something like Flutter


> I know some of you will say they have some special custom app with very custom logic that is so unique that can only be done in code.

Basically that's the way it is.

As an Architect I have to look for no code solutions, then low code and if non fit only then do I have a justification for a custom build.

Sometimes a solution is a combination of those techniques.


I think this summarises it best


In the early years just after Faraday invented the electric motor in 1821, everything was custom. There we no established norms for wire, insulation, etc. Those only happened after sufficient practice in the art made the optimums, in 1883 according to Wikipedia.

It wasn't until 1924 that the modern circuit breaker was invented to protect electrical circuits from overload.

---

The computer was invented circa 1946 by Von Neuman. It was back ported to the ENIAC, which made the machine much slower, but easier to program. Since that time, many standards have emerged, EBCDIC, ASCII, UTF-8, etc. All the basic technologies are in wide use, so standardization occurred. What we don't have yet is the equivalent to fuses or circuit breakers, or the common household outlet.

We have no way of allocating only certain resources to a computing problem, and being sure of the lack of side effects. In effect, no standard for insulation from side effects.

---

All of this written to point out that nobody has a sure way to prevent unwanted side effects from a given line of code, and we're building stacks upon stacks of layers. Someone is going to have to sort this mess out and build standardized, UL certified (or equivalent) components for connecting up data sources and sinks. (Events are data, with timestamps)

Once that happens, some of us will be the ones turning out modules, and the rest of us will be electricians, hooking all the bits together. I expect there will always be a need for programming, as we know it now, because it takes a rich expressive grammar to make interesting and useful things happen the first time. Once it's figured out, in can be productized, and shipped.


What we don't have are transistors and integrated circuits. There are some prototypes but they either need different voltages or are not fully understood and behave in strange ways. The only advantage is that they are very cheap and we can make bilions. - POSIX sucks. - The do something better - Who ? Me ? I am an UX expert


You need to hang out with some stakeholders, those animals will easily come up with a feature that requires a crafted solution.


GitHub Copilot made me think of the same thing. I write the method description as a comment in plain English and it spits out a pretty good approximation of what I would have written. I've been using it only for a few weeks but I'm already so hooked up that I prefer to take a break when the service is down :D


> You need some APIs → API Gateway

An API Gateway doesn't make APIs?


I think the more general answer is: yes you can push some of your work (e.g. authorisation can be done in a standard tool you configure) into systems, but then you have to maintain the connection to those systems and extra vendors and complexity involved if any of them breaks for a while.

To make a specific example, one Flask microservice that's 3 files in size can be reduced to 2 files, but in exchange you need to add more infra components. You could instead move that complexity into a shared library and have 2 files, and zero extra infra components.

Just a thought :)


If you are an insurance company the way you calculate premiums is absolutely critical to both sales and profitability. And these are not just algorithms, they are systems. Same applies wherever. If you can do without code you have no edge.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: