Ask HN: Where are all the programming jobs?
I am getting frustrated. I have a really good job at the moment. I am a software engineer for the new york stock exchange. I am seeking something in the USA which would allow me to relocate with a H1B to live and work in America. Finding potential employers isn't so hard. But finding something which actually fits under the topic of programming and not glorified web development is much, much harder. Every time I see a challenge these days as part of a job interview process, I end up having to go off and write something in rails, asp.net or even PHP. Where in the world are all the C / C++ and Java roles that used to be available in America? It has gotten so bad that there are literally thousands of employers moving to Europe to in order to get hold of programmers who develop code for these native languages. There has to still be some employers who wish to hire for these roles IN America, I just can't seem to find them anywhere is all. Does anybody know where I can find such employers?
71 comments
[ 5.7 ms ] story [ 160 ms ] threadWell, there's your problem. HN consists mostly of web developers/startups.
Maybe you have too much experience in the other roles, and your pay grade experience level corresponds to glorified web development?
You should apply to Goldman Sachs who are a Java shop. I think the Chicago CME group also does C++. An enumerable number of hedge funds do C++.
That being said, showing an interest in Java is an almost immediate disqualification. You need to be able to answer questions such as how to vectorize a loop, structure of a makefile, how to build a cache, what is thunk, pthreads, and sometimes you may need to be aware of BLAS. During an interview I was asked 'who mom likes'. Off-course my mom likes me!
Even many of these will have a web component to it, because... there's a lot of business processes moving to the web as a delivery mechanism.
Funny you consider Java as a 'native' language. To the extent some of those jobs may be being done outside of the US, it might be for economic reasons - senior level C developers may be too expensive in the US to have lots of them. I suspect, however, it's more a case of not having enough for them to do relative to software higher up the stack.
You're living in a bubble working at the NYSE; few employers have needs that are time-sensitive enough to be measured in microseconds, nor do most employers have billions of dollars being exchanged every second.
I'm not really in a bubble, I don't really need to focus on low latency development in my next role, I just happen to be in that role at the minute.
Thanks for the link, I will check that out now.
You're 'not in a bubble' the same way that 90% of the startup scene living in SF is 'not in a bubble' either :)
Im sure nature+culture+education also have a hard time to produce this sort of profile.. so the market have to fit, to get its work done (spending more in hardware to compensate maybe?)..
But as a contradictory example, see facebook.. started with the easy (and spaguetti) PHP.. and now that things get really complicated.. they have to turn out to C++
You dont see this sort of infrastructure problem on google, that has started with c++ right away..
And also twitter, started with ruby, and ended on Scala (im sure it cost a lot to buy the ammount of memory JVM requires, but is pretty fast)
But of course, the majority of jobs come from mid to small sized shops.. (and startups) that like their precedents before them.. are starting the easy and productive way.. with things like node.js .. nothing against that , but if they get really big as the examples i´ve gave, they will start to feel the heat :)
Not true, I can think of several areas where latency and performance matter:
1) Graphics firmware 2) Audio/Video Real-Time transcoding, transformation etc. 3) Mobile 4) Wireless/Networking Gear etc.
I've personally written systems that have to respond in 10ms to 3.5 Billion queries with 45k qps spikes.. They're are lots of places performance matters.
http://www.panix.com/~melling/nyc/#jobs
http://nytm.org/made-in-nyc
There are companies on each list missing from the other.
Let me try hard to add something of value while also saying "contact me, my customers are hiring high-scale, low-latency, C coders by the dozens". :)
I started coding in C 30 years ago when we had machines with 768k of memory and processors that have less power then the cpu in the elevator in my building.
I have a theory that as cpu power, ram and other resources have scaled to amazing levels more and more problems can be solved with higher level languages without the need to eek every single cpu cycle or byte of ram out.
I think it's perfectly fine to approach many problems with PHP, ASP.NET, Python or any number of solutions as long as the problem is solved in a way that meets the requirements. Not every problem needs to handle millions of queries per second at the lowest latency and best cost possible. The speed from "problem" to "solution" can be many times faster offsetting the potential cost of running a couple extra servers to soak up the inefficiencies of the system.That said in my field of work we see 40 Billion transactions daily with Million query per second spikes. In that world you can't afford to deploy 10,000 servers running a nice django server. You need to dive deeper and deeper, ending up with front-line servers written in C and optimizing with non-locking data structures and sweating over memory fences and cache lines. This however is a rare slice of the total problem set that programmers have to face every day.
IMHO it's the power curve of cpu power and resource availability that creates a wider and wider gap between low level, low latency, high scale programmers and many programmers who "get stuff done" perfectly fine every day of the week.
I have posted before on HN about the strange patterns that are emerging around the shift to "post-desktop" era, and this trend is also another topic of interest to me. I have to wonder as Moore's law levels out who will be contributing to solutions solved with 1,000's of cores on a chip and all the problems associated with adapting problems to massively parallel architectures.
I guess my answer is: Look harder, there are lots of low-level, high-scale jobs out there.
I'm in New York.
And my clients are Start-ups.
:-)
EDIT: And I AM NOT A RECRUITER.. :-)
I look forward to hearing from you.
I prefer a message, if we get to know each other and find value in our connection I will link you later. :)
I get recruiters who will blind link me and I always respond back without linking them until I know who they are and if I want them in "my" network.
I try harder in Linked In to keep a good network not like facebook where random people I barely know are friends with me.. :-)
Ontopic: programmers (good ones especially) are scarce they say and yet the market seems overcrowded. I'm not looking but have plenty of friends who are (not on location though, but they are very reliable, high quality and work hard) and they are having a very hard time here in the EU.
You could get upgrades to get them to 768k.
http://www.radioshackcatalogs.com/html/catalogs_extra/1984_r...
I was so sad when I found this out.. I could boot the machine but could not login to the console. It sat there waiting for me to type Control-D to go to multi-user mode.. And tears sort of welled up in my eyes as I hit the power button..
I love the days we live in, they seem like a dream from the days when I started in computers. But once in a while I wish I could visit those earlier days.
Sort of like a High School jock who's a security guard now and wants to revisit his High School "Glory Days".
Except I am still in my "Glory Days" and enjoying every minute of it.. :)
But I still often long for those simpler days when thinking about how many k Bytes I would allocate to solve a problem would cause swapping on the machine and how to avoid it.. ;-)
But technology like life progresses on and we must adapt or die.. Me I choose to adapt.. while thinking fondly sometimes about the simpler times.. ;-)
The C compilers for the PC back then had different memory models (small, large, huge, etc.) that would make tradeoffs between code size and the size of the address space you could use.
http://www.kpcb.com/careers
If you want a big company, Google and Yahoo use a lot of C++ and Java.
My last two groups at Yahoo, before leaving for a startup, were C++ and Java.
Good luck in your quest!
I work developing applications in the engineering and CAD/CAM space for which we need engineers who understand vector maths and 3D geometry, memory/processing tradeoffs, multi-threading, C++ (for low-level and cross-platform components) and most importantly the ability to think in terms of systems and complex interactions between sub-systems.
I don't see this changing, yet the number of developers on the market in these sorts of roles is decreasing (especially at entry level) and the cost of employing those remaining seems to be increasing significantly.
I don't know why you don't consider web development a 'programming' job. My favorite language is C and I develop in it for my own projects, but I've had just as much challenging work in designing PHP applications.
I've interviewed at several startups that had very difficult and interesting challenges -- and working in Java, Hadoop, etc. So I either don't understand what your real problem is, or you aren't looking hard enough.
Also you might consider mobile development, as Java/C++ can still be quite heavy there -- although, things seem to be moving towards multi-platform frameworks such as Adobe Air / Corona / PhoneGap etc.
Not to put words in the OP’s mouth, but I for one find that web development usually involves software engineering challenges more than programming ones. By that I mean that you don’t necessarily get to solve interesting technical problems, though there are certainly plenty of architectural and process problems to solve.
Some people, myself included, feel much more engaged when there’s something hard to figure out, rather than when there’s just a lot of effort to be put in. It all depends on what you like to do and what feels legitimate to you.
While the startup scene in Chicago is not quite what it is on the west coast, there is some of that in place. Lots of former startups like 37signals, Groupon, kCura. And don't forget my buddies over at matasano for top technological challenges.
As for the startup scene, I agree it is not the west coast, however you are selling Chicago short. We have 1871, Lightbank, Sandbox, Excelerate, etc.
We're always hiring. The Chrome team does lots of C++. The Android team does lots of Java. I believe the docs backend and the g+ backend are mostly Java though I've never seen them. I'm sure other teams use Java and C++ as well.
They have offices in NYC. No need to relocate ;-)
For tips see http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...
I am employed now, but still slightly miffed.
[0] About a dozen technical and non-technical phone interviews all told, between Google, YouTube, and a couple of Google Ventures companies.
http://jobs.vmware.com/go/engineering-jobs/210703/
You are probably looking in the wrong places. There are plenty of C++/C/x86 jobs both in new york and elsewhere. A few places to look are in quantitative finance (especially low latency trading), gaming (companies like id software are pushing the line), hardware (nvidia etc hire lots of low level programmers) and engineering (there are still fortran jobs available)
also: you should put your email in your profile ...
http://bats.com/about/careers/
just note that sponsoring an H1B is a complicated and at least reasonably costly and ask yourself, who is going to be willing to do that? Probably a more established company vs a startup, so checkout crunchbase for Series C funding and checkout the large software companies based in silicon valley.
otherwise just do the normal stuff check SF craigslist to start, dice.com and find speciality boards in your areas of interest (e.g. kdnuggets board for ML)
Care to elaborate? How did you arrive to this conclusion?
(edit) Also, I would guess that you are partial to the outsourced development domain. That would explain why you see things that way.
That said, if you're interested in staying in the financial industry, I'd suggest looking here, particularly if your interested in trading algorithms: http://jobs.efinancialcareers.com The finance industry has demand for Java and C, and I imagine that they would be more able to support your visa status, although I haven't had experience with that myself. As soon as I posted my resume here, I started getting calls. They will love the fact that you're resume says NYSE on it, even if you didn't go anywhere near trading code.