Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
unixbeard
Dec 29, 2004

I've done a lot of interviews and hired a lot of people for technical roles so I thought I would throw in some stuff from the point of view of a hirer in the private sector, not so much fresh grads but more people with 2-5 years experience.

It is important to remember that if you are interviewing there is a specific job that needs to be done. We have code to be written and we are trying to find the person best suited for the task. Most jobs are not incredibly technically difficult which means it is rare we need to hire someone to come up with a completely new paradigm for something never attempted before. Most often there is just a bunch of stuff that needs to get done, and you don't need to be Einstein.

Getting something done in any organisation is a function of competency and the ability to work with others. I will ask you a series of technical questions to gauge your level of competency, and based on your answers and other leading questions I will try to assess your ability to play well with others. I will also try and work out what you want from the job, career goals, specific interests as they will have a bearing on how I manage you day to day, and if you will "fit" with the existing team members.

Ultimately there is no way of knowing if you are competent or will fit in with the organisation and team until you start working, so I am going to go with the person who seems like the best bet and hope for the best.

The easiest way to prove your competency is to have actual proof. If I need a C# developer and you can show me a list of c# projects you have worked on and your blog about C# programming, it is a reasonable bet that you are going to be competent. Some people know a lot but are very sloppy and lack attention to detail, but this is hard to ascertain from an interview and short technical questionnaire. If you can show a history of successful projects under your belt +1 to you as you can get stuff done without it turning into a complete shitpile.

If you're still in college work on open source projects. It is a great way to get experience and most people who work on open source are passionate about what they do and write exemplary code. Take a look through the code base of OpenBSD, it is immaculate. In most jobs you will be working with an existing code base, probably quite messy in places and probably not documented as best it could be. Having the ability to take a bunch of source code, figure out what it does and make some meaningful contribution is something that is very hard at first and takes practice. Get the source to apache, build it, run it, add some printf's, keep reading the source it till it makes sense then fix a few bugs. Maybe it is not a huge deal in the big scheme of things but it shows that you are smart enough to get yourself to that level.

The second thing I will ask you about some scenarios and how you would respond. For instance "The customer disagrees with how a feature has been implemented, even though that is what the BA documented, what would you do?" or "It becomes clear that a colleague has been introducing bugs because they have not done basic testing of their code, what would you do?"

I don't really care what your answers are but I am looking for a few things:

1) The ability to understand that two people can have differing opinions and that both are likely valid. If you just want to sperg out and throw your hands in the air it is unlikely you will be effective in getting things done. Also I like to ask about things you dont like, and then ask you the good things about them. So if you say you think PHP is arse I will ask you to explain why, and then get you to explain why it is so popular. Again I am not so much interested in the specific reasons, but I will see how you communicate technical concepts and if you can be objective in your reasoning.

2) The ability to act in a collegial and professional manner, at least most of the time. Often work has to be done to a deadline, and often you don't have the ideal set of resources. No one will be happy with that situation but I want people who can accept it and work within the constraints and still be successful. If you're going to be whining cause the dba is an idiot or the customer is an idiot I can't really help with that and we have to work with it. Otherwise it creates an unpleasant work environment for everyone.

On the subject of PhD's, I have two guys with Doctorates reporting to me. I have noticed that they place a great deal of weight in being "smart". I think it is a product of the environment of academia, where obviously being smart is really important. This can have an impact on their ability to work with others. I really don't want to generalise but they can have a tendency to think that they are really smart and that they are right. And they usually are right, but in this environment being right isn't as important as getting things done. It comes back to people having differing opinions, and usually both have their merits. You need to be able to ascertain what the other parties are after, and work out a way forward that meets their objectives. At the end of the day I am hiring people cause I need stuff done. If you're going to scoff at other people or teams it will just make it harder.

Now not all PhD's are like this at all. It is just important to realise that if you are moving from academia to the private sector, the drivers differ which means the way the way people interact and operate differ, so treat it like you're at a party where you don't know anyone and tread lightly until you feel you have it sussed out.

3) A degree of enthusiasm and engagement. This is not a show stopper but it is always nice. It is great to work with people who are passionate about what they do. Ask questions about the organisation, what are its goals, what are the teams goals and how do they fit in the bigger picture of the organisational goals. Be interested in the company and the other team members, ask about their backgrounds are and what they like about the organisation. Go to conferences and special interest groups, read peoples blogs, be engaged with the wider technical community of whatever area you are in.

For better or for worse being smart is a commodity, and technical skill is a commodity. There are plenty of smart people in this world, and plenty of people who know C#. If you take anyone you admire or who is famous it is usually on the back of stuff they got done along the way. Being able to get things done, to deliver, is something you need to cultivate.

So to sum up:
Be good at what you do and be able to prove it. Understand you are being hired for a specific task, so we want the person best able to complete that task, which includes working with others.
Be able to get on with others, keep an open mind and be flexible.
Ideally, be doing something you're passionate about or at least enjoy on some level.

Adbot
ADBOT LOVES YOU

unixbeard
Dec 29, 2004

Enderzero posted:

This is reasonable advice but it almost sounds like you are hiring people who can put up with all the other departments being full of jerks and idiots. If they are right, shouldn't you be focusing on the right things? How would placing an emphasis on getting things done help if you're doing the wrong things?

I work at a very large organisation (60k+ employees) which means often what is objectively the right thing to do isn't feasible because it would take years and years of re-engineering systems and processes as well as internal politics.

There is bureaucracy, and many teams are under pressure to deliver in tight time frames. If I go to them and spout off some ideal case and refuse to acknowledge their constraints they will write me off as a pie in the sky idiot and do everything they can to undermine me. They will see me as a roadblock to be circumvented which is not a good situation if I am meant to be working with them. You have to be robust about these situations and be able to work with what you've got.

quote:

"You need to be able to ascertain what the other parties are after, and work out a way forward that meets their objectives." Why don't they need to work on their ability to communicate their needs or understand that you usually cannot meet all objectives?

Well usually they can. It is a two way street and sometimes the considerations of team A have to be given more weight than the considerations of team B. If you as an individual have difficulty with this you're not going to fit with the organisation.

quote:

You're asking for people who have technical skill and can work with people and then you say technical skill is a commodity. The positions you're describing don't sound like a commodity to me, and yet you use language implying that workers are basically automatons.

The thing is technical skill isn't enough by itself. I can pick up the phone and get 5 cv's of good experienced C# developers, so given that, how can one differentiate themselves? If you're a great developer but completely erractic in your work behaviour and difficult to communicate with we're not going to hire you.

quote:

So to sum up: you're a glorified factory worker here for one task, please be passionate about the limited area we have slotted you into until we outsource the technical side because it's a commodity

Well this is why corporate jobs are soul destroying. They put you in a little box with very clearly defined responsibilites beacuse that is the only way you can get 60,000 people to actually do anything. If you stray outside your box you are stepping on the toes of other teams who will likely get upset at you as they have their own plans and objectives. It is possible but you need to be good at communicating. If we could outsource the role we wouldn't be hiring, and the decision to outsource is usually taken pretty high up in the org chart.

All i'm saying is if you're a good developer with good qualifications that is great and valuable, but if you want to have a the best chances there are other skills that are worth developing as well.

The flip side of it too is that if you are a good developer and are good at working in such an environment you are very desireable as a candidate. It's a cliche but good people are always hard to find.

unixbeard
Dec 29, 2004

Enderzero posted:

The thing is developing those soft skills isn't enough. You can get hired and then tomorrow an executive decides he wants better quarterly earnings and you're out on your rear end, and then who gives a poo poo how good your work behavior and communications skills are?

Sure that can happen but it is relatively rare. IT is not unique in this and is better than other industries. We have also basically just gone through the 2nd great depression so don't let recent experience color your view too much.

quote:

You seem happy enough there, what's the upside to being asked to do things and then working through a laundry list of constraints, some of which are artificial because of the short boss? Sounds like an ulcer to me.

There are plusses and minuses to any organisation. I am in a fairly niche area and the only places with demand for it are large corporates. The good parts are its a well funded organisation with some really large scale and cool stuff which is interesting to work on and be a part of. My direct colleagues are good to work with, and I mostly like & respect my management. The pay isn't bad either. The bad parts are the bureaucracy which means it takes a long time and way more effort than it should to get things done. The constraints are just things to be worked with. Every company has them, and i would rather have to deal with too many servers in a convoluted global network that evolved over decades than the constraint of the company not having enough money to buy a webserver cause I've been there and done that.

quote:

I guess my point is you are starting to sound like a boss and not a worker - and part of being a boss nowadays is finding ways to undifferentiate workers. Who cares about your soft skills when the eventual goal is make you replaceable?
It's probably because this is a thread about getting a job and interviewing, but the onus here is placed completely on tech workers to improve their skills to work around others' failings. I don't see anyone (not just in this thread) saying companies should eliminate waste and inefficiency, organize a company better, or cut executive pay. The narrative is all "how to make yourself attractive to companies" and no "how do we change society to make businesses work better and more fairly". "Build your brand!" will only work for so long when there are no jobs because everyone caved to corporate culture.

Well I am a boss but I am also a worker. I have a multimillion dollar budget and people who report to me. I also have a boss who expects me to get stuff done. I am just trying to give some perspective from a hiring point of view and my experience just does not match with yours. Companies want good people and they want them to stick around. They do not hire people just to get rid of them. They need good people who can come in and do a job, much like every single other occupation everywhere in the world. My point is that if you are competent and not a total sperger you can have a very good career in IT.

I am not really here to talk about the ills of society or corporate culture, nor do I think talking about these things on the internet will have any impact.

unixbeard fucked around with this message at 01:22 on Jan 7, 2011

unixbeard
Dec 29, 2004

Spime Wrangler posted:

you seem to have mixed up your tenses

oh, really? I went to school when they were experimenting with not teaching grammar so I have no idea.

Cicero posted:

What sort of questions do you feel are good for figuring this out? I mean if you ask them, "How do you like working here?", the response basically always amounts to, "Oh it's awesome in seven different ways". How do you get a real feel for what the company is like?

You can always ask "how do you see your role as a manager", and the answer should be something along the lines of making sure people know what needs to be done and have what they need to do it and then getting out of their way. You should also try and find out "the plan", where the company or the team is trying to get to and see if it is something you actually want to work on.

I usually also look at how the interviewing goes, like if it takes a long time for them to get back to me, they seem very disorganized or I get the feeling they think they are doing me a favor by giving me a job I will bail. One company had this incredibly drawn out interview process, it would take them ages to get back to me with interview results and ages to arrange the next interview, then I went on site for a series of interviews and some of the interviewers didn't show up and the local HR contact had info that differed from the main HR contact I was dealing with, it was a bit wtf. If they are going to gently caress around like that or can't even get some basics right it doesn't really reflect well on the organisation.

Also ask how the opening came about if they say "poo poo is taking off and we need more people to meet demand" its probably OK but if they say "lol we've had 10 people quit in the last 2 weeks" there is probably a reason why so many people left.

unixbeard
Dec 29, 2004

oh. well thats even more embarrassing that i missed it :)

It seems like things are slowly getting better in the US, unemployment is turning down and if that can be sustained it would be a very good sign. There is still that deficit though, but i guess that will be our children's problem.

unixbeard
Dec 29, 2004

gwar3k1 posted:

I figured this is the best thread for my question.

I have an interview tomorrow for "IT Support Technician" which is a helpdesk role. When they ask me where do I see myself in five years, I don't want to say my actual goal of being on or having completed a masters in bioinformatics.

Is it inadvisable to say I would like to sidestep into a testing or development role having gained exposure to the software via additional helpdesk duties?

What aspirations are employers looking for in helpdesk staff? To be qualified in user support maybe?

Hey, it will depend on the company a bit. I don't think anyone hiring help desk staff is expecting the guy to say "oh gee if in 5 years im right here manning the phones it will be culmination of all my hopes and dreams" because 99% of the time its not true and they know it. People come and go at every level. Ask them how the role became available.

If you really need the job then play it safe, but at the same time no one really stays at the same job forever and employers know this. There is nothing wrong with being interested in more than your direct role, but at the same time make it clear you understand you're being hired to do a job and you're prepared to work and take your role seriously.

Maybe after a while one of the developers or QA people leave, which is not uncommon in IT especially. Then there is you, someone who has worked in support and knows the products well, has gotten to know the development team and their management and gets on with them, and has a track record of doing a good job and not being a jerk, well why would you not be someone who should be seriously considered as a replacement? As long as you can show you have the technical skills required, be it familiar with the testing tools or development environment etc, all stuff you can learn about chatting with the devs or qa peeps and doing a bit of legwork. And then even if they don't put you up for consideration you have learnt about all that stuff and how it all works and they are generally very transferrable skills.

There are obviously boundaries, but if you never tell the people who can help you get where you want to go they will never know. If its a big company they will have an internal job board and keep an eye on the job ads that are placed. This is where it comes down to the company a bit. Some companies may just try and screw you, and if that's the case they are poo poo companies and the best thing you can do is move on, but most of them value good people who want to stick around and have experience in a bunch of different areas. And even if it doesnt work out you have at least learnt a bunch of new skills that you cant pick up in a classroom and have maybe made some contacts a long the way. People move around and 2 years later many of the people you work with today will be at different companies, and they too will know you're generally switched on and interested in this and that and that will not be to your detriment.

unixbeard fucked around with this message at 22:48 on Jan 14, 2011

unixbeard
Dec 29, 2004

yeah word. it is pretty easy to pick up insincerity, remember that its a two way street and if it all works out just do what you can to acquire new knowledge & skills and you'll be in a good position.

unixbeard
Dec 29, 2004

Mobius posted:

Am I right in thinking that an engineering or architect position is where I should be aiming? If so, what steps can I take next to move into that kind of role? My current position has opportunities to move into a tech lead or management position, but there's nobody in an architect sort of role that guides the long-term vision of the product.

You should check out this book

It's rare you get someone who is an architect who isn't really good at development, not like a whiz at computer science but someone who has a very good low level understanding of how all the technologies work. Someone who the powers that be trust and turn to when things get hard and can fix the problems.

If you're an architect, you effectively have a lot of power. You will set the technical direction based on where you think the industry as a whole is heading, do the high level design of all the components and how they fit together, and ensure that it is aligned with the long term strategy. If you get it wrong you will likely hose the project and all the man years of effort will be wasted.

Most people who need architects know how important a role it is. They are going to want the guy who's opinion they trust. Someone who has made a lot of good calls and has a track record of this. From what I have seen it is most common that the architects have risen from development roles. That way they really understand development and what can be done.

The other thing is the whole 1% inspiration and 99% perspiration. It doesn't take years to come up with a good architecture. You will still need to be involved with the project on a day to day basis, and if you feel development is not your forte, I would look at things like program management. That way, in theory, you could design a system, have a development team with perhaps a separate dev team lead, managing the day to day development stuff that arises. You want a really strong developer leading the developer team v:)v

But yeah, you need to be able to get people to understand why your ideas are good and for them to trust your judgement. You can work on that all the time.

unixbeard
Dec 29, 2004

shrike82 posted:

When I switched between my first and second job, I ended up only having 2 weeks of vacation which I regret. If/when I leave my second job, I'm tempted to take a year off. Has anyone done that?

I kinda have. I took nine months unpaid leave (if you're at a big company just ask hr/your manager, they will probably say yes if they don't want to lose you), and now I'm technically unemployed and plan on remaining so for the foreseeable future. If you have a good amount of experience (5 years+) and a good network I don't think it is that hard to find something if/when you want to go back.

unixbeard
Dec 29, 2004

MachinTrucChose posted:

Any comments?

Unless you need the money I would keep looking. .NET isn't going away anytime soon, there will be something else, or bite the bullet and move somewhere that actually has demand for .NET programmers cause there has to be somewhere near you.

If none of that is an option I would take the C++ job. Regardless know that one role is going to be maintaining a Delphi app, the other a C++ app. Career wise avoid the hell out of Delphi. I have met a few people along the way who are RPG programmers, a programming language first released in 1959 by IBM and a bunch of systems were developed. Some of those systems are still in use, maybe not from 1959 but ~a long time ago~. And those systems still need programmers to look after them.

Now at first from the developers point of view it probably seemed like a decent position, good pay, stable company, why not? But then next thing you know you're 40 and have spent the last 10 years writing RPG and the company you work for was bought by some other company and they decided to can the RPG product line and so you're kinda thinking its time to move on but all you really have on your CV is RPG. You look on the job sites but noone is really hiring RPG programmers except ancient banks in foreign countries and your 40 now and don't really want to have to move but that is all you seem qualified to do based on experience so its kinda a hard choice between moving countries or driving a taxi or something.

I'm not actually dramatising that I have met people in that exact situation. I would stay the hell away from a Delphi maintenance type role, or if you needed it for whatever reason I would keep it short 2 years max and have a very clear exit plan.

unixbeard
Dec 29, 2004

A lack of interviews means you should work on your networking skills more, join a .NET user group go to meetings and post about the stuff you do on their mailing list, stuff like that. C++ is fine really, in my view it is become a bit of a niche language because it is rare new systems are developed in C++ (except for some speciality fields), however there is a lot of C++ stuff out there, niches can be lucrative and I can't really see a C++ programmer going hungry any time soon.

unixbeard
Dec 29, 2004

Managing Director, Professional Train Services

unixbeard
Dec 29, 2004

NotHet posted:

The problem is simple; It isn't a software engineering job. I feel like more of a network monkey.

Beyond that, I am worried that not doing any software development for any significant period of time will make me unemployable as a software engineer.

These are legitimate concerns. If you can afford to, I would throw it back and keep looking. Just say to them "I think you're all great people and this is all a great opportunity for someone but I really want focus my career on developing software, so for this role I think someone else is going to be a better fit". No-one worth caring about will hold that against you. Even in the unlikely event it turns out to be the greatest mistake of your life, you are young with no real commitments (assuming you dont have a wife& kids) so it'll be pretty easy to bounce back. It's also probably pretty easy to find another job that isnt really what you want to do.

unixbeard
Dec 29, 2004

If you're not in a decent location another option would be to sign on for 12 months, save up as much as you can and use that to move to a better location.

unixbeard
Dec 29, 2004

Pweller posted:

Does anyone have experience getting a written document to to be signed by an employer saying they aren't affected by work done outside of work hours and duties? Any specific wording I should use?

eg. Employer acknowledges that it is acceptable for employees to conduct business outside of blah blah so long as it does not constitute competition with the business...

Is there a decent template to start with out there?

Copyright is implicitly yours, you have to explicitly sign it away. Just scratch any clauses about it out of the contract.

unixbeard
Dec 29, 2004

dmccaff posted:

I'll be finishing my degree this summer and a professor of mine has offered me an opportunity of being part of some sort of small experimental company he's starting in the college. It's going to focus around developing mobile applications, and income is solely based on how succesful the applications are in the markets (android, itunes store etc.). Details are quite sparse at the moment and that's all I really know about it. I was going to do a masters in September but if I do this that's the masters out of the question for at least a year.
I'm not sure what to make of it - does it sound worthwhile doing? I don't really have anyone to ask for advice so sorry if this seems quite dumb.

Find out if he has ever run a successful business, and find out what actual evidence he has that people are going to give him money for his app. Unless he came up a winner on both counts I would lean towards finishing studies as soon as possible. You can always go work for free a startup after college and if it doesn't work out after 3 months you wont be stuck in limbo for the rest of the year. Find out more about him and his idea.

unixbeard
Dec 29, 2004

Yeah it is good to have just a little more info on the projects, for example what were the goals/how were they met. So instead of saying "Whitted-Style Ray Tracer", have something like "Whitted-Style Ray Tracer, traced all the rays so fast Whitted himself stood up and started clapping"

It gives the interviewer something to ask you about as well, instead of them saying "hmm so you wrote a ray tracer" they can ask "what techniques did you use to make your ray tracer so exciting" and you can talk about all the smart stuff you did. The point of your resume is to highlight areas where you are super cool at doing stuff, justifying why you should be hired over all the other applicants. You don't wanna lie, but if you did something particularly well or know lots about certain areas you need to show it so they want to get you in for an interview.

"Controller Area Network communication, Temperature Sensing, Motor Control" used x and y in environment z to detect this and that and do blah blah.

Doesn't have to be long but just add in some context.

unixbeard
Dec 29, 2004

SimpleCoax posted:

This is understandable. My PhD is in Computational Science and my research is directly applicable to the company's products. Their products are very specialized in my field and I am formally educated in programming them. I've just never worked directly for a company in programming and I'm sure I suck. I was just under the impression that general entry level programmers would expect this amount. I am unaware of a more appropriate thread for this question, so I apologize for discussing salary here.

IMO take the job, its a good starting salary. Yes you know a lot but it will likely take you some time before you can really translate all your skills into deliverables. So go in and work for a year or two, then once you know all the systems and their software and have a few good delivered projects under your belt, go and talk to them again. And if you are still not happy then, you will have some solid experience under your belt if you want to look around elsewhere. If you're transitioning from academia, you have the rest of your life to work so don't worry if it doesn't seem to happen immediately.

All that said you could always ask for 20% more, or negotiate for extra leave or whatever. There was a link to a blog post about salary negotiation that maybe someone can share.

Safe and Secure! posted:

Are there (m)any development jobs/areas where a master's degree would greatly benefit my employment prospects? I want to get an MS at some point, and whether I should be looking into a CS or statistics or maybe even math MS. I am interested in all these fields, so I figure that the one most likely to help me in the most in the long run would be the best choice.

There are a lot out there, and they are way more interesting then grinding out enterprise c# with a offshore team/being a mid level corporate manager. My undergrad is comp sci but I'm doing a masters in maths and stats, with no particular end goal in mind other than "something more interesting." I was looking around for stuff I would like to do when I was thinking of leaving my previous job, there was a bunch of stuff I thought sounded cool but they mostly wanted an MSc or PhD.

I really enjoy machine learning and I could implement stuff and use the algorithms, but my maths/stats just wasn't up to scratch to really get what was going on. The way I see it is comp sci is basically a branch of applied maths, and with my existing background in comp sci I'm better off getting good at math and I'll be able to pick up the applications as they manifest in the real world with just a little bit of reading/extra work, cause I know the comp sci stuff pretty well.

Depending on how Life Pans Out, once I am mostly done with my MSc I might try and do a semesters exchange somewhere that specialises in ML.

Also if I ever really get over computing, maths/stats has applications in lots of other areas.

unixbeard fucked around with this message at 23:39 on May 22, 2012

unixbeard
Dec 29, 2004


You need to clarify what you want to do. It sounds like you want to move out of Seattle, what technologies do you want to work with? If they are outside the realm of your existing experience, are there any ways you can demonstrate your competence with them? Projects are one but depending on the organisations you are applying to, certs/qualifications can get you a long way. If you have spent X years doing say .NET, at a language level they will transfer to Java pretty well, then its just a case of getting familiar with the libraries etc.

If you want to leave you need to save up some money and move to where you want to go. It's just a lot harder trying to find work somewhere you are not, unless you have very niche skills and/or are established in a given field. If you are trying to change the technologies and platforms you are working with as well it does not surprise me you haven't been having much luck. Hiring people from other locations is a big risk for a bunch of reasons, it is a lot easier if there is someone local you can take on. Tighten your belt the next 6-12 months and build up a warchest you can use to get yourself somewhere else.

Don't begrudge your existing experience as it has gotten you this far, there are a lot of people out there who would love to be in your position (good school, lots of experience, probably a role that sounds impressive to an outsider). You can also use it to get yourself to a better place, save up some cash, get any certs your work will pay for, give a talk at a user group in your target region. You might need to be flexible about the work you do, salary and who you work for. You need to clear up what you want to do, what you are willing to compromise on, and what is holding you back. By then you should have a clearer picture of what you can do to get you closer.

unixbeard
Dec 29, 2004

Those lines in contracts are jokes and you should draw a big fat line through them before signing.

unixbeard
Dec 29, 2004

Just on the "we own everything you do" thing.

As a matter of course, HR and the legal department will come up with some employment contract for all employees. One of the main roles of HR is to protect the company from you, the employee. Likewise the lawyers are paid to make sure the company is protected as much as possible. I'm not saying this is good or bad, it's just something to be aware of, the HR people may be nice but they are not your friends.

When it comes to contracts, be it employment or for engagements with other companies, HR and legal get together and come up with something that is the best for the company because that's just what they do. It is likely they realise some clauses are egregious, but they figure most of the time the other side won't say anything about it and most of the time they are right. The other side signs the contract and the company has got itself in a great position should anything go wrong with the relationship.

The thing to remember is that contracts are very negotiable. The point of the negotiations is to reach terms that are agreeable to both parties. I have seen the smallest, one man in a phone booth type companies engage in lengthy discussion and amendment process with some of the largest companies in the world, and in all cases agreement was reached. HR/Legal expect it because they know they have put some corkers in there.

If you are given an employment contract, you are in a very strong position to negotiate clauses you feel are unworkable. Hiring is a big pain in the rear end. There's the guy that is hiring you, who probably had several discussions with his manager and his manager's manager, plus dealing with recruiters, reading cv's, interviewing, internal discussions about people interviewed etc etc. Once it's at the stage you have a contract in front of you, you can be pretty sure that "you're the guy."

It is important to remember this, and also to realise that the guy that's hiring you, his manager, his manager's manager and the team that needs to get someone on board will probably take a dim view of HR/Legal being a pain in the rear end about stuff. There are some things they will buckle down over, but stuff like "we own the rights to everything you do in your spare time" is not one of them.

If you are looking at a contract and see a clause like that, put it on them to justify why it is there. Say something like "in clause 10, part c I see you would be taking the rights to stuff I do in my own time with my own resources, why exactly do you require that?"

They might say something like "oh that's a standard term", to which you reply "oh really, hmm which standard is that?" They may be company standard (i.e. stuff they made up cause its best for them), to which you respond by going "hmmm" with a serious look on your face then go silent until someone else says something. Everything in a contract is negotiable, you can put whatever terms you want in there as long as the other side agrees. Words/phrases like "Standard", "Official", "Government approved" etc etc carry as much weight as the certificate of authenticity you get from that guy in nigeria who wants to put $4.5 million in your bank account, if only you can transfer a small processing fee first.

Or they might say something like "oh that, we never enforce it" then you say "oh great then theres no issue in taking that one out, thanks". Regardless, you ask them nicely to take it out, whenever they ask you why, ask them why they need it. If they push you just say you work have projects in your spare time (which, incidentally, is why you have such great skills they want to hire you for), and such a clause means you would have to give them up, as you can't really operate in such a grey area. You don't need to get defensive, just be clear that it wouldn't really be workable having to give the company the rights to your christian gangsta rap project, and ask them again why they need that.

Remember that they want to hire you, which is why they have given you the contract. I have never heard of anyone who objected to such a clause having the contract withdrawn. It's just HR/Legal doing their jobs to do the best they can for the company because most people don't say anything, and there is also the realpolitik of hiring, the people trying to get you on will get upset at HR for being a pain in the rear end about dumb stuff when there's work to be done.

Two things might happen, first they agree to take it out, which they should, cause its dumb. If it's a big company this might take some time because everything takes time, it might be 2+ weeks before you get the amended contract, don't sweat it, you're they guy, they want to hire you. They know its a dumb clause but they know that most people don't say anything about it, and so the company gets a free win. If it's been unbearably long try follow up with the hiring manager. There's a good chance your hiring manager is an awkward nerd like yourself who also doesn't really like dealing with this stuff, if its dragging out you can always be a bit more familiar with them and talk about all your pet projects etc, so they can see you're not just being a jerk for the sake of it.

The second is they might say they can't take it out. Which is bullshit, there is no legislation that requires such a clause. You have two options. The first is to put a dollar value on all your spare time, pet projects, being a thought criminal, etc, and ask them for compensation in lieu of removing the clause. The second option is to seriously consider what it will be like working for a company that is so hardline about blatantly trying to screw their employees over with unreasonable demands. Experience would suggest to me that it's probably not going to be an enjoyable work environment. But that's for you to decide, and maybe you sign it anyway. I signed similar things when I was younger and dumber.

So yeah, HR are not your friends, it is their professional duty to do what is best for the company. Don't take it personally, be polite, put it on them to justify it, and really you shouldn't have to have such a thing in your contract.

[edit] Also many professional associations have a contract review service where they will look over a contract for you and give you advice. If it's not really something you feel comfortable dealing with yourself, it's worth looking around for such a thing.

unixbeard fucked around with this message at 15:02 on Sep 25, 2012

unixbeard
Dec 29, 2004

FamDav posted:

Honestly we only do a 24 hour coding problem and an on-site. The coding problem usually takes people about 8-10 hours to do (so they say) and is of sufficiently complexity that we can tell if someone is smart or not. After that on site is mostly getting a feel for the person and figuring out what their values are.

24 hours? Really? What industry are you in?

how!! posted:

What kind of answer are you expecting for this question? Conflict occurs constantly in a team environment. Its like asking "Tell me about a time when you noticed your shoes are untied, but couldn't find an appropriate place to prop your foot up, how did you handle this situation?"

It's a good question and it can tell you a lot about the person. For example if they are autistic, or lack any semblance of self-awareness to realize it is an interview and they should say something reasonable, or if they had the forethought to come up with a reasonable answer in advance.

unixbeard
Dec 29, 2004

armorer posted:

I just think that, for the vast majority of programming jobs out there, it really doesn't help you.

The vast majority of programming jobs out there are also mundane and boring. After 5-10 years of doing webapps or gluing enterprise cruft together it gets old. All of the interesting jobs I saw at good companies doing interesting stuff wanted masters/phd.

unixbeard fucked around with this message at 03:52 on Feb 14, 2013

unixbeard
Dec 29, 2004

armorer posted:

These jobs are exactly what I meant by "specialized industry". I think we are saying the same thing. It sounds to me like you are talking about jobs other than "just writing code in industry" which is what I said the BS was fine for.

Yeah, I agree with all of that. I do think being a developer is one of the best career options out there for people. It's well paid and very transferrable across industries and countries.

As a general comment about degrees/certs, I feel they establish a lower bound rather than an upper bound. Look at the bottom 10% of people who managed to complete X and that is what "I have completed X" really says. So having a BS in comp sci doesnt say "here is someone who knows a lot about CS", it says "here is someone that should be vaguely familiar with some concepts they are likely to come across working as a developer, and at least knows how to fake it enough to cross a low bar".

I don't really know what an MS says. It helps establish credibility I guess, especially to those outside the domain. Mine is to help me fill in some blanks, and it's what employers want, so I need to give it to them.

unixbeard fucked around with this message at 10:52 on Feb 15, 2013

unixbeard
Dec 29, 2004

Yeah 2 paragraphs which is about 4 sentences. A bit about you and your background, highlight relevant experience, and how you feel you can benefit them/why you are a good match for the role/company.

Hi im unixbeard, attached please find my CV for the position of web developer. I live in sydney, have a degree in CS and have been developing webapps in django for the last 2 years.

I see your products are focussed on goat headers in albania. Aside from my extensive experience as a developer, my father was a goat hearder giving me a good understanding of goats and goat related prducts and services.

Please take a look at my CV and get in touch, you can reach me on 5422345666

Regards

unixbeard
Dec 29, 2004

Gounads posted:

I wonder if anyone has ever A/B tested resumes. Set up a couple fake names/email addresses. Send out several versions to a couple hundred job listings, and see what sort of response rates you get.

Probably not quite what you meant

unixbeard
Dec 29, 2004

JawnV6 posted:

I mentioned the name of another poster who could benefit from the advice. My old company would specifically ask questions that we expected a candidate to not know the answer to, partially to weed out the types who won't admit fault no matter how glaringly obvious, partially to see how someone reacts in that situation. It's not failsafe since interviews can be stressful, but it's handy.

This was common for us as well. We'd just keep asking questions about more and more details, or getting lower and lower level. It was a good way to spot people who think they can bullshit their way around not knowing something, which is particularly prevalent in security.

unixbeard
Dec 29, 2004

Even if you went to somewhere brand name if all you did was coursework it doesn't really make a difference. The only people who think it matters are academics.

unixbeard
Dec 29, 2004

Ithaqua posted:

The bottom line is that your degree matters under the following circumstances:
  • You have no job experience
  • You went to an ivy league or top-tier CS school (Stanford, MIT, etc)
  • You have an advanced degree focused on an area that the company you're interviewing with is interested in
  • You went to the same school as the interviewer

I agree with this in general, except maybe the second one once some experience has been gained (say > 2 years). If its for an experienced role, I think in most cases companies would go with whoever had the most relevant experience vs someone with an ivy league degree but only somewhat related experience. There are exceptions, like more speculative hires with more open ended roles/responsibilities, but those positions are relatively rare. That said having an top tier name on your CV might help get an interview, especially if its the same school as the interviewer.

unixbeard
Dec 29, 2004

Like it looks good on your CV for sure, but doing intro to databases at Stanford is not going to make a giant difference in terms of knowledge/abilities vs doing it at most other institutions.

unixbeard
Dec 29, 2004

It's in game/3D programming, but its not too advanced imo. Just basic transforms, and for anything you're likely to want to do in that area you can usually find a million blog posts/guides how to do it.

I've been doing a lot more scientific programming at a university of late and it's in basically everything from what I have seen. Apart from that I have never used it.

unixbeard
Dec 29, 2004

HondaCivet posted:

Why is that? Difference in working conditions/pay/etc.?

One of the worst parts is when you have some cool idea that will make things better/easier and have it met with apathy (cause it will create more work in the short term) and/or "we don't have the budget for that" aka gently caress off. The only way you can contribute economically to the business is by reducing cost. It's just not as fun over the long term as being able to work on new stuff that will bring in the dollars.

unixbeard
Dec 29, 2004

That sounds like a good role for someone relatively new to the industry, especially if you are at a smaller shop now and have never worked in a big enterprise place. The pay can be good in finance, and they are generally well resourced so dont need to cheap out on stuff every step of the way, which can be common in smaller places.

If you have no other burning career goal, working somewhere that might be a bit mundane but will give you valuable experience and good pay is a good choice. Later on you will have a better idea of the stuff that really interests you and direction you would like to go. You will be in a better position to pursue that because you have good experience in a big complex enterprise environment, and presumably the means to sustain yourself if you need to take a break from working. The latter depends on outgrowing the "spend all my money every paycheque" stage that everyone goes through once they start making bank.

unixbeard
Dec 29, 2004

Do you have any specific areas you are interested in? In general you are probably better off in Sydney but it depends on what sort of stuff you see yourself doing.

If you have the family tree for it, try get an EU passport and head to London, or try get to SF/NY.

unixbeard
Dec 29, 2004

Flashing Twelve posted:

I'm not sure. Short term I'd love to work in python, because I enjoy coding in python more than any other language. Security really interests me but I've barely begun exploring it. 'Security' is a really broad classification anyway, I think I need experience before I can narrow it down. Real-world data analysis, the "big data" kind of stuff, is really interesting to me as well. The only thing I really want to avoid is getting stuck chugging out bland code for enterprise software. What I really enjoy about programming is being presented with a problem and having to figure out the most clever solution. But then again, who doesn't?

You are always going to struggle finding work like that in Australia. There is lots of scope for cool innovative stuff but Australian companies are not really known for being ahead of the curve with technology adoption so it can be a tough sell. There are big international companies here but most of their offices are sales/support, the actual development stuff happens somewhere else.

I do python contracting on the side now and then. There's lots of python web stuff about, but after a while all the web stuff tends to look the same. Ditto enterprise .NET. You'd never go hungry in either of those areas but the work is not particularly fulfilling. Maybe something kinda devops, if you can find a real devops place. The Sydney Python User Group is pretty active, you could always post your cv to the list and ask if anyone is hiring or knows anyone hiring.

Security pays well but I cant really recommend it as a career path.

There are some cool companies in very niche areas but usually they end up moving to the US (where its easier to get money and customers), and if you work at some super niche place you are poo poo out of luck if they fold or you just get sick of it after five years. Ages ago I nearly took a job writing linux drivers at a hardware company but if I ever had to move on I would've been severely limited trying to find other companies that needed such a skill set.

quote:

I am actually eligible for an EU passport. I was going to pick it up for eurotravel but I haven't considered permanently moving to the EU, I'll do some research on that. American visa requirements are ridiculous and I definitely don't qualify for them. I do want to leave Perth though.

You don't have to go forever. But when you see the sort of stuff that's around London in terms of cool companies/interesting work vs anywhere in Australia you will see why so many people make the move. I've spent a reasonable amount of time working in Europe (about 4 years on and off) to see the difference.

You should deffo get that passport and go travel round europe regardless. Because you're right at the start of your career, you could either take a job doing whatever for a few years, save up, then go on a big trip to europe and see what you find over there, or try get in at an EU/US company and do an internal transfer after a few years.

unixbeard
Dec 29, 2004

Flashing Twelve posted:

Yeah, that's what I've found in the research that I've done so far. It's a catch-22, there's a brain drain because the programming scene here is relatively tiny, but the scene is tiny because all the talent leaves the country.

That is part of it, but its just a lot harder to get something off the ground here vs the US/Europe. Its harder to get funding and many investors aren't tech savvy and dont really "get it", and there's not the same culture of embracing new ideas and adopting new tech. There are exceptions of course but its just harder here. I have some friends at Atlassian and they are all happy there. Google also has a dev office in Sydney, I think a lot of the maps stuff gets done there, or at least it used to be.

quote:

Can you expand on the security thing? From what I've heard from people in the field, the pay is good but the jobs are rare. Is that correct?

There are jobs but on the whole the industry sucks. You will mostly be working for very conservative companies, mainly defense or big banks which can be a pain as well. I could write a giant rant here but i'll try keep it short.

1) If you like making things (like writing cool programs), a career predicated on ripping other peoples work to shreds is probably not going to be that enjoyable in the long term.
2) Thinking about the worst possible things that can happen, day in day out, for years on end will ultimately get to you.
3) The vast majority of security issues are not due to technology, they are due to process/people. It can be very hard to bring about real change, which ultimately can be quite frustrating.
4) It's relatively rare you get to work with people super engaged with the idea of having some security guy poking through their stuff. It is great when it happens but usually you're seen as someone creating more work for people or have to be the stick in the mud that holds up projects. Or some boxed to be ticked in a process.

That's assuming you get a job that is more than running appscan on a webapp and sending the default auto generated report.

quote:

Yeah, London (and Stockholm especially) are on my radar now. It's not a serious thing for a while of course. I actually have enough money to eurowank now but I think I'd rather get started on career stuff and do the gallivanting once I have a foundation under my feet.

Stockholm is one of my favourite cities, and I have a huge boner for Sweden. London is easier due to the language thing, but I found people in Sweden pretty similar to Aussies in many ways. It's a lot easier to find work once you have a coupla years under your belt. I met plenty of people who would travel for a bit, pick up a 6 month contract somewhere then hit the road again.

unixbeard
Dec 29, 2004

Pieces of paper are a big help if you are ever trying to sell your services to people who are not able to make a call re technical competence, e.g. senior manager types or HR. Right or wrong that's just how it is.

Also if your company is willing to pay for you to do training or fly you to conferences and you don't take it up you're a fool. You never know what will happen in the future or where you will end up.

It's just a positive sign that the employer is willing to invest in its people, which is unfortunately really rare. And I would argue a direct contributor to the skills shortage, because everyone expects the other company to train people up so they can be poached. Which just doesn't work because most programmers are not ruthless automatons out to optimise for immediate reward.

Also, I would've taken a pretty significant pay cut if it meant working at a place with a manager I respect and co-workers I can learn from. A good manager will stop you from going nuts and good co-workers are the easiest and best way to develop skills.

unixbeard
Dec 29, 2004

I wouldn't do a masters straight out of undergrad, for lots of reasons. Unless it is something you really really want to do and can't imagine doing anything else.

unixbeard
Dec 29, 2004

Good Will Hrunting posted:

What were the first few months of your first job out of school like? Scope of the tasks you were given, how much hand holding was done, etc. I'm starting to get the vibe that my company doesn't really know how to incorporate a younger hire.

We are 100% client-based, and I'm now on the third project in the span of 4 months. I was pulled from my last client (just as I was starting to get comfortable) because of this "emergency": turns out I'm the only developer on this upcoming project and tasked with trudging through thousands of lines of spaghetti JavaScript/Node on my own and putting together an application by myself based on a prototype built by a guy who has been doing this poo poo for 20+ years but suddenly quit last month. There will be nobody there to provide me any guidance or tell me whether I'm doing things properly or not. Not only that, but the guy building the prototype wanted to get me on this project before they staffed me at my 2nd client. He and I worked together on the first project I was on, another prototype. The company put me on client 2 because they are typical greedy corporate schmucks and saw a potential opening for business long-term, but now they look dumb because they don't have anybody else to work on this project and had to pull me before my contract was up.

Upper management is so incompetent. I loved the developers I interviewed with and they seemed very smart. The projects sounded interesting and I felt that they'd be really good at getting me into their teams but it seems like there's a shortage of in-house work and we're mostly getting continued business on teams that are already in place at clients.

E: And I guess for Senior developers: how do you work to incorporate a new developer into your team? What types of tasks would you give them to start getting them comfortable?

This is why the world is full of bitter, jaded, alcoholic programmers. If its your first job just suck it up for 18-24 months to get experience then move on.

First jobs usually are terrible because of the "no real experience" thing. Once you get some experience under your belt the situation changes considerably.

Adbot
ADBOT LOVES YOU

unixbeard
Dec 29, 2004

Pollyanna posted:

gently caress you man, I gotta get in on this :(

So far I've shown the ability to make a basic webpage and I'm working on those data structures, but I still don't feel like I've got enough to really look good to any recruiters/managers.

Start going to user groups, you find out about all the latest cool stuff and make valuable connections. Also consider getting into the guts of a project. So if the documentation for flask or whatever is bad, fix it and send it in.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply