I am a construction worker that has been learning how to code on my free time for years. I am pretty comfortable with OOP and can build a website from scratch.

The problem is I don't have any experience nor a degree. I get rejection letters truly the next day after submitting, and most don't get back to me.

I've made a couple websites myself, devstudents.net and gomobile411.us. DevStudents.Net is an unbuntu server I learned how to get running myself with node.

I have experience with remote teams and have made a few school projects completely remote. I made this game with a few friends I met in school 100% remote.

I tried making a fancy resume, I've responded to every single junior/entry level job in my area and have been declined for each. I see people on twitter with tech jobs that don't even know Javascript or es6 and get paid to learn it.

The only thing I can think of is that I don't have a good enough github (github.com/levyadams) or my resume needs to be a T-resume. The only responses I get for are jobs in California or New York (I live in Michigan).

I feel like I am being turned away from the cool kids table. All of my projects I was a lead on after a week or two and really help other people. In school I did better than most of my class mates. Not sure where I need to go from here to get my foot in the door. The only thing I can think is an unpaid internship which I get zero results for on google in my area.

I know this is kind of generic, just wondering where I am going wrong. Everything I read said to learn javascript and make a couple of websites to show people you are driven and interested. My github has a bunch of frameworks for automated tooling that I see people struggle with the basics of.

My wife is pregnant and I am at the end of my rope. I took some time off hoping I would secure a job in the tech field and not be stuck breaking my back for the rest of my life. I feel like after the last 3 years of learning were a total waste and I'll just retire at 60 broken and crippled because I didn't pay a bunch of bunch of money to get a degree. I like programming in my free time but I get an hour into it before the 8 hour labor day wears on my mind and I stare blankly at the screen while beating myself up for not pushing harder and learning more to get a junior dev job.

edit - Thank you everyone!


Try to find a recruiter to help you. They are paid for landing jobs to people so they should have a good market overview, know what technologies are the best for SW newcomers, help with your CV and motivational letters etc.

Also if it would cut it for you - maybe it will be easier to get the first job in tech in a different field - for example testing. It's not programming but it's in the SW field and you will get a good look how the software is actually developed (you might even get an access to source repository). - Later you might start writing tests which actually is a programming even though not as complicated and during that you can still learn and support your family at the same time.

  • 2
    IMHO definitely this. The other answers are useful but I think this is really the right way to approach the problem. Just one note: as developer I highly respect testers and they're not an entry point to be a software engineer. don't go on testing if you are not happy to do it, do it well, learn required skills and expertise. Testing is not a 2nd class citizen but a different discipline (which may teach you some valuable shared skills). – Adriano Repetti Jul 28 '18 at 10:46
  • I was thinking exactly the same thing. If you get into testing and writing and automating tests that's a good start, and you may be able to slide sideways into actual development – DaveG Jul 28 '18 at 13:58

Software engineering is harder to break into than some people would make it seem. With no degree, no formal education, and no previous work history in software engineering, your first job will be the hardest, but once you have the work experience no one will worry about your educational background. It's easy to get discouraged, but you have to just push through it.

I suggest that you look at these resources: - https://www.indiehackers.com/ - https://www.freecodecamp.org/

There is no silver bullet to getting hired as a software engineer. Even with a degree, there is so much variation between hiring managers that you get rejected a lot too.


I feel you, I'm a commercial fisherman who has gone back and gotten a CS degree at a decent school, in a hot tech area. And guess what? It's still not easy to get that first job, I haven't done it yet.

Where are you at in Michigan? Are you anywhere you can go to events and show off your projects? Find short-term contract gigs? Pick up freelance clients? Maybe apply to speak at tech events and do a short presentation on your journey so far?

jcmack is totally right, some people make it seem much easier to break into software engineering than it really is. In my opinion, a lot of dev stuff is treated in a similar fashion. The amount of "Learn React in < 10 Minutes", etc. type of materials out there can lead to a false depiction of how hard it really is.

If there are no networking / social events for programmer-types in your area, maybe start one? It takes a bit of planning to find a free place to meet and come up with event topics but it can get your face in front of others in the local tech industry. Also, maybe check out the resume review thread of r/cscareerquestions on Reddit, the entire sub-Reddit is a great resource.



Go to meetup.com and go to every tech event you can find. This will take time. Be patient. Make friends and tell people what you're looking for. Sending resumes and filling out applications is a good use of time as well, but networking will be valuable even after you get your first job.


Steps you can take to increase to likelyhood of getting a development job, most important to least important:

  1. Get a degree. I know you probably don't want to hear that, but it's by far the biggest thing you can do to further a development career. It doesn't have to be in CS. Even an online degree would be better than nothing. You could be the Micheal Jordan of JavaScript but without a degree, my workplace wouldn't consider you. Simply put, a degree makes you minimally eligible for most programming positions, and a lack of one makes you ineligible. I personally think degrees are over-valued for devs, but that doesn't change the reality of modern hiring practices.

  2. Get (years of) real-world experience. Bosses want to know that you've kept a production site up over the long-term. They want you to have crashed a site or two and learned from your mistakes. They want you to have performed major upgrades, and used GIT to back out of trouble. Like a young actor building a portfolio; work is work, nothing is below you.IMPORTANT: this experience does not have to be coincide with a paid job, volunteer work counts. You might have to invent your own position. For example, find a local charity or small business with a skeleton crew and less-than-steller web presence and redo their site for them, without asking. Show it to them and volunteer to run the new website because "you love what they do". If they say yes, you can start the clock ticking on your resume, "2018-present - webmaster for XYZ (xyz.org)". If they say no, you still learn technical and selling skills from trying. Repeat as needed.

  3. Get enthusiastic - It's hard, and there's not a straight-forward path for most developers. You probably won't find anything right away, again like a starting actor. Do a commercial or movie extra work before declaring yourself a failure for not landing a leading role. Don't give up; it takes luck and time. Things weren't going my way at the time I completely stumbled by chance into my first development job; a part-time hourly student job creating and maintaining departmental websites (another excellent reason to go to college). I automated them a bit and wrote some internal tools and really went above and beyond what they were expecting, and i was enthusiastic about what I did. That job led directly to a full-time webdev position once I graduated, and the rest is history.

  4. Get a wide digital footprint - Get involved on stack overflow and github. Specifically, you probably want at least a 1000 SO points on each of the job listing's keywords, and a 100 stars on github on a project somewhat-related to your potential employer's operation or technology stack. This takes time. Helping people on stack will provide you points and stars, as grateful users bump you up as a "tip" for your effort. And it's a good way to stay abreast of developments in your sub-field (eg UI frameworks, bugs, browser limitations, etc).

  5. Get a killer resume - make a new one for each position you apply for. I won't go into depth, because it's well covered, but a nice 1-page resume that seems to be "perfect fit" at a glance will lead to phone calls. Do your resume homework.

  6. Get a good reference - When starting out, this is extremely important. It will occur to the employer that you're "green" at some point of the hiring process. A strong reference can tamp down concerns and talk up your skills and professionalism. Your spokesperson should be respectable, empathetic, articulate, and not technologically impaired. Basically, if your resume looks good but the work history is thin, they ask themselves "can this person really handle this job, or are they too new?", and your reference's performance will make-or-break you getting an interview.


It's not so much about how much you know, but what you can specialize in. Building a few random "school projects" here and there means very little. Instead, pick one tech (or a bundle of related techs), specialize in it, and then build something real. By real, I mean something which is high-quality, at an industry-standard level, and something someone would be willing to pay money for. Build it, sell it, repeat. Then look for jobs involving that tech. You want to be able to show that you're not just some guy who can study tech in his basement (as anyone can), but that you are a professional and dependable worker with expertise in a specific tech.

Not the answer you're looking for? Browse other questions tagged or ask your own question.