7 answers

What programming languages must you know for IT management or software engineer?

Updated Viewed 558 times

I know a couple languages, mostly high level but I was wondering If I have to learn C or C++ or ABC . I know python, bootstrap, html, css, java script, learning ruby and rails, and I am learning php and sql. #software-engineering #technology #web-development #computer-software #software #coding #html #css #java #javascript #it-management

7 answers

Abe’s Answer

Updated
Programming languages come and go every N years, but the ideas they contain are timeless and reusable over time. Each language is designed to solve a particular class of problems easily, for example C/C++ for systems programming where efficiency and resource control are important, C#/Java for programmer productivity with automatic memory management, Erlang for concurrent applications, PHP for web development, etc. Try to learn as many languages as you can, to capture the language creator's ideas of how to solve a particular domain of problems.

While breadth of languages is important, depth counts more when you apply for jobs in the industry. Every language has an eco system of compile and build tools, SDKs, libraries, etc. Knowing that eco-system inside out, will give you great leverage as a software engineer.

Ollie’s Answer

Updated
What languages seem to have staying power? not many. SQL, maybe.

No longer is a "language" the unit of expertise, if it ever was. Most languages come with frameworks and ecosystems for getting things done. The skilled programmer knows how to use the ecosystem to get things done.

Modern languages, frameworks and ecosystems come with tools too. Visual Studio is one. Eclipse is another. These tools help you code, but more importantly they help you navigate the ecosystems around your languages effectively.

For example:

-Client-side Javascript comes with a bunch of ecosystems: jquery, bootstrap, react, etc. Your next project will pick one or two of these, and using them effectively is the skill you need. Several tools help with this, including the <f12> dev tools in browsers, Visual Studio, etc. I like Jetbrains Webstorm.

-Server-side Javascript (node.js) comes with a vast npm ecosystem. You'll need to figure out how to navigate npm to be successful. Tools include the usual offerings.

-C# (Microsoft's language) comes with the vast dotnet framework, and the nuget ecosystem. You can't possibly "know" all the stuff in the framework, let alone the ecosystem. But you can be sure you'll find robust library objects and methods for stuff like date parsing and generating XML files. The trick is learning to find those kinds of things. Visual Studio is the tool to use.

-Java comes with JEE. It's vast too. Eclipse is the tool. (Also for Android mobile development).
-python comes with the pip ecosystem. Lots of tools support it.
-Ruby has the Rails framework and the gem ecosystem.
-Apple has Swift and Objective-C for languages, XCODE for a tool, and the surrounding framework.
In business IT you'll probably find yourself using SQL too.

If you are looking for a job at a big company: you'll probably find they use mostly C#/dotnet or mostly Java/JEE, in both cases backed by SQL for data access.

The way to build a career is to become familiar with the concepts in languages and ecosystems, so you can quickly learn, assess, and apply new stuff. When I started FORTRAN and COBOL ruled the IT scene, with PL/I and C as upstarts. That was a while ago.

If I were designing an IT curriculum, I'd make sure students learned:

C#/dotnet/nuget/SQL and
Javascript with promises.

C# etc gives you experience in building pieces of big systems.

Javascript gives you closures and asynchronicity.

Marcos’s Answer

Updated

In my experience there are no must-have languages to get a job as a software engineer. In school I learned how to use Java, C, & SQL in class, and picked up HTML, PHP, and a little bit of JavaScript on my own. Knowing HTML and JavaScript helped me get my first job in tech, but then I learned the new languages I've needed over the years on the job, which I've found to be quite common.

I think it's great that you're trying out several different languages! They'll each potentially show you different ways to solve different types of problems. Understanding how to use SQL to store and retrieve data will be useful for lots of types of work. If you find that you're enjoying solving problems with code, that's a great indicator that you'll be able to adapt to solving problems in with language/tech a future employer wants you to use!

If you're really wanting to focus on languages and tech you can look at the results of the Stack Overflow 2019 developer survey as one source of info: https://insights.stackoverflow.com/survey/2019#technology or the GitHub "State of the Octoverse" report: https://octoverse.github.com/projects#languages

Marcos recommends the following next steps:

  • Keep trying out new languages and solving problems with technology!

Andrea’s Answer

Updated

Hi Ian,

This is a great question and there are many opinions out there depending on what areas of technology you are looking at e.g. machine learning, game, IOS, API, and so forth. I did do some research with my son recently, as he is looking at a Computer Science Engineering major. It looks like most colleges have C++, JavaScript, Java, and Python, and all of them are relative in the real world. Github (https://octoverse.github.com/) is a pretty good source for the real world and here you can also find the stats for the most used languages and topics. JavaScript stands out as the most popular and Python took the 2nd place from Java.

Good luck,

Andrea



Andrea recommends the following next steps:

  • Check out developer communities like Github (github.com) and Stack Overflow (stackoverflow.com)
  • Share your code and engage in projects. This is a great references for future employees and recruiters use it too.
  • Whatever you do, be passionate about it.

Mario’s Answer

Updated

Computer languages are not so important as programming paradigms (e.g. object-oriented programming, functional programming...), that give you the solid foundation to switch from one language or another when required.

But what makes the difference is the expertise you get in a given domain (IT management, Banking, Artificial Intelligence, Database management...)

Ashley’s Answer

Updated

Hello! I have been a software engineer for many years now and can tell you that there are lots of jobs in the industry, which require different languages. Knowing ruby on rails and python is a great start and should be enough to find a job. You do not need to know C or C++.

Part of it depends on what type of engineer you want to be. Front end engineers who create web pages should know java script. Back end engineers who write services should know Java, C, C++, C#, or Go. IT folks tend to know python or go.

I would focus more on learning one language in depth rather than learning a lot of different languages.

Best of luck!

Hussain’s Answer

Updated
as a student according to me there a several high level languages such as-C,C++,PHP,Ruby ,javascript etc etc.
but according to me First we should learn very well about C,C++ if you know very well about C&C++ then you need to move on other languages but if you dont know about basic language so first learn basic languages and if you think that you should learn 2 languages At same time so its is very complicated for Learner ...
So I suggested that Learn Basic Languages then move on other lanaguges .