#SoftwareEngineering101: Hey y’all! 🙋♂️ So, I’m diving into the world of software engineering, and let me tell you, it’s like navigating a maze blindfolded! 🤯 Day in the life videos aren’t cutting it for me – just a bunch of code that might as well be a secret language! (I mean, do they even speak English?) 🤷♂️
#WebsiteBuildingWonders: I know software engineers can whip up mobile apps and games, but are most jobs in website building? 🤔 If so, do I need to nail HTML and CSS before diving into the big leagues of programming languages? 🌐 And once the website is up and running, is it all about choosing your favorite programming language to fine-tune it?
What do you think? Cast your vote below and let’s figure this out together! 😉💻 #JoinTheConversation
👍 Yes, website building is where it’s at!
👎 Nope, there’s more to the software engineering world than websites!
Depend on what you defined as “website building”.
It is true that there are more use cases for website than native apps or games, but building a website is far from just designing the site
>I understand that software engineers can make mobile applications and games, but are the majority of the careers in website building?
No, I don’t think so. There are jobs like data engineer, platform engineers, backend engineer, embedded systems programmer, robotics programmer, DevOps engineer, data scientist, etc.
In my opinion the programming language you start with has to help you learn and has to be able to motivate you and click with you. You should have fun learning.
I tried different programming languages but the language that got me really passionate and building program is something I haven’t even used at any job. It was basically only useful for that brief instance of my life and then I branched out to other languages out of necessity for school or work or just for hobbies.
I would recommend starting with Python as it is very powerful and easy to understand.
[https://programming-22.mooc.fi/](https://programming-22.mooc.fi/)
> but are the majority of the careers in website building?
Yes.
> If it’s in website building where most of the jobs are, then HTML and CSS would be necessary to learn before a more standard programming language, right?
It is generally taught that way. HTML and CSS are easier to learn, so people tend to start with their basics first before diving into a programming language. Though you don’t really have to. You can just start with the programming language and then at some point learn HTML and CSS.
> And then, when it comes to fine-tuning the website, it is a matter of your preference for language?
What do you mean?
It’s a large chunk, but there are other fields.
Keep in mind: The Internet is a huge thing, and everybody wants in on it. It’s all about presenting, distributing and using data. I’ve looked over german job postings (I live there, so…) again for this post:
Most open jobs are about Webapps, servers and backends. But most of these jost are not for public interfaces. Rather internal sites for training, managing and planning inside of a company, building data endpoints other parts of the company can connect to, like an app, a website or data analysts. Approx. 2/3 of those jobs seem to be backend (which also matches my personal experience), so no / minimal HTML/CSS is needed. Most of the work seems to be done in C# and python, but that will vary widely for different industries. JS, Go, rust and a couple of others are also useful.
Keep in mind, modern websites are no longer static pages of text. It’s all dynamic content, loaded from multiple different servers, sorted, filtered and presented different for every user that logs in.
Other big jobs are Infrastructure: Libraries, drivers, Operating System stuff, embedded systems, etc. These use a totally different tech stack, mostly C, sometimes C++ and nowadays even rust. Many libraries are open source and unpaid, but the car, aerospace, banking and military industries still have a huge demand for complex, well designed systems in low level languages. There is also a lot of money here.
And lastly, there are applications. They are far less common nowadays; many applications are just repackaged websites and webapps, shipped with electron. A trend that I hate, but I see how people think it makes sense. Some apps will still for a while not be ported to electron: Music, Art and Video Productions software, 3D modeling, Game(s) and Game Engines, Browsers (lol), and IDEs. I’m sure I forgot many. They are implemented in any language, ranging from C to Java to C#, Kotlin, Rust, Go, Python…
And then there are the other jobs: Helper jobs, that don’t produce the actual code, but help people be more productive. They are just as important as the core dev team in larger projects: You have DevOps, testing, QA, different forms of managers, some of whom actually need to know how to code, Architects and Consultants. If you want to earn very good money… become a consultant ^^
Another point that people tend to underestimate greatly:
I can learn a new language in 2 days. I’m not special. That’s quite normal. With only 5 years of experience, you can do that too. The thing is: All languages are related to each other. I personally am proficient in rust, python, C and Haskell. I recently picked up Kotlin in 2 hours to make a small minecraft mod for a friend. I learned JavaScript and then TypeScript in a weekend when a job required it. (Yes, I told them I have experience in JavaScript, and it only came back to bite me once with a bug so epic, even our senior was stumped and I was finally the one to solve it, 2 months after it appeared) I coded in C# for a university project in unity, I learned C++ from scratch while building a ray tracer, and I taught myself HTML and CSS in 5 hours to build a very basic website.
And as for PHP: Don’t. If you see it: run! (only half joking)
(The hard part is not the HTML and CSS btw, it’s that I can’t desing things to look good ^^ If you want to do frontend as a developer, take design classes, don’t waste your time with HTML and CSS)
I’ve seen some jobs in traditional software, GUI etc. but these are extremely rare. It’s mostly cloud, front-end, backend, or games. Sometimes embedded, but these require in depth knowledge of microprocessors. Games field got more interesting, as there are multiple jobs doing like army vr training simulations for example. So serious games are also an option.
The possibilities with software is really vast.
Take for example, you can program a small moving robot arm to paint your nails.
So it comes down to what aspect of software you want to sharpen. Websites, although quite important since it deals with communication, is actually just a small part of software.