What obstacles did you have to overcome while trying to become a Software Engineer?
Hi my name is Christopher I am a senior in highschool and I want to go to college for Software Engineering. Just had some questions on how people overcame challenges to become an Engineer
It's very exciting that you've found a career that you'd like to go into, and that it happens to be software engineering. I believe that currently, it's one of the best careers you can go into, so I'm excited for you.
Thinking about obstacles, I'd say I'd had to overcome the following:
1. Learning how to study – I was one of those kids in high school where everything was easy and I breezed through it. When I got to college, however, the difficulty jumped up in a remarkable way, and I had trouble making the grades to stay in college. If I could teach myself one thing in high school, it'd been how to focus and study.
2. Finding a job – As you can have guessed from point 1, I did not have the best grades graduating college, which did me no favors in finding a job. I ended up leveraging my work experience (part-time job in college) to get a job in IT, then I internally transferred into a web development role (this was all serendipitous, there was no plan from the start to become a web developer). I had done web development as a hobby in high school and college, so once the role opened up, I was able to easy move into it.
4. Working with others – Early on in my career, I worked on a couple of bad teams. We were managed horribly and the team ended up taking a me-first approach that did not lead to a good working environment. Later in my career, I see that there were a few things I could have done to improve the situation. I believe that talking to my manager about my needs, and guiding them to being a better manager would have helped a lot.
At the moment, these are the four things that stick up in my mind. Please let me know if you have any other questions and I can try to answer them. Cheers and I wish you the best of luck!
1. Learn how to code with others – there are two reasons for this. First, when hiring I look for engineers who are great teammates and work well with others. Second, it's a lot more fun to learn with someone else than it is to go it alone. It can help challenge you!
2. Find a mentor – while in college, I recommend connecting with some of the 2nd or 3rd year software engineers to learn from them. When you're finally in the workforce, look for a mentor who's in the position you want to be in.
3. Never stop studying – while in school you'll come across various different languages, ways to use those languages, topics, etc. You'll want to figure out which languages/skills are the most hirable at the time, and then learn that language and all of it's nuances in-depth. I'd also recommend learning algorithms and keeping those in your pocket for interviews.
4. Breath – You will make mistakes. Learn from them and keep going. The thing about software engineering is that there's always an answer. Don't be afraid to look up answers online or copy code, just be sure to actually learn what you copy later!
5. Do an Internship/Job Early – If you can manage work alongside your school work, it would be best to get an internship or part-time job early. My best learning experiences occurred while working with other people. This will help you prepare for the workforce and even help you practice your engineering studies.
An engineer's skill set needs to be constantly refined and that engineers must have a deep understanding of key technologies across numerous areas. We the engineers know that our jobs require us to stay up-to-date with our skills and to constantly refine and have deep understanding of key technologies across numerous areas.
Things change all the time. I tend to keep up by subscribing to a bunch of newsletters. Newsletters on web development, on mobile development, on development in general, on tech trends.
It’s a lot but it’s a really good way to stay in touch with how certain things work and what trends are out there. A lot of major tech companies write blog posts, and, particularly for software engineers, looking into the newest ways people have figured out distributed architecture helps open your mind to how to design something at scale. Uber posts them, Microsoft, Facebook, Google — a lot of these companies. They’re a really good resource for systems architecture and to stay current with major technology trends.
For example, becoming a professional software engineer requires getting a bachelors degree in computer science.
Some people see this as an obstacle because they might have not had such good grades in high school or weren't very studious.
IF you really want to become a software engineer, you don't have to start at some big university.
You could begin your software career by entering your local community college, and taking some basic classes working you way up to the computer science content.
Once you have proven yourself in community college, you can usually transfer most or all of your community college credit to the a 4 year university. Once you get there, your obstacle is gone.
The next biggest challenge is how to pay for your schooling. :)
I'd look at Software Engineering degree requirements to see what classes you'd have to take. Then flag any classes that may be challenging to you and maybe ask your High School teachers for insights.
Some colleges make current students, advisors, and Alumni available for questions. Reach out to those people at a couple of the colleges you're interested in.
I shall just leave you with key bullets on becoming a software engineer:
1. Learn a new topic everyday, fully, in the depth.
2. Follow 3 Ps strictly - Practice, Practice, Practice. Software engineer with no practice is as equal as you haven't started.
3. Fear Not - Keep aware fear of being a fresher,.. today most of the startups are owned by college freshers. do not fear of mistakes in code., it is a part of software engineers lifecycle. overcoming fear probably should be first priority. But, make sure to act with quickness to correct the mistake and if possible practice to a level it never repeats again.
Software Engineering is a great place to be !
The most important piece of advice that I could, it always learn - be a continuous learner - Be open to new ways of things and doing things. When things don't go your way - look at what you learnt from it. But also take the time to celebrate when things are going well. Surround yourself with good people.
Some obstacles that I have encountered, as well as other software engineers I have met, is getting experience. As you learn more about computer science and improve your programming and teamwork skills, it is also important to apply those skills, for example in a project at school or at an internship. Even if you are in your first year at college, having conversations with others and kind of absorbing knowledge from the people around you (even if you don't understand the ideas they are talking about) is a great way to know what you know and what you don't know. This will help you understand what typically goes on in the life of a software engineer or any other profession. As you work on projects with classmates or in internships early on, you will be more confident in your skills and this will only make you more confident down the line.
tldr: In addition to learning from school and from others, prioritize getting experience early so that you can be more confident with your skills in the future.
Theses days as everything is computerized the Software Engineers are one of the most sought-after professionals.
In this field one must keep one's knowledge upto date. One must think logically. Mistakes will happen but learning from mistakes is very important. Being a team-player is valued a lot as majority of the projects these are worked by multiple people.
Having these and similar values ingrained in one's dna will make him or her successful in this field.
Wish you the very best.
Also, we may look for challenges from time to time. This can help us to improve and have a sense of achievement of satisfaction. We would not afraid of challenges.
To work in the Technology industry, I would think of the major challenge and the fun part is the rapid changes and development There is something new emerges almost everyday. This is the most exciting part. At the same time, this implies you might need to keep learning in order to make yourself up to date.
To be software engineer, you may need to learn new programming languages from time to time, cannot only know/use one programming language throughout your career life.
Hope this helps! Good Luck!