While in college, how you prepare yourself to become a software engineer?
I am a High School Senior who has a strong passion in Computer Science and I am looking forward to become a Software Engineer. But I have a concern. According to Moore's law, "Computational progress will become significantly faster, smaller, and more efficient over time". I am worried that growth of technology is transitioning at a fast pace and I might get left behind when I graduated college with a computer science degree.
#computer #engineer #technology #computer-software #computer-engineering
4 answers
Nicole’s Answer
I can tell you as a person who graduated from college with an engineering degree...many many years ago, the world that you likely will step into when you graduate will be more than glad to see another computer scientist and/or software engineer!
Why do I suggest that you should not worry? You only have to look at the recent business headlines for job openings and look at starting salaries for computer scientists/software engineers to see that those starting salaries are pretty high on just about any measuring scale. In general terms starting salaries for a particular job will be high when demand is for that particular job is high...and I have yet to see a time when demand for computer scientists/software engineers was low ;).
You are correct! that "the growth of technology is transitioning at a fast pace". That too is something that I have witnessed and continue to witness during my career. In my opinion, the key there is to be strong in your current skill set(s), because my experience has been that if you are strong in your current skill set(s), your ability to transition to a newer set of computing skills (think new programming language or new computing platform), will likely be easier because much of the change in technology comes from the fact that technologists build on what is previously out there...they innovate...in ways to improve what is already used in wide spaces...so they aren't starting from scratch but they are using what works and making it better.
My experience has been that you will not get left behind if you remain curious and you have a desire for continuous learning. If you maintain both of these and continue to practice in your computer science skill sets, you likely will have a strong and sustained career.
Hope you find this answer helpful and best of luck to you!
Dayaanaand’s Answer
Would recommend following to prepare yourself for industry
1 . Do not ingnore Basics
Firstly do not get overwhelmed with pace or too many feild options, make your foundation strong. Never ignore basics of computing which leads the foundation of all advance computing technologies. Once you understand the basics you can understand and digest advancements easliy.
No matter what techologies you fall into.
2. Focus
Too many choices and areas in computing makes anyone obviously confused, Focus on the the subjects of your acedemic years and see deeper what ultimately it has inside. Do not study for exams but study for Knowlegedge. Exams results are bi product of knowledege, if you have knowledege of what you truely learn and digest. you automatically become part of stream with same pace of advancements
3. Practice and apply
What ever you learn, apply it even if it sounds too old/obsolete in current generation of Computing
Dayaanaand recommends the following next steps:
Timothy’s Answer
For software developers that isn't scary, it means your job will get easier and easier over time. In the early days of software the languages used were pretty unwieldy. Fortran was so terrible to try to debug that there is STILL huge demand for Fortran experts to maintain old systems like banking software, as it requires an expert to read through stack dumps. Nowadays our job gets easier with every generation of chips, which provide more computation power for us to leverage to be able to spend cycles on things other than the bare minimum functionality. This is how we've been able to add things like garbage collectors and use highly object oriented languages like Python.
Unfortunately Moore's law has been slowing down recently and the processes we use to fabricate chips are beginning to run into issues with the boundary between standard and quantum physics. If there is a major shift in computers in your lifetime such as the broad availability of quantum computing, you'll find that the skillset you learn in computer science will provide a foundation that will help you learn whatever comes next quickly.
In the industry software developers learn new things all the time. Sometimes it's new languages, other times it's a framework in a language you're familiar with, or something as small as a new pattern. Either way you'll spend your entire career learning and growing.
Mickael’s Answer
To become a software engineer, you need to attend a school that offers a Computer Science degree. Depending on the degree, you'll get a different title like Software Engineer vs. Software Developer.
-- According to Moore's law, "Computational progress will become significantly faster, smaller, and more efficient over time" --
Right well, I've been in the coding industry for 16 years and I haven't seen that coming true. Yes, what we are coding might have slightly changed over time and the complexity may have moved elsewhere but (1) we still need people to develop applications, (2) AI and automatic coding does not exist yet and the few that does can do that much but can't innovate and (3) there are still billion of lines of code to be maintained and here, no matter the current technology(ies), legacy software will still exist. So I won't be too concerned about that. Of course, it is important that you focus on new technologies, language that old school stuff but yet, whatever you will learn will let you keep in-game as long as you are willing to continuously learn.