I started my first job as a web developer a bit over an year ago, and I think it is time for a change. I am a bit uncomfortable about leaving after such a short period and how that would look in my cv, so I am thinking I have to carefully consider my next choice and not find myself in this situation one or two years from now.
So, basically, my question is: how do I find the perfect job for me?
But I feel I should give you more details:
On the plus side, I love that my team finds best practices important and that we do a lot of automated testing. Less interesting is that there's not a lot of documentation and many times I need to ask things that otherwise I should be able to just find the answers to by reading (i think). And while asking is verbally encouraged, in practice it always feels like you are bothering that person.
So I would a new job that focuses more on algorithms and solving logical problems.
Of course, now that my experience in the past year was mostly aimed at front-end, I am afraid of what I will say that I know in a job interview, that would be relevant for a job that doesn't imply front-end work. I would even go as far as say that I would prefer not working in web development all together. But I am really clueless about what kind of job would be best for me. So this is my first question, or part of the question.
We are very business oriented and focused on marketing and customers. We are building pretty expensive online stores for big companies. I would like to do something more meaningful to me. Something that would actually help people or make the world a better place or bring some progress to science. I am not pretending to be that smart and able to change the world on my own, but I would like to be a small small humble part of something that does. I keep on watching job search websites and I saw an add for a position in traffic control algorithms, that sounded really great, fun, challenging and surely more satisfying then what I do now, but it was early in my current job and of course my fear kinked in with questions like "am I good enough for that?".
So, this is my second question: what fields should I look into, what would be the job titles that I search and how could I prepare myself to do good in such jobs?
Maybe a bit less important then the above, but I noticed the people you work with can also make the difference between being excited to go to work and not wanting to get out of bed in the morning. I have to say that sadly I have been having some troubles fitting in. Many people at my job are young extroverts who like to party and have drinking contests and whatever. I don't really like to drink. I am more of the give me a good book and let me be or let's have a nice one-on-one deeper conversation over a nice cup of coffee. I never expected to make BFF's at work, but I also didn't expect to feel like high-school all over again, with little groups of people knowing each other and not letting others in or people who wouldn't bother to add an "What about you?" after answering the How was your weekend question. Of course, I am not saying I am not a bit socially awkward and having troubles fitting in and I am working on that. But it feels like this place is really not a cultural fit for me and it can not be 100% my fault cause I didn't have this problem in collage for example.
So the third part of my question would be how to find out about the company culture and work environment before I jump in?
I know I gave a lot of details and that it is a lot to ask, but I am really lost here and don't know what to do, so I would really really appreciate your help.
Looking for job or staying is something you will have to decide eventually.
From your post, it boils down to people, projects and company culture. Which one is more important?
Projects: are they a) challenging, b) something to learn, c) technology/library/framework exposure, etc
People: are they a) willing to teach/mentor/help, b) friendly/easy to get along, c) team-oriented or one-man-band (depend of project) etc
Culture: management style, follow standards, etc
As for you wanting to work in "back-end", which can mean a lot of things. From a front-end perspective, back-end can mean web services, business logic, database stuff, app server stuff and such. Another perspective can mean legacy systems like mainframe or AS400.