You should really discuss with your manager. They should be able to set expectations and likely put you at ease. And if your manager isn’t encouraging and supportive, then it’s likely going to be a bad fit and you’ll be happier elsewhere.
Chances are, it's normal and expected.
> I'm working on a ticket that should take me a day to finish but it has taken me almost a week
20 years into my career, that also happens to me when I start a new job. You're working with an unfamiliar codebase. It takes time to learn; especially if your assumptions are different than the assumptions made in the code.
Also.. the fact what’s it’s just the processes that are new to you is really quite minor! That’s all learnable with time!
Just wait it out, keep up the hard work and face the fear head on. The fact that you’re thinking about it is a good sign.
I work as a PM, and I’m far less technical and I’m more soft skill oriented than the engineers around me. I notice that engineers have a tendency to have a lower tolerance for failure, and they worry when things don’t go exactly according to plan. I like this quality - keeps everything grounded (including me!).
Don’t let these thoughts cloud your judgement. As long as you keep your cool, and show that you’re making progress, it is probably more worthwhile to wait until you catch up than it is to recruit someone to replace you. If anything goes wrong, it could just be a “bad job experience” to be put behind you anyways. Also, others here are giving great actionable advice.
With that out of the way, if your bosses want to fire you a week after you've consistently and proactively been trying to learn workflows that are new to you in your new job, you'd actually be dodging a bullet.
> I hate that I am always asking people for help
You only need to do this for "tribal" knowledge, for which you should have (or start) an internal wiki. For the rest, you kinda have to plumb the depths of the public internet...
> like today I asked for help to rebase my branch since I have never done it before
Yeah, I still remember my first rebase very well, thinking I would just lose everything if it went wrong. I tried a bunch of things on a throwaway repo to figure out what exactly happens, which turned out to be very helpful. I particularly enjoyed this talk once I'd found it: https://www.youtube.com/watch?v=1ffBJ4sVUb4
> At my old job I was the guy that got things done, gathering requirements, designing and developing new features <...> did anyone else ever feel this way and if so how did you over come, did anyone get fired because they are incompetent?
That is still your skill set, and not knowing something does not make you incompetent; though not wanting to learn new workflows and tribal knowledge does.
I have always had pride in being a newbie to a new team - I get to learn another set of ways someone has thought about working through problems, and more often than not - my new team benefits from the fresh perspective I bring to the table when I start asking questions on why something is the way it is, and to mull over whether there could be a better way to do it before you get crusty. Win-win.
See if anyone on the new team is willing to volunteer to mentor you. That looks nice on yearly reviews for both of you as well. Cheers!
More broadly: this industry is all about never fully knowing what you're doing, especially when you start at a new company. Just keep learning as you go. Also keep in mind that probably more than half of your coworkers have impostor-syndrome too. It's pervasive and it never fully goes away.
I've only known one person in my whole career who was let go based on their abilities, and it wasn't because they didn't already know a technology or didn't learn it fast enough, it was because they had no instinct whatsoever for how to write decent code. And despite that, they landed another job almost immediately.
So I wouldn't worry about it too much. I'm sure you're doing fine.
In practice, for me those first months of stress always result in a lot of reading/brushing up quickly on new tech, a lot of digging around the code, debugging, late nights to finish tasks I feel I'm behind on, asking teammates about tools and processes, etc. But while all of that might help, in the end it's usually just a matter of waiting it out and knowing that this is a mental pattern I've dealt with before. Meditation sometimes helps.
Good luck! I really think you'll be just fine.
However a lack of basic Git skills (or struggling to quickly ramp up) for anyone above an entry-level engineering role would be a bit of a red flag. I’d fix that right away, but that may be my personal bias.
The key mistake that I would make was to curl up instead of reach out.
When you are worried or afraid, it can be hard to reach out. But I always got far better feedback whenever I presented my work, and showed the parts that were blocking my progress, and asked a lot of questions.
Often, I was trying to solve a problem that the team had simply not considered.
The problem might be out of scope for the task I was expected to address, and my perspective was due to my lack of context that was considered natural for any new hire.
Or I was unfamiliar with their tools and workflow. This is where it might be best to work through a task in tandem with someone who has been working there for a while. It doesn't have to be a big thing, just something to go through the whole cycle.
You are already asking good questions. On HN. Keep it up, ask your new team. It might be scary but the fear usually goes away very quickly.
I too went from small to big and had to learn the frameworks and processes of bigger places, coming from having to do everything myself. I’ve also changed types of roles which is just another set of “out of comfort level” issues.
In the first few months I’d say ask all the dumb questions …they’re not gonna fire you for being new in a place different to where you’ve been. Thinkabout the time and money wasted if they fire you before they give you a chance, they should definitely try to help you for months before that happens. No one wants to be out hiring again if they can fix simple learning problems.
And write things down so you don’t have to ask twice.
You’ll get there.
That's 5 years of full time. I estimate that it often takes 6-12 months for a new hire just to even become positive in terms of net impact to the team, let alone mastery. This will vary depending on complexity. In other words, when does that extra set of hands contribute more than it costs in terms of extra communication, training, mistakes, etc.
Be honest, ask for help when appropriate, be a good listener, take notes, learn. Be the one ready to take on any job. God gave you two ears and one mouth, so listen twice as much as you speak.
In a year or so, you'll be the journeyman helping the next crop of newbies.
Check with your TL or Manager for the expectations.