9 ms·
Wherein I help you get a good job
- ximeng 16y agoAdvice is to contribute to Chromium, fixing 50 bugs over the course of a year or so. Might not be an easy path though, personally when I tried to compile Chromium, it took my PC 8 hours compiling before coming up with a fatal error. Been thinking about getting EC2 instances to compile it, has anyone tried that? Software license costs for Visual Studio put me off a bit.
- wyclif 16y agoBeen thinking about getting EC2 instances to compile it, has anyone tried that? Sounds like a good idea to me, esp. for people working on a laptop.
- Tichy 16y agoYou can download a compiled version :-) Seriously, do you have to compile the whole program for every code change? I suspect that is not necessary?
- jerf 16y agoThis is merely one of many questions you will end up learning the answer to if you pursue this program.
- cosgroveb 16y agoMy guess is that you only have to compile the build target that your code change was part of... you can build just Chrome, or just unit tests, or whatever else is part of the package... Also a common way to speed up build times is to build in release mode.
- spudlyo 16y agoNo. That's why make(1) exists. You do usually have to compile everything once though.
- ekidd 16y agoMight not be an easy path though, personally when I tried to compile Chromium, it took my PC 8 hours compiling before coming up with a fatal error. Welcome to software development. :-) Seriously, I probably spend at least 10% of my time dealing with broken libraries, badly documented build processes, and other depressing obstacles. If you can get past these kinds of problems—and more importantly, if you submit fixes to spare the next person the pain—then you'll make a great developer.
- technomancy 16y agoCompiling Chromium crashed my box by overheating it. Definitely not a newbie-friendly project as so much of it is implemented in C++. While Mozilla's build may be equally terrifying, at least they have the good sense to implement good portions of the UI in Javascript.
- riprock 16y agoOut of curiosity what are the specs of your box? If anyone else can answer, I'm also curious what kind of box you need to safely compile a huge project like Chromium.
- heresy 16y agoTook a bit under an hour on my machine. Core i7, 12GB of RAM, 10k RPM HDDs. The built executable worked first time too, which was impressive for a project of that size, given that it was the very latest bleeding edge trunk source code. For comparison, I tried to build Mozilla three or four years ago, and gave up. The Chrome build environment setup instructions, while long and tedious (especially on Windows), are excellent.
- technomancy 16y agoIt was on my 1.8 GHz Core 2 Duo laptop. I ended up able to compile it by putting my laptop next to a large fan, but it was pretty ridiculous. The worst part was that I had to perform this whole song and dance just because I wanted to change some key bindings. (Using Alt+number to change between tabs like every other Linux program.) This serves as a nice textbook example of why implementing things like menus and keyboard shortcuts by hardcoding keycodes in C++ is a horrible idea.
- wccrawford 16y agoActually, that's a 103 step program, but I agree with the advice. If you want to get a job, you need experience... And the internet is full of projects that need bugfixes. That stuff looks -great- on a resume. Take that from someone who interviews hirees.
- sanswork 16y agoI agree. As I mentioned on one of my CV reviews from the other week(Sorry if I didn't get to yours yet, I have my list but it takes me 10-15 minutes to do a good one and I've been short on time). When I get a CV I scan it quickly for an idea of what the person is about then throw it out or in another pile for a more in depth read. A link to github or a blog or something where I can see some of their work "in the wild" (not just a portfolio link) always gets them in the second pile as I find code a far better indicator of a good programmer than a good CV.
- rrrhys 16y agoI've never contributed to open source before - this might be just enough of a 'its easy just do it - like this' type tutorial to get me started.
- jim_dot 16y agoyou really needed someone to tell you that it's easy to contribute to open source?
- moultano 16y agoYes. Don't be a jerk. Even knowing that it isn't technically difficult, it can be socially difficult, and this is a useful guide. Knowing the social protocol of how to get started in the community lowers the mental barrier substantially.
- rrrhys 16y agoNo - I've got enough shit to do that I haven't really made time to give my effort to someone elses project. Maybe this is why.
- dreaming 16y agoyes, it is necessary to be told it is easy to contribute top open source when it is against a backdrop of being told how difficult it is to produce good code, and the difficulties around software development that are frequently reported
- jamesaguilar 16y agoStereotypically it's not very easy. Open source projects are frequently schizophrenic about the code they will accept, saying one day that it's a great idea and the next day rejecting your patch because it's not something they want to do. (This is standard for multi-agent systems, but it's still quite discouraging.) And then there are the attitudes involved. To say nothing of the overall difficulty of writing software. It's not merely a question of needing to be told that it's easy to contribute. That's not even the right way of looking at it. The question is whether it is easy at all, and I say no. If someone told me it was easy to contribute to open source software I'd know they were either lying or delusional.
- Mongoose 16y agoWhat's the most effective way to mention open source work on resumes? I generally mix it in with other non-school- or -work-related stuff in a "projects" section, but is there a smarter way to emphasize it?
- wccrawford 16y agoIf you've got a lot of it, make it its own section. If you don't, but you think it's significant work experience, I'd put it under 'work experience'. Last time I wrote a resume, I didn't have enough that I felt it was significant, so it went down as a relevant hobby, just like volunteering at the computer shop in and winning awards for computer knowledge high school.
- sayrer 16y agoFor code, the best way is a URL to the bug tracker or commit log which shows all of your contributions. Use bit.ly if need be. A surprising number of people will list projects they've barely contributed to, using languages they barely know. If you have 2 or 3 projects to list, an "Open Source Contributions" section is fine with me. The main thing to avoid is fancy formatting. How you divide things up into sections is not a big deal. I like this article because I got my job this way. :)
- bhoung 16y agoIt's great that the community is giving advice on what steps to take for getting a programming job, but I would like to add that finding a job is a short term fix. If one is only trying to work out how to get a job for the sake of getting a job, it will only be a matter of time before one is bored. But then again, you'll probably only realise this only having gone through the process. Try to find something that interests you, which may or may not be programming.
- bsk 16y ago"Work for me for a year w/o salary and I'll help you get a job." /jk There are better routes for new programmers IMHO. Start at http://rubyonrails.org/ http://rubyonrails.org/ and build a website you find useful. Learn SharePoint or BizTalk, those are boring but in very high demand now. Even more boring, sing up for a cheap 6 month Cobol course in India.
- jordanlev 16y agoI agree that learning how to get a website up and running is an easier way to go (and hence more likely to succeed and be morale-boosting). Even if web development isn't considered as "hard-core" as working on compiled applications in C++, there are still a decent amount of jobs available.
- asolove 16y agoIf this article is targeted at people with no experience (ie it mentions learning how to use IRC), is recommending that they fix bugs in C++ code really the right answer? Why not start with a Python project or something more realistic?
- strlen 16y agoLearn the difficult fundamentals of programming first (pointers, data structures) first. Experience with C/C++ and user-level systems programming (IPC, pthreads, BSD sockets and/or their Windows equivalents) makes you stand out amongst job applicants; writing database driven web applications in scripting languages does not. If latter is ultimately your passion, you'll have no trouble transitioning: successful web companies seek out developers who understand more than a thin segment of the full stack (see Brad Fitzpatrick's interview in Coders at Work for a good discussion of this). I suspect there are also plenty of bugs in Chromium et al which require non-trivial scripting to find and fix (who does exclusively manual testing any more?)
- mechanical_fish 16y agoExactly. Do you want to force the interviewer to spend 45 minutes trying to divine, unreliably, if you know what a pointer is, and that you won't go into the fetal position when you see your first segfault? Or do you just want to email some links to the online discussion of your patches in advance and spend the interview talking about something else?
- strlen 16y agoNot to mention Python, Java, etc... still have pointers and memory leaks (at least in Java, everything is pass by value, but with the exception of the primitives, every value is a pointer). They will also suffer memory pressure when you allocate objects without thinking (which is rather easy to do if you never had to think about what the runtime does when you say "obj = Foo(bar)"). I'm not a C/C++ bigot, my "favourite language" is currently a three-way tie between Scala, OCaml and Lisp. Plenty of real programming gets done in other languages (plenty of people also think that C is the secret sauce for performance, but that's not the case), but C is important for two reasons: it's the lingua franca of programming and it's a great language for learning how computers work. Pascal may have been another option twenty years ago, but there are hardly any interesting open source projects being done in it today.
- KevinMS 16y agoBut there are a few fields that are hiring like crazy. One of them is mine: software engineering. Major tech firms cannot hire fast enough. It's so competitive that you do not need to have a degree (I don't). Was this written in the late 90's? I follow job listing sites almost daily, and I'm just not seeing this. I'm also not seeing it in the volume of headhunters contacting me. And thirdly, what job listings I do see, they have absurd ideas of what qualifications they require. Yesterday I saw a job listing for perl scripter for system automation tasks requiring a BSCS, MS preferred, and a little while ago I saw a sysadmin job requiring a BSCS. I'm not in the middle of nowhere, I'm in the Boston/128 area. So do I have the worst job hunting skills ever or is this guy living in a bubble?
- SandB0x 16y agoIn my experience, mainstream jobsites are awful for software jobs. Jobseekers are sitting there firing off CV's left right and centre, and the recruiters put things like "MUST have a BSc or MSc in Computer Science" to try and stem the tide. Good companies don't care if you have a CS degree as long as you can code and think. That said, someone may have embellished the job requirements and if you think you'd be a good fit for a job it may be worth applying anyway. I'm not sure what the situation is if you have no degree at all, or a degree with no scientific or technical element, but it helps to have evidence of your skills, and whatever your situation it really helps to know people who have a good impression of you and your abilities. For better jobs boards, look at: Stack Overflow Careers http://careers.stackoverflow.com/Jobs?searchTerm=&searchType=Any&location=boston&range=20 http://careers.stackoverflow.com/Jobs?searchTerm=&search... HN Who's Hiring threads. Eg http://news.ycombinator.com/item?id=1659409 http://news.ycombinator.com/item?id=1659409 Also, check local user groups for whatever languages/technologies you're interested in.
- KevinMS 16y agoI'm talking about sites like craigslist and jobs.perl.com, and I'm aware recruiters put in all kinds of filters like a CS degree but I'm mindfull of that and I notice that the same problem exists without recruiters involved. Stackoverflow careers? Seriously? "34 jobs found near boston". How many candidates are looking at these listings? Thousands?
- jkin 16y agoThis is an interesting path to get a good software job. I agree that when it comes to software jobs, a good resume with a lot of techno buzz words does not mean anything. An interview that gives coding puzzle can easily tell a person if he's capable or not. But a non-tech hiring manager will not be able to carry one out, a few references of open source projects, bug fixes definitely boost up your scores quite a bit. I've hired some good people and some bad before, at the end of day, your project success is not based on how many PhDs there are on the team, but how many coders that can deliver.
- Tycho 16y agoThis article is like a breath of fresh air. One of the few things you read about the industry that doesn't make you feel vastly underqualified. I'll definitely take aboodman up on his offer (coincidentally I logged onto freenode for the first time in my life a few hours before reading this...), although I expect he's inundated with responses right now so I'll leave it a few days.
- RockyMcNuts 16y agoCan't help wondering if CodingHorror.com posted this because they were running out of material.
- RockyMcNuts 16y agolearned my lesson... any attempt at humor loses karma lol
- RockyMcNuts 16y agolet me give the humor police one more to downvote lol
- tjmc 16y agoAn easier alternative - I'm really surprised that out of work graduates from the US aren't getting Australian working holiday visas and flooding down here. Due to a resources boom (thanks China) unemployment is only 5% here. There are skills shortages in most technical areas and particularly mining. The Reserve Bank of Australia just raised interest rates again because it was worried about the economy overheating. The working visa has some restrictions - you must be between 18 and 30. It's only valid for 12 months and you can only work for a maximum of 6 months for any one employer. The last provision is a bit tough, but there are still plenty of 6 month contracts around. Why do Americans have such a strong reluctance to travel abroad for work? I've never understood it. It's a great opportunity to get some work experience, live a little and, particularly for the mid-west and east coasters, skip winter!
- pyre 16y agoAre you sure that US citizens can get working holiday visas in Australia? I was under the impression that most common-wealth countries had such agreements (and for some odd reason Japan is included in there), but that was it. For example, a US citizen can't get a working holiday visa in Canada, but a Japanese, Australian, or UK citizen can.
- tjmc 16y agoYep. Details from the Dept of Immigration: http://www.immi.gov.au/visitors/working-holiday/462/usa/ http://www.immi.gov.au/visitors/working-holiday/462/usa/ You're right that it was previously just Commonwealth countries, but I think US citizens were included as part of the US-Australia free trade agreement signed a few years back. Also, I can't see any tertiary education requirement on the site (just secondary), but apparently you need to show you have access to $5000 on arrival.
- Maxious 16y agoNote that the US-FTA immigration arrangements are reciprocal; in exchange we aussies get an exclusive entry to america for under the E-3 temporary work visa program: http://canberra.usembassy.gov/e3visa.html http://canberra.usembassy.gov/e3visa.html
- smh 16y agoA good complement to this would be to work through the exercises in K&R.
- celticjames 16y agoGreat advice, but two caveats: 1. Employers are often focused on hiring very specific skills sets. Having fixed a C++ bug in Chromium should impress them, but if they need a Django expert they still see you as a novice. It can be hard to present yourself as a well-rounded candidate if all your experience is with one project. 2. In a couple of interviews I've had, I've noticed a distinct bias towards valuing paid work more than open source contributions. It's often hard to get interviewers to understand that something I've done for free is on the same scale (or greater) than things I've been paid for.
- usedtolurk 16y agoPart of me loves this kind of inspiring advice ("you too can grow up to be president"). And it certainly is true for some people. But the truth is that most people who try this will fail. Very few people have the right combination of aptitude and attitude to do this (especially considering that the intended audience is people without an IT background). [edit] Perhaps the message to take away is that there is a low barrier to entry in our field, so it's worth giving it a shot.