Skip to main content
14 answers
15
Asked 1061 views

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

15

14 answers


3
Updated
Share a link to this answer
Share a link to this answer

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.
Thank you comment icon Hi Charles, thank you for your suggestions. I am working on my github account :) Sneha
3
1
Updated
Share a link to this answer
Share a link to this answer

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
Thank you comment icon 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
1
1
Updated
Share a link to this answer
Share a link to this answer

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 comment icon Thank you Kin for the answer and the helpful link! Sneha
1
1
Updated
Share a link to this answer
Share a link to this answer

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 comment icon Thank you for the response. It was an informative read. Sneha
1
1
Updated
Share a link to this answer
Share a link to this answer

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
1
Updated
Share a link to this answer
Share a link to this answer

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.
Thank you comment icon Hey Sheel. Thank you for your answer and to-dos. Will definitely check them out Sneha
1
0
Updated
Share a link to this answer
Share a link to this answer

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
0
Updated
Share a link to this answer
Share a link to this answer

Moushumi’s Answer

If you want to be a full stack web-developer, it is good to know at least one backend and one frontend language. For frontend it is good to know Javascript, HTML and CSS. Knowledge of at least one of the most commonly used frameworks, i.e., either Angular or ReactJs will give you an edge over other candidates.




Moushumi recommends the following next steps:

Learn one coding language - Java or Python or Go or anything that you feel comfortable with.
Learn javascript, HTML, CSS and JQuery.
Best way to up your skills and get that 1st job is start a small pet project. Could be anything, for example a small To-Do list app or a dummy e-commerce website. Write the backend APIs in your preferred language of choice, create and design your tables and develop the look and feel of the user-interface. Nothing fancy needs to be done. Your focus should be on getting a full picture of a website and things you need to know in order to develop one.
Look at frontend frameworks, like Angular or ReactJs. Maybe take an online course to understand how these frameworks work.
0
0
Updated
Share a link to this answer
Share a link to this answer

Bongchun’s Answer

If you want to became real full stack engineer, I recommend studying C/C++ language as well. Because most famous web server like apache/nginx is made by C language. To study core/system is also important.
0
0
Updated
Share a link to this answer
Share a link to this answer

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
0
Updated
Share a link to this answer
Share a link to this answer

Peter’s Answer

As a fullstack developer you want to be well versed in both frontend and backend technologies. From my experience the common technologies used are:

1. Java for server side and API development
2. SQL and NoSQL for data storage
3. Javascript, HTML, CSS (it's more or less mandatory to learn one of the modern JS frameworks such as ReactJS or VueJS)
4. Having some familiarity with AWS services won't hurt either since you'll probably have to interact with cloud based systems
5. Docker, Git for development pipeline
0
0
Updated
Share a link to this answer
Share a link to this answer

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
0
Updated
Share a link to this answer
Share a link to this answer

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
0
Updated
Share a link to this answer
Share a link to this answer

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