Hey there! Sign in to join this conversationNew here? Join for free

How to get into the Software Development Industry Watch

    Offline

    0
    ReputationRep:
    oh right, forgot about that!!! memory allocation is pretty important in Java, but Planto has stated what I was trying to say
    Offline

    16
    ReputationRep:
    Although I'm not sure how you can consider memory management in Java to be important, given that there is no explicit memory allocation and all deallocation is handled by the garbage collector.
    Offline

    17
    ReputationRep:
    (Original post by coldplasma)
    CompSci graduates will know a lot more than just how to program and fix bugs. They are likely to have a solid understanding of the software engineering process. This means they will know exactly how to design a program via abstractions (use cases, class diagrams) and how to schedule the development of a software program. They will also be armed with knowledge of a wide variety of algorithms and data structures, and if you want to be a programmer worth your weight then you ABSOLUTELY have to know about data structures and algorithms. If you are really serious about this, then I would learn everything there is to know about software engineering methodologies, organisation, design, and then look into the different types of data structures and critically analyse their different uses and benefits. There's a lot, software engineering is no cakewalk.
    This. I've gone from a physics degree to software engineering (I was incredibly lucky) and its ALOT more than just programming. There is so much else you need to know. I am lucky enough to have a boss who never did software engineering and work for a small company (its very much like bedroom programming lol) so we don't work like almost all other companies do. This is probably why I got the job, and why I will find it hard getting annother, I would say do a masters in computer science if you can, or just learn as much as possible about the development process.
    Offline

    17
    ReputationRep:
    (Original post by vox)
    With knowledge of C++ and software engineering principles, you could utilise your physics degree to gain an advantage over CS graduates in areas like physics programming for games, technical direction in the motion picture and film industry, or computational physics for real-world problems, should any of these pique your interest.
    or software for mass spectrometers like i did
    Offline

    16
    ReputationRep:
    (Original post by Hanvyj)
    I would say do a masters in computer science if you can, or just learn as much as possible about the development process.
    CS degrees generally teach you very little about software engineering. Particularly at Masters level, which usually has a distinct focus on research.
    Offline

    17
    ReputationRep:
    (Original post by Planto)
    CS degrees generally teach you very little about software engineering. Particularly at Masters level, which usually has a distinct focus on research.
    Really? I would think that is the primary goal of CS degrees, as nearly everyone who does one will go into software engineering...
    Offline

    16
    ReputationRep:
    (Original post by Hanvyj)
    Really? I would think that is the primary goal of CS degrees, as nearly everyone who does one will go into software engineering...
    Computer science and software engineering are very distinct disciplines with very limited overlap. Software engineering degrees teach software engineering, computer science degrees teach computer science, which is primarily comprised of artificial intelligence, algorithm analysis and discrete/applied mathematics like graph theory and optimization. CS is more of a theoretical discipline than an applicable vocation, which is why CS graduates often go into a vocation that has similar trade tools and a shared base understanding of computation (i.e. software engineering).

    There are elements of software engineering in most CS degrees, but a CS degree that focuses primarily on SE isn't really a CS degree.
    Offline

    17
    ReputationRep:
    (Original post by Planto)
    Computer science and software engineering are very distinct disciplines with very limited overlap. Software engineering degrees teach software engineering, computer science degrees teach computer science, which is primarily comprised of artificial intelligence, algorithm analysis and discrete/applied mathematics like graph theory and optimization. CS is more of a theoretical discipline than an applicable vocation, which is why CS graduates often go into a vocation that has similar trade tools and a shared base understanding of computation (i.e. software engineering).

    There are elements of software engineering in most CS degrees, but a CS degree that focuses primarily on SE isn't really a CS degree.
    Thats good to know, I never really knew there were two distinct courses.
    Offline

    0
    ReputationRep:
    neither did I thank you!
    Offline

    12
    ReputationRep:
    (Original post by Ricky116)
    Hi, I am currently a 2nd year physics undergraduate and at the end of my degree I would be looking to secure a graduate software engineering course.

    If I was to go back, I would probably have choose a computer science course but I do enjoy physics and I understand an analytical science degree such as physics is still very relevant.
    I don't think it is to be honest, but doing a physics degree signals that you're smart, so you have that going for you.

    (Original post by Ricky116)
    I am looking advice on how best to improve my CV and skills-base with a look to secure a graduate placement, in my situation. Whilst of course concentrating on obtaining a 1st/2.1 in my degree, what other things should I be learning? What kind of skills and know-how will comp-sci graduates have that I won't? At the minute my CV isn't the strongest and to be honest any ideas are welcome.
    In theory, a lot, in practice, most CS graduates in this country are so poor that I wouldn't worry too much about competition.

    You should learn at least some things about algorithms and data structures though.

    (Original post by Ricky116)
    I have learnt the C to a certain degree, in that I am able to model systems and build rudimentary programs to numerically solve equations etc.. Should I branch out and learn a second computer language or continue to focus on C (or perhaps venture into C++).

    Thanks for any advice.
    C will be fairly limiting on the job market. It's a great language to know though, for other reasons. However, you should pick up a popular object oriented language like Java. That will introduce you not just to a new software engineering paradigm, but also the idea of APIs, platform, large-scale software engineering, and a whole load of other stuff that software engineers talk about.
    Offline

    1
    ReputationRep:
    I like to think about CS as science to problem solving using computers, and your current subject does involve a lot of problem solving so you have a very good foundation in that sense. I would say, continue your current degree and while doing that follow the "Stanford Engineering Everywhere" programme which provides free video lectures of Stanford's computer science classes and they also provide with assignments and problem sets that you can complete after watching the lectures. Also buy a good book for the language that is taught by Stanford classes and read that along too for better understanding of concepts (especially OOP).

    This is the link to their site

    The first course is CS106A - Programming Methodology (Java)

    For Java I recommend the book "Head First with Java" or you can buy the book that stanford uses "The Art and Science of Java", either way, read the book as you progress through lectures and do the exercises and assignments (VERY IMPORTANT)

    And after that they also have classes like CS106B and CS107 which teach advanced stuff while teaching you new languages, mainly C++ for CS106B and others for CS107.

    For learning good C++, most experts recommend a book like "Accelerated C++", "C++ Primer" for beginners and I'm finding "Accelerated C++" to be VERY good in teaching the language (read about 70% of it so far).

    Eventhough I'm not very far yet, I can very confidently say that once you complete these lectures and read the books (not just the specified introductory books) you will be in better position than a lot of graduates simply because the quality of teaching is much higher and the books will teach you things that cant be taught in a lecture. I am at the end of semester 1 of first year and I am already able to complete projects that are set to be given in second year by just reading two good books and halfway through the first class (CS106A).

    So really, follow these lectures, read books and practice and you'll be good to go IMO.
    Offline

    0
    ReputationRep:
    This industry is a very clear and far better industry from others. First you just collect all software company name then their Age then you approach.
 
 
 
  • See more of what you like on The Student Room

    You can personalise what you see on TSR. Tell us a little about yourself to get started.

  • Poll
    Did TEF Bronze Award affect your UCAS choices?
    Useful resources
  • See more of what you like on The Student Room

    You can personalise what you see on TSR. Tell us a little about yourself to get started.

  • The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

    Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

    Quick reply
    Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.