8

I am new to Python, but have experience in other technologies like NodeJS ,PHP and Cloud Services of AWS. Recently we got a project requiring Python + AWS.

I have experience in AWS, having worked with some of its services for 1 year (total exp - 3+ years). But I didn't have experience or even knowledge in Python. I started learning Python, and completed my learning, in less than 20 days. But, I was sure that I still wouldn't be able to handle complex Python scripts, and I maybe wouldn't have been able to cater to immediate client requirements requiring large Python scripts. My manager knows that I am new to Python.

When my manager used to call me, he would explain client requirements related to Python and AWS. The services that are required in AWS are more or less new to almost everyone working in our project, so I had to do proper research to get a good grasp of it. Regarding Python, I could write some easy scripts, but occasionally stutter. I wasn't as confident in proposing Python solutions (like code to connect to a service, or code to manipulate data that is being read from a file), as I was in proposing AWS solutions (the best ways to do the task required in the project, using proper AWS services).

I think that my manager got this sense and asked me to look for Python references (if any know any) and ask them to join this project. He told that he and I would collaborate on the work and help each other.

Now, I like to learn a lot in new projects, so, when this new project was announced, I lost my sleep for a few days with excitement. However, I am scared that, with the onboarding of a new Python resource, I may not only lose my learning curve. Due to the uncertain market conditions, I am also afraid that this is a signal that I may lose my job. I am not the lead of the project. The manager occasionally asks us to propose solutions or ideas.

Should I tell my manager that I can handle the Python part as well, or should I let him hire someone with Python experience?

1

7 Answers 7

37

The way I read it, your manager mentioned (I quote you)

....He told that he and I would collaborate on the work and help each other.

That means, he expects both of you will co-exist in the project.

If you have sufficient reasons to not to trust your manager, maybe you need to find a new manager.

29

You've explained to us here that you're not confident in your abilities with Python, and that your manager also knows.

It would be better for you to be in a support role and let someone else take the lead on this project. A short Python course isn't going to expose you to platform complexities and proper tool selection. If you were doing maintenance on an existing project, it would make sense for your manager to put you in to do the work. But having you lead on a Python project -- and you didn't mention if any others in your shop are using Python -- runs the risk of endangering the project by either turning over a poor quality product, or missing important deadlines.

Don't take your manager's behaviors personally. You're not ready for THIS Python project, but there may be others. Start small.

5
  • I am not the lead of the project. The lead is someone else. My manager sometimes connect with us directly, and ask us our opinions.
    – Asish
    Sep 20, 2023 at 12:22
  • 9
    @Asish While that is good context, it doesn't take away from the point of Xavier J's answer - which is that you don't sound ready to contribute to this project to the level that your manager needs you to, and bluffing your way through it will endanger the project. Working with someone else on the Python tasks sounds like a great way for you to learn and get up to speed on this language while not putting the success and reputation of your company at risk.
    – InBedded16
    Sep 20, 2023 at 14:07
  • @InBedded16 My manager already knew that I do not know Python. Had I been lying, then I would have been in trouble. But, nope. My manager also had asked my previous managers within the company, about me and received positive response (which is the reason, he took me in on the new project).
    – Asish
    Sep 20, 2023 at 16:03
  • So, Xavier's answer is somewhat not applicable in my case.
    – Asish
    Sep 20, 2023 at 16:04
  • 2
    @Asish do you believe you were expected to somehow manifest the ability to write a quality Python-centric solution without any help besides books? If so, is the fact that you have not yet done this likely to endanger your job? It sounds like your manager wants you and someone else, so that you can be the AWS expert and they can be the Python expert. Speaking from experience, it's easy to pick up the basics of a language, but much harder to do an entire project without someone who's already familiar with the language in question. Sep 21, 2023 at 20:30
14

Builders, plumbers and electricians do the obvious work in causing a house to exist. But there's no house without the architectural work, and there will be no house if the site is unsuitable and the foundations collapse, or if nobody got proper planning permission and the house has to be torn down.

If you have a good grasp of programming, and have a good grasp of how AWS works, you can do high-level conceptual work on the project. I'm a fairly experienced Python developer (less so these days), and I'd be floundering, doing an hour's work a week and barely touching the keyboard, if I had to work with AWS. (… Again, that is.) Bad programming decisions can usually be fixed with a few iterative refactors, but bad architectural decisions are much harder to do something about. Don't sell yourself, or your skills, short.

It'd be great if you picked up more Python. One of the best ways to do that is to learn from someone who's good at Python, while working together on a project. (Just imagine if you had that opportunity!) Do code review. Find some components off the critical path, or on the AWS side of things, that you can work on. Maybe even try pair programming on some of the core / tricky parts: this is practically ideal circumstances for it. And make sure you teach as much as you learn: you don't have to become domain experts, but you should both know this project inside out. You won't be making all the decisions, but you should understand all the important ones. (And make sure they're documented!)

Even if you end up “just” providing AWS knowledge and writing documentation, you'll have contributed meaningfully and significantly to the project. If you’ll get fired at the end of the project (which I see no evidence for in your question), I doubt the choice of hiring an additional expert will make much of a difference. Imo, you'd be a fool to pass up this opportunity to learn from a fellow competent.

Perhaps more importantly, lying about your ability is not a good idea: if you think you're not a Python expert yet, don't try to pass yourself off as one. That's not the path to job security.

1
  • 1
    That is a wonderful positive insight. Thanks for helping
    – Asish
    Sep 21, 2023 at 5:16
11

I am also afraid that this is a signal that I may lose my job.

If that's the case, then you should be tuning up your resume and starting the search for your next job, rather than trying to tell your manager not to hire someone.

5

I'm a manager on a small team where I also do software development work.

Looking at this from a perspective of a manager, I would do something like this to help level up someone on my team. I find it useful to pair someone who is weak in a skill with someone who is strong in a skill. Collaboration between the two will help expose the person with a weak skill to new concepts and help them grow a lot faster than they would have on their own.

Looking at this from a perspective of a software developer, I'd be really excited about this opportunity. I would get a chance to learn a lot from someone who has a lot stronger skills than I do, and even though there will be a period of discomfort, I'll likely emerge from it a stronger developer.

If I have the opportunity, I like pairing myself with someone who's stronger in whatever we're working on: I always learn a lot from the experience.

So I advise not fearing this situation, but looking this as an opportunity to grow quickly and make the most of it. Your manager will be impressed if you quickly learn and adapt.

1
  • I second this. Doing this right now on my time and it’s working great for all.
    – bob
    Sep 23, 2023 at 3:04
2

The most important thing is to find someone you can work with.

Your manager is not only trusting you to work in an unfamiliar language they are trusting you to pick your team mate. Rather than let your language insecurities overwhelm you take note of how much trust has been put in you.

A personality conflict could sink you here so much worse than forgetting that python doesn't use semicolons to terminate statements. So brush up on your interviewing skills and start looking for someone you can work with.

-5

Been there done that. It's likely the new engineer will end up being your replacement. Once your manager sees your new teammate taking the lead and dominating demos of the project you two are working on, he'll feel the company don't need you anymore and they can downsize to save money. Everytime your new colleague recommends a python solution, the worse you look in your manager's eyes.

should I let him hire someone with Python experience ?

Your manager decides whether or not to hire, that decision is not upto you. My advice is to start brushing up your CV and interviewing because it might not happen in a few weeks or a month, but 6 months or a year from now your manager will feel that the Python expert can replace you.

It's sneaky I know but when you've seen the same thing happen you can see it coming from a mile away.

3
  • 4
    OP is doing NodeJS and PHP. If there's still work on these platforms, then new Python person isn't replacing OP.
    – Xavier J
    Sep 20, 2023 at 14:27
  • 4
    -1 and way too cynical. Competent developers are not as common as people think. If the manager seen OP successfully complete projects, that is already an extremely valuable track record that cannot be easily replaced without $$$$$.
    – Nelson
    Sep 21, 2023 at 1:29
  • The downvotes are all wrong here. This is totally correct.
    – Fattie
    Sep 22, 2023 at 14:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .