Posted on 02/01/2023 9:14:15 AM PST by SeekAndFind
Somewhere along the line, someone noticed that in software development, a few people are self-taught, and then suddenly they (erroneously) correlated software development with easy money.
The truth is that it isn’t that easy.
I’m not going to suggest that the field is overall something super difficult like Physical Chemistry, but it’s also not trivial to learn like my first job at McDonald’s. Though to be honest, getting those cone swirls right was for sure a pride point!
I often see questions like, “how can I teach myself to code and have a full-time programmer job in 6 months.” I imagine that someone has done this somewhere in time, but I’ve never seen it happen.
In fact, the majority of self-taught developers that I’ve met who did get their first job in the last 5–10 years took longer to get it than it would’ve taken to get a BS in Computer Science.
This is usually where the comment of “I know this one guy” or “I learned how to program in a year” come in. Sure, some people have done it quickly, but how many middle school teachers tell their athletic students “screw all this education crap, don’t you know how much money Michael Jordan made!?” Averages are important.
It also isn’t always that profitable.
Software development pays extremely well in select companies in select areas for select roles. Whew, what a mouthful! But it’s true. Coming out of school, I had friends start at 100k in Seattle, and others start under 50k far outside of tech hubs. There’s a huge gap.
And if we compare this to other fields, like say being an electrician, where unions offer paid training, and after 2 years, you can get licensed and pull 6-figures in many areas, the comparison isn’t so crazy.
It has to be interesting.
This is kind of the short answer. The best reason not to enter a field is being uninterested. Imagine going to that electrician and saying “man, you could make an extra 30k a year doing something you hate!” Well, that’s kind of a tough sell.
Web development isn’t for everyone because it’s not trivial to do, pay isn’t the only metric for quality of work, and there are dozens of other professions that pay very well which are in high demand.
It takes a tremendous amount of time to be good at it quickly.
Not everyone can code, in fact after 35 years of development, maybe 3 or 4 percent could do it and complete a project.
Of that maybe half would want to do it.
Contrary to what you read, developing in C#, C++, Swift, Objective C, and C takes at least a year to become really proficient. Python, Java, Javascript take less than that. Once you know one of them well, the others fall in place quicker.
These new low-code / no-code tools take a good while too and a longer time if it’s you first exposure to programming .
That first year you’re going to be bugging the shit out of the engineers and experienced folks.
If you are the kind of person who likes to go to meetings you had best find something else to do. If you like to stay inside your comfort zone, that too is a good reason to find something else to do.
Learning to code isn’t enough
It’s basically just automating looking up something in StackOverflow.com.
“It takes a tremendous amount of time to be good at it quickly.”
Not anymore. I seen a YouTube Video yesterday of a completely website created and designed with one natural language prompt. It is not yet there, but it will be soon. AI is in its infancy.
A Single AI Prompt Built This Entire Website!
https://youtu.be/Mrs6q1eypmw
Freelance WordPress developers can charge $50-75/hr and many are mostly self taught and end their self teaching by attending coding bootcamp.
A Picasso is worth millions, so why isn’t everybody painting pictures?
In general, people don’t get hired just to code anymore. You are expected to do business analysis and requirements and be a Subject-Matter Expert, the coding is more and more a smaller part of the job.
I used to goto StackOverflow all the time. Lot's of good examples. You can probably find a perfect example there. If you've never coded anything before, you'll never figure out what tools to use and where to start without researching and playing around with that first.
It’s like if you learn Java, the language. That’s nothing, unless you know Spring inside and out, so you don’t wind up reinventing the wheel.
No it isn't enough. But if you've become very proficient in writing software and learning your environment, the actual business problem becomes fairly simple, it's the execution that and possible failure points that get complicated.
It always seemed they wanted this to talk to that, then check the other thing and find whatever.
IMHO software development is like probably most other skills. Learning to code can seem easy at first. Just like replacing the drain pipe under a sink can be easy after doing it a few times. But I'm a long way from calling myself a professional plumber.
Then there's the deep analytical skills and patience required to look at the problem the business is trying to solve to begin with. Many of the "Aha!" moments I got credit for where done before typing my first line of code. I'd email the client/project manager and say something like: "In our last meeting you asked for the software to do A and B. Now that I've had time to think it over, B contradicts old requirement C and could possibly impact old feature D. Before I make a code change, let's discuss these issues to make sure we know what we want from the software. I think I have a better way to meet both the old needs and new needs."
Exactly, that's why I said it takes a year or so to become really proficient. There's a lot more to it than syntax. After a year there is just a certain comfort level you get. You get to where you think about your project and the steps, and the code just flows out of your fingers.
In the 90’s I could have described myself as a “full stack” web developer - design the DB, write queries, do the backend code to generate dynamic HTML/Javascript, Java applets, and Photoshopped graphics.
Now there’s endless Javascript frameworks for everything...plus a few million more developers to compete with. I moved into embedded systems and didn’t learn any of these frameworks. Not that I’d really want to go back to doing that. Although AI and AWS applications have an appeal.
:)
There are probably a lot of people, particularly women, who are intimidated by the “math” aspects of computer science and choose more “social” sciences. My daughter got her masters in Marriage and Family Therapy but found that it was a very crowded field with not a lot of salary upside.
When her husband suggested she apply for a job at his intelligence agency she joined him as an analyst. She quickly became frustrated with the outdated data tools they were using and taught herself to program Excel spreadsheet applications. When agents started asking her to do the same for them, she got interested in data analysis and taught herself Python, Linear Algebra, and SVM programming.
When she realized that she liked it and was good, she went on to get a Master’s in Data Science at U of Michigan. She is now a lead developer of data analysis tools used to assist the behavioral detection officers at the agency.
She never had the slightest interest in computer science until she realized that she had a very logical mind and an aptitude for math intensive applications like data analysis. I now believe that good computer science engineers are likely born and not something just anyone can successfully train for.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.