HR depts have more flexibility on hiring than raises. Bay Area salaries are really that high. However, the standards for hiring are much higher out here. Interviewers out here can really smell your actual ability; BS that would work to get you a job on the East Coast doesn't fly out here. So the salaries are higher, but the standards for hiring are also that much higher.
If you are that good at programming, come to the Bay Area and you'll find a job. There are always people hiring I think part of it is Portland -- Anecdotal, but I know a large number of people in the area who are relatively good at dev and used to work for HP or another local company and are now unemployed or underemployed and have a house that's severely underwater. A few Seattle companies I know of have hired portland telecommuters because they've had trouble finding good talent up here.
I have no idea how much that is happening outside of my experience. So, anything more than that you'd actually be earning more in relative terms. If you feel like that is too low, I suggest targeting companies that value your skills at a higher rate. Also, tech companies or companies started by or run by tech people may pay at a higher rate because they know the value of the skills and want to attract and invest in top quality employees. You have breadth pretty well covered. I commend you on that! But I only saw exercises from the first 3 exercises in Chapter 1, dated from about two weeks ago.
Maybe you do know Scheme really well it could be that you simply haven't uploaded them, or I couldn't find it while Googling you. But the impression I got of the seven projects which you uploaded to Github, was that you're a bit of a dilettante. You've started a lot of projects, enough to upload them to github or fork them so you would have your own repo on github Your resume also shows that at different jobs you've had to use many different languages and technologies. This is not unusual, but what you need to do is to find a way to make yourself become a top-notch expert in one or two areas.
Breadth is good, and you'll get some points for that. But if you go and compete to get a job at companies like Amazon, Facebook, Google, who want to accept only the very best, you'll need one or two areas where you are quite deep in your expertise. While there's a lot of Malcolm Gladwell's work that I don't really agree with, his claim from his book Outliers that 10, hours 5 years of full-time sustained effort is what it takes to become an expert in a field sounds right to me.
Focus is key. As long as you would be at least open to accepting a job offer, it's fair game to try getting an interview at companies like Intel, Facebook, Amazon, Google, etc. Most of them will ask you to code on a whiteboard. Getting good at that is a skill like any other. So practice is good. Based on the questions that they ask you, it might also help to calibrate yourself about how good you really are.
The other thing I'd suggest is that you try examining what languages and technologies these companies are most interested in, and then use that as a filter to the languages and technologies which really interest you. For example, it looks like you are at least half-way decent at being a Java programmer. OK, that's pretty marketable. And I don't mean forking a ML code base and then making a few changes; if you're not going to start from scratch, you should have at least created a significant module or plug-in from scratch, and then make sure it's clear what is yours and what you grabbed from elsewhere.
the it contracting career secret your shortcut to a better job Manual
Thank you for your feedback. I appreciate it. All of my projects on GitHub are new projects that I've started recently within the last few weeks as an effort to actually have something presentable, so everything on there is a work in progress. And many of them are assignments for coursework which is why there's so many languages in use.
SICP is my current side project, but having four main projects to work on eats up a large portion of my time unfortunately.
How Generation Z Finds a Job
Let me echo what tytso said. At places I've interviewed and at places I've hired I think there is an expectation that there is at least one language that you know really really well. So my recommendation is you need to have at least one tech stack -- and I'd avoid.
- The Dos And Donts of Divorce-How to Keep Your Sanity, Protect Your Children & Live in Peace!
- The Golden Eagle Supremacy, Sands of Time?
- Managing Employee Performance (Cultural Human Resources Management Tools Book 5).
Earl's on target here. I assumed that anyone who spent five years in an area would inevitably get to that point, but upon further reflection, it takes five years plus a passion for excellence and not being satisfied with "good enough". And that's something else companies look for they want 'A' players that are always looking to see how they can improve themselves, their environment, and help improve the people around them. The good news is that in my experience there are many people who have come out of the military do have that ethos.
So although I don't know you Joshua beyond looking at your electronic presence, I think you have a pretty good shot at becoming a world class expert. I definitely would encourage you to go for it! I agree with some of what you said here, and maybe i have misunderstood what you're trying to convey, but allow me this little rant here Some of it seems excessive. I've been developing in C and Java for 11 years now.
I have yet to need to know or discuss failure modes of the GC by heart, how to detect them and work around them by heart, how the JVM team did generics and possible alternatives, nor to know keyboard shortcuts by heart. I have however come across these things in my career and had to takle them. Guess what I did? Then I got back to writing code, what my job soley exists for. It seems absurd that any company would require these things.
If I was interviewed at a company asking me to talk about these things in the interview, I would walk out simply because I would feel it was completely irrelevant to how good of a software engineer I am. Things like memory use, basic algorithms, what design patterns are, collections, code quality, software development life cycle, unit testing, general coding problems, maybe some things about hibernate if you use it , basic database knowledge, their favorite language and why and let's not forget overall personality and how they will fit into your team are far more important areas to cover.
Not some obscure questions that will be used maybe once in your lifetime or on extremely rare occasions at the new job that can also be looked up on google when you need an answer for that rare occasion. I even shutter when I think about design patterns being discussed because they're so over used and bad developers focus way too much on putting well known ones into their code base even when it may not be called for and just create so much more bloat for no good reason other than to feel like they're smart.
An understanding of design patterns is great, but forcing people to describe any of them but the well known basics is just dumb. The interviews my team gives exist around these things and I can honestly say we have yet to hire someone that didn't know their stuff very well and fit into the team nicely from the start. I have only been without a job for a max of 3 months when I was laid off once and I have job hopped a lot, especially in my early career which, there is a dirty secret there That's how you make more money when you're staring off!
I have walked out in the middle of interviews before when it was clear that the person was asking obscure questions just to feel superior. I don't want to work with people like that Interviewers need to focus more on asking questions that software engineers face on a daily basis and less on odd and obscure things that can easily be researched in a short amount of time online when and if the problem ever presents itself.
I apologize if I got off topic or missed your point entirely. I was just having a conversation with someone about this very thing and it seemed relevant based on what I read.
- 6 Steps to Becoming a Freelance Web Developer;
- Atlas of Diabetes!
- ‘It’s great to see someone grow and excel in their new job when you're still working with them’.
- More cable and internet installers are independent contractors, and the hours and wages are brutal.!
I have yet to need to know or discuss failure modes of the GC by heart, how to detect them and work around them by heart Knowing - and having experience of - the failure modes of your platform is one of those things that is invaluable. Knowledge of GC issues in the JVM is something that indicates a you've worked on applications that tax the JVM, and b you are the person who people turn to when the shit hits the fan.
Sure, Googling will help here, but you need to have a pretty good understanding of the problem space in order to understand what to Google for. For example, how do you get from "the application is slow" to a query for "sizing the New Generation in the JVM garbage collector" unless you already know when to suspect GC issues, how to use jvmstat etc etc? Well, obviously not everybody knows everything and if you're a great candidate but you've never had gc issues with the jvm, any good interviewer will shrug and move on.
Also, and I hope this was obvious, but my comments were directed at experienced engineers and new grads are graded differently. But knowing basic data structures? That's doesn't make a good candidate, that's a low bar of a prerequisite. And if you haven't put the effort in to learn at least one editor -- and I don't care of it's vim, emacs, eclipse, visual studio, intellij, etc -- really well, I'll give you a thumbs down.
Saying you hate them and giving a good reason I agree is fine. But you ought to know what some of the common ones are. There are lots of different designs for generics, with different strengths and limitations, and I would be surprised if a great candidate hadn't been exposed to more than one design and spent some thought or an afternoon reading language blogs. Etc etc for gc. And my description above is what it takes if you want me to go over to the vp of engineering or cto and say do whatever it takes to hire this person.
For someone just out of grad school? Let's say you're going to the store to get milk.
Assistant Secretary White Lays Out Plans for Contracting, Regulatory Reform at Radwaste
Either milk will be on sale or milk will not be on sale. We've covered the universe with our proposition. Nevertheless, the presence of two options is irrelevant to their respective probabilities.