Forgot your password?
typodupeerror
User Journal

Journal: Employment Situation

Journal by cervo

It seems I am in a bit of a tough spot. I just got my Masters degree, but no one is interested in hiring me to be a developer because I am too experienced... Though I have done some .NET development (mostly ASP.NET pages) alongside mostly database stuff (SQL Server stored procedures/etc.) I definitely never had experienced developers giving any feedback about design...so basically there is none. But at the same time I can't be hired for Junior/Entry level jobs because I have too much experience. Also I can't afford the pay cut that some imply. At the same time I do know a more than an entry level developer, just not for a specific platform. It's tough though because though I can "know" Java, C++, Python, etc. I have 0 work experience with any (except I have used Python on some scripts...). Core Java is no problem, but Spring, Hibernate, Struts, etc. I don't know. And I can't go learning every single Java framework in a bid for a job because there are too many. Also even learning on my own, most jobs I see want 2-5 years work experience with each framework...and I have none.

What I'd really like is a job on a team with more experienced developers who can tell me my code sucks, or my code is good, and give me tips for improving the design/readability. Where I work now there is no design on .NET code, just a bunch of functions. I read about Design Patterns, Object Oriented Design, etc. but I'm not sure where they fit in. I'm reading about Domain Driven Design, but it seems like without the support of management/the customer there is no real making of a domain model and an ubiquitous language. The best companies that seem to have this are a bit of design bigots and that's okay...but they want object oriented design/domain driven design experts coming in and do not care for anyone who has not worked in such a place to become an expert.

I really despise database development. SQL stored procedures (at least on SQL Server) make me jealous of even C. Since Java and C++ (and even Python/Perl) are way more advanced than that, this is pretty pathetic. Really I think business logic in stored procedures is a horrible idea. Because when you try to wrap things in small functions that do one task, your performance suffers. In SQL Server if you cut/paste the same expression into 10 queries, they tend to run much quicker than if you wrap an expression in a UDF. Really to do things clearly it would work better if you had a program building the SQL and abstracting the expressions. Kind of like how for longer Regular Expressions you start wrapping pieces of the expression inside of functions. But in any case the other sad part is that I always liked to program since QBasic and now I seem locked out....

At least I bought a web domain so now I can fiddle around with Python/DJango and stuff and maybe someday get a job doing that through a project profile...

Still I can't help but wonder if things would be better if I moved to Seattle/California. There jobs seem to be worded more sensibly asking for general programming experience as opposed to 10 years in platform x, 5 years in frameworks y, z and 2 years experience in frameworks a, b, c, d.... In New York it seems with the way job ads are, even if you have 10 years experience in .NET then switch to Java for 2 years, then go job hunting again, you will not be able to find a Java Job easily because most Java Jobs ask for 5 years experience at least in Java plus tons of specific frameworks (either some EJB Server or Spring)....

In any case I think the most important thing is to find a team of more experienced developers and switch to working there so I can learn from them. I don't think Object Oriented design/Software Architecture is something you can learn entirely from books. I think you need to work with more experienced people and learn from them... Also people who actually care about things. Where I work now everything is a silo and no one cares if things can be done better... They just want to get stuff done, go home, and not talk about it. Even if things totally suck they don't care as long as it is done....

I'll admit I also want to leave because the place moved from NJ to NYC turning my commute from 30 minutes to 2 hours each way. But I would be willing to accept a job in NYC for the right company (although in NYC I need a much higher salary than in NJ). But I'd prefer to find a fun company doing something interested in NJ....

Also it's hard to convince anyone that they should hire me as a developer when I don't think I'm not that good. In the Masters program I was better than most of my classmates, at least in as far as getting projects done. And at my first job fresh out of college I was better than most people there whose code was even worse than mine. Unfortunately that sucked because out of college you don't know how to break apart programs or design clearly and often you get that knowledge as feedback during code reviews and bouncing ideas off of more senior people. There senior meant x years of working experience. And at the companies where senior seems to mean knows how to write/design/architect clear, correct, simple, maintainable software I can't even get a junior developer job....

CCI Power 6/40: one board, a megabyte of cache, and an attitude...

Working...