Hi forum I hope you can help me. As a recent graduate I’m looking at software engineering roles. I have ability in several languages but none to a great standard. I’m thinking about pursuing mainly C#, but maybe that is a language on the way out?
Could some more experienced guys out there give me some ideas about what language(s) will hold me in good stead for years to come?
I’d say with .NET Core, C# is probably growing. It’s a very good language at its base, but it’s been historically locked to a Windows environment… which is less than optimal. But now that there is .NET Core, it’s opened up to a whole new realm of possibilities. I don’t work with it personally, but we use .NET Core at lot at my company and have seen success with it.
If you’re looking for enterprise stuff, C# and Java are the juggernauts. They will have the most jobs. But, job numbers will depend on where you live. If you want to work in web, then knowing JS at least at an intermediate level is highly desirable in a lot of companies.
C# w/ .NET Core is in very high demand. The other high demand skill set is front-end development using a modern framework such as; Angular, React, and Vue. Many employers seek developers that are skilled in both. The more cross-functional you can become the better. The more modern front-end frameworks you can learn the better. Employees with at least knowledge of one of the big 3 JS frameworks are highly desirable. People with professional experience and expertise in several of them are unicorns. If the goal is to work as an employee and make a high paying salary that is the formula.
I have been programming for about half a century, beginning with COBOL (I learned FORTRAN first but I have never used it outside a classroom).
Something you are very much aware of that I want to emphasize is the inconsistency of languages for the various environments. We have website server languages and website client languages and we have desktop languages. It is very unfortunate that we do not have one language for all. I do not know much about Python, perhaps it can be used in all three.
There are many things I do not like about C# but it is the best language I know of for use in websites. It is unfortunate that it is not used client-side.
I first tried using Java back in about 1993 and could not get it to work in my Windows system; I had the impression they did not place much emphasis on getting it to work in Windows back then. People that were not active in programming back then are mis-informed. Java originally was a website client-side language. I am surprised it is being phased out client-side.
I don’t understand the popularity of C. I do not see why C is favored over C++. I think C++ is a great language and it is unfortunate it is not used for websites. There have been efforts to make C++ available for websites and when something is successful then it will be more popular. They need to provide binary portability of C++; traditionally it has been source-level portable. The binary portability will provide a virtual environment and therefore it can be used for websites.
Hi there! If I were you, I’d think about what you wanna do more: backend developer or a full-stack. If back, then .NET Core would be quite a nice choice. If you’re thinking about becoming a full-stack - then you need to learn some front-end frameworks, AngularJS and ReactJS are now in demand (full-stack guys usually have higher salary, but if you are a really skilled back-end developer - no worries, you’ll find a nice position )
Anything Angular2+ - which currently mean Angular8, though slightly earlier versions are in common use - they are all essentially the same thing and all a major re-write from the AngularJS days.
I’m being facetious. I don’t like Angular 2+ and think that VueJS is a much better upgrade from Angular 1.x, it follows a lot of the same design patterns but in a more modern way. Vue is well liked, where Angular 2+ is generally not something chosen by a competent developer group and is most often the result in non-FED developers or management choosing the framework because they heard Angular 1.x was good a decade ago.
That is a bold statement. Angular is a very powerful, well supported, and highly popular framework that basically provides everything you need to build enterprise scale web applications.
Yeah, that’s fair. But, there are better alternatives that are objectively nicer to work in and also more popular by every measurable metric, including jobs and talent pool. AngularJS was a great framework for its time and VueJS is a good complement to that coding style.
This is my favorite satirical take on the current state of JS frameworks: https://twitter.com/iamdevloper/status/1176849712516780032
SOLD!.. kidding. I used Angular for a while but dropped of when I didn’t use it for a while ( no need in any of the projects). But yes, Angular is one to learn. Another in high use is React with all it’s little children (Redux/ Mobx for state, Saga/Thunk for side effects, Jest/Enzyme for testing). That’s what we use and we are DEFIANTLY Enterprise. Just started in using GraphQL as well and that might be a nice one to get a head of the curve on.
I might be a bit off topic but another in demand skill(s) would be AWS and Docker, since there is defiantly an industry push twards serverless and containers.