Bored with CRUD
Published: August 01, 2023I came across a question on LinkedIn which I enjoyed reading. I started typing a response and when I went to post it, found that I was grossly over the character limit for a comment. I figured I would make a post out of it instead.
I would like some input from my fellow full stack developers on my observation
I have worked as a full stack developer for around 5 years now and for the most part my time is consumed by very repetitive and non challenging tasks, most applications are essentially crud applications where you store some data in a database and allow your users to read and modify the data, this is something that I and every other full stack developer has implemented countless times already, it seems like after a while you either have to specialize or somehow only take on challenging parts of the application (like optimization or interesting ui components) but even then as a full stack developer there is not a lot of creativity on a daily basis
When I discussed this with colleagues they recommended using ChatGPT or similar tools to automate the boring parts but as anyone who has been coding for a while would know this is not always good enough, besides using ChatGPT to build websites sounds even more boring
I am interesting in hearing other developers perspective on this, do you feel like you’re being challenged often enough to stay excited about programming? and if yes what could I do to feel the same way?
This is also my long way of saying I am interested in a new challenge, hopefully a position where I could get better at the often neglected aspects of full stack development like managing databases, devops or similar roles where I could grow and learn
There are a number of very good questions you ask and other issues you touch upon without asking explicitly. I don’t think there is a one size fits all solution, but I can share what has worked for me and how I’ve tried to guide others over the years.
To me, this could be compared to riding a bike. I learned to ride a bike when I was a young kid. These days, it doesn’t really interest me, but I see plenty of grown-ups biking all the time. Some frequently and for really long periods of time. Why? Its so boring. Its the same thing over and over.
I think the answer is, that at some point, they took it ‘beyond the bike’. They wanted to lose weight, they wanted to get healthier, they wanted to cut down on green house gases, they wanted to socialize or wanted to compete against themselves or others.
At some point, in order for you to retain interest, it has to go beyond the CRUD. At the heart of any real software that is useful to others, there is a need to store data and to retrieve it for later use. What the user/business needs to utilize that data for will change and the requirements around how quick/reliable/fool-proof that process is will influence how the data is processed, stored and retrieved. But in order for the development of software to retain its excitement, you need to find what gets you excited.
Early in my career I felt very inadequate compared to my peers. Mind you, I had a Master’s degree in Computer Science, but there were multiple things that I encountered on day one of work that everyone seemed to ‘just get’ that were nothing I’d ever seen before. This ignited within me a burning curiosity around the career path I’d embarked on. To satisfy this curiosity, I started following a few blogs and skimming a couple of articles daily to expand my horizons. I also started a habit which I attribute to most of my successes and career satisfaction, which was a habit of always having a side-project.
The first side project was an attempt at a better experience for our customers. Instead of requiring a business to input all of their information, I thought it would be nice if they could put in the URL for their company website and we could scrape/fill in the contact info for them. I was never able to complete the project, as web-scraping was much harder than I had assumed, but I learned so much about HTML, browsers, the DOM, string parsing/manipulation, etc, etc in the process. While I couldn’t improve the product for that company at that time, the knowledge/experience that I gained benefited them and everyone else I’ve worked for since then.
I’ve created a basic ORM, explored a variety of front-end frameworks, created an SSO implementation, probed a number of approaches to automated testing, delved into JavaScript promises, dependency injection and so much more. All of this has helped me evolve my approach to software development and form opinions on how best to approach a wide variety of solutions. I’ve done a lot of this during regular working hours, 15 minutes at a time. Instead of taking 3 coffee breaks, I’d take 2 and use one for exploration.
That is one technique that I think has helped me the most. Some people need to find an industry that they are passionate about in order to feel the impact of what they are developing. Some find people/business problems much more interesting and move into leadership while others enjoy the very technical aspects of data systems and go towards architecture. Some like aesthetics and easing user interactions with a system and will drift more towards the front-end.
Another thing that excites me is helping others. As caustic as Stack Overflow can be at times, I’ve found a lot of enjoyment learning how to ask good questions, getting help and being able to help others. I’ve gotten a few comments from people all over the world around how my answer helped them understand something or saved them hours of work and have found that immensely rewarding. Mentoring others, writing blog posts or trying to contribute to open-source projects are other techniques.
The world of software is gigantic and full of possibilities. I believe there is a niche for just about any personality type. You need to find what motivates you though instead of waiting for something external to do it for you. You can and probably should solicit advise from others, especially initially, to find what would be a good area to explore/grow in, but you shouldn’t wait for someone to come along and ignite your flame.
Create your passion and utilize it to improve the company you are currently with as well as your future career projection. Feel free to PM me if you would like to discuss your specific situation. Hope this helps.