Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

these comments are always discouraging to me. i work in a different field (sysadmin), and i've been struggling to get a job programming. am i that bad at programming? or that bad at finding work?

i feel like i know the basics of several languages as well as html, css, sql and git. i wrote an IT-ticket system for a healthcare clinic in python consisting of a basic html form and a SQL database backend (i know this isn't terribly impressive to adept programmers, but i've been applying to the most entry-level programming positions). i also specialize in powershell, which is object-oriented, even if it isn't used for enterprise level web apps. and that hasn't been nearly enough to get a job, at least in pittsburgh.



Since you don't have a background in software, I would suggest specializing in the language/framework/utility of the day - something like Angular, React, etc. You will have a leg up on the vast majority of developers (the ones who don't read HN).

I work for a small startup in the NYC metro area and of course I agree with the parent post. We have a fairly terrible interviewing process. Candidates are phone screened by our non-technical manager and are usually selected for interviews based on domain experience. Nearly all of the people I'm forced to interview have the same background (bachelors in India, sole language is Java, 5-20 years experience in finance industry most coming from big banks Citigroup, BoA, etc). My interview process consists of an onsite coding problem, which is of course controversial. But when none of the people you interview have a github account (some have not even heard of github) or have any sample work, I believe it's important. The vast majority of the candidates sadly cannot create a List and populate it with integers in their language of choice.


thanks a lot for your post. input from active professionals is invaluable to me.

i've actually been working on learning angular for the past few weeks. i've stopped updating my github in that time since i'm just doing basic stuff, but once i finish some more tutorials and documentation i plan on building an angular project to display on my github. are there any particular features that would really catch your eye as someone who hires programmers?

any suggestions regarding the coding interview problem? i see http://www.amazon.com/Cracking-Coding-Interview-Programming-... recommended a lot.


If your algorithmic skills are good enough to ace the problems in that book, you can probably get a job at one of the big three software companies (Google, MS, Amazon). The vast majority of programming jobs are enterprise development work (think endless CRUD apps) that require nowhere near that level of skill.


I wouldn't worry too much about coding interview questions, especially if you're looking to just enter the profession. The most important aspects are showing a willingness to learn and an ability to think critically about problems.


Exactly. My previous comment may have been misleading. I don't think it's imperative to have a github account or a showcase of your work (it definitely would not hurt). I only have one public github project and I'm not exactly proud of it.

I normally start all of my interviews by trying to engage in a conversation about programming topics. But as most of the people I interview have little experience outside of Java and seemingly no interest in programming, the conversations are usually very brief. "I like Java." And the occasional "I have heard of something called JQuery. I may learn that."


Is Java frowned upon nowadays? I'm learning it as my first "real" language, especially for Android & Spring, however I've been playing with Javascript/JQuery and have a web/design background. I've also attempted deploying websites to AWS and CloudBees and failed deploying to Heroku multiple times. In any case, my original question still stands and what would it take for me to get a job with you if I don't have a degree and only the above projects to show you? What would you want to see in those projects and at the interview?


Java itself is not frowned upon - I'm a big Java fan. What is a big red flag, in my opinion, is when someone has multiple years of experience but is only familiar with a single language and has absolutely zero exposure to any other tools or languages. To me it shows that person has no interest in improving his/her craft. It just so happens that in the finance industry, Java is used heavily. Those who list JavaScript on their resume believe it's only purpose is for HTML form validation. I get a bit frustrated when I'm interviewing someone who has used Java exclusively for 15 years and is still making basic syntax errors, like mixing up angle and square brackets. It's not a one time occurrence, I may interview 4-5 people in a row making these same mistakes.

As to your main question, it's difficult to answer. Since we have a very small company with only a few developers, I personally am nervous hiring someone with little experience.


I recommend that book. For an entry level position, focus on the first section about data structures.


What's controversial about having a coding problem? I would assume that I'm going to write code for any position I apply to, otherwise I probably wouldn't want to work at that company. Or do the applicants just feel like you're asking an unreasonably difficult question for the amount of time provided?


In HN the general feel I've gotten for interview problems is that people prefer being given a day or two to accomplish a small coding project instead of being given a coding problem on the spot.

I agree with that approach as well, but it's probably because I consider on the spot coding problems to be nerve-wrecking.


I am looking for a new job these days. Fine if the first job you come across is ideal, and the test is OK. But its going to be frustrating if I have to dig into a lot of my personal time doing coding tests, because I want to apply for a few jobs and see what one is best.

I would rather code with the interviewer, and let him know my thought processes, and why I do things the way I do.


The problem is that paper experience is not actually a good indicator of anything, but lack of it will keep you out of a job.

Recently I've been working with a team of 3 other engineers. 2 Were average if a touch lazy. The third had ~30 years experience on paper. He was without a doubt the most incurious, unproductive, useless programmer I've ever encountered. He must have committed less than 1% of the new code over the last 10 months and most of that was wrong. He was a net drain on team productivity.

However the rest of us delivered and now he gets to put another successful project on his resume and look to a recruiter/HR person like he's a useful, productive guy. Where someone like you who likely has some raw talent and just needs some battle-hardening... you may find getting a foot in the door quite hard.

I don't really know how to solve this.


2 more things. Firstly, I suppose one solution would have been for management to pay attention to the atmosphere.on the team and do some sort of productivity assessments on their staff.

Secondly - to get a start somewhere good I would (if you don't have a tech degree or experience) show some interest in the topic and an ability to be a self-starter. Do a couple of coursera/udacity courses. Stick up a webapp or try to get started with android development or something. Doesn't even have to be exactly aligned with where you want to be, just show some ability, intent and interest.


Accurately measuring productivity of programmers in a way which doesn't negatively distort performance...

Crack that and you'll not need to program, you'll be rich.


Don't feel bad. The thing is that "good enough to get a job + that's a low bar" means that the people end up way over their heads and usually don't work out. I have interviewed lots of people. Some needed jobs badly. They came in, knowing HTML/CSS + enough jQuery to make a pretty web page, and were applying for a systems architect position. We obviously rejected them, but lots of companies cannot tell between truly qualified people and those that are not. This works both ways: lots of unqualified/underqualified people get hired and then you hear stories like "you won't believe what my co-worker did", but it also means that qualified candidates do get passed up.

Basically, don't get discouraged, and don't worry about others getting jobs. Just keep getting better at what you do, and most importantly work on projects that you can show off. I found that these where the best way to get noticed/get hired.


Entry level can be pretty different. They're looking at potential rather than ability and things can be competitive (depending on the specific skills or organisation).

I'm really thinking about programmers with 5 - 10 years of experience who still struggle to reason their way out of a wet paper bag or produce anything but the most obvious and narrowly scoped solution to problems.


Do you have a good github account? Most (decent) employers will probably take this in lieu of a technical interview.

You have to remember that its not just them testing you - it's you testing them. As a newbie coder you want to be in a good team where you can learn good practices from solid performers.

I mean put it this way - if you were in a team and everyone was at a low skill level, do you think you'd get a good time of things from sales/marketing/all the other stakeholders?


i do have a github, but i don't think i would call it "good": https://github.com/mmcru?tab=repositories

i can definitely improve it, and that is something i have been working on. thanks for the advice though; i really appreciate it. i agree with you that ideally i would be working under some more senior programmers to improve my skills.


I just took a look - I noticed you've got a couple of websites in your list of repositories. Why not host some of these on a personal website?

Also, adding a README could help people understand what the scope and goal of each project is (and also help them figure out how to use it/test it).


I also took a look at your contributions - looks a bit spotty!

https://github.com/mmcru

No activity in the last month? Something I personally would pick up on.


C'mon.. No activity in the last month is not a big deal. On my github[1] I have periods where I go for months without committing a single thing, and then I'll have a flurry of activity in the course of a week.

People have lives outside of coding and sometimes they go a month or two (or 6) without pushing anything to github, it's not the worst thing in the world. I mean we're looking for quality of contributions here, not quantity, right? To me a bigger 'red flag' would be that all the django code seems to use function based views (not class based views) and doesn't really have any consistent formatting. OP I'd suggest skimming two scoops of django[2] and reading PEP8[3] so that you can get a good idea of how most shops write their code. Either way, I think your projects are mostly great and show that you're actually able to build things.

[1] https://github.com/philangist

[2] http://twoscoopspress.org/products/two-scoops-of-django-1-5

[3] http://legacy.python.org/dev/peps/pep-0008/


wow, awesome response, thanks for the information. i actually bought two scoops of django for 1.5, only to read that they released an updated version about a week later! i'm not sure how out-of date the 1.5 version is, but i'm going to pick it back up. when i first read it, i felt like some of it went over my head at the time.

definitely going to read up on PEP8. thanks again!


Github contributions & open source is not a "white male only" affair. I don't know if you're trolling, but you're actually lowering the bar for women which is a massive disservice.

Good coders spend time outside work keeping up to date on their skills - trying stuff out. This stuff needs to go somewhere. Why not put it in github and show me that you're regularly learning new things?

Also, "pick up" meaning I would notice. I'm not saying I expect to see a 365 day streak or anything, but I would expect to see a fair few contributions from people looking to switch from ops -> dev as they hone their skills.

In short, IMHO people that try and fail over and over until they get it right are much more likely to be good coders, than those with one or two totally pristine repos they committed to years ago.


I assume this was meant to be a response to me, even though it's not in the correct thread. I'd suggest you read the article I linked to, since it addresses each of the points you made fairly directly - with data and references, rather than empty assertions. It was also written by a woman, who would likely take issue to the claim that it's doing a disservice to women by pointing out discriminatory hiring practices.


It was yes, my mistake.

I read your link and it was a snoozefest, and I'm not really sure twitter posts count as references.

People want to see your code before they hire you. Github is a place to share code. That's it really - white male or not.

This is especially relevant to OP because he doesn't have commercial experience coding. Most interviewers will be nervous of this, a large portfolio accessible in a familiar format will alleviate much of their tension.

Don't forget, most interviews for the interviewer are basically an ass covering exercise. Nobody wants to be remembered as "the person that hired THAT guy".


I was actually referring to the multiple listed references at the bottom of the article you "read." There are several other ways to see someone's code than expecting them to do work that they aren't getting paid for. Being "nervous" about people that don't do work for free perpetuates inequality. Try to see past your privilege and perhaps you won't hire "THAT guy."


[flagged]


I fail to see where I made the assumption that you were a white man. I merely assumed that you share the privilege of having time to devote to Open Source projects, based on the words that you used, and your casual dismissal of the idea that everyone might not share that privilege.

But congrats on your win, all the same. The judges were really impressed. Welcome to HN.


Posting here as breadcrumbs when I need to find an example of the type of behavior that isn't acceptable on HN.


Basing hiring decisions on open source contribution rates contributes to the homogeneity (read: white maleness) of the industry at large. Women especially may not have as much time to contribute, since they are likely getting paid 30% less than their male counterparts and are more likely to be single parents than men. Ashe Dryden has a great breakdown of the issue, as well as some suggested alternative hiring techniques: http://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-an...

This isn't a criticism of your comment, just something to keep in mind when making hiring choices. :)


> Women especially may not have as much time to contribute, since they are likely getting paid 30% less than their male counterparts and are more likely to be single parents than men.

I don't know if that's it. The undergrad population in the CS department when I was in college was 11% women (already pretty dismal) but when it came to code-heavy advanced courses like writing an operating system it dropped to 0%.

I would guess they either didn't believe they could do it or they were unwilling to put in the extra work, which in a sense was 'unpaid' since it was not a requirement for graduation. None of these women had children or had to worry about pay discrepancies.


Am I correct in assuming that your assertion here is that women don't contribute to Open Source in as high a number as men because they're "unwilling to do the extra work?" This is based on your one experience in college, and its extrapolated gross generalizations. Did you happen to survey 11% of your classmates to determine their specific circumstances? Were there, perhaps, any other offerings of those same classes which you did not attend that might have had female students?


My assertion is that women shied away from this sort of unpaid time-intensive work even when they were not subject to the disadvantages you outlined (childcare and lower income). The real reason, in my opinion, must be something else.

In response to your questions: there was a single offering of the course. All of the women I encouraged to enroll said they were uninterested due to the perceived difficulty and workload. This may or may not have been a cover due to other concerns ("am I good enough?", "I heard only boys take this course", etc.). To be clear, the vast majority of men in CS were also unwilling to enroll in this course because of the workload.


Well, I would have to disagree with your assertion that the women were not subject to any disadvantages, even the ones I mentioned. To know that outright would require something bordering on omnipotence. But feel free to believe that it must have been "some other reason," rather than the myriad entrenched disadvantages that exist in both our society at large and this industry in particular.


Holy shit.

Unwilling to put in the extra work. REALLY??

Hi have we met


> None of these women had children or had to worry about pay discrepancies.

Every woman has to worry about pay discrepancies. In every industry, at every job level. That's what this whole "gender pay gap" is all about, you know?

And it's everybody's job to fix this!


Private Repo activity doesn't show up though, so it's not the best metric to take a look at.


you're definitely right. unfortunately i've been busy with a move and learning angular, which was new to me, so i haven't had much new code. i plan on adding more this week. thanks for your advice =]


I already code for a living and thus my github often goes dormant for months or even years. I also code on my free time too and many of the projects I might contribute to for free (important to stress that), or otherwise become involved in, do not accept pull requests on github.

I would like to offer you some counter-advice: don't work for an employer who bases hiring decisions solely on your github activity or any other open source contributions. These are important metrics but so is your own research, your genuine enthusiasm for the field, and your personality fit.


Some easy things you can do is get an avatar, star some projects and try to get some followers (people often follow back if you follow them). Not huge wins, but they help make you github account look more active.


Not having experience is a huge barrier to clear. When trying to get my first job I only had a minor in CS. I had 13 interviews before I got a job, and I had to continually revise my resume. Don't give up. Focus on breadth vs. depth in terms of jobs and knowledge. And don't worry about minimum years experience requirements on job postings. You can get a job that is for someone with 3-5 years experience; they just won't pay you as much.


None of the languages you listed are technically programming languages (I guess PowerShell could be considered one, but it's more for automation rather than programming actual applications). Maybe you're using the wrong terminology during your interviews.


oh definitely, i meant that i knew the basics of python, ruby, and javascript, as well as the other technologies (non-programming languages, as you said).


Start by always using the correct spelling, grammar, and capitalization. Get a senior developer to look over your code samples and give you feedback, then make sure to have a project out there that people can see and you can link to.


Soft skills are more important than tech skills, especially at entry level. It usually becomes pretty apparent in the interview whether someone is capable of problem solving or not; the interviews conducted for my department are purely to see if the candidate is a cultural fit. We don't even do technical interviews, though occasionally we'll do a code challenge to separate two very close candidates.

My point here is that you should take a look at your personal presentation and see if there's anything you can tweak to improve your interview performance.


I wouldn't take it too seriously. At the risk of sounding pretentious, the skill level of developers on HN and proggit seem to be much higher than average. For every guy who writes a sweet project in meteor and shows it off to everyone there are 1000 Enterprise Java programmers who do it as a 9-5 and scoff at the idea of hobby programming.

If you're passionate and put forth an effort to keep a relevant skill set you're already doing better than most imho.


What is your background? I know that for a lot of corporate type gigs HR is really more concerned with whats on your CV than what your actual skills are. For many, a good GPA in a programming related program will get you an interview and the rest is soft skills. So, I feel like if your background isn't directly programming related then you really have to look for smaller companies/startups or via recommendations.


Full disclosure, I just graduated and really don't know anything of value yet BUT imho building things that are functional and working outside of your dev environment should have more of an influence on your job prospects than the stupid coding exercises.


Getting past HR is a totally different and unrelated skillset from the craft of programming.


An option is to market yourself as "DevOps" engineer, seriously.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: