Yesterday, I spent an hour and a half watching a senior programmer - someone with ten years of Django experience and a 150k salary - struggle to debug a migration error. He couldn't figure it out because he lacked a solid grasp of SQL and didn't know how to create tables manually. He managed to burn through his remaining AI tokens by feeding it every bit of terminal output, even though the logs clearly stated at both the beginning and the end that the issue was an attempt to create an association with a table lacking a unique key.
While he was switching between windows, I noticed in his IDE that one of the tables didn't seem to have a primary key defined. I pointed this out, but he ignored me. An hour went by like this. He tried every solution the AI suggested, but nothing worked; instead, it just created new problems and different errors. Eventually, he decided to start over: he rolled back to the initial state, ran the migration again, and encountered the same error as before.
I reminded him that the error indicated a missing unique key in that specific table, preventing the migration from establishing the association. Then I suggested checking the table structure in another database - a clone hosted on a different server. He did so, and I immediately noticed that the table did have a primary key there. He was surprised. He ended up creating the primary key. At first, he wasn't sure it would work, but I told him that a primary key functions as a unique key, so everything should be fine.
I asked why the model didn't specify a primary key or unique key; he explained that Django handles this automatically and speculated that something must have gone wrong with that specific table. Since I’m not a Django expert - my web development background is mostly in raw PHP - I couldn't really comment on that.
I’m not claiming to be a better programmer or to know more overall. I have limited experience beyond a couple of small projects where I was the sole programmer; however, during my computer science studies, we were taught to always start with fundamental technologies and code in simple text editors. I even tried building my own template engine and a very basic framework. With that kind of background, though, no decent company with a high salary will hire me, so I earn a fraction of what a senior programmer makes. I’m just glad I got hired at that senior programmer's company. I run scripts once a week and fix computers there - drawing on my years of experience as a service center technician (a job I held while studying computer science to pay my tuition).
Since this is just one of my remote gigs - I have three jobs - it covers my living expenses, and the work takes up less and less time as I gain experience. Still, I wouldn't say no to a full-fledged developer role on a major project at a large company with a six-figure salary. I think I could handle it. Unfortunately, the senior programmers interviewing me see things differently; in the years since I graduated college in 2018, I’ve made it to the final interview stage only a few times, yet I still haven't landed the job.