Programming as a career

Discussion in 'Mac Programming' started by Macmadant, Nov 18, 2006.

  1. Macmadant macrumors 6502a

    Joined:
    Jun 4, 2005
    #1
    Hey,
    I originally had my heart set on Graphic design, but i thought about Programming, and just wondered how hard it is to do?, and what qualifications do you need to start learning?, and how many of you have a full-time job,? is it hard to get a Job?, and what do you develop for windows or mac, and (if you don't mind) how much do you get paid, i was told i could earn up-to £40,000 if i chose to become one, is that estimate real?
    Many thanks
     
  2. DavidLeblond macrumors 68020

    DavidLeblond

    Joined:
    Jan 6, 2004
    Location:
    Raleigh, NC
    #2
    That estimate is real, that is under what I make as a programmer.

    I program .NET as part of a large team. I don't have formal education in programming, my background is in business. But I've been programming ever since I touched a computer at about the age of 8.

    Getting a career as a programmer is much like getting a career as anything else. Its pretty easy to get a job fresh out of college. After that it takes experience. I got my current job based on connections I had from the job I interned at during college.

    If you are new to programming, yet aren't a fresh college grad it may be tough. My suggestion would be to start working on your own apps so you can gain experience in programming. Then try to find an entry level job and start building your network of connections. That is a good way to land a nice job.
     
  3. Macmadant thread starter macrumors 6502a

    Joined:
    Jun 4, 2005
    #3
    If i chose to do this i would go to university straight after my A-levels, and there is a lot of money in the business, what would you say my level of pay would be after coming out of University, also if i'm taught to program on Windows is it the same on mac ?
     
  4. gekko513 macrumors 603

    gekko513

    Joined:
    Oct 16, 2003
    #4
    It really helps to have a good head for maths, a good memory and a lot patience. You may also need creativity and tidiness in varying degrees depending on what kind of programming you're doing.

    Programming jobs should be relatively easy to find at the moment, but the job market changes, more so for programming jobs than many other careers. However, the job market for graphics design may be one of the few that fluctuates even more.

    In Norway, you may earn up to £40 000, but usually the starting salary is more like around £25 000 or up to £30 000 depending on your education.
     
  5. Macmadant thread starter macrumors 6502a

    Joined:
    Jun 4, 2005
    #5
    Would i need an A-level Maths qualification or Will GCSE do, (for those in england to answer)
     
  6. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #6
    Just keep in mind that generic "programming" is a task that is a job that is very easy to perform anywhere. i.e. it's a job that is easily outsourceable to local consultants or foreign cheap labor.

    IMHO, the most stable/lucrative programming jobs will be the ones where the programmer is part of a team whose ultimate goal is something other than programming for its own sake. e.g. engineering programming, financial modeling, ...

    There's lots of programming that goes on in "other jobs" and having another skill gives you something to fall back on when (not if) programming jobs are scarce.

    B
     
  7. sushi Moderator emeritus

    sushi

    Joined:
    Jul 19, 2002
    Location:
    キャンプスワ&#
    #7
    This is very true.

    Specialized programming (Excel Macros, VB Basic, C++) can earn big bucks as well. I have a friend who received a bonus somewhere north of 50K for a job he did over a couple month period. I know of another who received somewhere north of 150K for a job he did in a matter of days.

    Regardless, be sure that you are getting into programming because you want to do it, not because of the money. Programming can be fun and enjoyable, but it can also be tedious and very draining.

    Also, check out device specific programming. I have a friend who works for a company that produces electronic power generation equipment of all sizes. He programs in assembly for apps that make the generators run smoothly.
     
  8. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #8
    Amen to that. Do it because you love it, not for the job prospects which may (or not) be there when you are done studying.

    You never know what skills will be in demand and why. A few years back (around Y2K) anyone with any COBOL experience was doing pretty well . :p

    B
     
  9. SMM macrumors 65816

    SMM

    Joined:
    Sep 22, 2006
    Location:
    Tiger Mountain - WA State
    #9
    In the Seattle area, programmers, with 3+ years experience, earn between $59K and $75K, with the average around $65. That is just for straight code writing. Programmer/Analysts will command another 10K.

    There are all kinds of programming, and some are better suited for different abilities and interests. Many programmers are solid mathematicians, but that really is not as much a requirement as some think. Personally, I feel the ability to grasp logic is more important than classical math, although there are applications where math is absolutely the main requirement.

    Programming is performed at many different levels. At the lowest level are 'system' programmers who create the core instructions that teach the computer to do the most basic things. Then there is another low/mid-level programming layer which develops operating systems, device drivers, program interfaces, and even programming languages. Finally, there are programmers who take the work done by other programmers and build applications. I have always worked in this top layer, building business applications.

    Where a new programmer might fit into this group is often determined in school, by learning what appeals to you and suits your abilities. However, it is also influenced by what job opportunities one finds.
     
  10. sushi Moderator emeritus

    sushi

    Joined:
    Jul 19, 2002
    Location:
    キャンプスワ&#
    #10
    COBOL was a wonderful language. :p ;)

    A long time ago I wrote a program for the military to analyze other COBOL programs base upon McCabe's Measure to determine a complexity measurement. This program was used to measure submissions to determine if they met the complexity limit set forth by the contract they were under.

    On a side note, around that time I was also working in Ada.

    So many languages and so little time! :)

    Probably due to my age, I am still a firm believer that you need to understand procedural languages as well as object oriented languages. Also, assembly language understanding and use is a must. I also believe that you need to understand bits, nibbles, bytes, words, etc., to be an effective programmer. But that's just me.
     
  11. Am3822 macrumors 6502

    Am3822

    Joined:
    Aug 16, 2006
    Location:
    Groningen, The Netherlands
    #11
    As I understand it, the OP is in his/her final year of secondary school (sixth form?). In that case, my suggestion would be to study for a computer-sciences degree in a good university. It will provide you with a better basis for your future career.
     
  12. Wes macrumors 68020

    Wes

    Joined:
    Jun 22, 2001
    Location:
    London
    #12
    Most (probably all) good universities will require A-level maths if you want to enter a computer science degree.
     
  13. Macmadant thread starter macrumors 6502a

    Joined:
    Jun 4, 2005
    #13
  14. MacDonaldsd macrumors 65816

    MacDonaldsd

    Joined:
    Sep 8, 2005
    Location:
    London , UK
    #14
    Universities usually tell you what they require for entry (grades and subjects)

    Mine was I.T. a-level and they liked maths as-well

    I do BSc Computer Science at the University of Westminster.

    On the same topic how do Cocoa programmers do outside of apple ?
     
  15. notjustjay macrumors 603

    notjustjay

    Joined:
    Sep 19, 2003
    Location:
    Canada, eh?
    #15
    A good programmer should know not only the basics (or more) of the language they learned (like Java, C++, whatever) but also enough background and conceptual knowledge, as well as knowledge of computer fundamentals and inner workings, to be able to transfer those skills to just about any other programming language or system.

    So, if you learned Java programming in university (such as they are teaching in Engineering classes at my school), you can definitely be hired right out of school as a Java programmer, but you should also have no trouble in a C++ job, or Ada, assembly code, or some company's proprietery language, or whatever. You may not know the language right away, but you know how to pick it up very quickly.
     
  16. Am3822 macrumors 6502

    Am3822

    Joined:
    Aug 16, 2006
    Location:
    Groningen, The Netherlands
    #16
    Hmm. That Worcester course seems to be strong on the practicalities and very application-oriented but somewhat lacking on the theoretical side of CS. More than likely I may be missing the point, though.
     
  17. connorhays macrumors member

    Joined:
    Aug 20, 2004
    #17
    Programming can be a good career and really the amount you make varies quite a bit
     
  18. ATG macrumors regular

    Joined:
    Aug 7, 2005
    #18
    Yeah, I'm nearing the end of a very big project and sometimes I feel like I just want to stop and do something more fun. And I normally love programming.

    The money is nice but it takes a heck of a lot of work and if you don't love it then it's really not worth it.
     
  19. savar macrumors 68000

    savar

    Joined:
    Jun 6, 2003
    Location:
    District of Columbia
    #19
    There are a lot of different types of development. Some pay very well and some pay poorly (relatively speaking). As somebody else mentioned, DO NOT become a commodity programmer. That is, don't specialize in something generic like JSP...development is being outsourced in greater amounts every year to countries where there are PhD's willing to work for less than you.

    Specialize in something that's still novel or requires on-site development and you'll keep your value high. I personally work in EIM (enterprise information management) which is a treacherous area. A lot of the low level work is moving to India, so to stay ahead I need to move into the analyst/architect roles. (I'm 24, so I'm not too worried yet. :))

    But there are strange niches that pay extremely well. I've heard of Excel macro developers making lots of loot ... which surprises me because I don't think of that as "real" development.

    There also very different work environments. If you work at a game company, for instance, you'll need to know a lot of calculus and vector math, plus you'll probably work many hours a week -- especially during crunch periods. In finance, on the other hand, I rarely work more than 45 hours and we generally do only basic algebra. (I majored in Econ, by the way. So a CS/Math degree is not strictly necessary to become a developer, if you have some academic expertise and good experience.)

    I personally think that information security is a good area to be in. Otherwise, try to focus on analyst, architect, or project management roles. These are jobs that won't go overseas so easily. Embedded systems can also be profitable, if you're interested in that kind of thing. I think its still a big market which hasn't come of age yet.

    As far as salaries go, I can't convert USD to GBP in my head, but here in the states people my age at my company make 50-60K + bonus. People a few years older than me make closer to 90K. I work at a consulting firm. My impression is that for people who work full-time, the salary curve starts higher but is shallower.

    In terms of "how hard it is to do"...well it really has more to do with you than with the job. I suggest you learn how to develop in C -- no GUI, just focus on the standard library and console I/O. Compile from the command line, etc. The reason I say this is that you'll learn a lot of fundamental concepts.

    A language like Java will hide you from pointers and pointer arithmetic. Learning that kind of indirection is crucial for being a good developer, even if you use nothing but Java the rest of your life. You should also be familiar with allocating and managing memory. Java hides that from you as well by garbage collecting. If you can wrap your mind around these fundamental concepts, and learn a little about computer architecture (how processors work, how a compiler uses the features of the processor to implement high-level language concepts like data structures, function calls, etc.), you are more likely to become a good developer.

    My biggest warning to you is that development may get tiring quickly, especially if you work on a big project. You'll spend more time troubleshooting communications with others than you will on actual development. Where I work, even as a low-level person, I spend more time doing things like going to meetings, writing documentation, asking for requirements clarifications, managing builds and deploys, and testing my code than I actually spend writing it. I work on a project with about 200 developers, and so this overhead is necessary to produce a quality product...but it grinds on me at times.

    And while there is a lot of cool software being written out there, most of it is plain boring.
     
  20. fimac macrumors member

    Joined:
    Jan 18, 2006
    Location:
    Finland
    #20
    Brunel

    (My information is over ten years out-of-date.) GCSE maths + BTEC in Electrical Engineering was enough for me to get into Brunel (CompSci).

    To the OP: As with any job, consider job satisfaction, too ;-) I strongly recommend university education. You may well decide that you do not want to work with "geeks".
     
  21. jhande macrumors 6502

    Joined:
    Sep 20, 2006
    Location:
    Denmark
    #21
    Hear, hear. As another of the oldtimers I sometimes get very frustrated with some of the people I have to work with.

    There's a time and place for everything, OOP and PP included. While I'm a great believer/user of/in patterns, I still like to use flowcharts, DFD's and the older tools. I've drunk the UML2 koolaid, sure, but I also find that the others are far from dead.

    To the OP, try and have a look at Core Wars. That'll let you quickly find out whether you have the aptitude for the more algorithmic disciplines - and it's great fun too :)
     
  22. Quboid macrumors 6502

    Joined:
    Oct 16, 2006
    Location:
    everywhere
    #22
    Thats called programming logic. Which is why i think to be a good programmer you have to logical, with logical thinking you can write from apple scripts to C++ apps. In my book logic comes way before syntax. Trust me syntax is easy. But logic you will have to develope.
     
  23. Quboid macrumors 6502

    Joined:
    Oct 16, 2006
    Location:
    everywhere
    #23
    I used flow charts alot. I cant say anything bad about them. They thought me how to program, essentially. But when i learned sysntaxes and i started using compilers i stoped using flowcharts all together. is that a bad thing? (i always comment though, i got myself into the habbit early, and i'm seeing the advantages)
     
  24. ironjaw macrumors 6502

    Joined:
    May 23, 2006
    Location:
    Cold Copenhagen
    #24
    Whilst I am not a programmer (I actually dropped out of software eng (SE) and took law) but I do have a profound interest in IT, I would like to offer my 2 cents: (Please feel free to criticize me and add your opinion)

    1. Choose wisely! If you want to go to the route of programming, read and understand what it is. Get experience. Go to the library - borrow a book on C or Objective C, Java, C++ etc and try to read and try out the examples to get yourself accustomed with the idea behind programming. You need to know what your getting yourself into.

    2. I would recommend that if you want to start a career in IT such as in prgramming that you try to take a degree which has a solid background in prgramming eg. Software Engineering. Wikipedia and some sites do state that Software Engineering is the best paid occupation out there. If you want something broader then that take CS. What do you like Networking, setting up servers, electronics, security, programming, etc.

    Make sure if you do take the SE route that it is credited by the Engineering Society. You don't want to do a degree SE and find out that you cannot call yourself an Engineer. Some uni's sell these degrees in the UK - unbelieveable!

    3. Remember that the industry is changing - alot of outsourcing is happening and because of this make sure you choose a career path that provides a strong background and that does not make you replacable from someone from China, India or Poland that will work for less then you.

    A solid education means solid background. Some emplyers are also asking SE to be accustomed to other OS like Unix, Linux, etc.

    4. Mathematics is a MUST. To be a good programmer you need to understand mathematics. Software engineering contains advanced mathematics. See Kreyzig et. al., Advanced Mathematics (Amazon UK).

    5. On my first year in SE I had JAVA, C++, Advanced Engineering Mathematics, Circuit Analysis (digital and analogue), and Digital Electronics.

    Does your eductation have Hardware or Software or both? VHDL

    6. Inevitably, you will have to take courses to keep yourself updated all the time because technology is changing fast. You'll might say that is easy but have a look around BBC News UK website 'Have your Say' on the crises in the IT sector. Some excellent programmers that have been in the industry for 30+ years, worked for IBM, Microsoft, HP, Dell, Nokia etc. were made reduntant because of ageism. One was I think 40, 52 and 62 - all three mentioned that they have been trying to get work for years but told too old. Some others have PhD's, Masters etc. Ageism is a problem. (comments?)

    Also note that you will have to work long hours - when will you get the time to go for the courses? - and they are expensive (£1000-3000), some firms dont even pay for further training. How is this going to affect your social life:D Can you afford to be obselete? Are you patient enough to afford to have gone through 3 yr uni and possibly a masters and worked 30 yrs and made reduntant? Backup plan?


    I am very interested in comments from all of you who are in this profession, because even though I am a law graduate I always saw myself as a SE. I am still considering the profession but that's another 3 years. So convince me (not that I am trying to steal the OP's thread :D )

    a. How are the working coditions?
    b. The salery.
    c. Ageism problem?
    d. Social life? Life style?
    e. Possible continuing further education?
    f. Please specify your education?
    g. Would you recommed it?
    h. Any regrets, or misgivings, cause for concern.

    Oh yeah to the OP - make sure that whatever you choose that your happy - happiness is everything - don't do it for the money.

    Og btw get experience from firms as much as you CAN, even if it is for a day!!!!!
     

Share This Page