12 answers
Asked Viewed 248 times Translate

Hi. I would like to know what are the technologies/languages I should learn to become a full stack developer?

I am a software engineering student with knowledge in languages such as java, python and C#. I have worked with Sql server and mongodB. #technology #programming #software #computer-software #fullstack


+25 Karma if successful
From: You
To: Friend
Subject: Career question for you
17
100% of 11 Pros
100% of 1 Students

12 answers


Updated Translate

Charles’s Answer

Sneha,

Specializing in a specific language (like Java) is good, but it is great if you can be versatile with the languages that you use (https://www.w3schools.com/whatis/whatis_fullstack.asp). With this in mind, I would recommend spending more time understanding programming principals like recursion, algorithms, etc.

Additionally, I would urge that you spend time investigating and understanding some of the systems that full-stack software might operate on. The vast majority of technology is moving towards cloud computing these days, so familiarizing yourself with running software and applications on AWS or Azure could prove extremely useful.

I would also echo Hui's suggestion as I think it is an excellent recommendation. Being able to showcase a sample application or client/server software that you have built can be very impressive to a potential employer. If you have not done so already, I would suggest versioning some of your work on Github where you can easily provide a link to potential employers or add a link to your resume.

Hi Charles, thank you for your suggestions. I am working on my github account :) Sneha S.

3
100% of 2 Pros
100% of 1 Students
Updated Translate

Suneeta’s Answer

Hi Sneha,
Hope you are doing well with all the Chaos going on with COVID-19. I would agree with Sheel, currently most companies are focused on Cloud technologies. At my company all new apps are being developed in AWS and all legacy apps are being moved to AWS.
It will really boost your chances of getting a better Job if you complete certifications in these cloud technologies and Python. Most companies are now adapting "Talent Architecture Model" and certifications would definitely have weightage and make you outstanding for a position. Good Luck Neha!!!

1
100% of 1 Students
Updated Translate

Suneeta’s Answer

Hi Sneha,
Hope you are doing well with all the Chaos going on with COVID-19. I would agree with Sheel, currently most companies are focused on Cloud technologies. At my company all new apps are being developed in AWS and all legacy apps are being moved to AWS.
It will really boost your chances of getting a better Job if you complete certifications in these cloud technologies and Python. Most companies are now adapting "Talent Architecture Model" and certifications would definitely have weightage and make you outstanding for a position. Good Luck Neha!!!

Thanks Suneeta for the suggestions! Sneha S.

1
100% of 1 Students
Updated Translate

Nadia’s Answer

When it comes to the backend part, please check:

https://programmingwithmosh.com/backend/learning-path-to-become-a-backend-developer-in-2020/

Thank you for the response. It was an informative read. Sneha S.

1
100% of 1 Students
Updated Translate

Sheel’s Answer

As a full stack developer, you will not be a master of any one technology, but rather involved in all aspects of application. There is a vast area of technologies that are available for front-end and back-end development and it gets confusing to decide which language or technology to choose. Below are the different areas that comprise of full stack development and some suggestions that can help you choose the right path.

• Basic Design: It is important to understand the basic principle of UI design and UX design.
• Front-end Development : You can look out for front end technologies like HTML, CSS, Java Script.
• Backend Development : You first need to understand the basic Object-Oriented Programming concepts and can then focus on a language. Java is widely used and so is Python. So, you are already on the right path for this. Other languages used commonly are Ruby, Perl, Node JS, Angular.
• Databases : You need to understand the concepts of databases like relational database, noSQL database etc. From relational database perspective, if you know SQL Server, then Oracle is quite similar in terms of concepts. For noSQL database, commonly used ones are mySQL and MangoDB.
• Security : As the entire development is done over the Internet, security becomes a major concern. Hence, it is necessary for every developer to get some basic knowledge of security.
• Version Control/DevOps : Gaining knowledge of Version Control tools like Git, Subversion etc. and deployment tools like Jenkins will help you understand how the code that you develop gets version controlled and deployed in any environment that you want. You can master any tools once you know the concept of DevOps.
• Cloud Computing : It is good to gain knowledge about cloud services like AWS or Azure. Nowadays, everyone is either developing applications on cloud or moving their applications to cloud to reduce the cost of managing and maintaining their IT systems.

Best Wishes!
- Sheel

Sheel recommends the following next steps:

Understand the life cycle for a project and the components involved
Understand the basic concepts for front-end development, backend development and databases
Pick a language that interests you and master it. Once you know a particular language, picking up other languages in that particular area or domain is easy.
Explore the cloud computing area, since that is the future.

Hey Sheel. Thank you for your answer and to-dos. Will definitely check them out Sneha S.

1
100% of 1 Students
Updated Translate

Hui’s Answer

Hi Sneha,

The languages you have already learned or familiarized are indeed in demand and should serve you well as a full stack developer. Assuming you have learned from a formal environment and completed a few projects from class, I would advise you to create or develop some program/software and put them in use. Thinking from the perspective of an employer, with your degree and courses you've taken it has demonstrated your ability to learn, but now what did you do with the skills or knowledge you gain. In other words, what did you do beyond what you learned from class and what can you show me? It's much more persuasive to someone if you can show them rather than just informing them.

My suggestion would be to read a few programming books as they are very informative, or you could create something (website for your small company or non-profit organization, an app). If you want to learn more languages I would advise Javascript, HTML, CSS, and Node which is a specific type of javascript if you're interested in web servers.

I hope you find this helpful and I wish you the best of luck.

Best regards,

-Wei

Hi wei, Thanks a lot for your guidance. I will certainly keep in mind what you said and am currently thinking about developing a portfolio website using the languages you mentioned. Sneha S.

1
100% of 1 Students
Updated Translate

Kin’s Answer

Hi Sneha, web development today is completely different from what it was a few years ago. There are lots of different things that can easily baffle anyone entering into the web development. Also, I think understand REST and learn how to make RESTful APIs and make sure to read the part about REST from the original paper of Roy Fielding. And make sure that you are able to fight someone if they say REST is only for the HTTP APIs. Many sites need to connect different parts of other systems, so if you can learn how to do REST APIs well. That would be a great start to being a successful full-stack developer.

Kin recommends the following next steps:

https://morioh.com/p/beb80cf630a1

Thank you Kin for the answer and the helpful link! Sneha S.

1
100% of 1 Students
Updated Translate

Lawrence’s Answer

Hi Sneha,

If you want to master one language, you can check out Javascript. Express.js for Node backend, and React for frontend. React is constantly evolving to keep up as a top tier frontend framework so it is a good investment of your time. Express is fairly simple and is good for quick iteration.

Learning cloud tools like Amazon AWS is terrific to have in your skillset. A lot of companies use tools from AWS to deploy their features. They offer a free tier so you can play around with it. In terms of hosting a website you can check out S3 static website hosting. There you can host your React app. Then you can look into AWS Route53 to host your S3 folder that contains your website!

0
Updated Translate

Nikesha’s Answer

Pick one language, learn the basics and once you get expertise it is always better pick second language.

Best approach, could be having an individual focus, but building the full stack skills around that strength. On top of that, part of being a full stack developer isn't necessarily being able to say that you know x, y, and z languages. Understanding code and software design concepts as well as being able to tackle any challenge at hand, stack aside, is what makes a great developer.

To answer your specific question full stack development is around following areas.
1.HTML, CSS, JavaScript
2. Ideally, one or more third-party library like ReactJS or Angular
3. Programming languages and libraries like Java or Python
4. Experience with databases
5. Version control
6.Knowledge of security concerns and best practices
7.Ideally, some knowledge of web or visual design, plus user experience best practices

Hope this helps, Best wishes :-)

0
Updated Translate

Craig’s Answer

You've started off with some great languages! And as others have said being a full stack developer makes it hard to be a "master" in every aspect however it is still important to know and be good at all aspects of the whole application. You'll soon find out that there are A LOT of options to pick from.

The definition for full stack seems to have expanded over time. I usually define it simply as a Client (like a browser/mobile app), Server (Backend), and a database. With that definition you can choose to focus more on web applications, mobile applications, or even desktop applications. Try to make simple applications in each to see which you prefer more. For me, I really like making mobile applications.

If you want to get in to web applications, start investigating JavaScript and all of the frontend libraries around them.
Just to name a few in no particular order:
- Vue
- React
- Angular

Or if you want to try out Mobile Applications you can go native with iOS and Android or try out some cross platform applications using C# (Xamarin). There are even other frameworks like Flutter that use a different language all together.

You already know some great backend languages but it doesn't hurt to go further. There are so many frameworks out there for both Java (Spring) and C# (asp.net). You could even expand your knowledge using node.js to create a backend.
If you want to just focus on front end for now feel free to use a "Backend as a service" like Google's Firebase. There are a lot of free options up to a certain point so those are great for simple apps you want to play around with.

Craig recommends the following next steps:

Pick a path mobile or web
Create something simple in that path
Try another app in the other path!

0
Updated Translate

Syed Junaid Basha’s Answer

Full Stack Developer is a software expert who’s equally proficient in frontend (client-side) development and backend (server-side) development.
Full stack developer should be master of essential front-end technologies like HTML, CSS, JavaScript and Should know at least one server-side (Backend )programming languages like Java, Python, .Net,Golang etc.
Knowledge of third-party libraries like jQuery, LESS, Angular and React JS is desirable.
Basic design skills .Knowledge of various DBMS technology is another important need. MySQL, MongoDB, Oracle, SQLServer are widely used for this purpose.
Knowledge of web services or API is also important for full stack developers. Knowledge of creations and consumption of REST and SOAP services is desirable.
Knowledge of security concerns and best practices.

All the best.

0
Updated Translate

Manu’s Answer

Hi. I would like to know what are the technologies/languages I should learn to become a full stack developer?

Assuming you have a good control over Computer Science fundamentals: Operating Systems, Networking, Algorithms and Data Structures, and
you are asking about a full stack developer in a cloud environment, you should start looking at good design patterns and scalable patterns (such as http://highscalability.com/). THis will teach you how to design systems in a way that can scale, and what are the limitations of the design or the technologies.

Regarding languages, here are the current popular ones: https://www.fullstackacademy.com/blog/nine-best-programming-languages-to-learn. Of course, it depends what you are trying to build, and pick the right technology/language for the job at hand.

Good luck!

0