+ 8
What's the big picture?
My goal is to become a full stack web dev who can build and design killer websites and mobile apps. To that end, I've been working on gaining certificates for HTML, CSS, and JavaScript (so far I'm 2 down and just 1 to go lol). But I still don't have a big picture view of how everything works together. Where can I learn about the big picture? It's hard to explain what I mean by that because I don't know exactly lol. I just know there's so much more to learn once I've finished the JS fundamentals course, but I don't know what "more" is and how it all connects to each other. I guess my question is, where can I learn about what a full stack developer does and how all the pieces work together.
29 Respostas
+ 3
I was about to ask similar question but thank God you threw it out first in here Ashley Furin š just like you said, since I'm newly learning programming language, it's kinda quite challenging what to ask precisely, until I truly know what my ultimate goal: professional developer on full stack (not focusing on frontend web, because I'm not into design stuff š¬ LOL).
Thanks for this discussion and everyone who answering it, very supportive. Now I have more clarity and better big picture.
+ 11
1/3 - Breaking my answer into multiple comments...
Start building your first projects and then some more. Find a friend who wants a website and create it for him as he wants it.
You will learn how to work with a client, you will have a project in your portfolio and you will also learn so much more about web development.
How to start a project when you don't know enough? Just start it, you will never know enough. Split the project into small tasks and then into even smaller tasks and complete them one by one.
When you don't know how to do something, just google it first. Only after a deep research if you still don't find an answer, ask other developers.
Looking for a solution by yourself will make you learn more than you were searching at that moment.
Celebrate your first completed project!
Repeat steps above and you'll get to be a great developer in no time!
+ 8
Ashley Furin These recommendations may help streamline your skills:
- Skip Python / Flask / SQLAlchemy.
- Skip jQuery. Most teams are avoiding this when possible in new projects. It doesn't scale well and is problematic with larger websites.
- Skip Shell. You can pick that up along the way.
- Skip Heroku. You will end up learning what ever is used by the team or company you join.
- Combine git and Github. If you learn git with Github, you'll be fine.
- Combine SQL and PostgreSQL.
Technically, SQL is the language used to query data from relational databases. PostgreSQL, MariaDB, MySQL, MS SQL Server, and Oracle are different relational databases that all support SQL.
- Add ReactJS and/or Angular 4+
- Add NodeJS + RESTful API
- Add MongoDB
At some point, I recommend learning C# and ASP.NET WebAPI to replace NodeJS. This will make you more marketable. But you can make it with NodeJS in many dev shops.
+ 7
I understand what you mean. You look to have motivation, that's a good point.
Well in my experience I'm developper for few years and I still got a huge part of blur that I try to make smaller everyday. What I mean is that the good news is : You don't need to master all immidiatly, the bad news (or not) is I think in this kind of job, we never finish to learn.
To make more clear yourself you will need to work hard on keeping learning, being curious and read others codes, challenge yourself with things you are curious to know how it works. You will probably fail, take hundreds of wrong ways but you will learn and go deeper and faster on the next try. Personally when I visit a website and there is something I don't know how to do, I analyse it with web browser developpers tool, I try to guess some way to do it and then I develop a tiny experiment to see if I'm right.
SoloLearn provide basic (good one) to throw yourself in developpers world. First step is the hardest and you ard close to make it :)
+ 7
2/3 Ashley, you use HTML for organizing elements on a page, then CSS to make them look nice, then Javascript to make the page interactive.
Then you use one server side programming language like PHP, Python, Java, Ruby or NodeJS+Javascript and also one database language like MySql or MongoDB to save and retrieve stuff on and from the server (like lists of customers/orders, blog posts, etc).
If the project is big, you might want to use Bootstrap for creating the front end (presentational part of the website) faster.
If your website has a lot of css and javascript files, you might want to use Gulp for repeating tasks like minifing and concatenating these files.
If you create more themes for a website or template, you might want to start using a css preprocessor like SASS or LESS to be able to duplicate and maintain easily parts of the final css file.
+ 7
3/3 If you want the website/webapp that you create to be a single page app that updates without page refresh, you will need to use a javascript framework like Angular, Vue or React.
Also, in order to collaborate on the project with other developer collegues you will need to use Git which helps you version control your app and avoid update collisions
+ 7
I believe you need to work on 'conceptual frameworks'. Massive Open Online Courses (Mooc) may be of help to you. From front-end to back-end development, you'll need solid concepts on database design and system integration and software engineering. You'll also do project management...
+ 7
You might also find this interesting:
https://www.sololearn.com/post/47491/?ref=app
+ 6
I'm super grateful for the responses. After all, there's no such thing as too much great advice lol!
I know my question isn't super clearly asked and that is because I only vaguely know what I'm asking lol.
Basically I'm referring to the fact that SL's fundamental courses don't address the need for things like Node or Angular or Repositories or any other thing (besides basic HTML, CSS, & JS) I see full stack devs talking about. Yet, I know those things matter... I just don't know why they matter, what they are or how they tie into everything else.
I want to know the names and purposes of everything in an outline of the process that they're used. The details of how to use them aren't necessary for the big picture, I just want to know what everything is and why it all matters.
I don't know if that clarifies anything or not lol, again I'm sorry, but it's hard to ask a question when I know so little about it.
+ 6
As a matter of fact, although for the moment you can't see the end of the tunnel and how exactly the final outcome is gonna be, It's almost hard to believe that somebody with such positive attitude and determination to succeed has many difficulties to reach her goal. So let's roll, baby! 8D
+ 6
Full-stack development can't be a 'solo act', at the very least, you'll need subject matter experts (sme) on various aspects of your projects. Begin expanding your network as early as possible.
+ 6
Ashley Furin One natural characteristic that seems to be common among talented and highly skilled developers is the ability to, not only, ask questions, but to ask the right questions. Many will struggle because they aimlessly focus on the wrong things when it comes to understanding issues, concepts, or solutions.
While conducting technical interviews, I present scenario questions involving real world application problems for the candidate to recommend a course of action. I'm far more interested in their questions than their answer.
Ultimately, I can fill in the blanks for developers I'm mentoring. However, there's little I can do when it comes knowing how to intuitively focus on the right things.
You continue to demonstrate an inherent and properly focused curiosity that will drive you to cultivate a deeper understanding in your quest to fill in those blanks.
In the meantime, see my comments in this post for more pieces of the big picture.
https://www.sololearn.com/post/46357/?ref=app
+ 5
Here's a link that can help one design more colorful webpage https://pin.it/ej5avqsmrem3yp
+ 5
Hi Eri Hariono ... Thanks for requesting clarification on a previous comment I made. I'm posting my response here for others as well.
Regarding my comment:
"At some point, I recommend learning C# and ASP.NET WebAPI to replace NodeJS. This will make you more marketable. But you can make it with NodeJS in many dev shops."
I should have clarified I was suggesting that a C# WebAPI service should be created to replace the NodeJS RESTful service by implementing the same endpoint interfaces and functionality in both versions. This will help you port what you learned for NodeJS to the C# platform, which will help you learn C#.
This was not meant to indicate NodeJS is less relevant or less important. Learning both will increase your value to a "dev shop" seeking to hire. Oh, and... "dev shop" is slang for a "software development company."
I hope this clears everything up.
+ 4
Look into Coursera and EdX
+ 4
Geoffrey L has a good point. Right now, I'm learning python and css but have no intention of using it to code. I'm going to ask a more experienced coder to help. That's what the 'big picture' is all about.. Looking at the 'forest rather than trees'
+ 4
Eri that's awesome! I'm super happy to hear that you're finding this useful and also that I'm not the only one who's asking this question lol
+ 3
In addition to asking this question on SL, I've also been researching this subject and I finally was able to write up a plan (in a Google doc) that includes the things I need to learn and acquire to become a full stack developer.
I thought I'd share it in case anyone else has the same question.
https://docs.google.com/document/d/16YdeVjDV9lO4b63hV6WGRFxHxa4exCqkEeKtUkaFYzs
+ 3
David Carroll that is a great link there David, also a big thumbs up to the person that compiled the knowledge for others to use in a logical order.
+ 3
Eri Hariono Front end doesn't mean you are a designer. The designer designs the layout in Photoshop. Frond end developer takes the layout from photoshop and recreates it identically but in HTML+CSS+Javascript (and its frameworks).
The back and developer takes what front end developer did and adds serverside functionality like saving stuff to database, having an admin panel, etc. Being a full stack developer means you are both the front end AND the back and developer.