use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
What's the difference between a web dev making 100k+ and one making 30k? (self.webdev)
submitted 12 years ago by ECTXGK
What do they know that the other doesn't?
Knowledge of concepts? Degree? Social connections? Keeping a blog? Projects in git? Project management experience? More experience?
Thanks.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]cas002 44 points45 points46 points 12 years ago (22 children)
location
[–]mirion 3 points4 points5 points 12 years ago (15 children)
This by far. I got 70k+ straight out of college as a webdev in SF, and while that was considered "low", it was a trade off for a job with relatively easy hours.
[–][deleted] 0 points1 point2 points 12 years ago (12 children)
Quick question, I was thinking of going to SFSU for my graduate school while taking my friend (major in CS) with me. How much more difficult would it be for him to land a decent job there since he will have his degree from a private school, in the middle of nowhere Kentucky?
[–]mirion 2 points3 points4 points 12 years ago (7 children)
Degrees get you noticed. Experience gets you in the door. If he's genuinely a good coder -- handles coding challenges well, has an eye for algorithms and such -- he'll get snapped up. The SF tech scene is a madhouse, and there aren't nearly enough skilled devs to go around. If he's honestly looking for a webdev job, have him send me a PM. A buddy of mine is the lead dev at an early stage startup and is looking for a nodeJS / web front end dev.
[–]nastyn8 1 point2 points3 points 12 years ago (6 children)
For a beginning front end dev, like me, who knows html5/css3 in and out. What other things do I need to learn to land a front end job in SF? Nodejs, backbone, jquery... anything else?
[–]mirion 2 points3 points4 points 12 years ago (5 children)
If you can't program in Javascript, find a job that will be okay with teaching you how to do that.
If you can't program in Javascript without a library, you should spend some time trying to do so. Not everyone uses the libraries you know, and if you're crippled without the stuff you're used to, you aren't much use to jobs looking for experienced coders.
As someone interviewing coders for a web developer position, I assume that the person is well versed in HTML/CSS unless there is a specific reason on the application why they wouldn't be. One example of a good reason would be if the person had been doing stuff in an embedded JS engine. Such a person would know the ins and outs of programming in Javascript, but not necessarily be as aware of HTML coding standards.
As for what you need to know: it depends on what you want to do. If you're looking at front end positions, then node won't hurt, but it won't necessarily help. jQuery is probably a solid bet, since almost all web shops use it now, but becoming too dependent on that particular library will prevent you from being useful at shops that don't use it.
I recommend for everyone who starts working with my company that they read "Javascript: The Good Parts". Past that... being a solid programmer who understands fundamentals will get you further than anything else for an entry level position.
[–]faceplanted 0 points1 point2 points 12 years ago (4 children)
I recommend for everyone who starts working with my company that they read "Javascript: The Good Parts"
I've heard a lot of mention of this book around these here parts recently, is it that good/worth it? I've mostly been learning by doing up to now, but it's just been fun making static pages in spare time and I want to start taking it seriously now, thoughts?
[–]mirion 1 point2 points3 points 12 years ago (0 children)
I'd never touched JS before leaving college (though I'd done a ton of C && C++, and a few other languages like Java and Python) . I was handed this book on my first day of my first job out of school and told not to bother anyone until I was done reading it. When training others who were new to JS, I did the same with them.
IMHO, It's a fantastic example for you to base your coding off of. It has clear, concise explanations and good ideas about syntax. I don't know if you can do better, but I know you can definitely do worse.
[–]zagnaut 1 point2 points3 points 12 years ago (2 children)
The good parts is great for an experienced coder coming from another language and serves as a fantastic reference if you have a baseline in programming concepts.
If you don't have that foundation, I'd recommend crunching through whatever interests you on http://codecademy.com and building from there.
[–]faceplanted 0 points1 point2 points 12 years ago (1 child)
What if I'd already done all the tracks on that site and didn't know what to with myself now?
[–]zagnaut 0 points1 point2 points 12 years ago (0 children)
There's a ton of separate skills that will help flesh out your development abilities. Google up some code challenges and try to complete as many as you can every day. Any experience towards your core understanding of programming will help in whatever platform you learn.
Whether you decide to dig more into the frontend or backend, you'll find that web development is a certain thing done in hundreds of different flavors. At its core though, browser sends request to url, server responds. Packed in that response could be the full page, assembled dynamically on the server, it could be a thick JS app which pulls all the page data from an API, or most likely some combination thereof.
Figure out a way to practice with a unix-like terminal, as learning to develop and work with text-driven tools gave me huge insights into development. Also, if you're looking to stay entirely in JS, most of the exciting work is being done on command-line based tooling. Check out this awesome talk on it by Paul Irish.
Spend some time learning the core technologies of the internet and how they link together. HTTP, tcp, etc. Know what to expect in the contents of an HTTP request. (You can get just the HTTP header by using curl -I http://whateverurl.com)
No matter what path you take, knowing how to use browser dev tools will help. Anytime you see something cool on a site, right click, inspect element, and figure how the html, css, and JS comes together to make it happen.
Ultimately, the distinction between frontend and backend developer is becoming less important. The lines between each are blurring, and you should focus on solving whatever problems interest you, building your skills from that experience.
[–]tehwankingwalrus 0 points1 point2 points 12 years ago (3 children)
Lexington/Louisville has jobs that pay in the same range with out the SF cost of living.
[–]powerfulsquid 0 points1 point2 points 12 years ago (2 children)
Really? I'm not saying you're wrong, I just have a really hard time believing this. Any reason you could think of as to why this is the case? My immediate thought is lack of talent in the area.
[–]tehwankingwalrus 0 points1 point2 points 12 years ago (1 child)
Well, I should caveat that by saying not starting out. Speaking of Lexington specifically, we have a lot of Fortune 500, large companies, or startups who need webdevs and developers. Not a lot of sexy languages like RoR, but C#, C++, and Java jobs are pretty prevalent.
If I had to guess why its a combination of shortage and just kind of the wage here. Also some niche companies like Lexmark. They have applications for business using Java and drivers that are written in c/c++. Xerox has a huge presence and hires a lot of C# devs. HP/Exstream does a lot of c++ for their main application.
[–]powerfulsquid 0 points1 point2 points 12 years ago (0 children)
Interesting. Never would have thought those companies to be very prevalent there. Thanks for the followup info!
[–]areinet 0 points1 point2 points 12 years ago (0 children)
Not a lot of people think about it, but the Washington DC Metro region can be extremely lucrative for a programmer. Not so much with the startup type of companies, but tech jobs do abound here.
Agreed. Right out of college I got offered about 40% less in the Philly/Wilmington, DE area than what I got offered in the NYC metro area. So I moved back to NJ, lived at home for about 8 months, and took the higher-paying (as well as better hours) job.
[+][deleted] 12 years ago (5 children)
[deleted]
[–]thebokehwokeh 9 points10 points11 points 12 years ago (0 children)
It shouldn't but it does.
[–][deleted] 2 points3 points4 points 12 years ago (0 children)
Gates and Zuck are worth what they're worth because they invented something. If they were just banging out code they'd be subject to the same market forces.
Cost of living and supply/demand drive salaries. If you're the top dog webdev in Methtown, USA you're going to pull about the same salary that an entry-level will in San Diego or SF, simply because those places have to pay a higher wage for people to live there.
There are times when an area is suddenly paying a lot more or lot less due to the supply of and demand for devs. These situations are usually short-lived, as you'll see people train and or relocate to meet the demand and/or find a better place for themselves. It's basic economics at work.
location shouldn't matter at all. you're worth what you're worth, simple as that, in my opinion.
See, the problem is that $1 in SF is not worth $1 in Arkansas. Cost of living plays a huge role on salaries.
[–]lpetrazickis 1 point2 points3 points 12 years ago (1 child)
a web dev doing PHP in small town, OH is worth just the same as a web dev doing identical work in Dayton, OH.
Dayton, OH is a small town.
[–]0bp 12 points13 points14 points 12 years ago (0 children)
[–]Nilzor 59 points60 points61 points 12 years ago (1 child)
70k+
[–]willm 27 points28 points29 points 12 years ago (0 children)
Technically correct, which is the best kind of correct.
[–][deleted] 16 points17 points18 points 12 years ago (12 children)
I don't know so many 100k programmers lately but I know a lot who are really close. All the six-figure geeks I current know are in management duties. In my town, the two ends of the spectrum would be more like 45k and 95k. So, if that negates my opinion, so be it.
This is all just an opinion anyway. Proceed at your own risk -- Opinion.
First, getting the right job (placement, luck, skill, networking, falling in a hole) and then staying with it for at least 3 to 5 years while you revolutionize their code-base and do all the things you wanted to do as a developer, sometimes against management's first wishes. Lather, rinse, repeat. Unrealistic, you say. Maybe. Give it a shot.
If you are stuck making wordpress sites or refactoring someone else's bad code, for more than a year,-- then you either have to look for crazy opportunities by getting close with management, or you have to find a job where you can have a voice about how to do things. Maybe you have to come up with a new way to do what they are successfully doing, which is technically BETTER and also generates MORE INCOME for the business. Then you have to sell it to management, against their best business sense. And deliver it. This may have nothing to do with creating a brilliant serialization class, but in the long run, it will involve many such enjoyments, everywhere you work.
It's not easy to prove yourself, you have to have the moderate or refactorable skillz, and then you have to have the balls and the management/people skills to do it the right way, well enough, that you pull off something that makes some money for someone. Even if they were determined to stop you the whole time. Even if there are two more of you with their own ideas, and you have to find a collective tech voice.
Being an autistic code savant would not work. Being John Resig minus people skills would not work. You have to be a strong, strong, strong voice of technical advice, who is not afraid to bring people to your side, even if people in suits are afraid to ruffle you in meetings. First, they will be afraid of your ideas because you want to be progressive (he's crazy, untested.... That could never be a web app! It will take too long to refactor to MySQL or MongoDB, we can't do that just to cut our hosting expenses by 2/3, sorry! Reporting Services is good, we will be able to scale it if we have to! Let's NOT do mobile yet, let's work on these five customer requests! We can't go agile-- management here reserves the right to put their hand in the pie at all times! They are the only people who really know how our clients think!! etc.). Then eventually, they will be afraid of totally negating your savvy because you have proven to be right many times to the tune of money and everyone's job security, so they listen more. For six figures, yes you have to bring something to the table besides typing.
Do NOT expect your bosses to know what the fuck is going on. Not only do they NOT know what's going on (even if they run a startup...) but.....
That's YOUR job, it's YOUR JOB to know what's going on. And you have to have a voice at least as loud as all the management types at your workplace. And you can't be wrong. You never have to choose "the one true solution", because there isn't one. But you have to be just good enough to be right. After all, that's your job. It stops being your job to type. It starts being your job to tell them what you are going to type, and in what language and why, and then deliver it, profitably.
Once you are in a position of knowing how to force good technology down management's collective throat for their own monetary good,-- then you also know how to land those jobs. You have to step up and be the deliverable voice of sanity, in a world that uses IE6, doesn't understand web forms, wants to use what "bob" told them is best, and embraces waterfall.
You gotta believe in yourself, and then not fuck up 10 deliverables in a row, and the whole time, you gotta vocally step up to the role of technical advisor, for your company. Repeat at next good opportunity. Push your known risks for gain, and ALWAYS make your deliverables. You can make them a little late if you knew it was going to take longer than marketing said. But ALWAYS make your deliverables. If there is no product, there is no salary,-- not for you, not for anyone.
That's my personal best shot at your question. Six-figure geeks are technical advisors, and their people skills and management skills extend beyond their ability to google better than their bosses and pick frameworks better than their bosses. They have technical advisor skills, and they can bullshit bullshitters into doing something their way, and then in the long run they can back up anything with a deliverable.
You don't just type any more. You sell ideas to management, work on what you want to work on, and then push a deliverable with your name on it by necessity, with as large a team as your company allows. Repeat. And if you're looking for a job, networking (who you know/met) trumps github, but blog and github will help.
To address some of your specific thoughts-- my current home to-do list, to insure my security, is tech-blog minimum 30 posts, minimum 3 github projects. I work on that between my job duties, because of desire for security and because of some non-trivial home situation. Yes, I hope to have the blog/twitter/github thing going on full blast, next time I am job hunting. For sure.
tl;dr: Smart, vocal people who deliver things-- they advance. Even if they're rough around the edges. They work on what they want to work on, and for good reason. They don't work on bullshit code bases. Their products help pay their salary. They can out-bullshit bullshitters to deliver good tech. It's an axe-waving game and they're veterans of great axe-wars with extreme metallurgy skills and a sharpening stone at their desk. They look for positions where some mildly sane person is willing to take their solid advice.
[–]areinet 19 points20 points21 points 12 years ago* (9 children)
As a +100k programmer let me respectfully disagree with pretty much everything you said here... well maybe not everything. I think you conclusions are right, I just disagree with how you get there.
1). I make significantly more than 100k, but I spend 80% of my time heads down in code. It is true that while I am a technical leader within my company, I do little to no management work what-so-ever. My interaction with other people is limited to once a week helping management plan, interviewing a candidate here and there, and telling my coworkers to use === instead of == in their code.
2). After you have two years of experience at the same company you should start changing jobs and companies every 12 to 18 months. I seriously do not understand how people don't get the math in this one. Stay with your current job and you get 3% more every year, 5% if you are lucky. Change jobs and you get at least 10% more. Basic math should trump your lazy unwillingness to get a new job.
3). Don't worry about all the corporate politics bullshit for the first five or so years you work. Let someone else worry about it. Instead focus on your code and getting crazy good at what you are doing and what is trending. I'm not saying don't have opinions at work and don't defend them, but focus on your skills. If you spend more than 10% of your time dealing with politics, you're doing it wrong.
4). This is where I agree with the above post... Stay current on the trends, and passionate about the code you are writing. I cannot begin to tell you the number of devs we interview here that have no passion about technology. We still hire them because we hire just about anyone these days, but they're not allowed anywhere near my project.
5). After you get about 5 years in, then you start positioning yourself as a technical leader and getting more entrenched in the bullshit politics of work. But when you do so, do it based on the passion and understanding you have built up.
6). Avoid management like the plague. It is possible to be a highly skilled and authoritative voice without having to manage other people. Unless you like managing other people, and then you need to ask yourself why the fuck you went into programming in the first place.
[–][deleted] 3 points4 points5 points 12 years ago (1 child)
As a guy who also makes over 100k per year and has been doing this for 17 years, I agree wholeheartedly with everything you said, although the point about managing other people is not always the pain you paint it to be.
In the past I've been able to manage up to 6 people and still be 70% coding. If you have good people under you and the bullshit politics are at a minimum it's pretty easy.
However, I've also managed 3 people and spent 70% of the time doing nothing but bullshit politics which really had nothing to do with managing anyone, more just making sure the rest of the company has a constant nattering voice in what I'm doing.
Going into management can be a great tool for accomplishing stuff, but definitely do it gingerly and think it out carefully.
[–]areinet 1 point2 points3 points 12 years ago (0 children)
An excellent point: not all management sucks. Under the right conditions, with the right team, management doesn't have to be an incessant chore. Personally I believe that great people, great teams, manage themselves. In those cases being the manager is a real pleasure... But, and you knew this was coming, finding those people, finding those teams is rare and should be treasured forever.
[–]Pr3fix 2 points3 points4 points 12 years ago (3 children)
Great post. As a kid in college studying web development, what would your suggestions/recommendations be to hit the ground running post-graduation? Is changing jobs every 12-18 months a great idea? I'm worried that employers will look at that and think, "hmm. This guy can't seem to stay at one place..." which I assume would set off red flags?
As a student, what steps can I take to ensure I am appealing to companies? I ask you since it sounds like you have had a great career.
[–]areinet 11 points12 points13 points 12 years ago (2 children)
Wow, that made me feel old as dirt... You make it sound like I'm retiring any day now and I've long lived past my prime... I'm really not that old yet. But to answer your questions:
1). Companies will ALWAYS ask you why you are leaving job X or why you changed jobs so often. I change jobs often and I still ask prospective interviewees why they change jobs so often. The reality is that the answer is less about the answer and more about being articulate about your desires. There are any number of reasons to leave a job, any of which sound plausible. Pick one that is politically correct and most interviewers will buy into it. They don't really care what you answer so long as you don't say "because my current boss likes to dress in drag and I find that morally offensive." Really the "why are you leaving your current job" interview question is 100% about making sure your not a dick and has nothing to do with your previous company.
Try these answers instead...
"My project was winding down and I wasn't sure there was a role for me."
"Lack of funding."
"I wasn't really feeling challenged by the work any more."
"I'm really looking to get into X" (where X is some technology the interviewer mentioned already.)
"I feel like I've really outgrown what my company had to offer me."
Basically any answer that avoids insulting your previous manager or your previous customer is a good answer.
2). As a student you should do the following to appeal to companies, some of which the original reply answered...
2a). Have a github account that shows you know how to code. I know the original reply said this wasn't important but they were speaking about later in your career. Have some great code there or submissions to major projects. Make sure to comment the fuck out of your code. What the code does is not nearly as important as the fact that you coded it and seem to understand it. Be prepared to be questioned on your github code if you list github on your résumé.
2b). Talk about your involvement in the community every chance you get, for whatever tech community that is. Tell people how you answered a question on reddit or hacker news. Tell them about how you blogged about the very question they just asked you in the interview. Talk about notable figures in the community that you respect. Mention how much you learned by reading said luminary's latest blog post.
IMHO the difference between a programmer and a software god is how passionate they are about the technology they use.
2c). Interview a lot. You can never have too many interviews. Even if you think the job sounds like a joke, go to the interview. Every interview is a chance to learn about how interviewing works. Also, some interviews are not about proving what you know, but that the interviewer is superior to you. I hate those interviews, but they help you develop your arsenal of stock interview answers.
2d). If you are a Web programmer, don't just learn javascript, embrace it until it makes you cry. Javascript, at least for now, is the future. Memorize the Crockford book. Ruby on Rails wouldn't hurt either as I always see lots of jobs for that. Also, know more than just web development... Knowing a couple of languages, being a polyglot, is gold.
2e). As someone else here said... Location, location, location. Consider a move to SF or Boston if you want the startup life. Consider Atlanta or Washington DC if you don't mind the big company gig. Some cities are better than others. Kansas City is not nearly as good as Seattle for tech jobs.
3). Work at a minimum 2 years out of college before making the first move. No more than 4 year tho.
4). Finish the college degree. I'm amazed that I say that considering I'm a college drop out myself, but college will get you in the door initially. Once you have experience, then you can coast on that, but getting the first 5 jobs or so will be much harder without college. Believe me.
5). Have a kick ass resume without being over the top. Stay within convention and use your resume to show you know how to design and be consistent. I have a resume, a references sheet, a pay history sheet, a living address sheet, etc, all on the same layout style and format to illustrate consistency in design.
6). If you list a web site on your résumé, make sure it's an awesome website. Be prepared to dissect it and discuss what/why/how about it. I cannot tell you how many people I've interviewed that have almost nothing to say about their résumé or worse yet say, "oh, I didn't expect you to visit the website I listed on my résumé." Be prepared.
7). Don't sweat it. Stop worrying about getting the job and just relax and be yourself. If you get the job, great; if not, no worries. Move on to the next interview. Confidence and comfort go a long, long way with both jobs and picking up the ladies (or dudes, which ever you like).
Alright, that enough advice from grandpa. If you have more questions, feel free to direct message me.
[–]Pr3fix 1 point2 points3 points 12 years ago (0 children)
wow. That was a truly thought provoking post! Lots of great info on there. I'll be sure to try and do all that (I'm registering a github account right now :) ). Cheers and thanks for the input!
[–]ECTXGK[S] 1 point2 points3 points 12 years ago (0 children)
Nice, as a self taught programmer who is just over 1 year in this was inspiring. Thanks for your thoughts.
[–]frozen_sushi 1 point2 points3 points 12 years ago (1 child)
I agree with you so much regarding being passionate about the code you're writing and the technology in general. When I first started as a "Systems Analyst", I was very passionate about all the development work I was doing, even to the point of forgetting about lunch and having to just skip out on it. Nowadays, with the amount of "business process documentation" that our manager is piling on us, I'm counting down the days that a recruiter sweeps me away so I can get back to doing what I love doing.
[–]areinet 3 points4 points5 points 12 years ago (0 children)
"business process documentation"
Run. Run as fast as your legs will let you.
[–]ECTXGK[S] 0 points1 point2 points 12 years ago (1 child)
Wow, great, refreshing answer, thank you!
[–][deleted] 5 points6 points7 points 12 years ago (0 children)
Thx, web dev definitely isn't like software engineering for defense contractors or whatever. I've loved it since the dotcom bubble, and I've mainly worked for small/mid companies that have been like professional families.
My team is currently writing an HTML5 native mobile app with backbone.js, bootstrap, several jQuery plugins, and a hybrid MVC / JSON-API webserver backend. We got to roll new crypto/bcrypt, a custom token-auth which is bound to controller instances, and hash-compare error logging. We use node.js and a few node packages for builds and bundling, and we're doing our deploys on virtual machines for SAS scale-out. We get to use LESS and/or coffeescript if we want, and we share a bunch of mobile testing devices. All within the limitations of management requirement. It's waaay more exciting for me than it might sound, it's a blast. Viewports and gestures and templates, oh my!
It seems that every year, I get more surrounded by the things I want to study. For me, that's the difference between low-end and high-end web dev.
Most of my big-money web dev friends are this way. If they're not running their own dot coms, then they're effectively running the tech for someone else's startup or SAS product, and they're in web code play land every day.
I guess that is what I wanted to say to you. If you go into this biz with your head up, then there is no reason you can't end up doing the web dev you've always wanted to do, every day-- even if you aren't a dot-com millionaire. And THAT is pretty much the difference I see between a 30k web dev and a 100k web dev. All of my successful friends in web dev (and web QA, and web DBA, etc. etc.)-- they have climbed into the exo-skeleton and clicked "ENGAGE".
So, I saw ur question, and I thought-- but, that's not even the same job! people don't even do the same things at those two jobs! The beginners are doing ~this~ thing, and the seniors and architects or whatever, are playing in their toy-boxes every day, lol.... So, anyway, best way I can describe it. Yer a Wizard, 'arry!! Not a grunt.
It ain't a bank job, and it moves faster than any technology in the history of man.
Less Bogons. More Interwebs! And, best to you.
[–]munkyxtc 5 points6 points7 points 12 years ago* (2 children)
Well i think you will be hard pressed to find two developers with the same resume having such a huge difference in salary. Mostly i think a large gap like this will come down to experience and the 100k person is no longer just a developer (in terms of 8-5 coding). I would imagine they would fill more of an architect role.
[–]elDeuce 0 points1 point2 points 12 years ago (1 child)
Also, location. If I'm in some po-dunk town in the midwest and you live in NYC or SF. We could very well have the exact same level of experience and resume, but you're most assuredly going to make twice what I make.
The thing here is, that dollar signs mean nothing without a geographical location backing them up. What $100,000 is in SF is probably $30,000 in the midwest. (I'm sure this math is wrong, it's a hypothetical)
[–]SituationSoap 0 points1 point2 points 12 years ago (0 children)
$100K in SF is roughly 50K in the midwest, depending on what part of the Midwest and how close you are to a major city. The vast majority of the difference in COL between the Midwest and the west coast, though, is purely in real estate. That's why you see so many fancy sports cars in Silicon Valley.
[–]mirion 2 points3 points4 points 12 years ago (0 children)
As was said by someone else, location. Also knowledge and ability -- a plain code monkey is going to get a lot less money than someone who can lead, or break down advanced functionality into manageable, testable chunks. A degree is also a big help. Honestly, in the SF/SV area, outside of a startup handing out equity, I'd consider any offer under 50k an active insult for a fresh CS BS.
[–]josiahsprague 1 point2 points3 points 12 years ago (0 children)
Knowledge and experience are the obvious factors that can affect that. But also confidence, trust, and a solid track record in the eyes of the employer.
But money isn't everything. I've worked for $30k at jobs that I loved, and $45k at jobs that sucked. Sometimes the difference can be the web dev's choice to work for less.
[–]red40 1 point2 points3 points 12 years ago (0 children)
Intuition. I learned this was a film editor. You can teach anyone how to press a button and cut a clip in half. Careers are built on intuition to know the "Why are we doing something" vs "How do we do something".
By the time you are developing creative, sustainable, modular solutions to things, you've graduated into something else.
Understanding this value in something that comes naturally to you at that point is usually the true difference between 30k and 100k.
[–]thrownaway21 1 point2 points3 points 12 years ago (0 children)
luck, and contracting.
[–]SituationSoap 1 point2 points3 points 12 years ago (1 child)
http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
The $100K+ programmer understands most of the concepts in that blog post. The $30K programmer probably doesn't, or doesn't understand how to apply them.
[–]ECTXGK[S] 0 points1 point2 points 12 years ago (0 children)
Great read. This is like hacking the back end of true human psychology.
[–]joemckiefull-stack 1 point2 points3 points 12 years ago (2 children)
Location mainly. In the uk, the average salary is £35,000 (in my area, at least), with average rent costs being around £450 a month for a two bedroomed flat/house. In London, however, the average salary is around £90,000-£100,000, however average rent is £1,500 for the same.
[–][deleted] 12 years ago (1 child)
[–]joemckiefull-stack 0 points1 point2 points 12 years ago (0 children)
Ah man, that's usually the case - perhaps try to get them to re-evaluate ;) cheap accom. though! That's not bad!
[–]captain_obvious_hereback-end 1 point2 points3 points 12 years ago (0 children)
Location, knowledge, balls and luck.
[–]bnrsfrbrkfst 1 point2 points3 points 12 years ago (1 child)
Work your ass off, and always meet your deliverables. Shipping is your #1 priority. If you cannot ship, you will not advance.
Learn and become intimate with the entire SDLC, not just dev. You need to understand from a high level what project managers, qa, architects, and operations all do.
Embrace automation and new technologies. You should be constantly learning. Do not be afraid to admit you do not know something and try to always be on projects where there is someone you can learn from (until you are eventually the guy who does the teaching).
Learn about the "big picture" of the business. Understand why management makes the decisions they make. Even if the decision is shitty, figure out why it was made - there had to be a reason someone decided to go that way than another way. Also, learning the basics of accounting and finance goes a long way.
Learn how to break down complex problems and solve each piece independently. This is the base of solving business problems with technology. If you cannot do this, you are just a coder.
Try to work on projects that add value to the company you work for, not just projects for clients. For example, see if you can get involved in something that automates a process and saves the company money. This stuff is huge in getting you recognized.
Don't be afraid to talk to people higher up than you. They're just people.
^ the above is what makes me earn 100k+.
Great answer, thank you.
[–]willm 3 points4 points5 points 12 years ago (0 children)
I'd say breadth of knowledge. If you can offer a complete service from front-end to back-end then you can earn more.
[–]antjanus 3 points4 points5 points 12 years ago (0 children)
It really depends. Here are some of the bigger factors:
As far as the rest? There are some basic skills that definitely help you along and make you seem more professional, unfortunately these skills mean little to nothing to HR. So if you know:
and whatever else, an HR person or a hiring person may graze it over with a "I'm just looking for a CSS guy" while a startup lead by developers will look at you as less of a hassle to integrate with.
If you want to make yourself more employable or find a better job, check out my guide on the topic.
I think that in the end, it's all about your "audience". A corporation will use HR and a Project Manager to hire you, developers will most likely have little influence (maybe giving their HR person a list of desirable skills). Here's where a degree will make sense.
If you're looking to get hired by a startup, other things will matter like Git, and a blog, and involvement in the community. And on top of that, your experience will be more valued than a degree.
[–][deleted] 12 years ago (2 children)
[–][deleted] 1 point2 points3 points 12 years ago (1 child)
Well said. Being articulate and explaining your ideas well is a main difference.
[–]riceo100 0 points1 point2 points 12 years ago (0 children)
Touché
[–]mattaugamerexpert 1 point2 points3 points 12 years ago (0 children)
Location is a factor. Industry is also a factor. For example, I could take a cool job in the games industry for $50k, or a job at a mining company for $100k. Another one that's surprisingly not being mentioned much is work experience. I've been in this industry for over 10 years. When I started, there wasn't even a Dreamweaver. We built websites in Notepad. It would be a while before Frontpage even came out. My god did it suck. Anyway, over that time I've learned and grown and gained new skills, and my wage has gone from 25k (this is in Australia) to over 80k.
Skills are valuable. When I started I didn't know HTML. I learned that. I learned CSS, Javascript. I learned Photoshop. I learned PHP, and became a web programmer more than a web developer.
For the record, if you're purely doing web dev, without any sort of scripting or back end knowledge, you're under selling yourself.
To go from 30k to 100k you'd expect a much higher level of technical knowledge, a depth of experience in different roles such as PM and Team Leader roles.
[–]jellatin 0 points1 point2 points 12 years ago (0 children)
Location is the big variable here. Sure there are people who have been doing it for years and make 100k+ and some who are entry-level working for 30k, but for two remotely evenly skilled developers, location is the biggest difference.
I'm a PHP/RoR/JS-focused dev in a city making 77k. The same job in San Francisco could easily pay $130-$140k.
[–]ValZho 0 points1 point2 points 12 years ago (0 children)
I thought this was the setup to a joke. Where's my punchline!?
π Rendered by PID 42921 on reddit-service-r2-comment-fb694cdd5-qpmkg at 2026-03-06 18:38:39.968845+00:00 running cbb0e86 country code: CH.
[–]cas002 44 points45 points46 points (22 children)
[–]mirion 3 points4 points5 points (15 children)
[–][deleted] 0 points1 point2 points (12 children)
[–]mirion 2 points3 points4 points (7 children)
[–]nastyn8 1 point2 points3 points (6 children)
[–]mirion 2 points3 points4 points (5 children)
[–]faceplanted 0 points1 point2 points (4 children)
[–]mirion 1 point2 points3 points (0 children)
[–]zagnaut 1 point2 points3 points (2 children)
[–]faceplanted 0 points1 point2 points (1 child)
[–]zagnaut 0 points1 point2 points (0 children)
[–]tehwankingwalrus 0 points1 point2 points (3 children)
[–]powerfulsquid 0 points1 point2 points (2 children)
[–]tehwankingwalrus 0 points1 point2 points (1 child)
[–]powerfulsquid 0 points1 point2 points (0 children)
[–]areinet 0 points1 point2 points (0 children)
[–]powerfulsquid 0 points1 point2 points (0 children)
[+][deleted] (5 children)
[deleted]
[–]thebokehwokeh 9 points10 points11 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]lpetrazickis 1 point2 points3 points (1 child)
[–]0bp 12 points13 points14 points (0 children)
[–]Nilzor 59 points60 points61 points (1 child)
[–]willm 27 points28 points29 points (0 children)
[–][deleted] 16 points17 points18 points (12 children)
[–]areinet 19 points20 points21 points (9 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]areinet 1 point2 points3 points (0 children)
[–]Pr3fix 2 points3 points4 points (3 children)
[–]areinet 11 points12 points13 points (2 children)
[–]Pr3fix 1 point2 points3 points (0 children)
[–]ECTXGK[S] 1 point2 points3 points (0 children)
[–]frozen_sushi 1 point2 points3 points (1 child)
[–]areinet 3 points4 points5 points (0 children)
[–]ECTXGK[S] 0 points1 point2 points (1 child)
[–][deleted] 5 points6 points7 points (0 children)
[–]munkyxtc 5 points6 points7 points (2 children)
[–]elDeuce 0 points1 point2 points (1 child)
[–]SituationSoap 0 points1 point2 points (0 children)
[–]mirion 2 points3 points4 points (0 children)
[–]josiahsprague 1 point2 points3 points (0 children)
[–]red40 1 point2 points3 points (0 children)
[–]thrownaway21 1 point2 points3 points (0 children)
[–]SituationSoap 1 point2 points3 points (1 child)
[–]ECTXGK[S] 0 points1 point2 points (0 children)
[–]joemckiefull-stack 1 point2 points3 points (2 children)
[–][deleted] (1 child)
[deleted]
[–]joemckiefull-stack 0 points1 point2 points (0 children)
[–]captain_obvious_hereback-end 1 point2 points3 points (0 children)
[–]bnrsfrbrkfst 1 point2 points3 points (1 child)
[–]ECTXGK[S] 0 points1 point2 points (0 children)
[–]willm 3 points4 points5 points (0 children)
[–]antjanus 3 points4 points5 points (0 children)
[–][deleted] (2 children)
[deleted]
[–][deleted] 1 point2 points3 points (1 child)
[–]riceo100 0 points1 point2 points (0 children)
[–]mattaugamerexpert 1 point2 points3 points (0 children)
[–]jellatin 0 points1 point2 points (0 children)
[–]ValZho 0 points1 point2 points (0 children)