14 answers
Asked
1333 views
How would a person go on and study certain programming languages on their own to become a software engineer?
I am a university student looking to switch my program into computer science and more specifically become a software engineer. How is a good way to get a head start?
Login to comment
14 answers
Updated
Prajwal’s Answer
Check for the courses online, like Udemy, Course Era ..etc
Updated
Jimil’s Answer
CodeAcademy, Udemy, and Youtube are all great resources for learning programming independently. They provide classes for almost every language, framework, and library you can think of. They are very reasonably priced and youtube is free. if you just type in "XX tutorial" for whatever language you want to learn on youtube, you will see the resources available. Additionally, these resources can help you build your resume and land new positions. Many jobs expect you to use youtube and google to solve problems with code in the workplace so if you use these resources prior to working and while you are working, you can lower your workload and complete your job assignments more efficiently. I learned this the hard way, and ultimately when a company pays you a lot for a software engineering job, they are paying you for the hours you have already spent learning the information. If you don't know the information when your job asks you, it is nice knowing there are resources available. There should never be an excuse as to why you can't solve a software problem, as long as you are willing to put in over 40 hours a week in some cases.
Updated
SAHIL NAZIR’s Answer
There are many ways to get started with learning programming and becoming a software engineer. Here are a few suggestions:
Choose a programming language to learn: There are many programming languages to choose from, each with its own set of features and applications. Some popular programming languages for software engineering include C++, Java, Python, and C#. You might want to choose a language that is commonly used in the software industry or one that aligns with your interests or career goals.
Find online resources: There are many online resources available for learning programming, including tutorials, videos, and online courses. Some popular sites for learning programming include Coursera, edX, and Udemy. You can also find free resources on websites like Khan Academy, Codecademy, and freeCodeCamp.
Practice, practice, practice: The best way to get better at programming is to practice writing code. You can start by working through online exercises and challenges or by building small projects on your own. As you gain more experience and confidence, you can move on to larger projects or even contribute to open source projects.
Get involved in the community: Joining online communities or local groups of programmers can be a great way to learn from others, share your own knowledge, and stay up-to-date on the latest developments in the field. You can also attend meetups and conferences to meet other programmers and learn about new technologies.
I hope this helps!
Choose a programming language to learn: There are many programming languages to choose from, each with its own set of features and applications. Some popular programming languages for software engineering include C++, Java, Python, and C#. You might want to choose a language that is commonly used in the software industry or one that aligns with your interests or career goals.
Find online resources: There are many online resources available for learning programming, including tutorials, videos, and online courses. Some popular sites for learning programming include Coursera, edX, and Udemy. You can also find free resources on websites like Khan Academy, Codecademy, and freeCodeCamp.
Practice, practice, practice: The best way to get better at programming is to practice writing code. You can start by working through online exercises and challenges or by building small projects on your own. As you gain more experience and confidence, you can move on to larger projects or even contribute to open source projects.
Get involved in the community: Joining online communities or local groups of programmers can be a great way to learn from others, share your own knowledge, and stay up-to-date on the latest developments in the field. You can also attend meetups and conferences to meet other programmers and learn about new technologies.
I hope this helps!
Updated
Rob’s Answer
Definitely a great career option! In addition to the other answers, there are some basic to intermediate level courses on Khan Academy. That's a great place to start to get the basic concepts without spending too much time or money to see if you like it...
Updated
Archived’s Answer
I read somewhere that doing well in a programming competition has more weight than a computer science degree. Of course, the competitions are probably very hard. Check out https://www.mycplus.com/featured-articles/programming-contests-and-challenges/
Updated
Daria’s Answer
If you are self-disciplined, you can try to look for the courses online (Udemy, LinkedIn Learning, Khan Academy) but if you are struggling with keeping up with them, you should look for on-site courses. You can also do Computer Science major - deadlines on Universities help creating project often
Updated
Rebecca’s Answer
Thank you for the question . I am glad to hear that you are interested in program and would like to become a software engineer.
Below are my suggestions :
1. Sit in Computer Science class before you switch to Computer Science program
2. Identify the programming languages the Computer Science will use
3. Find the syntax and structure of the programming languages. There are plenty of resources online.
4. Start use the programming languages to do some simple programming. Practice makes perfect!
5. Speak to the professors and the students in senior years to understand the syllabus more
Hope this helps! Good Luck!
Below are my suggestions :
1. Sit in Computer Science class before you switch to Computer Science program
2. Identify the programming languages the Computer Science will use
3. Find the syntax and structure of the programming languages. There are plenty of resources online.
4. Start use the programming languages to do some simple programming. Practice makes perfect!
5. Speak to the professors and the students in senior years to understand the syllabus more
Hope this helps! Good Luck!
Thank you so much for your help.
Mohamed
Updated
Joseph’s Answer
I agree with the online course offerings. Some offer certifications, but not always. I've used Udemy, Skill Success, and sometimes Stack Social has some affordable courses. YouTube is great for visual tutorials. Don't worry about keeping up. Just pause and go as needed. I would definitely recommend a set-up that allows for dual monitors. It makes coding along with a tutorial much easier. Even if your 2nd monitor is a TV via HDMI. It'll be helpful. If you are disciplined enough to essentially self-learn, and you know what languages you need to learn, that's great! Myself, I didn't know what I didn't know, and that was a problem. I didn't have the necessary information to know what to learn, or what was relevant, etc. I didn't want to spend 4 years learning in university, nor did I want to take on that kind of debt. I opted for a coding bootcamp. You can always get information about a vast number of available bootcamps and can have your questions answered by real people, in real-time. All of these resources have been vetted. Check out https://CareerKarma.com/. At a fraction of the cost, I found my bootcamp had a solid plan on how to train up someone with little to no coding experience. Many coding bootcamps offer like a 3 month program. Mostly for those who already have some coding experience. I opted to take a longer, self-paced program, about 6-1/2 months. That's how long it took me.
In that time I was able to learn: Basics of Computer Hardware, Version Control, Git & GitHub, HTML, CSS, JavaScript, React, Databases and SQL, Python, Django, Project Management, Scrum/Agile Methodologies, C# and .NET. All the while having access to Instructors, as needed. Past this, I was able to work on a few projects as a Developer - Intern, and also worked with Job Placement. So as a self-learner, you don't have that direction in knowing what to learn, or in what order, nor would you have the ability to obtain guidance from Instructors, and the support of the Job Placement who will help you with writing a resume, interview prep and more. I needed that guidance at the time. You might not. This is not a One and Done type of occupation. Things are forever in a state of change. Be prepared to be a life-long learner!
I wish you the best of luck in your journey into tech and the pursuit of knowledge.
In that time I was able to learn: Basics of Computer Hardware, Version Control, Git & GitHub, HTML, CSS, JavaScript, React, Databases and SQL, Python, Django, Project Management, Scrum/Agile Methodologies, C# and .NET. All the while having access to Instructors, as needed. Past this, I was able to work on a few projects as a Developer - Intern, and also worked with Job Placement. So as a self-learner, you don't have that direction in knowing what to learn, or in what order, nor would you have the ability to obtain guidance from Instructors, and the support of the Job Placement who will help you with writing a resume, interview prep and more. I needed that guidance at the time. You might not. This is not a One and Done type of occupation. Things are forever in a state of change. Be prepared to be a life-long learner!
I wish you the best of luck in your journey into tech and the pursuit of knowledge.
Updated
Somesh’s Answer
Glad to know you are interested in learning programming.
- Understand the basic of Software Engineering , https://youtu.be/sB2iQSvrcG0 , then go through some use cases on understanding how web applciation works , what are different layer in application - front end , backend , database ..
Softwares are used into every walk of life today.. Banking , IOT devices, Artificial intelligence / Machine learning / Apple, Android App development , Automation and many more..
- Then you need to identify your interest -
whether you want to build website , learn AI/ML , learn front end technology - javascript , or backend - for e.g. java , python , DB etc , There are various opportunities in IT based on ur profile - whether you are front end engineer ,backend , fullstack etc.
Focus on one thing at a time.. plan accordingly..
- Once you identify your intererst - then find a good and simple course on various avenues available online - youtube is best - free content .. Otherwise you can choose on online learning platform -- udemy , pluralsight ( paid courses)
- Join discussion forums , slack channel , explore github - opensource
- And last but not the least - do the enough hands on .. Because programming is field where you need to learn by practical , not just merely reading concepts.
- Understand the basic of Software Engineering , https://youtu.be/sB2iQSvrcG0 , then go through some use cases on understanding how web applciation works , what are different layer in application - front end , backend , database ..
Softwares are used into every walk of life today.. Banking , IOT devices, Artificial intelligence / Machine learning / Apple, Android App development , Automation and many more..
- Then you need to identify your interest -
whether you want to build website , learn AI/ML , learn front end technology - javascript , or backend - for e.g. java , python , DB etc , There are various opportunities in IT based on ur profile - whether you are front end engineer ,backend , fullstack etc.
Focus on one thing at a time.. plan accordingly..
- Once you identify your intererst - then find a good and simple course on various avenues available online - youtube is best - free content .. Otherwise you can choose on online learning platform -- udemy , pluralsight ( paid courses)
- Join discussion forums , slack channel , explore github - opensource
- And last but not the least - do the enough hands on .. Because programming is field where you need to learn by practical , not just merely reading concepts.
Updated
Kelli’s Answer
I applaud you for thinking ahead on what you would like to do for your career. Starting early is a good place to start.
There are a few places that can offer great resources.
1. Research different programming languages to pursue, whether for Web Design (HTML, Javascript, CSS) or others such as C++ or Python.
2. Try searching You Tube for video tutorials on some of these programming languages.
3. There are some paid programming offers that you can find on Udemy or similar. I think those are a good choice when you narrow down to one or two programming languages you would like to pursue.
4. Ask your school counselor and teachers if there are any summer or weekend camps that you can sign up for hands-on learning. Some may offer a small scholarship to pay for the camp.
Best of luck to you!
Kelli
There are a few places that can offer great resources.
1. Research different programming languages to pursue, whether for Web Design (HTML, Javascript, CSS) or others such as C++ or Python.
2. Try searching You Tube for video tutorials on some of these programming languages.
3. There are some paid programming offers that you can find on Udemy or similar. I think those are a good choice when you narrow down to one or two programming languages you would like to pursue.
4. Ask your school counselor and teachers if there are any summer or weekend camps that you can sign up for hands-on learning. Some may offer a small scholarship to pay for the camp.
Best of luck to you!
Kelli
Updated
Johnathan’s Answer
There are quite a few options available to you including but not limited to (in no particular order):
1. Books, whether physical, ebooks or audio that cover specific programming languages as well as best practices and etc. You can regularly find budget ebooks on websites such as humblebundle.com
2. Websites dedicated to specific languages including blogs and references. You can nearly Google any language you're interested in (java or c# for example) and there are ample resources available to get you started including any needed apps to install and tutorials
3. YouTube, there are plenty of others learning and willing to teach here as well
4. Boot camps. Not all of these are free but there is a such thing as opportunities that will train you in a specific language to get you up to speed for a job position at no financial cost to you. These can be both paid and unpaid until hire, all you would need to do is dedicate a certain amount of time to the program and convince them of your aptitude to learn
5. "Academy" websites such as codecademy, Udemy and etc. These tend to be more interactive and classroom like for learning languages
This is far from an exhaustive list and how you choose to learn all depends on your particular learning style.
1. Books, whether physical, ebooks or audio that cover specific programming languages as well as best practices and etc. You can regularly find budget ebooks on websites such as humblebundle.com
2. Websites dedicated to specific languages including blogs and references. You can nearly Google any language you're interested in (java or c# for example) and there are ample resources available to get you started including any needed apps to install and tutorials
3. YouTube, there are plenty of others learning and willing to teach here as well
4. Boot camps. Not all of these are free but there is a such thing as opportunities that will train you in a specific language to get you up to speed for a job position at no financial cost to you. These can be both paid and unpaid until hire, all you would need to do is dedicate a certain amount of time to the program and convince them of your aptitude to learn
5. "Academy" websites such as codecademy, Udemy and etc. These tend to be more interactive and classroom like for learning languages
This is far from an exhaustive list and how you choose to learn all depends on your particular learning style.
Updated
Vidya’s Answer
There are a lot of online platforms to pick up in-depth coding skills. A few platforms mentioned below-
LinkedIn Learning
Udemy
Datacamp
Also, a often less explored option
Local Library (online portal/books)
Youtube
Hope this helps!
LinkedIn Learning
Udemy
Datacamp
Also, a often less explored option
Local Library (online portal/books)
Youtube
Hope this helps!
Updated
Neschay’s Answer
Hi Mohamed,
The word 'software' is very generic, and before you can identify which courses to enroll in, you need to have more clarity on which kind of software developer role will truly excite you and prove to be a fulfilling career. Here is a list of hot technologies software developers are using now - https://www.onetonline.org/link/hot_tech/15-1252.00 as you can see, there are many technologies out there.
Now, which software you want to develop will depend upon the larger context and what you will do in the role of a software engineer. For example, would you want to create software for desktop applications, for network programmability, or for cloud automation? In each of these scenarios, the coding languages, methodologies, test procedures etc, will vary a lot.
I have provided a few additional resources here which may help in expanding your point of view.
Let me know if you have any questions.
Thanks,
Neschay
Review the role of software engineer in detial - https://www.onetonline.org/link/summary/15-1252.00
Understand the difference between a front end and back end developer - https://www.pluralsight.com/blog/software-development/front-end-vs-back-end
Start small; learn how to write clean code - https://www.pluralsight.com/blog/software-development/10-steps-to-clean-code
The word 'software' is very generic, and before you can identify which courses to enroll in, you need to have more clarity on which kind of software developer role will truly excite you and prove to be a fulfilling career. Here is a list of hot technologies software developers are using now - https://www.onetonline.org/link/hot_tech/15-1252.00 as you can see, there are many technologies out there.
Now, which software you want to develop will depend upon the larger context and what you will do in the role of a software engineer. For example, would you want to create software for desktop applications, for network programmability, or for cloud automation? In each of these scenarios, the coding languages, methodologies, test procedures etc, will vary a lot.
I have provided a few additional resources here which may help in expanding your point of view.
Let me know if you have any questions.
Thanks,
Neschay
Neschay recommends the following next steps:
Updated
Rommel’s Answer
For every language there is probably a user group and websites to learn. There are discussions groups regarding coding problems and working on bugs. To get a base understanding look at industry sites and begin reading & asking questions. Some sites also have test software.