|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On December 14 2012 22:16 adwodon wrote: The best advice for getting a job: Get a physics / maths / engineering degree and code in your spare time, employers will prefer you over CS students in my experience as you will have better maths / problem solving skills (words I've heard from many different people, both employers and postgrads).
For what it's worth, I finished my undergrad a year and a half ago with a double-major in both physics and computer engineering. I put both majors on my resume and nobody even mentioned my physics degree during my interviews. After working for a year I decided to graduate school, they also don't care about the physics major.
Looking at my fellow students in the physics department: I wouldn't hire a single one of them for a computer engineering job, they just don't have the skill set to get anything done. IMHO coding in your spare time doesn't even come remotely close to a proper education.
Of course, the best way to figure this sort of thing out is probably to ask someone in your field which credentials they would put more stock in. This sort of thing probably depends a lot on exactly what you want to do.
|
On December 16 2012 06:14 jjwhg wrote: IMHO coding in your spare time doesn't even come remotely close to a proper education.
THIS. You need a standard cs degree + knowledge of agile, scrum, software testing and clean code to be employable.
|
On December 16 2012 06:14 jjwhg wrote:Show nested quote +On December 14 2012 22:16 adwodon wrote: The best advice for getting a job: Get a physics / maths / engineering degree and code in your spare time, employers will prefer you over CS students in my experience as you will have better maths / problem solving skills (words I've heard from many different people, both employers and postgrads). For what it's worth, I finished my undergrad a year and a half ago with a double-major in both physics and computer engineering. I put both majors on my resume and nobody even mentioned my physics degree during my interviews. After working for a year I decided to graduate school, they also don't care about the physics major. Looking at my fellow students in the physics department: I wouldn't hire a single one of them for a computer engineering job, they just don't have the skill set to get anything done. IMHO coding in your spare time doesn't even come remotely close to a proper education. Of course, the best way to figure this sort of thing out is probably to ask someone in your field which credentials they would put more stock in. This sort of thing probably depends a lot on exactly what you want to do.
For some reason I believe Physics graduates are viewed entirely different in Europe, atleast in the Netherlands they are. Because there is such a lack of STEM degree graduates in general, they are hired for a very wide range of jobs.
|
On December 16 2012 06:17 Frigo wrote:Show nested quote +On December 16 2012 06:14 jjwhg wrote: IMHO coding in your spare time doesn't even come remotely close to a proper education. THIS. You need a standard cs degree + knowledge of agile, scrum, software testing and clean code to be employable. You frankly don't even need the latter. It's always helpful for your resume, but it's the kind of thing you'll get trained in as needed. Different companies use different methodologies and all that.
The people who "created" Scrum are laughing all the way to the bank with their absurd training costs on a system that's largely common sense. (At my place of business, the government is paying >10k for a 1.5 day training session for <20 people and 1 instructor. GG)
|
It really depends on the places you are applying to.
Some companies are looking for self-taught programmers who have been making many personnal projects.
And others are only interested in people with a solid academic background.
I think that in the end, it works well, because when you are part of one category, the environment of the companies that want you suits you probably better than the other.
|
Craton's advice has generally been the most accurate based on my experiences. I recommend anyone looking for a job to read his posts first.
|
Perhaps it doesn't translate to the computer science field but in my engineering degree; I'd never hire a uni graduate to do an engineering job... the top uni here in Adelaide is just plain bad. What uni teaches and what skills are now required in an engineering job are so far apart it's crazy.
Perhaps it's different to computer science?
|
On December 16 2012 06:17 Frigo wrote:Show nested quote +On December 16 2012 06:14 jjwhg wrote: IMHO coding in your spare time doesn't even come remotely close to a proper education. THIS. You need a standard cs degree + knowledge of agile, scrum, software testing and clean code to be employable.
It depends.
I was programming for 10 years (i was 8 when i first started programming) before i even started the formal education and i basically learned nothing from it.
I wouldn't take someone who did some programming stuff in his spare time in the last 3 month but i also wouldn't take anyone who only started programming at university. The best programmers are those for whom it is a lifestyle, i.e. those who started way before university.
Maybe it's german universities, but i haven't met a single person who started programming when he started at the university and came out as even a half decent programmer. Everyone who was decent afterwards was already programming for years beforehand.
I don't want to say that the education is useless but proper programming is a different way of thinking and approaching problems, something those courses don't teach.
|
I don't get the advice to do physics or some other math heavy course and then try to learn programming on the side, on the basis that you supposedly have better problem solving skills and abstract thinking abilities. Maybe it's different in the US, but here in Germany in my CS degree I get bombarded with math every day, in almost any course (pretty much only the pure programming related courses are not full of math), and I work a lot with it. I see no reason why a physicist has a better way to approach a problem then me: Software architecture is about as abstract as it gets, if you want to do it right.
On December 16 2012 07:33 magicmUnky wrote: Perhaps it doesn't translate to the computer science field but in my engineering degree; I'd never hire a uni graduate to do an engineering job... the top uni here in Adelaide is just plain bad. What uni teaches and what skills are now required in an engineering job are so far apart it's crazy.
Perhaps it's different to computer science?
Somewhat, and it also depends on the job. Right now I intern in research at a German research institute (the mp3 inventors ) which is basically my first paid programming job, so what I say might not be representative because what I do is more CS (emphasis on the S) heavy than the average programming job, but I think in CS the basics get taught pretty well. Of course there are years of noticeable difference between people who program as a hobby on the side or have worked in programming before their CS degree, but in general everyone who gets out of CS should be able to solve problems in programming (that doesn't mean that they solve problems well, but they should be able to solve things without fucking up too much).
|
I've been programming since I was 8. I've been programming for 22 years now. I've also taught myself all sorts of programming languages, and all sorts of advanced mathematics forms over my life.. but the problem is I never went to college. I've made fully featured game engines, I've made Open Broadcaster Software that tens of thousands of people currently use, and I still have a hard time getting a job without a CS degree.
Getting a degree is vital. Don't make the mistake I did. It may just be nothing more than a piece of paper to some of us, but when it comes to employment, it's gold.
I honestly just barely make do sometimes. There are some companies who are awesome who actually don't care about degrees, but they are just not very plentiful.
|
I guess the problem with Australia is that education has become a prep-school for businesses. The industries actually write the courses for their respective fields and that's what we get taught. So in reality, here, we don't get taught how to be a good engineer, we get taught what a company doesn't want to have to teach us. The result of all of this is a uni grad here doesn't know anything about his field; and that complete clowns with no ability to solve real world problems, can still get High Distinction degrees without too much sweat.
I guess the difference between myself and most other uni students is I don't want a piece of paper to get a salary. I want an education to help make a difference in the world.
If you want a salary; I guess having a degree in any country is quite vital (but as stated, this isn't all-encompassing). I think if you want excellence, a uni degree will bore you and you'll just have to trudge through it.
|
On December 16 2012 06:14 jjwhg wrote:Show nested quote +On December 14 2012 22:16 adwodon wrote: The best advice for getting a job: Get a physics / maths / engineering degree and code in your spare time, employers will prefer you over CS students in my experience as you will have better maths / problem solving skills (words I've heard from many different people, both employers and postgrads). For what it's worth, I finished my undergrad a year and a half ago with a double-major in both physics and computer engineering. I put both majors on my resume and nobody even mentioned my physics degree during my interviews. After working for a year I decided to graduate school, they also don't care about the physics major. Looking at my fellow students in the physics department: I wouldn't hire a single one of them for a computer engineering job, they just don't have the skill set to get anything done. IMHO coding in your spare time doesn't even come remotely close to a proper education. Yea, I have a CS degree and two engineering degrees, and the only context in which the engineering degrees are mentioned in interviews or the hiring process is "why did you get those engineering degrees?" or "how did you solve that [random bit- or low-level-logic- oriented question], do you have a EE degree?"
That said I do have two co-workers who have physics degrees - but one of them has a PhD in Comp Sci, so that doesn't really count, and the other one used to be a tenured professor of quantum computing, so that doesn't really count either.
If your goal is software dev / programming, CS is the default degree to go for. Employers will not prefer a non-CS student over a CS student. If the student is amazingly bright or otherwise remarkable, they might get chosen, but then it will be in spite of their non-CS degree, not because of it (unless they have a lot of work experience, in which case no degree actually matters).
|
On December 16 2012 07:47 obs.Jim wrote: I've been programming since I was 8. I've been programming for 22 years now. I've also taught myself all sorts of programming languages, and all sorts of advanced mathematics forms over my life.. but the problem is I never went to college. I've made fully featured game engines, I've made Open Broadcaster Software that tens of thousands of people currently use, and I still have a hard time getting a job without a CS degree.
Getting a degree is vital. Don't make the mistake I did. It may just be nothing more than a piece of paper to some of us, but when it comes to employment, it's gold.
I honestly just barely make do sometimes. There are some companies who are awesome who actually don't care about degrees, but they are just not very plentiful.
I agree. The piece of paper might be completely meaningless but you will still be judged by it. You need it even if you already have twice the knowledge that you get taught at university.
|
On December 16 2012 07:40 Morfildur wrote: Maybe it's german universities, but i haven't met a single person who started programming when he started at the university and came out as even a half decent programmer. Everyone who was decent afterwards was already programming for years beforehand.
I don't want to say that the education is useless but proper programming is a different way of thinking and approaching problems, something those courses don't teach. These days programming is so prevalent that you generally discover your interest early and have at least a small foray into it pre-college, but it's certainly not exclusive. There are many older programmers who are very skilled, but had college that pre-dated CIS/CS tracks. I've found this group to revolve around the area of electrical engineers, but not always.
There are definitely a lot of wasted hours in school that don't teach you what you actually need to know, but that's really neither here nor there when it comes to what you study and how you improve because of its ubiquity.
I mentioned earlier that we are using Scrum on a current project at my workplace. Part of that (and maybe Agile in general, idk) is having each "module" you finish "code reviewed" by another developer as to best practices, coding standards, completeness / accuracy of requirements, and so forth. I've found this invaluable as a learning tool, since no matter how well you do there's always something that can be improved and tucked away to leverage on your next assignment.
As to the "piece of paper:" the going rationale is that it's indicative of one's ability to meet deadlines, push through difficulties, and generally be able to commit to something and see it through. A lot of what you learn is obsolete in 5-10 years when it comes to technical fields, so employers seem to find it valuable to know [by virtue of your degree] that you're capable of continually learning and growing as technology and standards advance.
Also, I felt that this needed pointing out: software developers are currently in extremely high demand despite the economy and the growth in the industry is much higher than the overall growth across all careers. It's not all doom and gloom where you have to be the absolute cream of the crop with 50 degrees and 10 years of internship experience to have a chance. Definitely network, though. Who you know often matters a lot more than what you know for getting your foot in the door.
---
Has anyone ever worked with the unit test functionality of SQL Developer (which I believe arrived with/after version 3)?
|
I have a degree in Physics and am now doing a Master's in Plasma Physics & Fusion Science.
I learnt Visual Basic and undertook a C++ programming project in my undergrad. In my first term just gone (at my masters) I completed a computational project in Python.
My point is, whilst not being the best programmers, we are taught to write clean code in a variety of languages. That and the fact we are exposed to said variety of languages. In addition to the fact that we program with the aim to solve Physical problems, I would have thought any sensible employer would snap such a person up.
If a Postgraduate level physicist feels he is lacking in the programming department, he can always take up a HPC (High Performance Computing) module in one of his terms.
|
There are definitely employers who would. It simply depends on the people hiring and their needs/wants.
|
On December 14 2012 20:00 carlfish wrote:Show nested quote +On December 14 2012 08:18 xavra41 wrote: Okay, so I Went through a giant 1500 page java book and did a big project involving 2k lines of code with gui and sql connection to a server to store/retrieve information. Does anyone know what the next step is in finding a job? Sorry to be Mr Bad News Bear, but "finding a job" is probably still a long way in your future. Whatever position you go for, whether it be an introductory position or an internship, paid or unpaid, you're going to be competing against freshly minted college grads and people who have been coding as a hobby since they were thirteen. Many of the candidates will be both. Unless you can take advantage of some kind of personal 'in' with a company that will get you an internship, your resume isn't going to make the first cut right now. My advice for your next step: learn more stuff. Build more stuff. Use your Java to write an online tool that people can use to schedule and run Starcraft tournaments or promote custom maps. Teach yourself enough Python to build a website for your friends to plan parties on. Teach yourself enough C to build a desktop app that can browse and embed streams from all the different streaming sites. Keep learning stuff. Keep building stuff. Code for the sheer fun of coding, because writing awesome code is the most satisfaction you can have alone in a room with your pants on. Eventually you will amass a big enough body of work that you can go to a company and say “I have no formal qualifications, but look, I've made stuff that people use!” That might not get you a job at a boring company that just ticks off boxes on a recruitment checklist, but it will get you noticed at the kind of interesting company that values people who have proven they can deliver real, working software.
Haha that is not the answer I want to hear but thanks for the response . So should I learn multiple languages or just master one? How far will an associates degree take me? I am working on my own desktop applications right now just for the fun but I really need a source of income atm. I might have to drop this stuff and work somewhere that will take anybody.
|
Unfortunately (or fortunately?) software dev / programming is not a get rich quick scheme. It's a work really hard for 5-10 years and then get moderately to very well paid scheme.
I can't help you with short-term income, but if you do want to seriously have a try at software and don't have the time to pursue an actual degree, I would suggest the following 3 main focuses:
(Also as a quick aside, you're not going to be "mastering" a language for a long time, not without a lot of buildup and years of working side by side with people who know a lot more than you)
1) Get a solid grasp of fundamentals. This includes a lot of math (number theory, logic, maybe up through linear algebra) to get you thinking in the right mindframe. It includes a lot of comp sci basics - algorithms, data structures, complexity & computability, basic design stuffs.
2) Write a lot of code, try to make it good code. The language or languages are incidental, you just need to write a lot of code. Learn to follow style guides, pay attention to proper design. Learn to debug. Read a lot of other people's code while you're at it, because that's 90% of what you'll end up doing (whether "other people" == actual other people or just "you from 6+ months ago, but you can't remember what the fuck that shit you wrote is anymore"). Get other people to help with your code as much as possible. If you go off and blindly do your own thing, you're going to end up with some really bad habits. If you don't learn early on to listen to other people's advice with both high level design and the guts of your code, you're going to end up as a stubborn developer who won't go very far. (Also, when you're just starting out it's easy to mold better habits in this regard, because you know so little)
3) Get practice learning some newer cutting edge tech of framework. Doesn't really matter what the fuck it is exactly, and it doesn't have to be something that will be useful directly later on. You just need to learn how to take big, complex pieces of stuff that's already built and hacking away with it. Go figure out how to do something with Hadoop, for example. The majority of what you'll be doing as an actual dev is looking at a problem, figuring out what parts you can do, and then taking a lot of existing big complex code and molding it to fit. So learn how to wrap your head around that kind of shit.
And then the real kicker is to do what carl said, which is roughly exposure. Contribute to open source projects, get good stuff up on a personal github, do freelance shit where possible, etc. Either that or try to get into an internship. You need actual experience writing production code, and you need something to show or prove yourself, or you're never going to get hired (without a degree).
At the end, interviews. Read this, and just replace with whatever company: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html Good tips towards the end.
|
I think it's out of the question that you should get a degree if you have the capabilities to do so (e.g. money for US people). Even if it's not for money, a good CS degree should teach you things that you would never teach yourself on your own, even if you could, simply because there's no pressure on you to plow through a lot of math and related theoretical problems over an extended period of time.
You will also touch a lot of subjects which are only peripheral in interest to you, but which might teach you things that you can apply in other fields as well. E.g. it's always good to know about data compression, encryption, various data mining techniques, parsing & lexing, machine learning, databases, computer vision, etc.
Most of these fields probably have knowledge gems which you can apply in your work some time or another. So far there's nothing I have learned in CS that I couldn't apply somewhere else.
|
I am a bit baffeld by all the recommendations to get a degree in math, physics or enigneering. Depending on what field you want to work in, it can ofcourse be handy to have some knowledge but is isn't a requirement as far as I am concerned.
What really matters is your ability to solve problems (any problem). To be a developer is mostly about 'how do I tell the computer to do this' - which is problem solving. Ofcourse math, physics and engineering also teach problem solving but not as the primary focus.The primary math/physics/engineering skills are largely not relevant to problem solving skills.
Depending on what you want to do, you might want to learn algorithms for searching or indexing or whatever, but you can 'learn' those from the internet (as most programming problems have already been done and shared) - no math degree needed.
My points of importance:
- Problem solving: find a way to work around/solve a given problem
- Problem analyzing: analyse a problem as to why it is a problem/doesn't work as intended, then solve it
- Problem prediction: before you even start programming, think about possible problems that might occur later on and account for it
- Be able to think in abstracts/concepts/ideas so you can contribute to the team
- Enjoy learning new stuff and figuring out how/why things work
Focussing on a specific language is nice, but not needed as the above points are relevant to any language.
|
|
|
|