11 answers
11 answers
Updated
Leo’s Answer
Try to get an internship on a company as soon as you can. Even better: do multiple internships. Plan ahead: internships in the US are usually around the Summer, but interviews may happen as far back as November (for instance, interviews for internships for Summer 2021 probably happened around Nov 2020). Look up companies on the web and look at their job postings -- they usually include internship opportunities as well.
In the meantime, do projects on your own and publish your code on places like github. Try to follow standard coding styles (like Style 9 for C or PEP-8 for Python). You can use these projects to show that you can do things to future employers and that you're disciplined enough to follow standard coding practices. Don't forget to add links to your github page in your CV.
Some Universities also do "employment fairs" where employers actively seek out people they can hire. Go to these fairs and have your resume ready.
And of course, the pre-work: have your resume updated and be ready for the coding interview.
In the meantime, do projects on your own and publish your code on places like github. Try to follow standard coding styles (like Style 9 for C or PEP-8 for Python). You can use these projects to show that you can do things to future employers and that you're disciplined enough to follow standard coding practices. Don't forget to add links to your github page in your CV.
Some Universities also do "employment fairs" where employers actively seek out people they can hire. Go to these fairs and have your resume ready.
And of course, the pre-work: have your resume updated and be ready for the coding interview.
Good suggestion. This will definitely help.
Shri S
Updated
lewei’s Answer
I think from my experience is to gain experience by making mistakes, creating bugs and solve them, no such thing as short cut to gain exp real fast then just get your hands dirty.
you can start to create and build small software to help you solve easy problems or routine work you want to get rid of, then you are on the road.
you can start to create and build small software to help you solve easy problems or routine work you want to get rid of, then you are on the road.
Updated
Sreeram’s Answer
Apart from all the good points above, I would suggest thinking about which area of software engineering you are passionate about.
Each area needs expertise in different programming languages and concepts. Focusing on one area can really help you get entry in internships, than being jack of all trades. Practice coding on platforms like hackerrank with the language of your choice (that aligns with your area of interest) to compare your skill level with your peers. This really helps you identify your strengths and weaknesses, and also optimize your coding skills.
Each area needs expertise in different programming languages and concepts. Focusing on one area can really help you get entry in internships, than being jack of all trades. Practice coding on platforms like hackerrank with the language of your choice (that aligns with your area of interest) to compare your skill level with your peers. This really helps you identify your strengths and weaknesses, and also optimize your coding skills.
Updated
bin’s Answer
Hi Ashley,
I could only tell you that software engineering is not easy.
Try your best to get anything you want at website (google),
books(C Data structrue) and other things about software engineering.
Please follow your heart.
Wish you best career in the future.
I could only tell you that software engineering is not easy.
Try your best to get anything you want at website (google),
books(C Data structrue) and other things about software engineering.
Please follow your heart.
Wish you best career in the future.
Updated
Mickael’s Answer
Hi Ashley,
The only way to gain experience in any domain is to practice. I am going to repeat what most other persons already said. To practice software engineering/development:
- program things on your own. Try to reuse the same technology multiple times so that you become familiar enough to claim some knowledge.
- find internships in software companies to help you gain experience in professional environment. Many big companies have students programs. Most of them post offers on their website in addition to when is the best to apply. Here is Dell's one: https://jobs.dell.com/students
- read articles about technologies and languages you like to keep up-to-date with new features.
The only way to gain experience in any domain is to practice. I am going to repeat what most other persons already said. To practice software engineering/development:
- program things on your own. Try to reuse the same technology multiple times so that you become familiar enough to claim some knowledge.
- find internships in software companies to help you gain experience in professional environment. Many big companies have students programs. Most of them post offers on their website in addition to when is the best to apply. Here is Dell's one: https://jobs.dell.com/students
- read articles about technologies and languages you like to keep up-to-date with new features.
Updated
Nithish Kumar’s Answer
Hi Ashley,
By having the motivation to learn, you are in a right track to start your career in Software Engineering.
For Starters, you could pick up a widely used technology or framework in the industry and start creating a small scale project such as an online Library Management Tool etc. Work on this project by having a specific goal in your mind, which includes creating a scalable and robust product or creating a specific use-case which can bring in a lot of impact and lot of learning. This kind of approach will enhance your learning, will better your designing of Databases, will enable you to learn the efficient usage of different libraries and will motivate you further to enhance the project by learning new technologies.
If you are familiar with the technologies you want to work with, you can explore various open source projects in websites such as github etc. These experiences will improve your resume and will give you a better chance to grab internship opportunities. The experience you gain by working in a corporate environment is invaluable.
Have a good day and all the best for your future.
By having the motivation to learn, you are in a right track to start your career in Software Engineering.
For Starters, you could pick up a widely used technology or framework in the industry and start creating a small scale project such as an online Library Management Tool etc. Work on this project by having a specific goal in your mind, which includes creating a scalable and robust product or creating a specific use-case which can bring in a lot of impact and lot of learning. This kind of approach will enhance your learning, will better your designing of Databases, will enable you to learn the efficient usage of different libraries and will motivate you further to enhance the project by learning new technologies.
If you are familiar with the technologies you want to work with, you can explore various open source projects in websites such as github etc. These experiences will improve your resume and will give you a better chance to grab internship opportunities. The experience you gain by working in a corporate environment is invaluable.
Have a good day and all the best for your future.
Updated
Eugene’s Answer
Software Engineering is a wide-spectrum of differing types, skills, coding languages, certifications, etc.. so much so that it can be overwhelming with choices.
If you are a college student - best to take a Intro to Computer Science class at your college to see if it is something you want to delve deeper into. Main advantage, is it is a formal class (i.e. teacher, assignments, etc..) - as opposed to trying to figure everything out on your own.
After that, you can start thinking about which aspects of Software Engineering interest you the most.
Best of Luck!
If you are a college student - best to take a Intro to Computer Science class at your college to see if it is something you want to delve deeper into. Main advantage, is it is a formal class (i.e. teacher, assignments, etc..) - as opposed to trying to figure everything out on your own.
After that, you can start thinking about which aspects of Software Engineering interest you the most.
Best of Luck!
Updated
Sudhansu’s Answer
Hi Ashley,
There has been lots of great responses already. Here are couple of more things which will help -
(1) Participate in Hackathons - you can find many organizations arranging hackathons. Typically these hackathons are technology focused to solve real world problems. Participating in these events will not only help improving your skill, at the same time it will provide great exposure to what organizations are interested in.
(2) Stay current and learn new technologies - Understand and learn how software development is evolving. Many companies provide free cloud services for students, leverage them to learn latest and greatest in technology landscape.
(3) Focus on fundamentals - this is foundation. Algorithms, Data Structure, Problem Solving - these are few areas which all software developers have to be good at.
Hope this helps - All the very best!
There has been lots of great responses already. Here are couple of more things which will help -
(1) Participate in Hackathons - you can find many organizations arranging hackathons. Typically these hackathons are technology focused to solve real world problems. Participating in these events will not only help improving your skill, at the same time it will provide great exposure to what organizations are interested in.
(2) Stay current and learn new technologies - Understand and learn how software development is evolving. Many companies provide free cloud services for students, leverage them to learn latest and greatest in technology landscape.
(3) Focus on fundamentals - this is foundation. Algorithms, Data Structure, Problem Solving - these are few areas which all software developers have to be good at.
Hope this helps - All the very best!
Updated
Itay’s Answer
There are numerous SW engineering aspects in which you may want to gain experience in, many are described in Robert C. Martin's 'Clean code' and 'The clean coder' which I highly recommend.
I suggest to read some of the classics, expand your toolchain (Coding languages, Design patterns, Methodologies) and practice alot of hands-on in communal project.
I suggest to read some of the classics, expand your toolchain (Coding languages, Design patterns, Methodologies) and practice alot of hands-on in communal project.
Updated
Rick’s Answer
Hi Ashely
First, I would spend some time thinking about what fields/industries are most interesting to you so you can begin to develop and idea for where you want to apply your SW engineering degree once you complete your coursework. Focus on areas that you are exited and motivated about because that is where you will be most successful.
Once you have a general idea you should seek out curriculums at your institution of learning that have significant projects as part of the coursework where you could develop project ideas in those fields/industries and work them from concept to delivery. Having multiple large scale projects on a resume that tie into the field you ultimately want to work in can be a big benefit and really spice up your resume.
Lastly there is no substitute for internships, getting involved in your institutions career fairs, and starting internship programs in your junior and senior years in college are very beneficial for gaining experience in how your skills will be applied in real world scenarios. The experience you gain there will go beyond just the SW engineering skills, you will also learn how to work in project teams, how to deal with issues and challenges that will also be things employers will be very interested in.
First, I would spend some time thinking about what fields/industries are most interesting to you so you can begin to develop and idea for where you want to apply your SW engineering degree once you complete your coursework. Focus on areas that you are exited and motivated about because that is where you will be most successful.
Once you have a general idea you should seek out curriculums at your institution of learning that have significant projects as part of the coursework where you could develop project ideas in those fields/industries and work them from concept to delivery. Having multiple large scale projects on a resume that tie into the field you ultimately want to work in can be a big benefit and really spice up your resume.
Lastly there is no substitute for internships, getting involved in your institutions career fairs, and starting internship programs in your junior and senior years in college are very beneficial for gaining experience in how your skills will be applied in real world scenarios. The experience you gain there will go beyond just the SW engineering skills, you will also learn how to work in project teams, how to deal with issues and challenges that will also be things employers will be very interested in.
Updated
Daniel’s Answer
Volunteering to help w/ non-profits for any related topics that you're interested in.
Often times, large corporations offer volunteer services and if it's a software engineer related task, perhaps you can ask to participate. This builds up your network and you get exposed to more hand-on learning opportunities
Often times, large corporations offer volunteer services and if it's a software engineer related task, perhaps you can ask to participate. This builds up your network and you get exposed to more hand-on learning opportunities