0

I am new to programming and I work as a data analyst in a start-up. I find that its difficult for me to adjust with the start up environment. The seniors give me work like image processing and NLP works from day one. I only have a basic python and statistics experience.

The main issue is I am given work for which I have not build a foundation on and there are no seniors to guide me as well. Things like ML and AI are complex topics which are difficult to be dealt without prior experience or guidance.

How do I deal with this?

As a startup, there is pressure from higher ups to quickly finish the project. My question is whether this scenario is common to all new hires working in different companies?

If yes, how should I adjust to the environment?

  • "I find that its difficult for me to adjust with the start up environment." Why? Give some details. Is it just because you're being given work outside of your job description? Because that's not just because it's a startup. I don't think there's a culture common to all startups so I would separate the question from the fact it's a start-up company. Given current detail, it's irrelevant? – HelloWorld Dec 17 '18 at 12:47
  • Hi I have updated my question! @HelloWorld – Ram Shanker G Dec 17 '18 at 12:57
  • Its 6 months sinceI joined here as a fresher.Initially I trained myself in basics of python and Statistics.Initially i was put up at a project which needed writing codes in python for which I had no issues.Recently I was put into this project alone in the field of AI and ML – Ram Shanker G Dec 17 '18 at 13:05
  • It looks like your company is completely underestimating the complexity of the tasks they assign to you. Apparently neither your boss nor you can estimate the time required to do these tasks. Honestly I think you should suggest to hire an expert – Erwan Dec 17 '18 at 13:41
  • Hi. I am a professional programmer with many years of experience now, but I started learning all by myself, and I say from experience that the best way to learn is to jump right at the hardest problems, so this may be a great opportunity for you to became an excellent programmer, if you are willing to study and go deep into the concepts you will need for the job. As others have said, your employer's expectations sounds unrealistic, and you will probably have to deal with it, but maybe you shouldn't let the task overwhelm you, either, and tackle it coldly and methodically. – lvella Dec 17 '18 at 15:00
6

I think basically you need to readjust their expectations. I wasn't at your interview so I don't know if you over promised or their expectations are unrealistic but considering they have no other developers and expect a new developer to get into complex topics like AI straight away it sounds like there are unrealistic expectations going on here.

What I would do is look through the projects they want you to do. Break down the projects as much as you can and identify the work that you can do, the work that you can do with some study/growth and the work that is wildly unrealistic. Estimate how long it will take to do each task. See if you can come up with alternatives for the more unrealistic tasks. Maybe some features can be done later, maybe they don't need them for years.

Finally you need to sit down and have a frank meeting. If you were honest in the interview it should make this easier, remind them you did not say you had the skill set for these tasks but you need to realign their expectations. You need to tell them what is unrealistic for you to do. You need to let them know how long the other task will take and you need to let them know what is realistic and what they can hope for.

If they are reasonable and just naive about the development process they will listen and readjust their expectations. But you should be prepared for them to not like that they hear but it will become obvious that you are out of your dept eventually its better for you to handle it this way at the outset.

Readjusting expectations is something freelancers have to do quite often maybe you can find something online about the exact details on how to have the conversation.

4

It sounds like you're being given work that's outside of your comfort zone and at the same time being given strict deadlines.

I've been in the same situation as a junior dev so I think it's common in the industry and not necessarily startup specific.

The only way around it, I think, is communication. It's classic managing expectations territory

  • Give pre-warning: When you're given a new task outside of your comfort zone make it clear that you'll try but may have problems because you have no experience with X. You're junior, not an experienced contractor, so this is totally acceptable.

  • Fail Fast: Half way through the task, give people warning if you are behind schedule and might not finish in time. Fail fast so that your team can adjust and pivot.

  • Inform Management (maybe): If this keeps happening and the tasks are consistently way out of your comfort zone (too far out to pick things up through on-job training) then consider pulling a member of management aside (project manager, Dev team lead) and explaining to them in a meeting that you think the role you have been assigned requires someone with more experience. It's not personal, it's about the role the project requires not your performance. They may be expecting you to learn things on-the-job so only do this if you are consistently missing deadlines.

The point is that it's ok to fail or be stuck. As long as you make your position clear to the rest of the team then there should be no hard feelings. You have the protection of the "junior" bubble. However, If you wait until deadline-day to tell people that you're struggling with the task then people will hold it against you.

When I was in this position I had to cut-corners to meet deadlines and then spend my personal time going back and correcting/patching things that I had done wrong, learning in the process. Eventually, I didn't have to spend my personal time programming because I had learnt enough to do it right the first time.

This stuff is HARD. I wasn't able to build the confidence to follow the above advice until 2 years in industry just because I was nervous, I didn't want to admit that I couldn't do something. So don't beat yourself up if you don't master it immediately.

  • I like this answer a lot. I do this all the time. When I'm given a task outside my ability / experience I immediately let the person assigning know. So they hand my something I've never done I say "I've never done it, but I'll get on it. But I can't promise it'll be fast." and then I jump into it. Once I get a sense of the scope and complexity I usually get back to the person and say "Ok, I understand what this entails, it shouldn't be too tough but it's gonna take time." or "This is really complex, it's going to take a LOT of time." It's not always ideal but it's the way to go. – ShinEmperor Dec 17 '18 at 13:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.