5 answers
5 answers
Updated
Allisson’s Answer
Ultimately, a Software Engineer is a problem solver. Invest in your creativity! If you're already into this, watching tutorials and getting hands-on, try to add your touch to it by adding new functionality or modifying an existing one. And don't be afraid of tackling unknowns, they're the best source of knowledge. Usually, the scariest tend to be the ones that teach the most!
Other skills and knowledge that will absolutely support you are logical thinking, math, how networks and computers work, working in a group and note taking.
From a "Programming Language as a skill" perspective, before choosing one, decide between the most common "areas" of Software Engineering: front-end or back-end (understand their concepts and pick the one that resonates best with you). From there, you can search for the currently most used programming language in the market (which generally means more work opportunities) or the most friendly from the most used ones.
But don't forget that programming languages are just tools to get a job done, like a hammer, saw, screwdriver, etc. There are two things that I give more attention to before getting concerned about the programming language:
- WHAT you're trying to build or fix. Ask yourself: “how does this help the world?” I know many people that chose to be engineers just for the money, but the feeling of being helpful to other people is the principal thing that puts a smile on my face every time I wake up to work.
- And HOW you're going to build or fix it. A good infrastructure plan combined with good “programming techniques” (such as design patterns) goes a long way.
Other skills and knowledge that will absolutely support you are logical thinking, math, how networks and computers work, working in a group and note taking.
From a "Programming Language as a skill" perspective, before choosing one, decide between the most common "areas" of Software Engineering: front-end or back-end (understand their concepts and pick the one that resonates best with you). From there, you can search for the currently most used programming language in the market (which generally means more work opportunities) or the most friendly from the most used ones.
But don't forget that programming languages are just tools to get a job done, like a hammer, saw, screwdriver, etc. There are two things that I give more attention to before getting concerned about the programming language:
- WHAT you're trying to build or fix. Ask yourself: “how does this help the world?” I know many people that chose to be engineers just for the money, but the feeling of being helpful to other people is the principal thing that puts a smile on my face every time I wake up to work.
- And HOW you're going to build or fix it. A good infrastructure plan combined with good “programming techniques” (such as design patterns) goes a long way.
Updated
Hanish’s Answer
Best way to get started into programming is by coding and building projects. Look for courses on either coursera or Udemy and do a practical course on a programming language that interests you. Build small projects that utilize that language and upload these projects to GitHub or any other code hosting repositories. This will allow you to showcase your practical skills to prospective employers when you start applying and interviewing for jobs. Practice makes perfect so be sure practice as much as possible.
Updated
Andrew’s Answer
So software engineer is a really broad title used for tech jobs that can have a plethora of requirements that differ from place to place. Id suggest looking into codes or companies you are interested in then looking at their recruitment site to see what their tech roles specifically require. You might find some places need their software engineers to know python while others need java and some need both. It really depends but start with a good coding foundation and work your way up from there
Dan Wolf
Retired Electrical/Software Engineer and part-time College Professor (BSEET and MS Engineering Management)
129
Answers
Updated
Dan’s Answer
You must be willing to always be learning new things because this field is always changing.
When designing software you will need to talk with other people in order to identify the software requirements (what it must do) so people skills are necessary. Once the design is complete, the actual coding takes place. The coding itself is normally a solitary task where you must embed yourself into the effort (remove distraction and achieve a sharp mental focus/concentration). A one minute interruption can slow you down for 20-30 minutes as you regain your focus.
As for the technical skills... You will need to be competent in one or more computer languages as well as the application, product, and industry that the software will be for. Software can be commercial (banking and business) or technical (robotics, manufacturing, etc) and may or may not require a knowledge of hardware.
It's a lot of fun and very interesting so, if you enjoy software then you will do fine!
When designing software you will need to talk with other people in order to identify the software requirements (what it must do) so people skills are necessary. Once the design is complete, the actual coding takes place. The coding itself is normally a solitary task where you must embed yourself into the effort (remove distraction and achieve a sharp mental focus/concentration). A one minute interruption can slow you down for 20-30 minutes as you regain your focus.
As for the technical skills... You will need to be competent in one or more computer languages as well as the application, product, and industry that the software will be for. Software can be commercial (banking and business) or technical (robotics, manufacturing, etc) and may or may not require a knowledge of hardware.
It's a lot of fun and very interesting so, if you enjoy software then you will do fine!