objective c and career advice

Discussion in 'Mac Programming' started by acidburn, Jan 22, 2006.

  1. acidburn macrumors member

    Jan 22, 2006
    I am learning objective c - I have programmed a bit in VB and VB.Net so I am somewhat familiar with OOP principles. My experience is limited - I studied math in college and have just a couple of years programming experience in jobs that aren't "programming" jobs. I really want to get a programming job and wonder what the best way to approach it is. If I continue to learn objective c, could I find a job using it? Do I need a more specific degree or certification?
    I apologize if this is the wrong forum for this question, but I thought I would ask - any thoughts would be great.
  2. Fukui macrumors 68000


    Jul 19, 2002
    Learn good and slow, get the fundamentals down, don't neglect learning C, even though Cocoa and VB.Net are OO. What kind of job? A job at apple for one. Apple seems to have a habit of grabbing developers of good software, even if your just a 1 or 2 man team.

    Just get your name out there, and produce some nice stuff, experience is the best resume.
  3. savar macrumors 68000


    Jun 6, 2003
    District of Columbia
    Obj-C isn't really in demand. C#, Java, and C++ are the languages you probably want to pay attention to. More important than the language are the APIs or runtime environments. For instance, .NET is really important right now, and JSP is big for java develoment.

    As for experience, a lot of jobs really want to see the right certifications. There are so many applicants for technical positions and HR staffs are underpowered and uninformed. The net result is that most screening is done by scanning resumes for buzzwords such as languages, methodologies, and especially CERTIFICATIONS. If you don't have those its real hard to even get your resume read. Having said that, those certs aren't really that impressive. Getting one won't guarantee you work, and don't forget that there are hundreds of thousands of people in China and India getting the same exact certs every year. Not having a CS or CE degree won't bury you, but it stacks the odds against you. Math is better than Econ, but still a disadvantage for most jobs. (Perhaps you should focus on math-related development.)

    An alternative is to go into business for yourself as a shareware developer. It's pretty hard to make money this way, but it is an option and you could leverage whatever experience you already have and build out your skills in whatever direction you want.

    I'd also recommend you think about why you want to be a developer and what kind of development you want to do. Programming is a commodity these days, and as such it is getting cheaper and cheaper. If you're a talented, qualified mathematician, then you have a better than average shot at finding a job that isn't easily off-shored. Most developers work long hours in small cubes and get little thanks. When deadlines near, the shifts push 20 hours, and the devs order in pizza and sleep on the floor.

    I'm not trying to dissuade you, but just sprinkling a pinch of reality. There are some good dev jobs out there. Make sure you think about what fits your lifestyle, and what puts you on a career trajectory that takes you where you want to be 5-10 years from now.
  4. ChrisA macrumors G4

    Jan 5, 2006
    Redondo Beach, California
    Get involved in a large project

    To by "marketable" you need large systems experiance

    Learning a programming language or two or three is just the first step. But it is JUST the first step. It's like if you want to be an architect and design large building you'd need to learn how to use some computer drafting systems but learning how to use the CAD system does not make you an architect.

    You may write Objective C, Perl, C or whatever but you are doing it inside a larger environment. It's that environment that takes time to learn. For example you need to scope out a system's requremments before you can design it. It must be designed befor you can even start writting code. On larger projects, anyhting bigger than a school homewark problem you will have to stand in front of people and defend your requirements analysis and your design before the peole paying the bills will give the "go" sign. Then you need to code in a way that can be tested and modified and that code has to interface with other big and complex things like an Operating system or OpenGL or the guts of the radar system you are trying to control so you have to understand those kinds of thngs too. Actually writting out the C++ code is a small part of the job. In real life terms about 1/6th of the job. Except in small projects but yiou don't make a living on small projcts except as a side line to your real work.

    Thousands of people do learn this stuff, you can too But you have to work upward slowly. read and study as broadly as you can. One good way to get started is Open Source. Find a project you like and join up as a developer.. Maybe you can help with the Mac oert of Open Office called "neooffice" http://www.neooffice.org/ or one that I like http://www.openpbx.org/ both are fair sized cutting edge projects. there are many more
  5. zimv20 macrumors 601


    Jul 18, 2002
    this is an excellent point. after 11 years in the industry, i found myself in meetings more than i did in front of a computer coding.

    i did a lot of hiring and interviewing at different places, and though proficiency in the coding language of the project was important, when i did tech interviews i wanted to find out what the candidate knew about development. did he have good practices? was he a thorough tester? did he produce readable and extensible code? could he debug others' code? how were his design skills? could he learn our system and write to it? did he play well with others?

    did he work well to deadlines? how many 80 hour weeks in a row can he handle?

    a good programmer can pick up another language without much hassle, as long as a candidate had real-world experience in one or another. that said, i think c/c++, c# or java is where you should concentrate if you want to find a position at a big firm (which i recommend).

    at a big firm, you'll not only learn about development in an environment large enough where a multitude of departments must conspire to get a project going, but there'll be enough cash to run it into the ground for a while (just a tad cynical here :)

    plus, once the project is cancelled, there should be another one that'll pick up the programmers. after a few years in that environment, you'll have a very good understanding of how development environments work, warts and all.

    good luck.
  6. acidburn thread starter macrumors member

    Jan 22, 2006
    Thanks for all of the advice. I'll check out some of the open source projects and keep teaching myself new languages. I think I'm going to take on C# or obj C first since not having any C knowledge isn't too good. I didn't realize that I needed to go much beyond that, but it makes sense. Does anyone have any recommendations on books or websites that would be helpful?
    Again, I really appreciate the advice.
  7. ChrisA macrumors G4

    Jan 5, 2006
    Redondo Beach, California
    Anything published by O'Reilly and Assoc Inc. is worth reading. Tim OReilly the owner is technically competent, not just some clueless publishing exec. Thier books have lasting value and are not just some "How to use version 1.5.3 of XYZ" that will be obsolete in 6 months. In fact I just happen to have a copy of "LEX & YACC" next to this keyboard I'm typing on. Copyright date 1990. His series on programming is very well edited. Lots of good stuff on his web site too http://www.oreilly.com/

Share This Page