Path of the programmer

Just finished college, can't find a job. What advice could a professional programmer give to the uninitiated? Every ad is asking for multiple years of experience.

What should I focus on doing?

Other urls found in this thread:

vogella.com/tutorials/Git/article.html
en.wikipedia.org/wiki/Internship
github.com/open-source-society/computer-science
github.com/mvillaloboz/open-source-cs-degree
djangoproject.com/).
twitter.com/NSFWRedditGif

Getting experience

Yes that would be nice, but I can't get experience when every company is asking for 2-5 years of experience.

Opensource projects maybe? That way you have proof in GIT what you've contributed/created

It's all marketing, you must realize that you're the product and you must sell yourself like the whore you are. Put some lipstick on - by making a cheap Android game, nothing special, just so you can say "Yes, i've got this game that x people downloaded and liked".

I don't know where to begin. I never used GIT for anything other than downloading programs.

Not sure if I can just pick some random project and be able to make a meaningful contribution to it without knowing anything about it.

I thought about doing that, do you have any advice for android development? I just started messing around with Tkinter just recently, I was going to make some little game. But I suppose android would be better because I could upload it to an app store and be like "yeah sir this shitty game has X downloads".

You can just take an existing game, copy it add some minor changes and some """unique""" things you came up with to improve it and remove some annoyances of the original, of course use your own sounds and art and so on, ask some of your artsy friends to do that, you should know some unless your completely autistic.

>artsy friends
But I -
>you should know some unless your completely autistic.

Anyways, are you suggesting that I alter a GIT project or are you saying I should recreate someone else's game? By copying the source code or writing my own?

There's like a million Sudoku games on the Play Store. Guess.

Even if it's a copy project it shows that you gave some effort instead of just walking in with a degree expecting to be treated like it was 15 years ago.

I'm support HR guy and sit in on interviews occasionally.

I'm still not clear if you're telling me to rewrite a game from scratch or just copy one from github and modify it.

Different guy.
Write it yourself.
Copy a bunch of stuff from github and learn the programming ideas behind it and make your own version. Not copy code line by line to paste but to understand things. A form of reverse engineering.

Then put it on the store. Also, if you're going to make any sort of stuff that's already spammed on the store, make it less pretty and more optimized.

You code and vode and code. But you code your own projects and but them on github.

This way your github will be your resume and will show people you know your stuff. Unless youre shit.

Not all experience comes from a paid job.

- Hobby programming (have a github profile, or something similar if you dislike github)
- Be an intern
- Join courses/seminars

You may not have 5 years of programming, but with enough work, you can prove that you can program as well as a person with 5 years of experience.

>Spends 4 years at college
>Not smart enough to count that as 4 years experience
Ask the college if you can have the money back

What sort of github profile should I make? As in user name and style. It has become instinctual for me to go into shitposting mode as soon as I reach an account creation screen, or enter a forum.

Hobby programming is what I'm gravitating to. I'm not familiar with burger terms, is interning pretty much volunteering at a company with no pay?

I don't think they mean school when they ask for X years working at a company.

learn git it's simple and essential

Doesn't experience in the context of job offers mean stricly professional experience? I suppose if you contribute heavily to a large Open Source Project that might count as well.
git != github, but you probably knew that already

Where do you live OP?


Few advices:

> No experience

Consider doing an internship for 6 months or so. It will be paid less, but it's much easier to get into without prior experience. And then you can count on your internship as previous work experience for your next application for a fulltime job.

> Never used Git

GIt is pretty easy to learn. Just check out the beginner tutorials for the start, and then try to apply the things in your projects.
Good Tutorial:
vogella.com/tutorials/Git/article.html

> Projects / Open Source

First, find a open source project in the technology stack that you are interested in that is somewhat large/well known but not tooo large so you can still contribute.
Then, look for open issues on their github page, or download their software and try to imagine things that you as a user would like to have added to it. Then try to add those and make a pull request. If it's acceptet, this will result in your public GitHub profile and you can sell it as work experience.

> Further Tips

One word: Hackathons! Participate in every fucking hackathon you can get your hands on. If there are any in your region/country, apply for as much as you can. Benefits are: 1) You learn technical things 2) you get to know recruiters from IT companies, because they are present at most hackathons.

> Online Courses

Do online courses on the topics where you lack the experience know how. Example: Job requires Java --> do a Java Master Class, or try the oracle certification preparation book (you don't even have to take the cert exam, just go through the book).

Good resources for courses are:

www.udemy.com (paid)
www.coursera.org (free)
www.codeschool.com (free)
www.lynda.com (paid)

Or just torrent courses and books on the topics you like.

> CV / Resume

I don't know about your university/college, but mine offers free career advice services where they check your CV and resume and give you improvements and mock-interviews.

>multiple years of experience
motherfucker what did you do during the 4 years it took for your degree?

You got in at the wrong time bro. If you're not black or a woman you aren't a Koder.

Enjoy realizing you've wasted 4 years and thousands of dollars.

Don't believe me? Put your schools African American club on your resume and set your race to black.

You'll have an offer from Google in a day.

>where do you live
In leaf land.

>intern
Still not clear about internships, nobody uses that term in leaf land.

>contribute
>to a major project
Its all overwhelming, I wouldn't know where to begin.

Lads I went to community college, and my program was focused on electronics.

Yes I am aware of the grim situation, which is why I decided not to study programming in college at the last minute...

Apply anyways, work on projects, contribute on GitHub (Social coding works wonders).

Internships will also count as experience and are awesome, find those.

Start from a chip iPhone game and evolve it to an expensive Android game.

> Internship

Wikipedia has a description, even for Canada:
en.wikipedia.org/wiki/Internship

> electronics

Ok, so tell us, what kind of subjects did you take at community college?
What programming languages and concepts do you already know?


Also don't let them meme you, it's not a grim situation. IT / electronics is still the field with the best job possibilities.

I would suggest the following:
There are fully-featured cs degree programmes on github. Everything with video courses and exercise material. Everything free, everything open-source.

Examples:

github.com/open-source-society/computer-science

github.com/mvillaloboz/open-source-cs-degree


Look at one of those. Select the subjects you lack knowledge and experience and go through those courses. You don't have to do all, skip everything that is not important for getting a job.

Contrary to everything you've heard, read, and seen via mass media, the IT market is absolutely flooded. No doubt someone will chime in with
>hurr durr i make six figures a year we wuz desperate for programmerz 'n sheeeit

"Flooded" does not equal "nobody is working." There are jobs out there, and there are even people who have the right combination of degree/connections/experience that it's easy to hop between jobs.

But the average person is facing increasingly demanding employers and interviews, and finding that it takes longer and longer to land a position.

The common advice to build a git can't really hurt. But it doesn't help nearly as much as many believe. Recruiters aren't personally reviewing your resume and git. And potential employers will only glance at them. Saying "I have a git" with a valid URL that points to something is probably all you need to tick that box for the data mining apps they use.

>subjects
Various courses about electronics/circuits, learned a fair bit of programming too, and automation.

>languages
Mostly C++ and Python. Know a fair bit of Javascript and a bit of HTML.

How exactly would those open source courses help me get a job?

>Not sure if I can just pick some random project and be able to make a meaningful contribution to it without knowing anything about it.

What the fuck do you think you're going to do as a programmer at an established company.

In an established company I would assume they would give me a sense of direction on what I should work on.

how could you graduate from college without an internship?

>he fell for the programming meme
Fucking nerd good luck finding a job because Pajeet and Rajeesh took them all.

>How exactly would those open source courses help me get a job?


They would prepare you/give you the required knowledge for the following things:

1. Doing a non-trivial project on your own that you can present as prior experience.

2. Getting an internship (i think you call it coop in Canada).

3. As preparation for technical job interviews.

> Mostly C++ and Python. Know a fair bit of Javascript and a bit of HTML.

If you know Python, and a bit of Javascript and HTML, I suggest learning web development with the Django Framework (djangoproject.com/). It uses Python for logic and back-end code, HTML/JS/CSS for front-end and lets you create large web applications easily. Also, a lot IT and software companies use Django/Python on their projects.

Learn it, do some projects in it (your own or open source), apply to jobs specifically mentioning Django/Python.

>Apply anyways
well, there are conflicting opinions about that approach, as you could get "burned" (in more places than just that one) if you apply somewhere without giving it a second thought

Don't. Programming is full of autists, you will hate it. Get a job that has normal people.

>I don't know where to begin. I never used GIT for anything other than downloading programs.
That sounds like the exact reason nobody would want you, and also the exact reason why that's where you should start.

Like I said before, for some reason leaf land decided to call it something else for some reason. I wasn't sure if internship meant the same thing as leaf land co-op.

>online course
Yes but do I mention that I did those open source courses in my resume or something? I mean since you don't get graded for it and get no certification anybody could just say they did it when they didn't, so I don't see how it holds any value in that sense. I understand its good to learn it for the sake of improving your skills/knowledge.

The thing with web development is that I have no knowledge or experience with the backend crap, and that is what all the employers seem to be asking for. It doesn't seem like something I'd want to learn either.

>you could get "burned"
I'm afraid if I just spam my under-qualified resume everywhere, companies would just blacklist me and I'd be unable to get a job there in the future.

>implying I wouldn't fit in

Yes senpai I will totally learn git and gitgud.

>Yes but do I mention that I did those open source courses in my resume or something? I mean since you don't get graded for it and get no certificatio


You can choose wether you want a certification on most online courses. Coursera for example has free (no cert) and paid courses where you get a certification. They don't cost much.

> The thing with web development is that I have no knowledge or experience with the backend crap

But that's why I suggested Django. You already know Python. That's the only thing you have to know to do Django. A lot of the complexity of backends and databases is hidden by the framework. For example, instead of defining a database schema in SQL with tables, you just write a Python class and Django takes care of creating the database from that.

Another option if you don't want to go into web development or software engineering is sticking to your electronics stuff and combining that with your C++ knowledge. Look for jobs/coops in the fields of embedded systems or microcontrollers etc. Those kinds of companies usually look for people with a strong backgroun in electronics/circuits etc and low-level programming as in C/C++.

You can garner a lot of experience working on open-source projects. Furthermore, there are always a few startups. Check out indeed.com as well.

>get a github

What a worthless way to show experience. Most programmer jobs, aka the ones not in SF or Seattle, don't want your github. They just want to see what you've done. They even have evaluations for testing your experience. Forget github, that meme shit place. I got a job without using that piece of shit.

They generally specify professional experience.

All that matters is how good you are.

If you can pass fizzbuzz then you are hired.

You should have done internships while you were still in school.

That aside, build small projects in the latest meme technology. If its new, you can have more experience in a given area than other more seasoned programmers (this shouldn't matter because any decent programmer can pick up new tech fairly quickly, but it does). I'm a bay area VR programmer and I get interview offers weekly.

Wew sorry lads I fell asleep.

Dear user,

I've been two years into the field and this is my experience so far, I worked as a developer and they had a development model called "Sprints", this model will fuck you up, try to avoid that as much as possible. I worked as a Java Developer and I absolutely hated programming due to that shit development model, the Waterfall model is way more forgiving to juniors.

>Job positions are asking for more than 2 years of experience;
2 - x years of experience is just a fucking joke, they are adding this to the requirements just so that they can filter out people whom scare easily and lack self-confidence, just apply and you'll never know what happens. This doesn't mean that you have to have a good-ish background in the job title that you've applied to. Just read the job description of the position and see if YOU like the responsibilities of that title, if you don't like that job description, do not apply, as simple as this, if you did, it will fuck you up physically and mentally.

>Internships while you were studying;
As a collage graduate, you should've had an internship while you were studying for your major, you can start from the people there. If you didn't like the way they operated, then fuck them, they don't exist to you anymore.

>Graduate Development Programs
Go to every company website you've heard about in the I.T. scene, you will find the Careers/Jobs link, create an account and apply to a position called "Graduate Development Program", this position is made for people exactly like you, fresh, lost and thirsty for knowledge. I.T. companies love fresh graduates, they can slave away and they can teach them their preferred methods in doing your work.

[1/2]