Jump to content

Getting a job programming without going to an expensive coding boot camp school...

dave4shmups

I've thought about being a programmer as a career option, but I don't want to spend $15-$20,000 on an coding boot camp.  I know I could get started with, for example, Python on a site like Udemy.com, but I'm concerned that I wouldn't have as much of a chance at getting a job as people who go to those expensive boot camps do.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, dave4shmups said:

I've thought about being a programmer as a career option, but I don't want to spend $15-$20,000 on an coding boot camp.  I know I could get started with, for example, Python on a site like Udemy.com, but I'm concerned that I wouldn't have as much of a chance at getting a job as people who go to those expensive boot camps do.

What exatly are you asking?

You don't need a boot camp or schoolarship to get a job as programmer. I duno why people are so stuck up on these "formal" educations.. You think the world is build on formal education?

 

All you need to get a job as a programmer is experience and a way to prove youre experience to a company. How you do that is up to you. If you want to become a programmer, you need to learn how to make programs. Taking a quick course and go up to a company doesen't really help you. If you're completely new a boot camp will probably help you less.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, dave4shmups said:

I've thought about being a programmer as a career option, but I don't want to spend $15-$20,000 on an coding boot camp.  I know I could get started with, for example, Python on a site like Udemy.com, but I'm concerned that I wouldn't have as much of a chance at getting a job as people who go to those expensive boot camps do.

Unfortunately there's not really an easy answer to your question, as it really depends entirely upon the company you're applying to for your job.  If it helps, I can tell you that I got my job as a developer with an Associates in Computer Science and an incomplete bachelors.  My boss wasn't even really that concerned with my background apart from the fact that I had some experience.  After my interview he gave me some problems he wanted me to work at home and send him the answers when I was done.  He told me something to the effect of "I don't care how you do it; whether you use books, google, whatever.  I just need to know that when I give you a task to do or a problem to solve, you can get it done."

 

If you're more comfortable being taught by an instructor, I would recommend checking any community colleges that might be around you, as they'll likely be several orders of magnitude cheaper than the boot camps.  The catch there of course if they'll take more time to bring you up to speed.

I have to agree with @AbsoluteFool on this though.  Even if you do take a course of some kind, you'll get much more out of it if you already have some experience.

 

Here's the best advice I can give you right now, and apologies, but I'm going to be a bit direct here.  if you think there's a chance you'll want to do this professionally, then stfu, and start one of those online courses.  You're not doing yourself any favors by waiting and worrying about what someone else is doing.  Even if you don't end up doing it as your profession, considering just how integrated computers are into every other career nowadays, there's probably a damn good chance it will help you out in whatever other field you go into, not to mention it's a fun skill to do as a hobby.

 

As the great philosopher LaBeouf once said

Just Do It

 

 

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Most programming jobs require a test and they really don't care about what you did in school. I would suggest also working on open source projects to for experience to learn what it takes to work on large scale API's. The truth about working as a programmer is the code you make shouldn't be made quickly. It should be a very slow and boring process to be done correctly which is never a fast process (Game jams build bad habits).

 

Information about working in a programming job:

A large group of people working on a project is broken up into smaller teams. Each person in the smaller teams write small bits of code that will end up doing big things when put together. Just remember that your code should be very descriptive in names (functions, objects and variable names) and should be modified with out changing other parts of the API. Try not to focus on making something amazing that can "do it all" as when it comes time for the product to change will be a pain to refactor.

 

What you should do if you want to work in code:

Learn a language(or 2) you want to code in and follow the solid principles of coding (https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design) this will put you ahead of most of the others and reflect in your tests when going for a job. This is just my view point from my experience working in the industry for the last 5 years which isn't really that long at all.

 

Happy coding :)

Link to comment
Share on other sites

Link to post
Share on other sites

$15 coding boot camp? Does such thing even exist? 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, wasab said:

$15 coding boot camp? Does such thing even exist? 

if it does i go screwed up big time on the MSDBA one lol

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, wasab said:

$15 coding boot camp? Does such thing even exist? 

I meant $15,000; whoops!

Link to comment
Share on other sites

Link to post
Share on other sites

Your only option if you don't want to go to school, go through a coding boot camp, or some other similar thing is to crank out projects of a reasonable challenge and upload them to GitHub or some other publicly accessible source repo. If you're targeting something specifically, tune your projects to that field. The only way to make up for not having an educational background is to have practical experience.

 

You may also need to go out there and make connections with other people who can get your foot in the door. Companies may use an automated system to filter out resumes that don't meet the basic requirements of the job posting.

Link to comment
Share on other sites

Link to post
Share on other sites

I would recommend going back to school for it then trying to get a degree but starting out using a service like Udemy would be good as well if you do not want to go back to school. But also just getting practical experience is good as well which will make up for not having an educational background in the field.

Link to comment
Share on other sites

Link to post
Share on other sites

Some thoughts.

 

There's knowing a language, then there is:

  • knowing how to code,
  • knowing how to program,
  • knowing how to design
  • knowing different design architectures.

With each:

  • how to do it effectively, and
  • how to produce something of quality.

How is that quality measured.

 

Development of a program is just the start of the life of a program. Almost always it will be in use for some time, short or long, so the company producing it will have maintenance costs. For many companies, maintenance costs can be anywhere from 20% to 400 % of the program's original development cost. There's a lot of work there. Don't be surprised if you end up starting out doing maintenance.

 

Note: even if your code works correctly, is fast enough, and you produced it fast enough, if you produce disjointed or fancy-assed code that is difficult to maintain, you'll be out the door so fast you'll be a few blocks away before you begin to wonder if you were kicked in the ass on your way out or hit by the door swinging closed.

 

Being a code monkey might pay the bills, but those with higher capabilities make more, have more satisfaction and have more fun doing it.

 

Research which languages are being used for tasks for which people will pay for.

 

Research why one language would be chosen over others for a particular task - for production environments. Not for exploring languages, language features or language design. 

Is there more background knowledge of a business or field required or beneficial for doing development within an area that is paying for development?

Where could you see yourself fitting in.

 

For each language, there's usually one or a few core books that are considered essential. See them at the library to see if you can follow them, or if you need to start simpler. e-books are cheaper, and can be searched quickly. Paper books are easier to read through to cover its material. There's a few that I have both formats of, and they get used very differently.

 

Pick one language, install what you need to develop with it, and make the "Hello World!" program.

How did that go.

Try that with another language?

Four, five or six?

 

Java is likely a good one to start with. It is used widely. It's somewhat verbose, but that's intentional as it's for writing code that will be used in production. Done with proper architectures and coding style, it is very readable, hence easier and lower cost to maintain. You do not want to be introduced to someone new to you in your company and hearing "You! You're that one that wrote that @*(^& code!".

 

Your efforts will give you some info from which to pick your best path forward. That might end up being doing more research, or starting to learn how to code/program/design in whatever language, by whatever learning method. In accessing each learning method, include: where will I end up after this?

 

Link to comment
Share on other sites

Link to post
Share on other sites

Hi,

 

While I did go to college I ended up going down the apprenticeship route as I needed to get a job ASAP due to financial reasons. I was provided with training, most of which was on the job training with extended timelines, I also got put on four 5-day courses (ASP.NET, Node.js, C# & C# again) which normally costs around £2000+/course. As you can tell it was a really good opportunity to learn and gain experience at the same time, similar to internships. We hired a lot of graduates and I was basically treated like a graduate (with the exception of those 4 training courses). Overall I really rate it, unlike subsequent jobs the worklife balance was good.

 

It's not all positives though.. In my experiance a lot of apprentices struggle, I did a lot of games dev & actually had a few months of exp so I had an advantage. Despite my manager being all for me to recieve a good salary after I completed my apprenticeship my boss at the time shut it down - I got fed up and left and doubled my salary. It feels like Universities really look down on me not having a degree, for context I have a tonne of experiance and a good portfolio and I generally do very well in interviews - I get a job within 1-3 applications but I've had zero success with universities - not even an interview despite even being overqualified for one of the roles..

 

I recommend apprenticeships if you're willing to put in the effort & you understand your rights so companies don't attempt to screw you - where I live it's very common for apprentices to be treated somewhat unfairly (there were a few other less than legal situations I was exposed to but I wasn't aware of my rights at the time, one of the friends I made on one of the courses had his salary withheld until the agency got involved etc..).

 

I don't live in the US so things might be different for you (I live in the UK).

Link to comment
Share on other sites

Link to post
Share on other sites

Programmer is a good job. But not as good as being a boss in company. And that requires zero hours of learning and you can get much more money. :) And still all written programs (in your company) will be yours. :)

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, fringie said:

 I got fed up and left and doubled my salary. It feels like Universities really look down on me not having a degree, for context I have a tonne of experiance and a good portfolio and I generally do very well in interviews - I get a job within 1-3 applications but I've had zero success with universities - not even an interview despite even being overqualified for one of the roles..

What position did you applied to? For network admin or application developer, it should be the same as in any other industry. For professor and researchers, you are out of luck. Without a degree, you won't get a glance regardless what a rock star coder you are. 

 

11 hours ago, fringie said:

I recommend apprenticeships if you're willing to put in the effort & you understand your rights so companies don't attempt to screw you - where I live it's very common for apprentices to be treated somewhat unfairly (there were a few other less than legal situations I was exposed to but I wasn't aware of my rights at the time, one of the friends I made on one of the courses had his salary withheld until the agency got involved etc..). 

In the USA, there is this staffing agency called revature that will train and certify you for free in exchange for 3 years contract in which you will be contracted out to companies to work as developer at sub industry wage of around 50k per year. I call that a huge scam. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, Canoe said:

Some thoughts.

 

There's knowing a language, then there is:

  • knowing how to code,
  • knowing how to program,
  • knowing how to design
  • knowing different design architectures.

With each:

  • how to do it effectively, and
  • how to produce something of quality.

How is that quality measured.

 

Development of a program is just the start of the life of a program. Almost always it will be in use for some time, short or long, so the company producing it will have maintenance costs. For many companies, maintenance costs can be anywhere from 20% to 400 % of the program's original development cost. There's a lot of work there. Don't be surprised if you end up starting out doing maintenance.

 

Note: even if your code works correctly, is fast enough, and you produced it fast enough, if you produce disjointed or fancy-assed code that is difficult to maintain, you'll be out the door so fast you'll be a few blocks away before you begin to wonder if you were kicked in the ass on your way out or hit by the door swinging closed.

 

Being a code monkey might pay the bills, but those with higher capabilities make more, have more satisfaction and have more fun doing it.

 

Research which languages are being used for tasks for which people will pay for.

 

Research why one language would be chosen over others for a particular task - for production environments. Not for exploring languages, language features or language design. 

Is there more background knowledge of a business or field required or beneficial for doing development within an area that is paying for development?

Where could you see yourself fitting in.

 

For each language, there's usually one or a few core books that are considered essential. See them at the library to see if you can follow them, or if you need to start simpler. e-books are cheaper, and can be searched quickly. Paper books are easier to read through to cover its material. There's a few that I have both formats of, and they get used very differently.

 

Pick one language, install what you need to develop with it, and make the "Hello World!" program.

How did that go.

Try that with another language?

Four, five or six?

 

Java is likely a good one to start with. It is used widely. It's somewhat verbose, but that's intentional as it's for writing code that will be used in production. Done with proper architectures and coding style, it is very readable, hence easier and lower cost to maintain. You do not want to be introduced to someone new to you in your company and hearing "You! You're that one that wrote that @*(^& code!".

 

Your efforts will give you some info from which to pick your best path forward. That might end up being doing more research, or starting to learn how to code/program/design in whatever language, by whatever learning method. In accessing each learning method, include: where will I end up after this?

 

What do you mean by different design architectures?  X86 and ARM are the only two ones that I'm aware of.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, dave4shmups said:

What do you mean by different design architectures?  X86 and ARM are the only two ones that I'm aware of.

Software Design Architectures

The structure of the software design. Different structures lend themselves as more robust, expandable and maintainable for different types of problems or environments.

Some examples:

  • Procedural
  • Structured Composite
  • Object Oriented (and Design Patterns)
  • Reactive
  • Enterprise
  • Cloud
  • Micro Services

Software Engineers / Designers design the structures that solve the problem. Programmers and coders help write the code for that. If you're lucky, you'll end up on a team where they do Partner Programming. Two heads are better than one, and you get higher quality code sooner, that's more extensible and easier to maintain. And the project has less hit-by-a-bus risk. 

 

Then there's programming style. Many languages have a base style that aids developing code and others understanding wtf you coded. Some specifics can really aid the ease of both development and maintenance, and in some cases (like Clean Code), come pretty close to "self-documenting code" (an often elusive goal).

 

Then you have the newer "Experience" based design/designers. They involve some of what software engineers do and a lot of the User Experience design, along with graphic design and others. Like a multi-disciplined approached, but with sub-sets (usually to a high level) of relevant skill sets in one individual.

Do some research on that. You may be more interested or more suited for it. It's more on the User Interface / User Experience and less emphasis and less scope than the issues a Software Engineer addresses.

Link to comment
Share on other sites

Link to post
Share on other sites

p.s.

Be aware that it used to be the TLAs that were changing all the time. That's still true, but now change includes the whole job title, scope and responsibilities.

"Programmer" might be a rather different beast depending on the development environment, and could be a limiting label.

Link to comment
Share on other sites

Link to post
Share on other sites

Also, ...

 

There's an increasing need for "programmers", but not just any programmer. For some years, quality programmers will be needed. But more and more in-house applications are being replaced by purchased products. More importantly, more and more development tasks are being automated, so those who can design at a higher level of abstraction are those who will remain employable as the "lesser" jobs dry up. (Although there will be some usually rather demanding jobs for those developing and maintaining those tools...) There will be some jobs for code monkeys for a time. If you need to go that route, watch out for getting chewed up, used up and thrown out when your skills are no longer relevant or can be replaced with someone new looking for "getting a job programming" who will work for cheaper wages. Pay attention to the following.

 

Also - VERY IMPORTANT - Surprise! There's ethics involved.

The whole programming/development area will be coming under more and more scrutiny with regards to code quality. Just look at the Boeing 737 Max screwup that included software issues. Would you want to be on the team whose bug crashed a plane, train, bus, autonomous vehicle, or killed people in a fire started by their dryer, toaster or new door bell. Or that bankrupted your company and now you're all out of a job. How many people will die before society and authorities will demand (or legislate?) quality standards for software development. If you haven't developed your skills to produce quality reliable code, you could be left scrambling or you're too far behind and get left behind. Your ongoing commitment to both producing quality reliable code and your ongoing Professional Development will ultimately be your own personal responsibility.

 

Staying true to producing quality reliable code has to be balanced according to the realities of the specific development environment you work in. Rarely will you be producing a 100 % solution. More likely a 95 % or 90 % solution is sufficient and economical to meet the business needs. Hopefully management is aware of that; you should be aware of that, even if they aren't. If they're repeatedly producing lesser quality code, perhaps you're working in the wrong place. Certainly it's not conducive for your developing appropriate - and marketable - skills. One 'school of thought' is that if you're no longer learning & developing your skills, it's time to look for a new job.

 

(I've worked in over two dozen languages. More if I include the various DB tool languages and 4GLs. Three of those were among the ten or so I learnt at collage. Another two were from my employer paying me to go on courses. The rest I developed the skills for on my own. The more languages you know, the easier it is to pick up another one. What features has it got and what's the syntax. And, if you're lucky, what are the new toys! features, structures and architectures possible with it.)

 

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, Canoe said:

p.s.

Be aware that it used to be the TLAs that were changing all the time. That's still true, but now change includes the whole job title, scope and responsibilities.

My favorite is devops which is when companies are too cheap or poor(or maybe both?) to hire a system administrator and decide to just dump all its job responsibilities onto a developer instead. End result? You get someone severely overworked developing and managing your system infrastructure. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, wasab said:

My favorite is devops which is when companies are too cheap or poor(or maybe both?) to hire a system administrator and decide to just dump all its job responsibilities onto a developer instead. End result? You get someone severely overworked to both develop and manage your system infrastructure. 

What's wrong with that? Fred took a computer course on Basic when he studied zoology, he knows how to change all the copiers' toner cartridges, and he has a 'gaming' computer (related to his zoology course?) at home. What more does he need to know?

 

Link to comment
Share on other sites

Link to post
Share on other sites

One option is to make valuable contributions to high profile open source projects on GitHub. This means the project should be used by a lot of people, the feature highly sought after with a reasonable difficulty. Do a good job of implementation, documentation and test coverage. I've actually gotten job offers that way.

 

In other words try to build a visible profile of high quality work, similar to an artist's portfolio. If you have a high quantity of high quality work out there, the more likely companies may be willing to overlook the lack of formal education.

 

One issue is that people in charge of hiring usually aren't very tech savvy. They will judge you by your formal education. However, if you have a lot of high quality work out there, you may be able to convince them that you're able to deliver despite the lack of formal education.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, Eigenvektor said:

One option is to make valuable contributions to high profile open source projects on GitHub. This means the project should be used by a lot of people, the feature highly sought after with a reasonable difficulty. Do a good job of implementation, documentation and test coverage. ...

Excellent idea. But it will be a while before you've developed the skills for producing quality code.

 

A variation on that, check projects out to hopefully see what quality code looks like and how it is structured. You can get access to some great code, written by some outstanding people. That may help you choose which lanauage and which direction you start with.

 

You also get to see some of what happens to make a project work. Or how it doesn't, when it's not quality code or the wrong structure. How team members handle develoment, testing, rollout, rushed compliance updates, screwups (that order is co-incidence - or not).

 

Rather than starting with contributing code, help with the testing. Lets you get to know the environment, the project and provide useful help. Possibly even before you know how to code or produce quality code.

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Canoe said:

Rather than starting with contributing code, help with the testing. Lets you get to know the environment, the project and provide useful help. Possibly even before you know how to code or produce quality code.

Agreed. In addition to testing, you can usually also help with (code) documentation and e.g. work your way up from small bug fixes and contributions to more complicated things over time. I think I've also seen some projects with open feature requests that specifically mentioned that some form of coaching for new contributors is available.

 

The reasons why I recommend contributing to existing projects instead of (just) cranking out your own:

  • You have a much better chance of being noticed. Unless you happen to write something that is useful to a lot of people, your code has a much better chance of being seen/critiqued/reviewed when you contribute to a project that is already visible/important to a lot of people
  • If your personal project is crap, few people are going to care, they'll simply ignore it and you. If you contribute to an existing project, its existing maintainers/developers will most likely hold you to a certain standard which will provide you with feedback and help improve your skills.
  • You can show a prospective employer that you can work with an existing code base and adapt to and follow their coding conventions.
  • You can show a prospective employer your communication skills and how you handle feedback and criticism. If you're contributing, you will have to work with merge requests (or pull requests in GitHub's lingo) and may have to accept criticism of your code and possibly defend your decisions on how to approach/solve certain problems.

With that being said: Just as important as the quality of your work are your communication skills. Employers often want to see that you're a team player and/or a good fit for their team. Having a professional appearance e.g. in the way you handle pull requests and react to criticism or hand out feedback of your own can be just as important to convince someone to employ you as are your technical skills.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, Eigenvektor said:

...

Just as important as the quality of your work are your communication skills. Employers often want to see that you're a team player and/or a good fit for their team. Having a professional appearance e.g. in the way you handle pull requests and react to criticism or hand out feedback of your own can be just as important to convince someone to employ you as are your technical skills.

All very good!

I place particular emphasis on what's in the quote.

Not just to get a job, but to keep it...

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/28/2020 at 9:04 PM, wasab said:

What position did you applied to? For network admin or application developer, it should be the same as in any other industry. For professor and researchers, you are out of luck. Without a degree, you won't get a glance regardless what a rock star coder you are. 

 

In the USA, there is this staffing agency called revature that will train and certify you for free in exchange for 3 years contract in which you will be contracted out to companies to work as developer at sub industry wage of around 50k per year. I call that a huge scam. 

I guess you'd say application development. I have around 4 years experience and I make  sillicon valley type of money (I live in the UK so several times above the average where I live). Idk what it's like in America but where I live the apprenticeship schemes are good if you're capable and motivated.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 weeks later...

I really like both HTML and CSS, but I don't know if I could specialize in both of those, because internet sites also require JavaScript which  I don't like as much.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×