Survey Form Review - My Video Survey

Hello,

Thank you for taking time to review my survey form: https://codepen.io/multiplify/pen/qBpxdLE.

I did copy the format of their form, but the HTML and CSS I developed on my own by just googling how I wanted it to look based off their example.

It feels like a lot of guesswork and doing things the wrong/inefficient way. Maybe that is part of the learning process but sometimes I make something that looks visually the same but perhaps it isn’t as augmentable. I am worried about developing poor habits by doing things the fast and easy way because I don’t understand what the downside of doing it one way over another is.

Also, I am not really sure why there is a white border around the edge of everything.

Thanks for taking time to help me!

Your form is looking great with a nice blue background-color and gradient.
One thing to get rid of the white borders is to ensure that the outermost div which encloses all your content does not have any borders or margins. If you have already done that, then try doing a base reset for the whole body:
body{
margin:0;
padding:0;
border: 0
}
This will ensure that the whole body of the document does not have any padding, margin, borders, etc. to begin with.

Second thing would be to set a right-left padding for the div that encloses all the text fields, so that they don’t span the entire width of that div. they will appear to be in the middle, just like in the fCC survey form (in case you want it that way).
Third thing would be to specify relative units like in % or em or rem for the widths of the text fields, text areas, drop downs and button so as to make those look of almost equal width. So that way when the page resizes as per screen all those will still resize to appear of equal width.

1 Like

Okay, I think I’ve fixed everything that you pointed out. Thank you so much for taking the time to provide me with some feedback! I’m having a lot of fun learning web development, especially as I start to be a little better at understanding my own mistakes!

Since this is just the tip of the iceberg in terms of learning web development, I was wondering if you might tell me since I see you are a Full Stack Web developer, what is the difficulty difference between this and when Java gets introduced?

Java is a programming language mainly used in the back-end for server-side programming (where all the logic or processing of the user requests is handled). Instead of Java, fCC teaches NodeJS and ExpressJS for the back-end coding.

There are different back-end programming languages - Java, C#, Python, PHP, Ruby and so on. Each one is supported by its own frameworks. These frameworks come with built in features which eases a Web Developer with many tasks like connecting to the database, authentication and so on.
For example, there are Django and Flask frameworks for Python, .NET Framework/ASP.NET for C#, SpringBoot for Java and so on. Django for example comes with its own features like caching, authentication, ORM and so on. Similarly, for those who like Microsoft, .NET also has its own Entity Framework for object to relational mapping (ORM) which maps classes and objects to relations/tables in the database and treats each column/attribute of the table as a property of that class/object. So when you populate an object with values from the user or programmatically, the table automatically gets updated in the background once that object is updated. The mapping takes care of it. Some of these also come with their own controls(buttons, text boxes,etc.) which you can drag and drop and generate some code in the background which you just have to manipulate. Then comes the question of databases to store your data - which language and framework goes with which one! Python is widely used with MongoDB, C# and ASP.NET with SQL Server traditionally and now with Azure SQL Server, PHP with MySQL, Java mostly with Oracle and sometimes with MySQL and so on, although these connect to other databases as well.

So it depends on which web development stack you wanna be with and which language you prefer. And besides efficiency, which one has a large community to support you in case you are stuck with something.
These days Java is used more with their Spring/SpringBoot framework with which an entire web app can be up and running in just a few days. I personally never preferred Java so didn’t work with it, except for a few cases where it was a need. But many companies like JPMorgan Chase, Amazon, AllState, etc. do use it.

If you want to educate yourself more on Java and its packages, check out these links:

Top 5 Java Web Application Technologies You Should Master in 2022 | upGrad blog

Top 10 Most Popular Java Frameworks for Web Development - GeeksforGeeks

What is Java Spring Boot? | IBM

Also check out the different web development tech stacks:

A Guide to Modern Web Development Stacks | Enkonix | Enkonix

That is a lot to process!

I will definitely take a look at these links though and see what peaks my interest.

What sort of tips would you give yourself if you could go back and talk to yourself when you were learning? Did you go through college or were you self-taught?

I went through college. But then I would recommend that as a beginner, if you started with a curriculum, say fCC, then stick to it, complete the curriculum and try to be good at this MERN (Mongo DB, Express, React, Node) web stack. It is one of the most powerful web stacks out there and has a lot of jobs too. Do a lot of projects. Once you gain confidence with this one thing and get a good grasp of web development and the SDLC, try exploring Java (if that’s your choice). Practice algorithms and programs once again as we do here in JS. Then try server-side coding in it, try integrating it with the front-end and the databases. Then gradually explore its other packages and frameworks. But HTML, CSS and JavaScript (and their supplementary web tools like JQuery, SASS, BootStrap) is always necessary and helpful to know for the front-end, no matter what language you use for the back end.

As a beginner knowing one web stack is enough, and maybe one/two for an intermediate developer. Also, it depends on what company you join and what the role demands too. By the time you become advanced, I am sure you’ll know what you want and what you don’t. But since nothing happens overnight, we need to be patient with ourselves in the learning process. :slightly_smiling_face: