New grad looking for professional advice



  • Hello



    I've recently earned a BTech in CIS from a college.  I learned the
    basics of system analysis, DB architecture, networking  and
    prgoramming J2EE/.NET (C#, VB,asp.net).  Coming out of college I
    probably don't know much and my experience is limited to the senior
    projects that I had to complete to graduate. 



    Its time to find a job and I'm somewhat lost.  Some are telling me
    to start off as tech support since thats easy to get and gain some
    industry experience then start applying to programming jobs, while
    others tell me to apply directly.  To be honest I don't know what
    to focus on. I was thinking of focusing on one language, get certified
    and then move my way up the chain.  My problem is what language
    should I be focusing on? I was thinking  C# since there's 
    alot of jobs and if I want to switch to Java it would be easier. 
    Learning something new isnt hard for me, in fact I want to learn as
    much as I can.  Hopefuly one day I could become enterprisey. 
    I'm trying to find a career path that would allow me to gain several
    skills besides programming.



    Most of you here hire people like me and probably know what the current
    market requires.  Any ideas?  I apologize for the long post,
    I'm just looking for advice.  I'm probably making a fool out of
    myself with these questions but asking industry professionals won't
    kill.



    Thanks in advance.




  • apply for the job you want.  Do you want to develop software?  Apply to do that, or QA or whatever.



  • IMO, don't apply for tech support if you want to become a programmer. You will have a hard time to change the track later.
    C# oder Java? Well, choose your pain.
    C# = you are (mostly) locked in the world of MS.
    Java = abundance of frameworks, especially when it comes to web applications; you feel guilty for writing "i++" because deep in your heart you know that there has to be an Apache Incrementing Tools framework that could do the job for you, just much better ;-)



  • @NewBie said:

    Hello



    I've recently earned a BTech in CIS from a college.  I learned the
    basics of system analysis, DB architecture, networking  and
    prgoramming J2EE/.NET (C#, VB,asp.net).  Coming out of college I
    probably don't know much and my experience is limited to the senior
    projects that I had to complete to graduate. 



    Its time to find a job and I'm somewhat lost.  Some are telling me
    to start off as tech support since thats easy to get and gain some
    industry experience then start applying to programming jobs, while
    others tell me to apply directly.  To be honest I don't know what
    to focus on. I was thinking of focusing on one language, get certified
    and then move my way up the chain.  My problem is what language
    should I be focusing on? I was thinking  C# since there's 
    alot of jobs and if I want to switch to Java it would be easier. 
    Learning something new isnt hard for me, in fact I want to learn as
    much as I can.  Hopefuly one day I could become enterprisey. 
    I'm trying to find a career path that would allow me to gain several
    skills besides programming.



    Most of you here hire people like me and probably know what the current
    market requires.  Any ideas?  I apologize for the long post,
    I'm just looking for advice.  I'm probably making a fool out of
    myself with these questions but asking industry professionals won't
    kill.



    Thanks in advance.


     

    Tech support is the bottom rung of the ladder. It is where high school graduates get their start. If you hadn't gone to college, that would be where you start. Having a degree, you should be able to start a rung or two hire. Computer repair would be the bottom for you, an entry level programming or system admin job would probably be just about right for you.



  • @ammoQ said:

    IMO, don't apply for tech support if you want to become a programmer. You will have a hard time to change the track later.

    Well, that depends. If you want to work at a specific company which happens to have openings in their tech support department but no current openings for programmers, then it would be a prudent move. You could climb the ladder once in the door.



  • @CPound said:

    @ammoQ said:

    IMO, don't apply for tech support if you want to become a programmer. You will have a hard time to change the track later.

    Well, that depends. If you want to work at a specific company which happens to have openings in their tech support department but no current openings for programmers, then it would be a prudent move. You could climb the ladder once in the door.

    If you are good in what you are doing, they might decide to rather make you a "senior executive tech support specialist" than a programmer. If you are not good as a tech support, they probably won't let you become a programmer anyway ...



  • Tech support is the entry path for sysadmin roles (which should involve significant amounts of programming, but no large-scale application development and no develop-for-sale stuff).

    If you need an entry path to development jobs (because you don't have enough experience to get one offhand), QA is the entry path there.

    I've done both, and I vastly prefer sysadmin jobs - no sales department, minimum management interference, and no end-of-project "crunch" time. It all depends on your preferences though - if you want to create programs that are used by large numbers of people, that's development stuff, and if you want to create programs that are used only by your immediate peers, and get to play with networking and hardware, that's sysadmin stuff.



  • @asuffield said:

    Tech support is the entry path for sysadmin roles (which should involve significant amounts of programming, but no large-scale application development and no develop-for-sale stuff).

    If you need an entry path to development jobs (because you don't have enough experience to get one offhand), QA is the entry path there.

    I've done both, and I vastly prefer sysadmin jobs - no sales department, minimum management interference, and no end-of-project "crunch" time. It all depends on your preferences though - if you want to create programs that are used by large numbers of people, that's development stuff, and if you want to create programs that are used only by your immediate peers, and get to play with networking and hardware, that's sysadmin stuff.

    Having experience in a tech support/sysadmin role helps you understand how networks and PCs function together. If you want to be a well-balanced programmer (being able to code both win apps and web apps) I would go this route. It's invaluable experience.

    However, if you see yourself as mostly a front-end web design guy, then a QA role would be sufficient.



  • @CPound said:

    Having experience in a tech support/sysadmin role helps you understand how networks and PCs function together. If you want to be a well-balanced programmer (being able to code both win apps and web apps) I would go this route. It's invaluable experience.

    However, if you see yourself as mostly a front-end web design guy, then a QA role would be sufficient.

    There are more kinds of software development than just "win apps" and "web apps". Both "win" and "web" refers to the user interface. But you know, some developers create multitiered applications where some UI code (win, web, Java, .net, whatever) lets the middle tier (aka "business logic") do the real work. Of course, some software developers create entirely different kinds of software, e.g. games, embedded, scientific etc.
     



  • Some QA people write as much code as developers too.  I'm in QA and I spend 80%+ of my time writing code.



  • @ammoQ said:

    Java = abundance of frameworks, especially when it comes to web applications; you feel guilty for writing "i++" because deep in your heart you know that there has to be an Apache Incrementing Tools framework that could do the job for you, just much better ;-)

    Hush. You just take a good Java framework and throw an N on it and you're good to go ;-)

    Hibernate => NHibernate

    log4j => log4net



  • @ammoQ said:

    There are more kinds of software development than just "win apps" and "web apps". Both "win" and "web" refers to the user interface. But you know, some developers create multitiered applications where some UI code (win, web, Java, .net, whatever) lets the middle tier (aka "business logic") do the real work. Of course, some software developers create entirely different kinds of software, e.g. games, embedded, scientific etc.

    Like I said, win app/web app. You're either programming for a "computer" (locally) or "the web" (distributed).

    "Computer" could equate to a server, the infamous "middle tier", a component, a .dll, whatever...it could even be a robot with artificial intelligence.

    There are only two ways to program. Win app/web app.

    Oh yeah, cell phone programming is win app in case you're wondering. 



  • @CPound said:

    Like I said, win app/web app. You're either programming for a "computer" (locally) or "the web" (distributed).

    Given that broad a definition, 'web' programming is just 'computer' programming where the input comes from a remote machine and execution takes place locally, or where a program is sent to a remote machine to be executed there...it's not as if 'the web' actually executes code.

    -cw



  • @CodeWhisperer said:

    Given that broad a definition, 'web' programming is just 'computer' programming where the input comes from a remote machine and execution takes place locally, or where a program is sent to a remote machine to be executed there...it's not as if 'the web' actually executes code.

    Doh! Good point.

    I wish I could retract my earlier post.



  • @CPound said:

    I wish I could retract my earlier post.

    Where is a moderator when you most need one? ;-)  

    BTW: "web" does not equal "distributed computing", though both use some kind of network technology. 



  • @tster said:

    Some QA people write as much code as developers too.  I'm in QA and I spend 80%+ of my time writing code.

    That is precisely the reason why it is the entry path to full-time development jobs. You don't need development experience to get a QA job, and once you've got the job you can start getting some. 



  • @asuffield said:

    @tster said:

    Some QA people write as much code as developers too.  I'm in QA and I spend 80%+ of my time writing code.

    That is precisely the reason why it is the entry path to full-time development jobs. You don't need development experience to get a QA job, and once you've got the job you can start getting some. 

     

    Oh I see what you mean... 

     

     

     

    By the way,

    saying that web development is distributed development is a gross misunderstanding of the phrase "distributed computing." 



  • @tster said:

    By the way,

    saying that web development is distributed development is a gross misunderstanding of the phrase "distributed computing."

    I know, I know. It was a stupid thing to type. It made sense when I was typing it, but now that I've read over it several times it's like, "What was I thinking?!?"

    It was late and sometimes when you're really tired you type things you regret.

    This is slightly off topic, but I was looking at this "Jobs" sidebar on TheDailyWTF and I saw some postings with ranges like "$50K-$90K depending on experience". What on earth does that mean? That's a huge range. And honestly, what are your chances of going in and getting the 90K? Are these jobs posts for real?



  • @CPound said:

    This is slightly off topic, but I was looking at this "Jobs" sidebar on TheDailyWTF and I saw some postings with ranges like "$50K-$90K depending on experience". What on earth does that mean? That's a huge range. And honestly, what are your chances of going in and getting the 90K? Are these jobs posts for real?

    Donald E. Knuth and Edsger W. Dijkstra are the ones who would get $90K. All others receive between $50K and $55K. Message understood? ;-)



  • @ammoQ said:

    Donald E. Knuth and Edsger W. Dijkstra are the ones who would get $90K. All others receive between $50K and $55K. Message understood? ;-)


    Don Knuth 
    Ed Dijkstra

    Ahhhh! Make them go away!!! 



  • @CPound said:

    This is slightly off topic, but I was looking at this "Jobs" sidebar on TheDailyWTF and I saw some postings with ranges like "$50K-$90K depending on experience". What on earth does that mean? That's a huge range. And honestly, what are your chances of going in and getting the 90K?

    If it's anything like the job ads I've posted that are like that, it means that they need bodies to put in the seats.  They recognize that one good person can often do the work of two, but if they can't find that good person, they'll take 2 mediocre ones.  Maybe it's that the guy has good experience with both C++ and SQL and can work on the front end and back end stuff.  That's not to say that he'll have to do twice the work -- sometimes he just accomplishes twice as much in the same time.  Maybe the experience set is broad enough that the engineering manager feels that he'll add something to the team that isn't there already, or he has leadership experience and can manage projects as well as write code. They make $80-90K.  But, failing all that, if they just find a guy who is competent at slinging code, they'll bring him in and put him to work.  They can't give him as broad of responsibilities, so he makes $50K.

    It's not uncommon, and not trying to bait-and-switch (well, I guess it could be, but it doesn't have to be).   I've come into a number of those jobs at the higher end of the pay spectrum (and, earlier in my career, at the lower end).  

    -cw


     




  • By the way, I have interviewed with a guy that looked like Don Knuth.

    He was so mean.

    He was one of those interviewers who never cracked a smile. And when you answered one of his questions, he would simply say, "Hmmph." Almost as if to say, "You are so beneath me you pathetic simpleton."

    He's the kinda guy that just levitates in the room due to his magnificent genius.

    I now wonder if the guy I interviewed with was Don Knuth.



  • Yes, perhaps QA can get you development experience, but I did QA for a couple years thinking I would get into development and it was my experience both at that job and this one that development generally loathes QA groups. QA is "beneath" their abilities, and I personally never saw anyone migrate from QA to IT Development, only from QA to QA Management, or QA to Business-side jobs like business analyst and such. (like me)

    I think your better bet for cracking into the development world would be to just apply directly for the "Jr. Developer" and "Entry level developer" roles. They may not pay great, but if you prove yourself over 2 or so years your resume will all of the sudden become waayyyy more marketable for other 0-2 years of experience type development jobs that do pay decently. Another 3 years and you'll be considered a professional in the field and can start playing around with learning new languages, possibly trying out different types of side jobs like a little dba or network admin type work, or even considering work outside of just IT.

    My BS in Comp Eng Tech from DeVry really doesn't matter anymore on my resume. It's all about my experience level in my career field these days.
     



  • Here is what I did and maybe it can work for you.  I didnt read what the other posts said to do but here is my suggestion.

    You want to find an inter position.  With no experience this gets your foot in the door because interns don't cost a lot and are less risk then hiring a person with no experience into a permanent job. So, they are usually pretty easy to get, you just wont make much for about 6 months.

    To find an inter position first look for, well, intern positions.  These type of positions are rarely listed.

    So you need to look for companies that are hiring higher level positions.  You apply at all the businesses that have opening for programming positions no matter what skill requirements they want for it, but you also tell them that you are interested in doing an internship.  From my experience this is how i got my first internship and it got me a great start in my career.  When i started, i started with the guy that filled the position i applied for. 

    I know a lot of people that have gotten a start in their career this way.  Plus the best part of being an intern starting out is you can screw up a lot because its expected :)

    Stick with c# or java.  I would guarantee tho that you can find a job a lot easier knowing c#/asp.net, because web programming seems to be what everyone needs.
     



  • It's certainly an interesting situation to be in (one I was in not long ago) - here's my 0.02.

    QA is the way into QA Management and, beyond that, general management. That's the end of that story. People hiring programmers do not see years of experience in QA as any kind of valid development experience (because it's not ;)).
     
    Tech Support is the way into systems administration, which is a job many people enjoy and with good reason; but great sys admins don't make good application developers. Think of it this way: when hiring a developer to work on a J2EE commercial application as part of a large team of engineers, employers don't look for X years of experience setting up/maintaining networks and writing perl scripts. They are equally valuable but totally different professional paths, as has been pointed out above.

    The way into development is simple - Internships, Graduate Programs and Junior Developer positions. Simple as that. You want a job as a developer, get a job as a developer. If you have a good degree (I didn't really) then there are plenty of companies (especially financial institutions) who are waiting to hoover new grads up into their tailor-made new grad programs. Great pay, great perks, but like I say, you need a good degree. There are however plenty of these positions available; crucially, if you don't have professional experience, work on something - anything, starting perhaps by polishing your final year project if you have one - to give yourself some kind of portfolio to show to people.

    If having finished an undergraduate program you don't meet the degree requirements with the investment banks and can't find any Junior positions elsewhere, my advice would be to consider further education. Some kind of masters program with a vocational focus can provide a great springboard into a particular sphere of development, as well as giving you the chance to build your own portfolio of work, not to mention giving you a higher-level degree. I've seen MSc programs in all kinds of fields from Enterprise Development (i.e. J2EE etc) to Distributed Computing to Computer Games Technology (what I ended up doing).

    Anyway - best of luck! 


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.