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
14 answers
Charles’s Answer
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.
Suneeta’s Answer
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!!!
Hui’s Answer
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
Sheel’s Answer
• 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:
Kin’s Answer
Kin recommends the following next steps:
Nadia’s Answer
https://programmingwithmosh.com/backend/learning-path-to-become-a-backend-developer-in-2020/
Craig’s Answer
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:
Bongchun’s Answer
Moushumi’s Answer
Moushumi recommends the following next steps:
Peter’s Answer
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
Lawrence’s Answer
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!
Nikesha’s Answer
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 :-)
Syed Junaid Basha’s Answer
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.
Manu’s Answer
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!