3 answers
3 answers
Updated
Tahir’s Answer
Hey Kevin,
Software Engineer has grown immensely over the years, from a handful of languages to hundreds and thousands of them. So you need to see where your interests lie. Are you someone who is more interested in UI (User Interface) like a website or a Mobile application, or you want to get engaged in core Business Applications (like Salesforce, Adobe etc) or AI (Artificial Intelligence) intrigues you more. In addition to the aforementioned Software Development, there are several areas linked to coding that one can get engaged in, such as Software Quality Assurance (aka Software Testing), Configuration Management, Cloud Service Management etc. So there thousands of opportunities and most people dont know specifically what they want or would like, so get your hands wet. Thats the best way to learn what you want to do...start learning coding, small projects, and before you know it you will see where your heart and mind takes you.
Hope that helps.
Software Engineer has grown immensely over the years, from a handful of languages to hundreds and thousands of them. So you need to see where your interests lie. Are you someone who is more interested in UI (User Interface) like a website or a Mobile application, or you want to get engaged in core Business Applications (like Salesforce, Adobe etc) or AI (Artificial Intelligence) intrigues you more. In addition to the aforementioned Software Development, there are several areas linked to coding that one can get engaged in, such as Software Quality Assurance (aka Software Testing), Configuration Management, Cloud Service Management etc. So there thousands of opportunities and most people dont know specifically what they want or would like, so get your hands wet. Thats the best way to learn what you want to do...start learning coding, small projects, and before you know it you will see where your heart and mind takes you.
Hope that helps.
I appreciate this, thank you for the advice.
kevin
Updated
Mickael’s Answer
Hi Kevin,
To become a software engineer, you need two things:
- algorithm
- a coding language and everything that goes with.
Algorithm is basically the core of any program. Each programming languages have their specifics but overall they are using the same approach. So I would suggest you start reading about this on the web, in programming clubs, in books ...
The second is having at least one coding language so that you can actually write your algorithm and execute it on a machine. As Jessica Magnuson said, Python is a popular language nowadays that works on Windows and Linux so it is easy to start with even if your operating system is McOS, Windows or any Linux distribution.
Once you get familiar with these two, I would suggest to add more languages to your wallet. Here are few
- Java/javascript: used a lot in web applications
- C#: quite high level language and really Windows focused (I haven't touched it for 3 years but that was my feeling at the time)
- C++: Very used in companies where performance and memory usage are keys. A lot of industrial software is using C++.
- C: this is considered a low level programming language as C offers very few library. This is extensively used in Kernel programming and in embedded systems and other areas where we need small code, finer controls over the hardware, very close to native architecture. Few use C as other would use C++. It's a hard language to get into so I would not recommend C as a self-learner. But I would definitely recommend it in the long term.
Of course, these are the basics. In order to be a better developer, you need to understand how an operating system is running the code, and therefore, learning computer architecture will help, especially when you start coding in C.
Other relevant courses are Operating System courses. The Operating System is the software layer between the hardware and your program. This is Windows 10/11, or Linux or McOs or others. Every Operating System has its own specifics but all share the same overall architecture when it comes to run applications and that helps understanding how your program will run, therefore will help writing better program.
To become a software engineer, you need two things:
- algorithm
- a coding language and everything that goes with.
Algorithm is basically the core of any program. Each programming languages have their specifics but overall they are using the same approach. So I would suggest you start reading about this on the web, in programming clubs, in books ...
The second is having at least one coding language so that you can actually write your algorithm and execute it on a machine. As Jessica Magnuson said, Python is a popular language nowadays that works on Windows and Linux so it is easy to start with even if your operating system is McOS, Windows or any Linux distribution.
Once you get familiar with these two, I would suggest to add more languages to your wallet. Here are few
- Java/javascript: used a lot in web applications
- C#: quite high level language and really Windows focused (I haven't touched it for 3 years but that was my feeling at the time)
- C++: Very used in companies where performance and memory usage are keys. A lot of industrial software is using C++.
- C: this is considered a low level programming language as C offers very few library. This is extensively used in Kernel programming and in embedded systems and other areas where we need small code, finer controls over the hardware, very close to native architecture. Few use C as other would use C++. It's a hard language to get into so I would not recommend C as a self-learner. But I would definitely recommend it in the long term.
Of course, these are the basics. In order to be a better developer, you need to understand how an operating system is running the code, and therefore, learning computer architecture will help, especially when you start coding in C.
Other relevant courses are Operating System courses. The Operating System is the software layer between the hardware and your program. This is Windows 10/11, or Linux or McOs or others. Every Operating System has its own specifics but all share the same overall architecture when it comes to run applications and that helps understanding how your program will run, therefore will help writing better program.
Updated
Jessica’s Answer
Hi Kevin!
There are many resources you could use such as preparing for certifications or coding bootcamps! Some universities, such as Rutgers, offer coding bootcamps or you can work to get certified on your own through a third party. Any degree in computer science or IT usually has coding introductory courses that each student takes as well. It also depends what language you'd want to start with, I'd recommend learning Python just due to how popular it is becoming and how often it is used but Java or .Net are good as well!
There are many resources you could use such as preparing for certifications or coding bootcamps! Some universities, such as Rutgers, offer coding bootcamps or you can work to get certified on your own through a third party. Any degree in computer science or IT usually has coding introductory courses that each student takes as well. It also depends what language you'd want to start with, I'd recommend learning Python just due to how popular it is becoming and how often it is used but Java or .Net are good as well!