Every time someone finds out that I write software for a living they always immediately act like I must be some sort of genius. I learned it in when I was elementary school, the only things that are even remotely hard about it is knowing where to start, and the breadth of things you need to learn to build complete polished software. Anyone can learn to do it, it’s more about mindset than anything. If you treat as means to an end, like landing a high paying job, or thinking you can learn to build an app because you’re going to become a millionaire app developer, it will seem hard because you are trying to start at the finish line. Start from first principles, and take the time time learn piece by piece like any skill, and it’s relatively easy. I think that programmers love the ego boost so they play up how hard it is so people will perceive them as brilliant, and to justify their absurd salary. It’s also used as excuse by geeks to justify, why they have zero social skills, I know this hard thing so it’s okay for me to impossible to work with. Programming influencers push this narrative harder than anyone.
I was having a conversation yesterday, with the woman I hired as an accountant/admin, she was talking about how she could never learn programming. So I pulled up one of her google sheets, and started picking through the complex formulas she had written. I was just like “this is actually just programming you do it all the time”.
Side opinion (Mostly American) software developers who refer to themselves as engineers are incredibly cringe.
Comments
Please remember what subreddit you are in, this is unpopular opinion. We want civil and unpopular takes and discussion. Any uncivil and ToS violating comments will be removed and subject to a ban. Have a nice day!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
I feel like it was a joke from 20 years ago that people never really let go of, because programming has gotten much easier in the past years
I feel like that’s very dependent on what kind of programming you’re doing and how well you’re doing it.
I did a programming bootcamp and it was incredibly hard and by the end of the class only 1/4 of us made it. It’s not for everyone
its thought of in terms of “u either a programmer or u not”
It’s math. Hard for some easy for others.
Doing it well is hard. Most code is terrible.
In our Soft Eng class. The hardest courses were not the Computer Science ones for most students. We all thought programming was easy. Though, maybe time consuming, it’s at least very interesting to work through and code problems.
The hard coursea for most students were the math and science courses. Which you do take a lot of because you get deep into CS theory as well as some not so CS related sciences for engineering accreditation
Advanced Data Structures and algorithms was the most math heavy CS course I suppose. Those courses are basically mathematics as it directly applies to programming computers
From what I see, it isn’t hard to learn the language or learn the tools on how to code.
The hard part is the developing & creating an end product that is useful, seamless and well-planned.
Hard disagree, it’s literally like speaking another language and thinking logically isn’t for everyone. YOU think it’s easy but like I said, it’s not for everyone.
In my experience it’s something that some people are weirdly bad at and some weirdly good at. There’s definitely a way of thinking to it that just does not click with certain people.
Super dependent on what you’re doing too. There is software that a middle schooler could write easily then there’s stuff that’s pretty challenging even for comp sci grads.
I also don’t meet many programmers who think programming is some super hard smart person thing. I’d say it’s mostly the opposite.
Seems like you’re projecting with the last line of your first paragraph.
But programming isn’t just about writing code that’s syntactically correct. It’s about writing the right code, secure, and architecturally sound, that you can build upon in the future. This is just putting it mildly.
There’s programming influencers?
Depends. Everything has a curve. It’s easy enough to get to like a B lvl programming. Then it gets progressively harder to become an expert.
Same for pretty much all fields.
I’ve been a developer for 20+ years and I can’t remember anyone seemingly thinking I must be a genius when I tell them. If anything, it seems like people think it’s boring these days. The most common reaction is something along the lines of assuming I have a lot of knowledge about devices and how to fix computers. And… yeah, I do, but not because I know how to code. I’ve spent most of my time in Seattle and now Australia. I suppose it probably matters where you are and what kind of people you’re encountering.
Learning programming isn’t hard. Being a software engineer, especially a good one, is. From design patterns to DDD and TDD, there is so much more to working as a software engineer than just leaning to code. The job is about solving problems, and implementing maintainable code, often in a legacy system with little test coverage, and under the right deadlines.
Well, i tought programming to many people and i dont agree. Its not that the languages are hard but people cannot really think algorithmically especially if they did not use computers in a deep manner before. I have seen many top 0.001% students that were learning how to use a web browser for the first time as a computer engineering freshman. They did not have a good time.
You are assuming that the level of critical thinking necessary to understand basic programming techniques is relatively easy for every human to understand.
Evidence would suggest that this is not the case.
That’s why they are the first out the door with AI
It’s sort of an unqualifiable thing. Learning is hard, but once you’ve learned, programming isn’t all that hard.
If you learned poorly, it will.be extremely hard to learn, if you learn in a structured environment with a mentor, it’ll be so much easier
while I generally agree, I think you overestimate people’s ability to take the time to learn something from the basic. as you said about starting at the finish, a lot of people, even in my software engineering courses, try to make it work as fast as they can, then when it doesn’t work first try they struggle and abandon/ask for help, instead of trying again and trying to understand.
Don’t blame Americans for calling their title engineers. Blame the companies. That’s the literal job title.
I taught at one of those coding bootcamps a while ago, and I’d say two things:
I think you’re discounting how violently some people dislike the literal action of reading and writing code.
I’m a scientist and I program for my job, as do virtually all my colleagues. I was surprised to learn I’m one of the only ones who actually likes it. I love learning how something works by learning the source code, but nearly every one of my colleagues prefers to read a paper or listen to a summary. They all can code, it’s just a pretty unpleasant experience for most of them and they avoid it when they can. I think this counts as a kind of difficulty in itself.
Sure, the syntax is pretty easy and lots of people can write really shitty, inefficient code. Congrats! You’ve created a bucket of junk.
Python is an Englishman learning how to speak Cajun.
Cabal is an Austrian learning German
C++, is a South Korean learning Japanese
Machine is a Frenchmen learning Chinese’s.
Yes an English native laymen just picking up a simple purpose code like python will likely find it easier then learning French but lets be honest the mental gymnastics of programing are on par with translation of handling speech in 2 languages. In fact one could say even something as simple as Python is just as complex as not only do you have to translate the actions you want into written speech. But you have to do it forward thinking as even if two developers look at the same code 1 may understand it and the other fail to interpret it.
I would honestly say programmers like Chis Sawyer who made games like Roller Coaster Tycoon 100% in machine language has master one of the most complex modern (as in a few thousand years) languages in the world.
Some people do seem to lack the mindset for programming, I’ve worked with a few people that know how to write code but just can’t problem solve or need to have things explained to them over and over again always asking the same questions.
Math is easy too but most people won’t agree so is it really?
Once you realize 90% of it is just copying other people’s code snippets that have already been written, a veil kinda drops. Sure you can’t get terribly far if all you know is how to crib other people’s code and tinker with it until it works, but you can totally do way more than you thought.
Let’s take a very simple example.
You wrote some code to fetch some information from the database and display on the screen. It works perfectly fine on your machine.
Now, you host this on AWS for public use. Suddenly, 1000 people start using it and your application stops working. Someone from other part of the world is using the same application, but they have different data.
Without going into the technical details, let’s say you managed to solve that problem. Now, users complain that their application is slow. They also want new features. Imagine 1000 engineers are solving 1000 such problems. Now, all of this needs to be integrated, tested and deployed.
You need authentication systems that comply with a number of regulations.
You need a way to update your catalog frequently. The frequent updates to the catalog cannot be manual.
You make some changes to the application and something else breaks.
While handling all of this, the application cannot go down or customers cannot face issues.
Now, imagine this being done at a much much much larger scale and in much more complex systems.
How to write the code is the easy part. What to (not) write, when to (not) write, where to (not) write is not.
Software Engineers get paid shit loads because they solve these problems and generate tremendous revenue for the company. Most of the software companies run on huge margins, which is evident from their balance sheets. So, their value to the company is reflected in the payslip.
I’ve not come across anybody who exaggerates how hard it is. Actually I’ve found it’s usually the opposite where people like to say how simple it is, so they end up being the only person in the company expected to do large amounts of work quickly and effortlessly, and people start to wonder why they spend any time thinking at all.
Of course it’s easy after learning and understanding it, as is maths, quantum physics, economics, organic chemistry etc.
Maybe for something like a basic website. Try navigating a complex enterprise code base of hundreds of thousands of lines of code. That’s not even to mention things like picking the right data structures, algorithms, design patterns, etc. Or the DevOps of cloud services. Or Android/iOS technologies.
Seems easy from the outside and without the experience. The more you learn, the more you come to understand that you don’t know jack sh!t (and I say that as someone who has been developing software professionally for 20 years).
I’m a little overwhelmed by programming languages to be honest. Idk if Python classifies as a programming language, but I was doing it for a while. Forgot most of it, but I had a lot of fun writing the code and creating things.