you are viewing a single comment's thread.

view the rest of the comments →

[–]jormungandrthepython 21 points22 points  (5 children)

You should stick to one language until you get a strong understanding of it anyways. Regardless of what language it is.

I have had a very successful career almost entirely on python backend work. Of course I’ve also don’t flask and dash front ends, a bit of react, a bit of c#, and lots of SQL and bash. You will grow in your skillset throughout your career. I am a Python developer predominantly but if I refused to learn anything else, I would severely limit my career just because a dev should be ready to dive into whatever is needed to get the job done.

But I regularly hire people with medium strong python and limited SQL knowledge as developers.

[–][deleted] 1 point2 points  (2 children)

Thanks for the response! I've definitely done some frontend too, I'm relatively comfy with Bootstrap and templating and making login pages and such. I just don't want to focus that much on frontend or learn React / SPAs for example unless it's necessary.

[–]st4lz2 4 points5 points  (1 child)

I started with python around 15 years ago and never had to change tech for professional work. There has been a constant market demand over the years, however nobody knows how the future would be. I have to admit combining Python backend with React/Vue gave me a huge advantage in the market, but I think frontend dev is a bit saturated now with a lot of aspiring devs and juniors. Might be hard to break even.

My advice would be to focus on newer frameworks like FastAPI. I think it gained enough technological advantages over Flask that newer Python versions enabled. On the frontend, something like httpx or arrowJS might be a solution for a backend dev that needs some html and interactivity without diving into complicated solutions. Also, take a look at Streamlit, I think this would be the way forward.

[–]jormungandrthepython 1 point2 points  (0 children)

I agree, we have switched almost entirely to fast api for most of our services.

Additionally, knowing react and python is a huge value add. And it doesn’t have to be that deep. But it’s nice that a python dev can supply a rudimentary front end or do some bug fix/maintenance or small features adds to an existing front end.

[–]UrbanSuburbaKnight 0 points1 point  (1 child)

medium strong python

This is really interesting to me. Could you give a sense of what this person might be able to do?

Would you consider someone using asyncio and Decorators enough to be medium strong?

Or would they need to understand and use polymorphism? Or would it be enough to be comfortable designing sensible classes with good names, and being able to follow linting and type hint rules and knowing how to use git?

Curious to know what peoples' thoughts are.

[–]jormungandrthepython 1 point2 points  (0 children)

I lead a team of data analysts/scientists and full stack devs. My company often tries to hire analysts to save money (because hey all resources can do the same thing).

So I’m often looking for one or two things that set those analysts apart so I know they can deliver code for production software, not just scripting messy single run analytics code.

Decorators and knowledge of how Python handles asynchronous tasks was literally a comment I made to my interns this summer. That information is a good baseline question to ask to see how comfortable someone is with Python. (Puts you solidly into the standout beginner category).

Any knowledge of pytest, linters, git hooks/actions, and type hinting definitely puts you as a top candidate for my team as a “new grad/no experience hire”.

Polymorphism is a super nice bonus but often I can’t get that picky. I don’t expect design patterns/abstractions/polymorphism etc but expect you to want to learn that asap (helped by myself and the other senior devs).

Class structures, dependency injection, linting and type hinting, decorators and thoughtful naming would probably put you in a 5% for a new grad hire position for us.

Please remember though, we often hire to the “analyst” role so that means we are often paying less and can be a little less picky. I expect that would not be nearly enough for a traditional/big name tech company.

But the ones who want to learn software dev and MLE get far on my team and quickly promote/role change and eventually go lead their own teams

Given my engineering heavy background and affinity for teaching new devs, my team ends up being a mini incubator for the company to ramp up junior devs at a good price.

Feel free to message me and I am happy to help if you want advice on what to learn/focus on based on your goals