Want to know about what it is like to learn Web Development with a project-based approach? Curious about what it is like to learn new techs as a newbie to the world of the development of the Internet? This post could be for you. I am going through the first mini-PHP project for which we, learners from BeCode.org, had to complete.
The mission was to develop a PHP script, display a contact form and process the inputs. Some of the new technical instructions of the project were along the lines of: include a HoneyPot for spams, sanitise and validate the form on the server side. Okay.
What I knew about PHP is that it is a back-end language, so it is run on the server-side and not the client-side. So imagine my face when I tried to understand Docker. Abstract. We had 3 days to do this.
For info, when we have a project given by our ace coachs, we work on GitHub, so the instructions given about projects are located on a nice README.md file.
So what’s happening while creating this little project? LOTS.
There are so many new things to get that I spend a lot of my time researching + trying to understand how one tech/tool works and how it relates to other techs. Each time I understand a bit of something, I have another question popping up in my head. I talk with other learners about what they know about a tech/tool to grasp more of a concept. You guess it, I spend long hours getting information. I am blown away by what people invent with tech!
Tic-toc, bits of stress coming up, I realize I have to start planning the project. I have to begin even if I don’t understand everything and even if I am not sure where to start. Hello deadline.
I active my Fight-Mode On.
Step one is designing the form’s mock-up, but, how to do that? It needs to be professional. I’m not a drawing artist, no paper and pen for me. I want to use a software which will make a pretty mock-up, so, there I am, learning how to use Figma on the go. Great!
I use Bootstrap and spend time styling the form + I’m a bit frustrated after spending an afternoon fighting to display the elements correctly :)
Cute dead-line reminding me I have to start attacking the PHP part. We work in pairs with another learner. We hurry-up to do some research on our own and test what we’re finding. Why is this sanitazation function not working? Trying to decrypt the PHP manual. By the end of the day there are elements in the script which don’t work still, but there is some progress. Motivated.
Some hours left, my head is heavy. I find out I can’t deploy the site on GitHub. Nervous laugh. Long story short, I hear about Heroku. ANOTHER TOOL I need to understand? Fine. Site deployed.
Deadline is getting closer. Half an hour before I am supposed to finish, I realize I forgot to implement the honey-pot method. I turn pale and I want to throw my computer by the nearest window. I rush to finish.
It was challenging, but I learnt a lot
It was a messy process.
The task was like a massive knot, which I had to try to untie and understand. Not simple to be thrown that mess at filled with unknown. I wasn’t comfortable with being disoriented. Many times I was confused on how to do it, how to find my answers and where. I was trying to decide on which information was right for me in the ocean of the Internet.
I visited lots of websites in 3 days trying to look for answers, going through stack-over-flow posts dating from 2008, and tried decrypting manuals for techs which didn’t necessarily answer my questions. I had to find a way to do it, even if it was messy. I kept going through the same process which was Research, Find Info and Test.
I learnt things. Asking for help when I was stuck, managing myself and my time. Finishing up this mini-project built my confidence in my technical learning ability, which I will take on for the next project and that’s well satisfying.
I learnt being methodical about a task is key in delivering good projects. Having a clear plan for the design as well as the functionalities. If I approach it in the right way, it’s easier to build a pretty and functional end result.
It taught me about being okay in discomfort, and be like, this is challenging, but I can manage. Even if I go through roller-coaster brainfuc****g moments.
If I learnt all of the above quickly it is because I had lots of ??? on that mini-project with a dead-line, and perhaps this is an insight of what life will be when working as a developer?