Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialNazim Rani
Courses Plus Student 369 PointsI'm new here where to start first if I wanna be a software engineer?
Totally newbie
9 Answers
Henrik Christensen
Python Web Development Techdegree Student 38,322 PointsGot anything special in mind? mobile apps, desktop apps etc..?
Without knowing anything specific I'd say Java or C#
Nazim Rani
Courses Plus Student 369 PointsNot sure yet. Maybe mobile app to start with. Or any job in demand right now till 2019 when i finish study and learning
Henrik Christensen
Python Web Development Techdegree Student 38,322 PointsTry have a look in the tracks page.
If you want to learn about android development then I'd suggest to go through the Learn Java track before venturing into android dev.
If you want to do iOS development then I'd suggest the Swift tracks.
I'd go for C# if you want to do create computer games, VR development, windows apps etc..
For web development then I'd go for html and css.
Ari Misha
19,323 PointsHiya there! I'd highly recommend you to do some research on your own. Being a mobile developer or software developer or system engineer or DevOps engineer, its simply a matter of personal choice. Do some research on your own and head over to "tracks" section of Treehouse , of course once you make up your mind. Like Henrik Christensen said , start with Java or C# or Swift or Python* or **Ruby or maybe even HTML , CSS. Foundations of every language is same so yeah start with one and stick with it. Good luck! (:
Nazim Rani
Courses Plus Student 369 PointsNoted, Thanks guys
Nicholas Gaerlan
9,501 PointsI've read a lot on this subject since starting here. If you want a job it seems like JavaScript is unavoidable, but it's a poor representation of OOP. However, it seems like Full Stack JavaScript is the way to go in general. If you want to be a data scientist then Python is awesome and it's a very good OOP. The drawback with Python and data science is that knowing the language is only one part of the pie, because data science also requires a solid background in mathematics. Java is taught in schools and universities, but it's not really that big anymore. Yes, Java is needed for programming android apps, but I've heard that Kotlin is the rising star of android development and Google itself is pushing "Go" or "GoLang" which is as fast as JavaScript but a better example of OOP> Ruby is still taught at bootcamps, but I've learned that it's quickly falling out of favor to the point many software devs say "don't bother with Ruby". C# (C-sharp) is basically microsoft's thing now. Although it does show up in some game dev. Let's be honest tho... you want a high paying job. Data Scientist pays the most, UX designer is second, Then you have Full Stack Web Dev, and everything else. The top three also correspond to supply of jobs too. Fewer DS jobs than UX, and fewer UX jobs than FS. One last note, I also thought that mobile developer would be the way to go into the future, BUT you have to figure that EVERY company needs a website and probably an interactive website, but the number of companies 'needing' a mobile app is far less. I'm a little split because I'm learning JavaScript and Python at the same time and I was learning Java too, but I decided to cut down to two langauges because JS and Java are surprisingly similar but confusing to learn at the same time. I love Python and I'll keep learning it, but JavaScript is something you just can't avoid working with (I hate JS compared to a real OOP language).
Henrik Christensen
Python Web Development Techdegree Student 38,322 PointsJava is taught in schools and universities, but it's not really that big anymore.: Java is still big. It is used everywhere from software dev, to mobile and web development. https://insights.stackoverflow.com/survey/2017#technology
C# (C-sharp) is basically microsoft's thing now.: You can with .Net core create cross-platform applications and you can create mobile apps with Xamarin.
Ari Misha
19,323 PointsI agree with @HenrikChristensen! Java is the most mature language and exists everywhere. And Java is no where nearly similar to JavaScript. Also Im a Rails developer and it might not be a famous one, but it still is one of the high pay job. And mostly every language has OOPs and Python is a weak example of OOPs. As far as Kotlin goes, how many Kotlin related jobs have you seen? And UX designers? Seriously?
Nicholas Gaerlan
9,501 PointsI've found that every language has no shortage of defenders. There's no shortage of ppl defending Java and there are still people defending Ruby too. If you scroll down on that stackoverflow list Java growth is flat while JS, Python, and Node.js are gaining over time. Stack overflow is great! https://insights.stackoverflow.com/survey/2017#technology-languages-over-time and I also checked many developer blogs commenting on the state of the industry. C# in the last 5 years has dropped from 45% to 34% so that trend is one of the stongest declines. Java isn't dead, but it's not growing and where it exists companies are generally trying to replace it (this comes from reading many industry dev blogs). Java does have some advantages over the C++ the language it was trying to beat at the time, but I think most companies will want to migrate away from Java to more modern languages like Python. Python is just a better language than Java, but that's not the point. There are some fundamentally flawed features of Java specifically the JVM which is no longer a selling point (scroll down the the JVM part of this blog http://tech.jonathangardner.net/wiki/Why_Java_Sucks) The reality is that JS is eating everyone's lunch which is a little bit sad because it's not really a good OOP but it's unavoidable. JS pretty much killed Ruby when it added Angular and I think that in Android dev world the general trend is that many want to get away from Java which is one reason why Google officially recognized Kotlin this year. JS + React is a very interesting solution as well, since you can pretty much code mobile apps for iOS and Android that will live/auto update and also you can just plug in native code where-ever you need it. If there's one last irony in all of this it's that I find that C++ isn't dying. There aren't tons of job listing out there for it, but if you look up the technologies used by ALL of the biggest tech companies in existence, then C++ shows up on damn near all of them.
Ari Misha
19,323 PointsI agree everything on JS. And What do you know about Ruby? Rails works pretty good with Angular and React, pretty much all JS frameworks and Automation engines. And has several enterprise clouds written in Ruby and C#. Treehouse is built on Rails. Now if you know anything about DevOps and Automation, you wouldnt be defending UX designing or even Kotlin. Java doesnt need popularity coz its an Enterprise language. And yeah as a pythonista myself, i know Python is great but Its not as great as Java or C++. And few new languages might have been rising in popularity coz they're younger, as compared to veterans like Java, or ruby or C++. Also, .NET is really popular among big Enterprises. Unless you've something concrete to support , i'd say get your facts straight.
As a developer, you've to be a polyglot and you might encounter a project where you might need to deal with something you thought you'd never encounter in your whole professional life, yeah even perl. Every language has something to offer but they also have drawbacks. Learning a single language doesnt prepare you to be a real world developer. Period.
Nicholas Gaerlan
9,501 Pointsand I was surprised by the UX designer there too, but it's real. Maybe UX Engineer is the better term. I don't know why exactly, but the going rate for UX 'engineer' or developer or whatever is up around 120K-130K
Nicholas Gaerlan
9,501 Pointsfinally, I mean that JavaScript and Java are similar in how you write them. JS seems a little less strict since var is a catch all, but overall the langauges are close enough to each other that learning them at the same time is confusing. It's surprisingly easy to learn Python and JS at the same time because they're so different.
Nicholas Gaerlan
9,501 PointsAll good points Ari. I've definitely read a lot of times if you program you are just gonna end up learning a lot of different languages anyways. Hell... even if lots of companies were to migrate away from Java, then that would only mean that they need ppl experienced in Java and whatever it is they are migrating to in order to get the job done. I personally learned C++ a long time ago and it made sense but wow you had to keep track of so many details. I learned Java after C++ and it was easier to learn, but I still think that the fundamental problems of Java ( http://tech.jonathangardner.net/wiki/Why_Java_Sucks) will mean that it's not the language of "growth" in the future. I think one thing that kept Java strong was the fact that it was the cornerstone of so man CS Programming Dept., but that changed to Python 3 years ago http://www.pcworld.com/article/2451880/python-bumps-off-java-as-top-learning-language.html
So I'm maybe gonna revise my advice for this post. Learn JS first (because you are almost guaranteed to have to work with it at some point) and then some other OOP (Java, Python, Swift, whatever). I'd suggest something more modern, but whatever floats your boat because you will end up learning a bunch of langauages eventually.