My background: I did a maths undergraduate degree and performed well including on programming modules. I also developed a PHP site with someone else. I tended to be a bit slower than average perhaps although I met course deadlines.
I started a job and my boss set me a task which I was still struggling on a few hours later. He then reassigned me to different duties saying programming was too complicated for me. I was a bit taken aback thinking it was normal to sometimes be stuck, especially at the beginning and especially after not doing PHP for 5 years.
I want to start with answering your title-question right away with a big resounding YES!
Are you saying that on day one, your boss did that? It sounds like your boss and probably the company is not willing to provide guidance/training. Unfortunately, that’s one of the things we have to assume when we land any developer job. This might sound harsh but <sigh>we are ultimately responsible for fending for ourselves out there in programming.</sigh> This means that we have to spend a lot of time OFF WORK and money from our own pockets to get and CONTINUE to be educated. It’s not really a matter of not being good enough. It is a matter of whether we’re willing to sacrifice a lot of time and money for our own education in order to succeed in programming.
Even if you do not feel successful where you’re at right now, learn. Learn, no matter what. I wish you the best.
Thank you for the response and for the encouragement. Ultimately I wonder why it took me so long over one problem. Based on my previous experience I would guess that I would get there in the end but being too slow is not good enough. I suppose it is possible that it was always going to take a few hours given I was getting back into it, it was pretty advanced and sometimes it does take a while I suppose. He also set me the task of being proficient in perl in 10 days which I thought was a big ask.
Although I wish him well, I feel that this individual was not suitable for programming himself. He did not combine boolean logic correctly, he used mathematical functions such as arg incorrectly, the system never fully worked and his former employer told him he was a bad programmer.
So your boss, the one who thought it was too complicated for you is the same person who does not combine Boolean logic correctly? AHA! This sounds like it one way of “dragging you down with him,” but don’t tell him that. It just doesn’t make sense that he expects you to be proficient in Perl in 10 days with that kind of experience. Here’s a little secret - you DON’T need to be proficient immediately. You just need to know WHERE to QUICKLY find the answers.
You say that the code is advanced? If you haven’t already, learn about design patterns. Knowing syntax and language features is important, but knowing how and why you code a specific way to tackle certain kinds of problems is a key to success here, which design patterns addresses. They didn’t teach this during my education, and I had to learn it well after I graduated.
Unfortunately, we also deal with interpersonal problems even in the technical world - like how to deal with a superior who expects a higher level of performance on you higher than they can achieve themselves, which I see is one of your challenges. This is a tricky one, and I don’t have answers for that.
Yes I think his skill set was not suitable for programming.
This raises an important point in that there is a group of people whose skill set is not sufficient for programming (and probably never will be). I think my reasoning is probably ok (touch wood), but I feel something about the speed I do it at may be a problem (although could be improved). Ultimately I will have to figure it out if I fall in that group and deal with the possibility of either outcome on an emotional level.
Once again ty for the encouragement that I should pursue this career.
Everything aside, you are definitely able to be a programmer. The fact that your boss expects that much from you does not mean you are a bad programmer. I have been developing websites for 8 years now (and have a degree in cs) and I wouldn’t know where to start on a perl project.
I’m sorry you’ve had to experience that type of work environment…sounds like a less than acceptable boss to me. I would not blame yourself at all.
That being said, it is an absolute must to read blog posts, stack overflow questions/answers, books…to become a decent dev. I’m not saying you need to work through handfuls of examples every night instead of enjoying some down time, but you do need to have the passion to want to learn and be a friend with google. Read as much as you want to but make sure you read a little every day.
I am no way near the level of expertise my “heroes” are but when I look back on my career, I realize that I have lived a great life outside of work AND I have become quite knowledgable when it comes to web dev. I definitely dont have “above avg intelligence” but I like programming, so much that I try to learn how to do it.
So, in short, hell yes you are good enough to be a programmer. No doubt in my mind.
In the words of Tupac, “You gotta keep your head up”.
Thinking back I realise how absurd the whole situation was with that particular employer. It is just when you have very low self esteem like I have had in my life, it makes it more difficult to think clearly on issues like these because your automatic unconscious brain is always tending to agree with anything and everything which says you are terrible.
Reading around sites I hear it is normal to be stuck for hours on a problem (not all the time ofcourse) and you would expect that at the beginning I suppose, especially when thrown in the deep end. Certainly not grounds for deciding programming was “too complicated”.
I think you are being a bit modest when it comes to being of average intelligence!! They don’t hand CS degrees out.
Your employer sounds like he was awful. But the fact is there are many such employers out there. There’s really 2 aspects to your question:
Are you capable of eventually becoming a proficient programmer? The answer is probably yes, as others have said.
Are you capable of doing paid work as a programmer? This is much harder to answer. A big part of the job is managing expectations. I’m still not very good at this, even though I’ve been working as a programmer for a while now. I’m not sure I’ll ever be good at it. Not only do you have to these non-technical skills, you have to WANT to learn them, which is exhausting and really wears me down.
So many very smart and talented people are shocked when they start working as programmers and find the daily reality to be very different from what they imagined: meetings, having to explain to people that they’re asking for insane things, having to tell your boss you need more time to do something, participating in planning/scheduling which involves many variables beyond your control, etc. It can really exacerbate anxiety and depression if you are prone to those things (as I am).