Hi folks, it's time for me to look for new jobs but I've realized that I've been constantly following an "expert beginner path". I'm pretty lost about what to do next so I need your help.<p>I've always worked at small places that needed a programmer to create small projects, some years ago I worked at a startup with no success and the last six years I've been working as the sole developer of a non profit.<p>I've built projects using Machine Learning, NLP, Computer Vision, scraping libraries, Lucene based search engines, WordPress and more but they were all small projects, like the ones you can find on a "basic tutorial blog post". I've never need to structure the code in a scalable way because no one but me will see the code and also because it doesn't made sense to invest time to build scalable and readable code for such small projects.<p>That's why I consider myself an expert beginner, I'm able to get code to run and I've never got to the stage of not knowing how to solve a technical problem, but I don't know about good practices, how to approach scalability, how to work on big projects.<p>I don't know what to do really, I thought about reading open source projects (Python is the language I know the most), advanced Python programming books (fluent python, effective python) and scalability books (designing data intensive applications), but I don't know if by reading those materials I'd become a "senior programmer" without working with other people.<p>Another way maybe is to look for junior roles but I'm 33 now and with 10 years of experience it'll seem weird when interviewing.<p>What would you do if you were in my position?
I'd look for a mid/senior level role at a medium sized company (200-500 employees). Big enough that you'll learn how to write scalable, maintainable code, and work with a team... but small enough that the breadth of your work brings solid value to them and justifies a title that matches the number of years you have been doing this.