Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Job hunting as a programmer.

Options
  • 07-02-2012 12:51am
    #1
    Closed Accounts Posts: 75 ✭✭


    How easy/difficult do you think it is to get a job as a programmer? How about for someone with just a Java Professional certificate?

    I noticed a lot of job descriptions require about four different languages, like SQL, Perl, JavaScript, Ruby etc. Is that always the case?
    Tagged:


«1

Comments

  • Registered Users Posts: 26,574 ✭✭✭✭Creamy Goodness


    i think it is that way for the majority of cases.

    jobs will for the most part have the following.

    1. some form of object oriented programming.
    2. some form of database (otherwise where's all the data going to be stored?).
    3. a scripting language (for those nitty gritty yet powerful once off/reusuable nuggets of code.
    4. javascript/html/css - everything is going web these days as it's seen as the one true platform independent platform :pac:


  • Closed Accounts Posts: 75 ✭✭morgans303


    i think it is that way for the majority of cases.

    jobs will for the most part have the following.

    1. some form of object oriented programming.
    2. some form of database (otherwise where's all the data going to be stored?).
    3. a scripting language (for those nitty gritty yet powerful once off/reusuable nuggets of code.
    4. javascript/html/css - everything is going web these days as it's seen as the one true platform independent platform :pac:

    Thanks for the response. Often I see jobs with a description like that listed as "Senior/Lead programmer". I thought someone like me (who only knows Java) might land a Junior programmer position. What do you guys think? Am I wrong?


  • Registered Users Posts: 859 ✭✭✭OwenM


    Take a look at the job sites, 98% list a degree as a requirement very early on in the job spec.

    Now i know there will probably be replies to this along the lines of "I wrote the control system for a nuclear power plant and I don't have a degree" blah de blah, there are always corner cases...

    Your problem is many companies have a HR function, their job is to reduce a pile of a hundred CV's to a pile of 8 or 10 for any given job. If you were that HR person what would your first step be?

    So if you are looking for a job as an engineer without a degree you are trying to get an employer to hire a corner case (excuse the mixing of metaphors), and you will find it harder. If you can get in touch with the hiring manager instead of the HR person you have a better chance.

    Also If you get in somewhere make sure you stay there for more than 18 months - you don't want lots of short duration jobs on your CV.

    Lastly, if you only have Java then you are a one trick pony. Most engineers have a mix of some database skills, javascript, html/css, JSP's, unix/linux scripting, webserver admin and a second and or third language like PHP, C++.

    If you like the java route, then take a look at HTML/CSS/Javascript and build up to JSP's. Also try to use mysql in something.


  • Registered Users Posts: 2,791 ✭✭✭John_Mc


    morgans303 wrote: »
    Thanks for the response. Often I see jobs with a description like that listed as "Senior/Lead programmer". I thought someone like me (who only knows Java) might land a Junior programmer position. What do you guys think? Am I wrong?

    Yes - if you do not have a few years as a junior software engineer then you obviously will not be hired as a senior engineer, let alone a team lead. Think that much is obvious.

    As others have said, build up a portfolio of projects which use other technologies. Html, CSS, Xml, Javascript, Ajax, SQL would be very beneficial to start off on.


  • Closed Accounts Posts: 638 ✭✭✭theTinker


    I dont think ive ever even seen a Java only skill set on a developer before.

    Like JS will take you about a day to become useful in if you already know java

    SQL and Relational databases, you can learn the basics from inserts,updates,selects,deletes,creating, and designing in a couple of days tops.

    If you understand a language like java, and i mean understand the OO side of it. Then relational databases and Scripting will come pretty easily to you. A few days of self learning and you can throw them on your CV.

    You dont need to be a master of SQL and databases, thats what DBAs are for, and you will pick up more advance aspects as your exposure grows.


  • Advertisement
  • Closed Accounts Posts: 75 ✭✭morgans303


    theTinker wrote: »
    I dont think ive ever even seen a Java only skill set on a developer before.

    Like JS will take you about a day to become useful in if you already know java

    SQL and Relational databases, you can learn the basics from inserts,updates,selects,deletes,creating, and designing in a couple of days tops.

    If you understand a language like java, and i mean understand the OO side of it. Then relational databases and Scripting will come pretty easily to you. A few days of self learning and you can throw them on your CV.

    You dont need to be a master of SQL and databases, thats what DBAs are for, and you will pick up more advance aspects as your exposure grows.

    Thanks a lot, brother. I was really ****ing depressed, thinking I needed another 2 years of studying.

    What's strange is, I know Python pretty well, but no jobs ever seem to ask for it. Technically it's capable as a scripting language too. Anyway, I'm 1/4 of the way through an SQL/PHP e-book. I'm probably going to set up a portfolio site to demonstrate I know how to do these things. Thanks again.


  • Registered Users Posts: 639 ✭✭✭omen80


    I'm pretty much in the same boat as you OP. My main language is C++ so I'm just getting familiar with Java and SQL by self-studying, as there are way more jobs that require Java. For me, going from C++ to Java is not that difficult as they are both OO languages and the syntax is almost the same. I think once you know an OO language it makes learning another language a lot easier.


  • Closed Accounts Posts: 638 ✭✭✭theTinker


    morgans303 wrote: »
    Thanks a lot, brother. I was really ****ing depressed, thinking I needed another 2 years of studying.

    What's strange is, I know Python pretty well, but no jobs ever seem to ask for it. Technically it's capable as a scripting language too. Anyway, I'm 1/4 of the way through an SQL/PHP e-book. I'm probably going to set up a portfolio site to demonstrate I know how to do these things. Thanks again.

    No problem man, Sometimes things can seem alot larger at the start!

    If you can install a MYSQL database or something on your local host, then create a few tables, insert a few records, delete some, and update. You've got the basics of SQL down. Your knowledge of it will grow as you experience it but theres not exactly alot to it. Java is rocket science comparing to it.

    JS is like kiddie java, that isnt so fussy with the syntax, and also sometimes ill defined in its specifications! Again, Make a simple FakeRegistrationPage.html.
    on submit button, make your java script validate the inputs such as name is all letters, no numbers, or phone number is all numbers.
    Disable a field based on anothers state (if field A.checked, B.disabled = true or something).

    Then you've got the basics of it down.

    ps: dont do your validation client side in real life :)..unless you've got backing server side support :)


  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    I have only experience of working on web based applications.

    Often web based applications can be divided into 3 distinct parts:

    Front-End: What the end-user sees in their browser, HTML, CSS, JavaScript typically generated by JSP, PHP, XSLT, etc.

    Middle-Ware: Where the front-end sends RQ's and receives RS's from, where business rules are applied, where external services, data-sources are queried.

    Back-End: Any service, data-source etc. which the middle-ware queries.

    You may be best served to concentrate on one of these areas; I would think that in larger companies people would tend to work more in one of these areas while maybe expected to work in all in smaller companies.

    The middle-ware area may be the most complex, and the back-end to one middle-ware would often have middle-ware of its own which connects to another back-end until an actual back-end is reached such as a database.

    I would think that to work with front-end you would need skills such as HTML, CSS for presentation, JavaScript for anything you can think of, especially useful for asynchronous updating aka AJAX, programming language to generate all the previous (JSP, PHP ...), if using xml data possibly (XSLT, XML).

    To work on the middleware you would need skills such as programming language (Java, PHP ...), Data / Resource Exchange mechanisms (SOAP, REST ...), Data Exchange format (XSLT, XSD, XML, SQL ...), Framework (Spring, Struts ...), Application server (JBoss, WebLogic ...).

    As for the backend, all I can think of is a database! A huge area by itself, SQL, XML . . .


  • Banned (with Prison Access) Posts: 3,455 ✭✭✭krd


    The middle-ware area may be the most complex, and the back-end to one middle-ware would often have middle-ware of its own which connects to another back-end until an actual back-end is reached such as a database.

    Nightmarish layers of nightmarishness.


  • Advertisement
  • Closed Accounts Posts: 75 ✭✭morgans303


    On the subject of MySQL, do I need to be proficient with running it from the command line? Or can I get away with using a program?


  • Registered Users Posts: 2,022 ✭✭✭Colonel Panic


    You should definitely be able to write queries by hand, but doing things totally from the command line isn't necessary.


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    I would recommend knowing how to (but not necessarily always using the CLI)

    You will understand and know them better and some interviews require you to hand write queries or other code on paper or in a simple text file.


  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    morgans303 wrote: »
    On the subject of MySQL, do I need to be proficient with running it from the command line? Or can I get away with using a program?

    It's more important to know what you are doing rather than how you do it.

    Sometimes it's easier to use a GUI, sometimes it's easier to use cmd, depending on the task, but typically it's up to you.

    MySQL is open source so there are free GUI tools that you can use. IMO it's more important to be able to use the GUI of a DBMS due to the increasing amount of functionality they provide.

    For a particular DBMS, it's good to know what all the folders contain and the purpose of the various files in a running DBMS.

    Learn to read the log files and know the files which dictate settings of a running DBMS.

    SQL and DBMS are huge topics with many possible job roles so you must decide how in depth you want or need to go depending on the job role you want.


  • Registered Users Posts: 26,574 ✭✭✭✭Creamy Goodness


    MySQL is open source so there are free GUI tools that you can use. IMO it's more important to be able to use the GUI of a DBMS due to the increasing amount of functionality they provide.

    what happens if the machine you're on doesn't have a desktop installed and your only option is command line? think new users should start out learning the command line then progress to GUI's myself personally.


  • Registered Users Posts: 1,414 ✭✭✭Fluffy88


    I would like to give the experience of someone who was once in a similar position.

    First off, a little back ground to me. I was a self-thought mostly web programmer, JavaScript, PHP, HTML, CSS and SQL. I wanted to get a job in computers so I done a 1 year HDip 'conversion course' in NUI Maynooth which was one of the best things I have ever done. I quoted conversion course as you actually need a degree to get onto the course. I would recommend doing a course like this if you are only newish to programming, 1-2 years of self-thought experience. Reason for this is you will learn so much your head will explode and it is great to have on your C.V. like was explained earlier the paper makes it so much easier to get a job.

    If you can't or don't want to do a college course you can still get a job, as there is loads of them available at the moment, but it might be a little harder. From my experience it will be a lot harder to get into a big firm without some sort of qualification as explained by OwenM. But in actual fact imho I think a big firm is much better for a new/young inspiring programmer as you have the structure and support to learn. Rather than just mass mailing every large firm in the country again like OwenM said the personal approach will probably get you a lot further. And for a position in a large firm generally you will be doing a specific job so your knowledge of Java would be enough to get you in the door.

    For a smaller firm, it will possibly easier to get a job as you will be dealing with owners/managers. But since it's smaller you will probably need a broader range of knowledge, since you will be expected and needed to work on different aspects of a project. So if your looking to get into a smaller firm your going to want to buff up your C.V. with other skills.
    I would recommend having knowledge of,
    1. A higher level programming language, you have Java here.
    2. Some sort of scripting language, Perl, Bash, Python, JavaScript, etc...
    3. Some database knowledge, SQL and use of MySQL would be fine,
    The more you know and have on your C.V. obviously makes you a better prospective employee.

    The bolded part above to me is very important.
    You need to sell yourself when in your situation, there is no point in having a crappy generic C.V. with points from leaving cert and the medal you won for some sport. It is vitally important that you really bring across to the person reading your C.V./listening to your sales pitch, that you are the person they want in their company. For a person in your situation, I think one of your unique selling points is, interest/passion. Most college grads don't really care about the job or the industry, it's just a college course and a job to them. You need to show how much you love computers/programming and show that you have a willingness and eagerness to learn. I believe most employers, especially small firms find this to be one of the most attractive properties(not the right word) in a potential employee.

    One thing to remember is this, when your going for a position as a junior role, your not expected to be an expert in anything, so don't fret you don't need to spend the next 6 years learning 5 new languages and figuring out how to setup, install and maintain all types of databases or programs. You will be thought the appropriate competence in whatever disciplines/programs your employer uses, but a good attitude and a basic knowledge of programming is very important.

    My advise is keep learning and keep applying for jobs, you'll be working in no time ;)
    Best of luck with it!


  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    what happens if the machine you're on doesn't have a desktop installed and your only option is command line? think new users should start out learning the command line then progress to GUI's myself personally.

    Then it's probably not a machine meant for a Java programmer which is what the OP is aiming for. If they were looking to be a DBA then maybe, but with a DBMS like Oracle for example it's best to learn both in parallel I think.


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    Java programmers will have to work with servers, which will likely have no gui (for good reasons)


  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    Java programmers will have to work with servers, which will likely have no gui (for good reasons)

    They will develop on these servers?


  • Registered Users Posts: 81 ✭✭deco_b


    normally development will be done on a client machine where it is tested locally then deployed to a test \ staging environment.
    Almost all app servers have GUI consoles but you definitely need to know your way around a *nix server environment


  • Advertisement
  • Registered Users Posts: 3,078 ✭✭✭onemorechance


    While being able to navigate around and issue commands in a *nix env is important, the OP is asking about getting a job as a Java programmer with a Java Pro Cert.

    I just don't think that the OP needs to learn SQL or how to run a DBMS to a level expected of a DBA or servers like a sys admin.

    Being able to issue the basic SQL commands, know how to read errors RS, read log files, know the settings files should be enough.

    Rather than go more in depth to a DBA role they would be better off learning Hibernate for example.

    Like fluffy said:
    1. A higher level programming language, you have Java here.
    2. Some sort of scripting language, Perl, Bash, Python, JavaScript, etc...
    3. Some database knowledge, SQL and use of MySQL would be fine,


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    They will be testing locally (all the time, likely) but they still will often work with a CLI to the servers.

    Knowing how to hand write code also means you will understand it better and will definitely help in an interview as you will be lost if you never hand wrote code before.

    Of course you do not need to know SQL as much as a DBA would unless you want to go that route (mostly) but knowing SQL or any language is important, hand writing code when you first start out gives you a better understanding of the code.


  • Registered Users Posts: 2,022 ✭✭✭Colonel Panic


    As in writing the code down on paper?


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    As in writing the code down on paper?

    I am not saying you do this often, just that it was asked in a few interviews.
    Some wanted to write code on paper, some in plaintext and some using an IDE.

    I would recommend writing code in a plain text editor when starting out so as to gain a better understanding of it and not get too used to an IDE completing code for you.


  • Registered Users Posts: 26,574 ✭✭✭✭Creamy Goodness


    I would recommend writing code in a plain text editor when starting out so as to gain a better understanding of it and not get too used to an IDE completing code for you.

    plain text with syntax highlighting at least :pac: sublime text 2 is a great editor for this. now my main editor.


  • Registered Users Posts: 11,979 ✭✭✭✭Giblet


    Just shout code at people across a room, it works for me!!!


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    I am not saying you should work in plaintext, just I find you learn a lot more and learn it better if you indent yourself and pick good names and just generally know the main functions/methods and how to layout a project by hand.

    Then of course move on to an IDE (or vim/notepad++/fraise/textmate/x/y/z)


  • Registered Users Posts: 2,059 ✭✭✭Buceph


    Morgan: You say you just have the Java certification, by any chance did you get it through FÁS' online course? I've just started it myself (literally a few hours ago) so I was wondering what you made of it.


  • Registered Users Posts: 2,022 ✭✭✭Colonel Panic


    The thing is though, if you're at a point where you're having to write out code on paper or in a text editor sans code completion tools, you can't program and won't be able to even manage a junior dev job.

    If you can program in one language with commercial experience, picking up other languages and tech is trivial although becoming an expert is a different story. I've been coding for years and I still wouldn't consider myself a C++, ObjC or C# expert.

    If you're looking to prepare for job interviews that have technical tests, then revising your data structures and algorithms, including being able to do them on a whiteboard in code that is relatively correct is definitely worth while.

    A very good book that helped me a lot with interviews is this: http://www.amazon.co.uk/gp/product/047012167X

    It was actually recommended to me by a Google recruiter.

    If you're applying for a job as a developer that doesn't get you to do a technical test, then I would seriously consider not working there.


  • Advertisement
  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    The thing is though, if you're at a point where you're having to write out code on paper or in a text editor sans code completion tools, you can't program and won't be able to even manage a junior dev job.

    What?

    When starting I would recommend writing it on without a fancy editor, it has nothing to do with having to do it. It is about gaining a better understanding of your code and not relying solely on code completion, indentation etc.


Advertisement