Hey, I found this website and am glad I am not the only one. I currently started a new job as a developer at a company. I did very well in school and graduated with honours, I have been excelling my whole life but when I met some of the other programmers I am working with I was blown away. They are completely out of my league. I have been having major anxiety attacks ever since day one on the job, I just feel as though I am not good enough. I would write something I should be proud of but when my co workers review it most or all of it gets refactored into something easier to maintain and understand. I know there is a giant learning curve but I am just feeling overwhelmed and it is exhausting me mentally and physically. I am currently 1.5 months in my job and am already fearful i won’t make it past the prohibition period. I was just wondering if anyone else had similar experiences with their first real experiences in the work force and how you dealt with it. Thanks.
Studying often does little to prepare you for the real world work environment. There is a certain kind of expertise that only comes through experience. I think you will be pleasantly surprised how many people are aware of this learning curve if you discuss these feelings with your colleagues, manager or some other mentor. Those kind of discussions will probably not be easy to start but your professional development is certainly “on topic”, a demonstration of self-awareness and desire for self-improvement is usually seen as a good thing and getting feedback will both help you progress and allay some of your concerns.
I agree with @supine. In my experience with college hires, I expected them to need more ramp up time than an experienced hire. It sounds like you are comparing yourself to people who have years of experience rather than someone who is a new college hire.
@supine is right about asking for feedback. Do you have regular meetings with a manager? I joined a company recently and everyone has weekly meetings with a manager. This gives us a chance to get comfortable and see how things are going.
I also have trouble with anxiety (and impostor syndrome), and I try to get a handle on it by figuring out how out of wack my expectations are.
For example, during one meeting I mentioned that I should be getting things done a lot faster and asked for feedback on how quickly my manager would expect a new team member to finish xyz and if my manager had thoughts on how I could improve.
It turned out that the manager thought I was doing great for a new hire and my expectations were off.
In hindsight, I was comparing myself to how quickly I’d get things done at my previous company. But of course I’d get things done faster at my previous company, I was already deeply familiar with everything.
I would echo both comments above: new hires right out of college take time to become productive. I can relate to the anxiety attacks: I’d suggest talking to a peer or your manager, whomever you feel most comfortable with and simply asking how you’re doing rather than assuming it’s bad news. I imagine it’s nowhere near as dire as you think. When we had recent grads at my old job, the first few months were more about trying to tell if they’d ever be productive rather than wondering why they’re weren’t performing like senior developers.
That’s not necessarily a bad thing. Code can always be improved. One of the lessons of becoming a programmer is to detach your ego from your work. Nothing you create will ever be perfect, but it doesn’t need to be, it simply needs to work. There’s a line from Hemingway I like to bore fellow programmers with, “The only kind of writing is rewriting.” First you dump your idea onto the screen, then the real work begins as you refactor it into something solid.
I also agree - communication with your team is important, and airing your concerns, if you feel safe doing so, could go a long way towards helping your anxiety.
You shouldn’t worry about the probationary period. If you’re on top of whatever tasks are assigned and are learning from the refactoring experience, then you’re golden.
If you’re overwhelmed, it can help to make a list of things you need to learn or do and then break it down so it’s in small doable chunks. What also helps is asking other developers in the workplace for help and to confirm that your progress is going well. Sometimes managers and developers forget that other people are human and need reassurances that things are progressing smoothly and that they’re valued.
This is a tangent but …the only time you have to worry is if you’re in competition with other new devs to keep the job or if the company itself is relying on new devs like yourself to deliver big projects in a short timeline.
First of all: I joined this forum yesterday and have to say that all people are polite and help others to overcome their doubts. My deepest respect to that.
My tale for @Tanghe92 is:
I am 31 yrs old. I have studied BIT since about 5 years to do a Bachelor degree only. All my colleagues are ahead. Either they are older and more experienced or much younger and at the same xp-level as I am. So their career seems to be more successful in future. But I am trying to accept this as my way of life. I decided to go that way and I decided to be here right now. I wanted to be a developer. I knew it is a hard job but the benefits are good salary and interesting and sophisticated work. Only few people in the world know about the software development business and it is a big mystery to them. And that is what I am proud of at least. Despite the struggle with all my doubts and the problems I face at work I finally know that this profession is the best thing that could ever happen to me.
As @tclancy mentioned Code Refactoring is always a good thing. Try to accept the style of application others share with you. There is always a deeper sense behind it. You can learn from it as well. Colleagues won’t denounce you, they just try to improve the application and of course your personal style. And… what I learned in my short time as developer as well, even don’t hesitate to correct the experienced developers if they are obviously producing wrong code or deployments etc. They might be bogged down in their own style and lifted because there is noone to tell them they are wrong. If you know that your style or pattern or whatever is a better solution for the apllication, share it, defend it. Don’t give up. If others denounce you in a way which has nothing in common with your work, you know you are right. Only arguments related to the application are acceptable Stay cool. Do your work, improve yourself and you will be on a good path to become a better developer.
@Tanghe92L I can relate somewhat to what you’re describing. I’m in an intensive program to learn object-oriented programming in six months, and I feel almost constantly that I’m unable to do it. It’s been a continual struggle. There’s a lot of anxiety and depression involved, which is a recurring issue for me, but it seems related to the anxiety you’re feeling. I think others’ answers about Imposter Syndrome, the need to acquire experience, the need to connect with potential mentors, and so on are really hitting the mark.
That’s not it, however. I know from my own experience. I wish I had some constructive advice to encourage you. I hope each day is a bit better than the last.
Thanks for all the replies guys. I talked to my bosses today and they told me not to worry. They told me they would let me know if i would need improvement on anything so I feel a little better about that. But they also said people who are constantly worried about that kind of thing don’t usually last long so I’m really not sure how to take that. Im starting to feel more confident about my work but it’s on a day by day basis some days I will feel okay and others I will feel like I did nothing constructive. Reading and writing on this forum really helps though. lol
But they also said people who are constantly worried about that kind of thing don’t usually last long […]
That’s one perspective that you would be particularly prone to latch on to as a person with lots of anxiety. Let me offer more useful ones, that you might get a boost and some constructive self-awareness from instead, that I was told by a peer that helped boost me to Silicon Valley soon a decade ago (not his words): the people who feel their work is sub-par, are the people still aware of their growth potential, the many ways they are still learning and can improve, and how their work could be or get better. That doesn’t make them bad. On the contrary, it is what makes them great, over time. The people who think what they make is good enough, are the people who never get very good, and settle for not getting better.
As for the second perspective, this is one I have discovered for myself. Working at a place where you are the worst, surrounded by people immensely(-seeming) better than yourself, is a lot better than working at a place where you are the best, surrounded by people of lower ambitions, ability, skill and reasoning chops. In the former place, you get to learn and absorb great practices, tools, ideas and so on, from people that usually have an interest in making you help grow better than you are at present. In a place where everyone else slack off, you have to struggle to get anyone to keep up or even agree to measure up to your standards, which is completely draining in a way that is even worse than feeling a little inferior.
I personally had the benefit of working my first job at a startup that had a lot of the former; among them, one of the teddy-bear devs that wrote one of the first web servers. He was the kind of guy who could stop by at my desk late some evening, just bustling with the happiness of having something he needed to share with someone, and then let on that he had just written some hack that auto generated ten thousand lines of C code from a spec, to implement a GTK or GL glue, or something; one of those rumoured 1000x guys that do exist in the software industry, not so much because they work a thousand times as fast, but as they have a whole different perspective on what should exist and how it should work, that can sometimes replace a whole division of people.
I never ever felt inferior (nor, even less, superior) to the guy, though, just richly rewarded to get to learn from him and absorb ambitions and perspectives on how code and apps and other things ought to work and why, that fighting over stuff was a useless waste of time compared to making something better and having it speak for itself, and so on. When your peers refactor your code into something entirely different, they are not taking a dump on your solution; they are showing you hands-on a different way of doing it that you can absorb and benefit next time. This kind of process tooling is new and amazing, and much better than what existed mostly anywhere a decade ago. Enjoy it!
And along similar lines to your post, As a new developer wrote about her experiences in a similar place. I tried to comment on it along similar lines, but it hasn’t made it past moderation yet, so I’ll paste it in here, too, as it applies as richly:
Interestingly, it matters very little how or what you do, compared to how much you do it, and that you manage to keep your curiosity and passion for learning, experimenting and doing alive.
Getting good is almost entirely a result of caring about what you do, building something you want, enjoying yourself, and sticking with it until you eventually suddenly find that you have ten thousand hours under your belt and turn out to be pretty darned awesome at it, because you have made (or seen, or read about) all the mistakes there are to make, discovered why the various things some more senior people have been pissing and moaning about suck, what the better ways of doing things are, and why. Learned to see the more complex landscapes of choices, trade-offs, costs, and benefits, where sometimes an ugly short-sighted hack beats a scalable beautiful architectural marvel, and so on, given the constraints that apply to your own situation.
It takes time to develop these perspectives, and exposing yourself to good ways, bad ways, and just ways that get the job done because that is really all you need. But while there might be a lot of judgment going around because people so often end up in pain on behalf of other people’s choices, and becry the spreading of what thus looks like plagues, try not to worry too much. Your own creations are awesome, even if they suck in somebody else’s book. Try to get a community of people around you going that offers constructive input, and that you give constructive input back to, and you will have a wonderful time, less focused on anxiety and more on being in the kick-ass creative zone.
It’s not about battling people, but about building things you love, creating things of beauty or usefulness that make you and other people you care about happy. Whether it’s a blog, a game, or an iPhone app. As you say: it doesn’t matter. No pressure. Enjoy this lovely, rich age of creating things, for free, because you can, and for the heck of it. Have fun! The more, the better.
I think they are trying to describe someone who is unhealthily focused on these things.
Self-awareness, a desire for self-improvement, humbleness, these are things that make you a good employee and a good team mate.
Decision paralysis, hyper-perfectionism, not being able to say “good enough” and move on, these are things that make you not achieve goals at work, make you hard to work with.
I feel the same why but I have taken and triedbto learn all I can.
Great question. This is something I see in a lot of young developers and something I’ve experience myself. Being surrounded by such smart and intelligent people can make you feel small and the thought of ever being up to their standard, overwhelming.
I think you did the right thing by talking to your boss about how you’ve been feeling. Often-times our anxieties are based on incorrect assumptions, and by talking about it with someone we can get a better perspective and hopefully alleviate our concerns. Your boss’s second comment is surprising and I think is a mistake on his part; he shouldn’t have said that: you’re a junior developer in your first job and you need support and encouragement.
I recently wrote a blog post called Perfection and Procrastination which touches on a similar subject, that as developers we put a lot of pressure on ourselves to be perfect. Perhaps there are some helpful thoughts there. It also links to The Book of Life which has many topics on anxiety.