What I learned building my first crud app

Tyan Brooker Thorpe
5 min readMay 5, 2022
Photo by Olia Nayda on Unsplash

I have not always been a fan of crud apps. Partially because the first language I tried learning was JavaScript, where I found its syntax quite tricky, which nearly put me off learning to code altogether.
But fortunately, I had been told by a friend that JavaScript was really for the frontend, but I should try building some/toying around with some backend technical stuff or playing around with python and machine learning. This led to me discovering Kaggle, and this is how I originally started learning to program. So, in my mind, I had permanently attached the notion of JavaScript/crud app-building being slightly dull in addition to the complexity.

My bias was further compounded by the fact that one of my favourite programmer influencers (if you can call him that, as it’s the best term I can come up with ), Geohotz. One of his long videos on YouTube goes into depth about what is programming and breaks it down into a couple of things. He does not see CRUD app development as real programming, which further put me off from building a CRUD app for a while as I saw it as not the most exciting work.

I underestimated how much I would learn from building my first crud app.

1. How awesome/ helpful the developer community is

I had tried to build a CRUD app prior with Flask and had managed to get lost while reading through the book tutorial, which was rather disheartening. But it taught me many valuable lessons about the community that developers make up. What a fantastic community this is in general, as people are often more than willing to go out of their way to try and help you solve the problem you are facing. This became a reality for me when I started trying to break down the problem that I had gotten in the book, where I had managed to get lost in one of the stages of developing the CRUD app that I was trying to build. It took me multiple days to try and figure it out. I finally became so frustrated at the process that I ended up just posting the problem that I had on the flask subreddit. To my surprise, within 24hr the author of the book had gotten back to me on where I had gone wrong. To be honest, I never got back to them as I was too infuriated with the process of trying to fix it and had mentally dropped that as a project at the time. But it did show me how amazing the community of developers whereas not only the author and multiple people had commented on where I had gone wrong and what I should do to fix it.

While I cannot promise you that the author of a project will help you if you get stuck, you can look to the community to get help. This could be in the form of a Substack post or Reddit, wherever the community best gathers itself. What should be mentioned about this, though, is you should only ask a question for help after searching to see if it has been solved on an abstract layer somewhere else. People do not like answering questions which have already been answered.

2. You learn more by building projects

While overall, this had been a fantastic experience and taught me a lot in terms of all the points mentioned. After a while, adding new features and tinkering with things did just feel how Geohotz described it, “like copying the bible.”
I found the learning curve steeper when I was coding my projects. Granted, the code may be spaghetti code. But having to search for a problem, break it down to the smallest component needed to find the solution, and then googling it instead of just going through a walkthrough tutorial has taught me a lot more fundamental skills while keeping me engaged. This has meant I have needed to understand time complexity to speed up personal projects. At least, I have found that it meant that I stayed motivated throughout the whole process.

Additionally, it has meant that I have escaped the tutorial hell where it feels like a lot of the time that you are copying from a book and video and not learning anything. I mean that the skills you gained when going through a tutorial you are not always available to apply.

3. How vital building the correct documentation is

As I mentioned in one of my previous points, I had asked for help with one of my projects. I had always thought that the documentation was not the most important thing since I am only hacking away on projects by myself. It wouldn’t matter unless I wanted to get a software development job. Which was not something that I was looking to pursue.
This was the incorrect notion to have, though, as this led to me writing poor code overall and having stumbled upon a problem that, while I may not have a problem reading the code while working on it at the current point in time. When I want to leave the codebase to start a new project, reading it and trying to figure out what is going on, where and how it is functioning overall and what, if moved, will break is nearly impossible to figure out. This makes maintaining code a key skill in and of itself. This was something that I had not known and swiftly found out.

Conclusion
To conclude, while I understand that everyone is on their journey to developing their skills in the ever-growing technical field, I don’t know what works best for you in trying to develop your skills. This does not necessarily mean that you must do the CRUD app straightaway. Keep with what keeps you engaged, and at the end of the day, you will pick up the skills. Also, try to reach out to people within the community as they are helpful with whatever project you are trying to build. The most important thing about this, though, is to ensure you are writing clean and readable code so you can become entwined as part of the community.

--

--