A place for programmers of all languages to come and chat, show off what they've done, and general shop talk.
What's your advice for an entry level coder?
Hello all, this is my first post here on Imzy. It also happens that I am trying to land my first job as a software engineer.
I've coded since I was about 11 in various languages using various frameworks, but I've mainly settled on C# as being my favorite.
Programming and computer science is truly my personal passion. I've coded server emulation projects from the ground up in C#, done malware analysis for fun, and my current personal project is an automation system for Android using Java/C++ for interfacing with the device and C# for providing a scripting interface.
I took two years of college in computer science but had to take a break for financial reasons. I do plan to go back, but I am hoping to find a job that will allow me to better pay for college on my own terms. I work at <large_grocery_chain> as a stocker right now.
So my question is this: as I am applying and if I begin to get interviews, what advice would you give me for how I present myself, or maybe things I should look into or do? Particularly about when conpanies ask me about college or perhaps things I can say to convince them I am worth their time without a degree to prove it.
As a side question, do you think I have a good chance of actually landing a job without a degree? I know this probably varies wildly by location (I live in Memphis, Tennessee).
I am also going through a recruiting company who are, in parallel, trying to find me a position. I took their exams for C++, C, Java, C#, and SQL, and scored in the 90th percentile for each. They seemed very impressed, and they assured me they can find me a job given enough time, but I also know it's their job to make me think that.
Thanks, everyone!




You will hear this in many places, but it is important to avoid burnout.. I was told the same thing 20+ years ago and I loved programming so much that I knew it could never happen to me, having, like you, been a programmer since I was 11 years old (but in 1979). It took me a couple years to admit that it had indeed happened.
I won't give you a bunch of tips on how to avoid it, because frankly, I don't know any. But I do know I ignored an awful lot of them for an awful long time, and wish now that I hadn't. Seek out the advice on the Web for avoiding burnout and take it seriously. Just so you're not working from a single data point here, know that of the probably 100 people I've worked with in various programming jobs over the years, fewer than 20 of them are still in it, and all but one of them went into management a decade ago.
I was reading something recently that was someone saying how they avoided burnout in their 20+ year career, and for I think for me too, it came down to this:
I believe the example was banks aren't the only one who care about measuring to precise fractions, or accounting for every piece of inventory (aka money).
Are there nearby software meetups and hackerspaces? It helps to meet people who will tell you what their companies are like, how they think, their tools and working styles...
You fit within the romantic archetype of self-taught coder. This works in your favor, as company gatekeepers will pattern-match you to this archetype.
Maybe show off your accomplishments?
Can you put them in Github? If so, you can make a nice intro.md page for each, with clear empathetic explanations what it does, and how to install.
You can also make an attractive webpage that serves as a portfolio. With images and brief descriptions. (Emphasis on brief, as hirers don't want to read. The few things they read should grab them.)
This is negotiation. The most recommended intro is "Getting to Yes."
I don't know your local situation. In my experience, the main things are to have sufficient skill, the ability to display it (without being an obvious showoff), and coming across as someone people can like working with for 8 hours/day.
Many jobs claim to require "a computer science degree or equivalent experience." Lacking these harms bargaining power (less pay and momentarily closes off some places), but should not close people off to finding a job. Unless the job market is truly unfavorable.
If you know CS concepts (regardless of degree), then you can emphasize the fact that you know mental models beneath the surface. There's a a few things CS means to employers, and here's references for interested people:
Thank you, you list some great advice.
I went to a local hackerspace meeting once long ago, but didn't get very much into it. I think I will revisit this, because of your advice.
I have a github with a few personal projects, but they definitely need some clean up and a good/better readme.md file. I'll make this a priority so that they can see something nice.
I was considering making a portfolio-style webpage, like you mention, but wasn't sure if it would be worth the work. I'll also look into getting serious about this.
Thanks again, for everything. I always love to hear about new books/learning materials.
Good luck! Just talked with a friend, and she gave me some ideas:
Most hackerspaces and meetups depress me, but professional networks are nevertheless a powerful advantage. If you're from an underrepresented group, Recurse Center offers need-based grants, and I imagine it's a great way to find a job. Probably not a job in Memphis though.
My friend's advice: try not to let job rejections make you feel bad about yourself. Just learn from each, as she did. (I supported her and saw it firsthand.) It's just "part of the game." She went through many rejections, usually for reasons that weren't about her. They hurt, but now she's thankful they disqualified themselves, because none of those places were 1/10th as respectful and empowering as her new job. She already had some job experience, but hopefully what she said applies to your situation.
i know a lot of people who find jobs from knowing people in hackerspaces, for sure - older people there see what you can do over time and if they're into it, it becomes really easy for them to just get you the job.
Can you land a job without a degree? I did, as did about a third of the people I've worked with over the years in programming. Of the 2/3 that had degrees, only a handful were in computer fields. Some of the best programmers I've known were history, psychology, and English majors. If you have a portfolio of any size, you'll get a job. Recruiting companies aren't so bad, and I know a lot of people that found early work through them.
Thank you for the advice. I read programmer-centric sites like Hacker News and listen to tech podcasts, and have heard about burnout, but like you did I currently have that mindset that "it'll never happen to me; this is my passion."
I will definitely take your advice, however, and try to read up on avoiding it. Something that is interesting to me is that you mention that many programmers move into management. This seems to be the natural progression for most programmers, but it is strange to me without having formal experience in the field. I have decent people skills, I'd like to believe, but I don't view myself as someone who loves to lead. I view myself as someone who loves to code. Do you think most people start out with this perspective and later, after the burnout sets in, go into management as a way to escape this? Right now, it is as if I couldn't see myself going into management, but I wonder if one day I will.
Thank you also for telling me that a third of the people you've worked with didn't have a degree. This gives me more hope.
I think if you wait until the burnout starts, it may be too late to get good at it. It's more about not passing on the opportunities that present themselves, and making it clear that you want to move up. That's how it's been explained to me, anyway. I sent the wrong message by turning down early offers at lightweight management. Everyone I know that stuck it out and went into management didn't necessarily start out with that plan, but gradually took on more responsibilities that led that direction, and applied for positions when they came up.
Something you didn't ask, but I will mention, is that working from home eventually leads to isolation and the loss of contacts. It was something I thought I wanted until I did it for 15 years and then realized when I found myself looking for work that most of my relevant contacts were from a long time ago.
i'd imagine that, especially when people start having family lives to consider, the more attractive wages and in some cases more attractive hours and etc of management positions start to become more appealing too. it's easy to think of it as "oh, i don't want to lead" but as you gain more experience in say, the company you're in, or the people you're working with, or the systems you work with and way you're expected to work with them, not to mention seeing different projects and dramas come and go, the more qualified you'll end up being for those kinds of positions whether you're really after it or not.
Many companies don't really allow for "horizontal growth" as a programmer. You are either a programmer, and when you get good at that, it means that your only growth is up. I've met plenty of great devs, who when they turn down the inevitable manager position, get a response along the lines of "why? you don't want to grow with this company?" It's not a matter of not wanting to grow, but not wanting to be a manager.
I have one coworker who clearly stated if we put "manager" in his title, the company pays for his Audi.
Many companies use "dev/tech lead" interchangeably with "manager", even though they are very different roles to me, and many people, myself included, are happy never going that direction.
The thing about a degree, is that it gives you a leg up on other applicants. Some recruiters will simply bin applications without one.
The more intelligent recruiters will view your passion for the art. Since you have been doing it since you were 11, you are probably very passionate about it (I started when I was 9-10 on a BBC Micro, I get where you are coming from).
Long story short, start learning languages that are highly used. Get active on those languages on Stack Overflow and Github.
Helping people on Stack Overflow gives you "reputation" which is a good metric for employers.
Writing code on Github is a great way to show potential employers your skill. Whether it is a full project or moderate commits to an open source project.
Looks like you've gotten a good amount of answers on this post so I'll throw in my thoughts on the ability to get a good job without a degree. This is my first comment on imzy! :-)
You have a good shot since you have a background and, I'm assuming, open source code out there that prospective employers can look at. College degree is something to be proud and it does show that you can start and stick with something through to the end. However, between a graduate and someone who can prove they know how to approach problems and have experience writing real world code I'll take the real world coder any day.
In fairness, I was in your shoes 15 years ago. I never ended up going back to college and was able to land a good entry programming position I was happy with and that was after the dotcom bust!
As a side note many of the people I've worked with over the years whom I really respect do not have degrees in Computer Science (or any tech degree). Some didn't graduate and others have unrelated degrees.
Right now it's a great time to be a developer/programmer. It's a buyer's market, so you as an applicant have a lot of leverage.
Lots of great advice already here. But some thoughts on interviews...
In general, if they are grilling you for technical minutia and throwing quizes with esoteric or gotcha questions at you, that's not a good sign! I've been interviewed many times over the years (and generally do well in them). And I've also interviewed many candidates in multiple jobs. The important thing for me is the interviewee's focus, intelligence, their ability to read between the lines, and their personality. Most developers are smart and can adapt to new situations, including new languages and technologies. And interviewers should be focusing on broad understanding of concepts and general thought process. If they are getting hung up on the correct way to do a distinct order by in linq that says to me they don't see the bigger picture.
Also if they aren't friendly and engaging during the interview process they will probably be difficult to work with.
The best places I've worked at have been the ones where the interview process was pretty abstract and almost informal. There's a direct correlation between these interviews and actually enjoying the job, from my experience.
Some general interview tips:
Good luck! You've got this! :-)
Edit: to your question about having a degree. I usually look for either a bachelors degree in a CS related field or 2 or 3 years of relevant work experience. But even if you don't have that, in today's market just having some sort of decent programming portfolio would probably be enough to get in the door for a junior developer position. Someone already said to set up a github profile and create or upload some code to the open source community. That is excellent advice! Also make sure you have a good linkedin profile. Whenever we interview someone we look them up on social media to get a measure of them before the interview.