How can I have a career in creating programs and research the latest computing theory.
I know what aspect of computer programming I want to do, but I need some help getting there. #computer-science #computer #programming #computer-programming
4 answers
Eric’s Answer
You actually identify two somewhat separate areas. "Creating programs" is a common job for a software engineer, and it requires understanding of programming, the ability to improve an existing program to add features that are needed or wanted, and often working with others to plan who will do what parts.
Researching the latest computer theory can be involved in writing new programs, but often lies in a different direction. Most new programs aren't using the latest, most advanced computer science, but rather are combining old, existing ideas in useful new ways. Researchers tend to be like what Lionel Silberman said, with advanced degrees. They often, but not always, focus more on the theory and let other people, several years later, write the programs using the theories they made.
There are a few jobs which combine the two. Google was famously founded by Larry Page and Sergey Brin, who came up with a new idea of what was possible with the Internet, and made a company around it. This kind of innovation is very difficult, but can be incredibly rewarding.
A possible path for you would be to get a Bachelor's degree in Computer Science, and during that time work on some practical programming, whether personal projects, contributing to an Open Source project, or interning with a software company. Between that and the degree, you can try to figure out which one you prefer, creating practical programs or delving deeply into advanced theory. Then you can decide whether you want to go into the industry, stay in academia, or a mix (some people get Masters degrees in Computer Science and then try to find a job with a company that will innovate and use the newest ideas).
Naveen Kumar MN
Naveen’s Answer
Software engineering is a fast-growing occupation with a high salary potential. From computer operating systems to video games, many of the products we rely upon today are supported by software. Software engineers specialize in either computer software applications or computer software systems. They analyze users’ needs and then design, test, and develop software by applying the theories and principles of computer science and mathematical analysis. Computers and information technology play a prominent role in our daily lives and in the business world, so there is a constant need to develop new software.
Software Engineer Education Degree Requirements
Depending on the employer, software engineer education degree requirements range from an associate’s degree to a master’s degree. An associate’s degree might be sufficient for some entry-level positions, but a bachelor’s degree is required for most software engineering jobs, while more complex jobs might require a master’s degree. Employers place a high value on relevant experience, so it is recommended that you participate in internships while pursuing your degree.
Aspiring software engineers usually major in computer science, computer information systems, software engineering or mathematics. Some students take programming and software engineering classes to supplement a degree in another field, such as accounting, business or finance. You can also pursue relevant certifications offered by software vendors and training institutions.
Software engineers must have strong problem-solving and communication skills and an aptitude for math and science. They should also possess good programming capability; an in-depth knowledge of programming languages, like C++, C#, and Java; an attention to detail; and an ability to handle multiple tasks at once.
Becoming a Software Engineer: Career Outlook
Software engineers are involved in all aspects of software creation, from writing code to debugging programs to overseeing the launch of new software. They often start out writing code but eventually advance to senior positions, working as software architects or project managers. In a software engineer career, it’s essential to keep up with the latest advancements, because technology is constantly evolving. Having strong interpersonal and management skills is also crucial since software engineers often collaborate with marketing, manufacturing, and design professionals in creating new software.
Job opportunities for software engineers are expected to grow much faster than the average for all occupations. According to the Bureau of Labor Statistics, the overall employment of computer software developers is expected to increase by 30% percent from 2010 to 2020. The demand for software engineers is increasing because of the Internet’s expansion and the growing complexity of data-processing systems used in business, telecommunications, healthcare, and government. Some worry that offshore outsourcing may put a damper on employment growth for software engineers, but there will still likely be a need for skilled software developers domestically, because the job requires significant research, development, and innovation.
Shakeel’s Answer
This is a broad topic and you will have to narrow down your focus. If for example you are interested in database programming then you can get books on what is a database, how to design and build one. You can search online to find trade magazines and conferences that have articles or papers on the latest design trends and innovation in database design working on things like security, reliability, speed etc.
Lionel’s Answer
To be on the cutting edge, requires an advanced degree to understand the theory. As much schooling as you can afford and of course constant out-of-school learning. The most attractive candidates are those that combine schooling with hands-on work, perhaps as a grad student, working for a professor on the cutting edge.