this post was submitted on 01 Sep 2023
329 points (96.1% liked)

Programming

20113 readers
82 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
(page 3) 50 comments
sorted by: hot top controversial new old
[–] Gnubyte@lemdit.com 15 points 2 years ago* (last edited 2 years ago) (3 children)

🌶️🥵Many people consume Facebook meta company's tech stack wholesale, don't know how to actually traditionally program their way out of a paper bag, and web dev and devops caused a massive layoff (250k people) at the end of 2022, start of 2023 because it was all vaporware. They consume the same software in droves if the other guy uses it.

There is an entire subculture around it that is just a bunch of medium.com writers, YouTubers and twitter handles just trying to get the clicks for their ad money. Some of these guys have never written valid software or done anything noteworthy. If you meet them head on you'd find they have enormous egos and can't find a counter argument when presented with reason.

I'll even add on that there are many programmers who don't know how to code outside a web app.

Why is something like [react, graphql, react ssr, devops, tailwind, unit tests, containers] vaporware?

  • there are other frameworks even with component libraries that are easier to read the code for large codebases, better maintained, and have cohesive full stack solutions, and even faster to develop in, to name one quasarJS or even just plain ecmascript
  • if you look at the anatomy of these enterprises using these solutions they've evolved to have micro front ends requiring armies of workers.
  • devops is a sales term, the actual implementation of it is so contextual that you'd probably find you don't need a full time job for it half the time and most are relatively easy to setup inside of a business quarter
  • not everything is Facebook scale: unless you're padding your resume why did some of these get adopted? How complicated does your app need to be? Did you really need to transpile JavaScript for it?
  • unit tests were code to test your code that you're going to have to functionally test anyways: you're telling me that you have to write your code...twice? How the hell did this ever get justified to mangers? Why did the culture not evolve into literal automated smoke tests of the actual builds, instead of testing whether a function that is probably type annotated is going to fire anyways???
  • docker/containers suck ass: great that they solved a problem but created a whole new one. we moved to python and JS which were JIT without artifacts and suddenly everything needs a generalized build system to run it. C lang variants and Rust lang compile to a binary you can just run... Ship the small ass binary not an entire container to run your shitty web app

You know the stuff I don't hear about?

  • Javascript and Python were steps in the evolution but never the end goal. I'd even say the same of java. There are new solutions but JavaScript in the browser especially should be replaced.
  • eye appeal is buy appeal
  • that eye appeal shouldn't always mean you need to use a library or framework; vanilla apps work okay too.
  • binaries/artifacts/installer packages > containers
  • automated testing of the actual end product
  • well written logging to the point someone can tell what the application was doing without seeing code
  • using all these compsci algorithms to actually write new products and searches from scratch instead of being a framework baby: do you actually need ELK or Splunk for your search? Really?
  • you probably don't need MySQL for a lot of projects, I bet you an async library with sqlite would be the same for many of these projects.
  • small teams with feature rich apps using SSR, the value of an SSR web app
  • the value of a SPA
  • the value of traditional desktop software and not using REST APIs
load more comments (3 replies)
[–] tatterdemalion@programming.dev 15 points 2 years ago (10 children)

The only thing a GUI text editor can be better at than a terminal editor is making it easier to use the mouse.

load more comments (10 replies)
[–] IonicFrog@lemmy.sdf.org 13 points 2 years ago (1 children)

A lot of programmers need to work on their soft skills.

load more comments (1 replies)
[–] StudioLE@programming.dev 13 points 2 years ago

My mantra has always been to bring solutions not problems. Applying that to code reviews makes for a far more productive experience.

Rather than just pointing out errors in code help the developer with prompts towards the solution.

Or, if you're too lazy to explain why something shouldn't be done then why should another developer have to act on your criticism?

[–] secret301@sh.itjust.works 12 points 2 years ago (6 children)

Abstraction will be the death of traditional software development as we know it

load more comments (6 replies)
[–] UnfortunateShort@lemmy.world 10 points 2 years ago (7 children)

Programming is the easy part, and a useless skill on its own.

If you can only program in one language, you can't program.

C++ is the single best language to learn programming.

Stupid mistakes you make are not bugs, at least not for you.

load more comments (7 replies)
[–] Patchwork@lemmy.world 10 points 2 years ago (3 children)

Doing this is a hot take, but "clean architecture" is a joke.

My company is obsessed with it.

load more comments (3 replies)
[–] Floey@lemm.ee 10 points 2 years ago (1 children)

Write the whole thing, and only then, scrap it and rewrite it. This way you actually have a good understanding of the entire implementation when you are rewriting. When I refractor while writing my draft I will slow myself down and trip over myself, I'll be way more likely to rewrite something I've already rewritten.

Sure there is a limit to the size of projects this can work for, but even for massive projects they can still be broken into decently sized chunks. I'm just advocating for not rewriting function A as soon as you finish function B.

load more comments (1 replies)
[–] callouscomic@lemm.ee 9 points 2 years ago

Good programmers need to be creative, flexible (soft skills with others), critical thinkers, and problem solvers. Lacking those kinds of features makes for a rigid and terrible programmer that is near impossible to work with or code behind. Leave the ego at the door.

[–] Blamemeta@lemm.ee 9 points 2 years ago (4 children)

Front end and back end are different enough that you can really specialize in one or the other. They take very different mindsets. I know how to make css obey, I don't know how to make sql performant. Its possible to have both, but not as well.

For every front-end dev, you need 3 back-end guys and a designer.

Programmers are not bad at our jobs, its just not a mature disclipline yet.

load more comments (4 replies)
[–] nomecks@lemmy.world 9 points 2 years ago (3 children)

If you're not a programming superstar you can probably make more money writing nothing but Terraform code for hapless enterprises.

load more comments (3 replies)
[–] CodeBlooded@programming.dev 9 points 2 years ago (2 children)

Python, and dynamically typed languages in general, are known as being great for beginners. However, I feel that while they’re fun for beginners, they should only be used if you really know what you’re doing, as the code can get messy real fast without some guard rails in place (static typing being a big one).

load more comments (2 replies)
load more comments
view more: ‹ prev next ›