Open Side Menu Go to the Top

12-03-2013 , 08:41 AM
jmakin, what do you want to do?

Javascript is what I'd recommend if you're mostly interested in programming in the future. Learning more languages/concepts is always helpful. Sure, you could do it yourself but that could probably be said of any entry level class.

Windows Desktop Administration sounds painful to me. I'm not hugely anti-Windows its just that <Any OS> Desktop Administration doesn't sound that exciting. If its a step on your career path - so be it, but otherwise I'd skip it.

If the Network Sys Admin class gives you an overview of Unix/Linux and you've never done anything like that, it could be an interesting option for you.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
12-03-2013 , 10:24 AM
Quote:
Originally Posted by jjshabado
I haven't given a lot of thought. Generally speaking I guess it could be either. Some people are insanely good in very narrow situations which is great if those situations are useful to you. But a strong generalist is also extremely valuable.

When I think of top developers I think of skills like:

* Ability to learn new technologies/languages
* Ability to learn/apply common design patterns / best practices
** Includes code architecture, testing, commenting
* Productive social skills
** Works to resolve problems
** Able to communicate easily with non-technical people
* ...

and I'd say that the top 10-20% have a decent amount of all of these skills and are particularly good in at least a few of them.
That's a good list. How do you interview prospects to ascertain if they have at least some of these qualities? A caveat, from what I have experienced, the interviewing process at many places seems like it has little to do with finding candidates with these qualities.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 10:35 AM
Quote:
Originally Posted by jmakinmecrzy
Hey guys, sorry to bug you, I have a quick question because I'm registering for classes right now.

I'm taking advanced java (I'm told the instructor likes to work with windows applications specifically) and I have an option to take an online elective course right now. It's just for fun, but i'm debating the following:

javascript 1 (2 units) - this seems pointless because there are loads of javascript resources out there and i'm reasonably confident I could teach myself a lot. However, it could be a fun distraction from my coursework this next semester.

Windows Desktop Administration - this I'm not really sure of. I doubt it would be very fun, but I could learn a lot. I'm not exactly sure what it would entail, either. This seems like the most common sense thing to take for myself because I'm not super familiar with windows' capabilities and I could learn a bit more about my preferred OS.


Then there's some network sys admin classes that I'm also not too sure of what they would entail or how much I could learn from them. I'm clueless with that stuff and it would be good to take something other than programming. My other choice is info/storage management which I may have to take anyway but sounds really boring.

These are all online fwiw.
Windows desktop administration would be a horrible choice. It is a dead end and I've had a fair amount of experience with Windows kernel mode development.

Unix/Linux system administration be better in my view.

With that said I'd opt for the javascript course even given your reasons for not taking it.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 12:08 PM
Quote:
Originally Posted by adios
How do you interview prospects to ascertain if they have at least some of these qualities? A caveat, from what I have experienced, the interviewing process at many places seems like it has little to do with finding candidates with these qualities.
First, I think its really hard to interview people. Like super hard. So being really good at interviewing doesn't mean you won't hire bad people or miss hiring great people.*

Here's sort of what I look for:

Quote:
Originally Posted by jjshabado
* Ability to learn new technologies/languages
* They know one of the languages on the resume really well. This is done through watching them code a few different problems. Can they implement what they say they're implementing quickly and concisely.
* They have multiple technologies / languages on the resume and they can talk knowledgeably about some of them. This is particularly hard to interview for but I try to ask questions like "Explain to me a project you worked on with X", "What was the biggest problem with X", "How did you do <whatever they said they did> with X", "Why did you choose X over <some alternative to X> for <whatever they said they did>". This is basically just an open ended conversation where you try to see if they can do more than use buzz words about a product.


* Ability to learn/apply common design patterns / best practices
** Includes code architecture, testing, commenting
This is partly done by making them actually code and asking how they'd test their code. We also ask an open ended design type question like "If you had to build X tell me about the major components you'd need to have". Then you go from their base design and ask questions or give them new features/constraints that their design would have to support.


* Productive social skills
** Works to resolve problems
** Able to communicate easily with non-technical people
You just kind of get a feel for this through out the interview. For example some people get really defensive when you ask questions about their design or are very hesitant to change their design when you give them new constraints. How well they can explain previous projects they worked on is also a really good indication of how well they communicate - especially if they're talking about something I have little to no experience with.



* As a side note, one of my biggest interview related pet peeves is places that make internal candidates do a full interview process for an internal promotion and make the decision based on that interview. If you've been able to observe and work with a person you know so much more about them than you'll ever know from an interview. It just seems ridiculous not to use that information.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 12:53 PM
Are you suggesting that people do not use their experience working with someone to make the decision and the interview process is more than simply a formality? Seems like that is rarely ever the case. While a company may make people go through the full process,(which might exist as a platform to give more power to managers to make hiring decisions) it seems like that is only procedural, and unless you are legitimately outdone by another candidate, your experience with the person interviewing you will trump the interview itself.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 02:10 PM
Not as rare as you would think. I most commonly hear about this at large companies and government jobs. Places where the appearance of impartiality / fair hiring is more important than actually hiring the best person for the job.

I have one friend who works at a place where the interview is a preset group of questions complete with a scoring criteria for each question and the interviewers only job is to score the candidates. Highest score gets the job. And the best part is that one of the interviewers is from HR and has an equal say even when hiring experienced professionals.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 02:18 PM
The topic of interviewing came up with my friends from the company next door who I eat lunch with and basically everyone says it is incredibly hard.

Maybe interesting scenario:
2 finalist candidates out of about 10 for a SQL financial role

Candidate 1 - Young guy recently out of college, a couple years of work experience. Some experience with SQL but not much with finance. Seems like a hard worker and a fairly smart guy.

Candidate 2 - Older (50 yo) guy who had been teaching for ~20 years and was now in the process of changing careers. Had some finance experience, but limited with SQL, but said he thought he could pick it up fairly quickly. Seems like a very intelligent guy and was probably a good teacher.

Who do you choose?

Spoiler:
She chose candidate 1 and had to fire him a few months later. His highlight came with making about 7 errors in a single line. Barely ever improved and was bad at figuring things out on his own. She apparently regrets not giving the teacher a chance.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 02:40 PM
I have to go with the standard "It depends".

Did she have them write actual SQL?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 03:00 PM
I don't think she had them do much, it was mostly based on potential and ability to be trained and improve.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 03:07 PM
Yeah, then thats the real problem.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 03:52 PM
Quote:
Originally Posted by jjshabado
jmakin, what do you want to do?

Javascript is what I'd recommend if you're mostly interested in programming in the future. Learning more languages/concepts is always helpful. Sure, you could do it yourself but that could probably be said of any entry level class.

Windows Desktop Administration sounds painful to me. I'm not hugely anti-Windows its just that <Any OS> Desktop Administration doesn't sound that exciting. If its a step on your career path - so be it, but otherwise I'd skip it.

If the Network Sys Admin class gives you an overview of Unix/Linux and you've never done anything like that, it could be an interesting option for you.
I wanna be a software developer but i'm concerned the Javascript class will be really rudimentary stuff that'll be a waste of time.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 03:58 PM
Ok, then I'd definitely skip the Windows course.

The Javascript course probably won't be *that* rudimentary. There are a lot of differences between Java and Javascript and learning them will be useful.

Having too much programming exposure when learning programming just isn't possible.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 04:20 PM
Sysadmin experience will be a benefit if you end up in a non-windows java shop, I have too small of a sample size to say for sure but it seems that start ups are generally not windows based java shops.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 04:27 PM
I don't know a single start up (or even small company) that is a windows based java shop. I can think of 20-30 that aren't off the top of my head.

Learning Javascript is the best play imo. Windows is useless and you are going to lose the Sysadmin experience because you are going to go back to Windows after the course.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 04:30 PM
Quote:
Originally Posted by Larry Legend
I don't know a single start up (or even small company) that is a windows based java shop. I can think of 20-30 that aren't off the top of my head.
+1
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 04:58 PM
Quote:
Originally Posted by jjshabado
Ok, then I'd definitely skip the Windows course.

The Javascript course probably won't be *that* rudimentary. There are a lot of differences between Java and Javascript and learning them will be useful.

Having too much programming exposure when learning programming just isn't possible.
Okay sounds like a plan
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 05:21 PM
I will say I was involved as a consultant with one company that was a small java shop, but got purchased by a large multi-billion public company, and it was not a windows shop. Had a very strong linux infrastructure.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 10:04 PM
I would have went with the older guy but not because of his life experience. Being able to teach that long shows a lot of potential for being able to clearly explain things to others.

If you can't explain something to someone and make it crystal clear it doesn't mean you're bad at explaining or a bad teacher, it just means you probably don't know the material well enough.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-03-2013 , 10:12 PM
Sometimes it means you aren't a good teacher though.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 12:19 AM
Quote:
Originally Posted by kerowo
windows based java shop
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 12:21 AM
Quote:
Originally Posted by jjshabado
First, I think its really hard to interview people. Like super hard. So being really good at interviewing doesn't mean you won't hire bad people or miss hiring great people.*

Here's sort of what I look for:






* As a side note, one of my biggest interview related pet peeves is places that make internal candidates do a full interview process for an internal promotion and make the decision based on that interview. If you've been able to observe and work with a person you know so much more about them than you'll ever know from an interview. It just seems ridiculous not to use that information.
Very interesting, good post. Thanks.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 10:44 AM
Quote:
Originally Posted by daveT
Isn't it amazing that every single company has the top 5% of programmers working for them?

Joel Spolsky brings everyone down to earth:

http://www.joelonsoftware.com/articl...vaSchools.html

I also noticed this strange argument for the first time:

You used to start out in college with a course in data structures, with linked lists and hash tables and whatnot, with extensive use of pointers. Those courses were often used as weedout courses: they were so hard that anyone that couldn't handle the mental challenge of a CS degree would give up, which was a good thing, because if you thought pointers are hard, wait until you try to prove things about fixed point theory.


Is fixed point harder than pointers?

And everyone that thinks functional programming is strange really should read this line:

They'll never have to get their head around how, in a purely functional program, the value of a variable never changes, and yet, it changes all the time! A paradox!
This is absolutely true. We have a ton of programmers who are fairly productive but I know would get lost in recursion or pointers. They also will never make good architects and tend to produce badly organized, hard to maintain code - unless you watch them pretty closely.

Maybe there should be a worker bee CS track and an architect CS track.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 10:46 AM
jmakin, Javascript and it's not remotely close. Of course my opinion could be colored by spending an entire day at Node Summit listening to how Javascript is going to CHANGE THE WORLD.

If you do any kind of web development you will need Javascript. You will never need to know windows administration in the real work as a developer.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 12:16 PM
Recursion in web apps is a major pain in the ass. I've been redoing a site for a start up for the last ~6 weeks and basically the biggest feature is this tree of items, that needs to be displayed in a form with different choices (select/radio/checkboxes) depending on the level and a bunch of conditional stuff (with tons of hiding and animating). I think that form has like 700 lines of jquery... ugh. That being said, I don't mind working with pure jquery very much, even though I've spent a lot of time with angular lately.

It would have been relatively easy if we had said there would be say a max level of 4 items, but they were insistent on having the capability to go higher if needed.

On the bright side, that form, and the admin interface for populating the tree works great and we are about to launch. I also don't really mind this 70 hour week I'm working to get everything finished when I get paid by the hour.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 12:19 PM
Also, knowing javascript is hugely important to make any web app a remotely enjoyable experience.

I haven't spent enough time with node to know whether or not I will spend time learning it well, but all the front end stuff can be very tricky and vitally important. I think back end code is largely much easier than making a site work on even just the range of modern browsers. I also find fringe cases much more difficult to deal with on the front end.

I also really enjoy javascript at this point, makes web development fun.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m