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
Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

shrike82 posted:

RAD's basically rapid prototyping. A trader asks you to build a model to price something - you have a day to build it. Even for "longer term" projects, we're talking about delivering a usable product to business in months. Contrast this to a pure tech company like Microsoft where it takes several months for a code change to filter up all the way to the main code-base. It's not a good environment for writing code - no thought for architecture or long term use.

On the other hand, it can be very enjoyable for certain personality types. You feel very close to the users, every day is a different challenge, it's great solving a problem within the timeframe, and chatting with the user what they want delivered first. You also see almost immediate impact on the business. On the other hand, it can be stressful as hell, and unpredictable long hours from time to time.

You also find yourself predisposed to using certain technology and certain design patterns. They might not be pretty, they might not be the most technically interesting, robust or cutting edge, but they get the job done. I'd also like to argue you spend a lot less time writing plumbing code, and more time on business logic and problem solving.

I did it for over 3 years, really enjoyed it, was then moved off to be a SharePoint developer, and found I just didn't give a gently caress anymore as I was three degrees of separation from the customers, and I had bullshit 24+ page specifications to plow through for the simplest things. I guess having to work with SharePoint didn't help.

It's definitely a career I'd recommend for the right personality types.

Adbot
ADBOT LOVES YOU

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Maybe you need to get better senior developers or give them more input over decisions? Where I worked up until yesterday, tech archs/tech leads WERE senior developers. At least on the software side. General infrastructure stuff was handled by a different group.

You can't/shouldn't really design something without knowing if it's going to be a nightmare to implement.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Not in my experience, no. I assume it was language agnostic then?

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Tekopo posted:

Yep, the instructions were of the sort "add (number in box 5) with (number in box 9)" and other instructions that simulated if statements or changed previous instructions.

That can be sort of typical for graduate scheme jobs. For the interview for my first job, I had to write a card sorting/merging algorithm in pseudocode. I was bored so I also wrote it in Java (it was subsequently used as a model answer :smug: ). There was also some system flowchart stuff. It was the kind of place which hires people regardless of whether or not they've programmed before as long as they have a numerate degree - they've had philosophy graduates successfully apply there. Which is fair enough, but they were pretty spotty about providing a programming mentor to people. That said, the worst horrors I saw there was from someone who supposedly did programming at uni. Hardcoded connection strings in the markup portion of asmx pages.

Every other interview I've had since then has been heavily .NET/SQL/design pattern focussed, with some logic puzzles and Maths thrown in.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

aux posted:

I'm not really a fan of questions that can be answered in less than a minute using Google. I'm also not a fan of questions that are so vague that could have literally thousands of correct answers.

Is there somewhere in between, because those are really the only 2 types of questions I ever get asked?

Regarding the first type, google doesn't always give the right answer. Additionally, unless you're applying for a job which requires a computer science background, you should possess some base level of knowledge.

Regarding the second, you should either seek clarification, or realise that yes, there are lots of correct solutions, but one or two are probably better / best compromises out of the lot. Requirements gathering, and realising when you've got to pick the best out of a bad lot are two important aspects of programming. It's also a good exercise in showing the interviewer how you think.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
LINQ and lambda calculus have been around for nearly four years now and are a massive productivity boost - even if you don't use LINQ to SQL, LINQ to XML etc. Quickly iterating over, filtering and manipulating enumerations is not a "fairly specific problem domain" in .NET - certainly not in business applications. Yes there is a training/learning cost. But your developers should be continually learning poo poo and you save money in the long run by increasing velocity and reducing trivial bugs.

Also the job was for a senior developer - a senior developer should be providing thought leadership on stuff / giving people a kick up the backside. Freezing your codebase at .NET 2.0 capabilities is a very bad idea. One of the best things about .NET/C# is that Microsoft spend a lot of time thinking about the things developers spend the most time writing boilerplate on or trying to work around. And then they come up with some good stuff to solve it. Occasionally they completely balls it up (WCF), but usually not.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

HondaCivet posted:

Not to derail but I always think it's interesting hearing about how devs having about the same amount of experience seem to differ so wildly in real ability and knowledge. What do you think devs like you guys do differently from, say, the entire C# group that doesn't seem to know what LINQ is? Maybe this is a dumb question but I'm just curious about professional development as a dev I guess.

Read blogs, msdn magazine, proggit, codeproject, codeplex, random articles, internal company seminars, industry events etc. I'm not one of those smug-rear end people who thinks people should code in their free time, but knowing what new stuff is out there is half the battle - you can pick a lot up just by reading some stuff over lunch. I've been for interviews at .NET and Microsoft shops this year where they didn't know what SharePoint was, at all.

Knowing about the new hotness is half the battle. Not believing the hype is a big chunk of the remainder.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Bag of Carpets posted:

I've heard many people talk about certain programming jobs as "soul-crushing" or that you need to "sell your soul" in order to do coding for some companies / organizations. Why do I hear this so frequently?


Because it's true. Additionally, people tend to remember either the people who really love their jobs (or the perks they talk about), or the people who really hate their jobs.

Job enjoyment is affected by many things, but here are some key factors:

1) Not working for cocks or working for an organisation where you don't really care if your output matters.
2) Not working in an environment you don't enjoy. Some people like peace and quiet with few interruptions, other people like the amount of problems to be thrown at them to resemble the first part of a double-bill Dr Who season finale. You probably won't know which you prefer until you've done both.
3) Not working with tools, languages or frameworks you utterly detest. I've yet to meet a SharePoint developer who actually loves SharePoint development. Most only see themselves doing it for another few years.
4) Future prospects in a job. For most people, nothing kills your motivation like pay-freezes or not being able to acquire new skills or progress further.

quote:

Those who have experience, what would you say makes the difference between a job that you're passionate about versus one that you hate? "This is only OK but I'm making a 6-figure salary" is something that I've also heard - is anyone really enjoying what they're doing?

It very much depends on the person. I'll talk about my experiences, and I expect others will chime in with theirs - see what currently resonates most with you. It'll be vaguely wordy, apologies.

I graduated out of university and went to work for a prestigious bank as a developer in their IT graduate scheme. I was initially put in their "Central Services" department, writing Reporting Services reports for their IT helpdesk system and doing analysis for their HR systems and I loving hated it. The work was dull, not at all related to the core purpose of the organisation, and the systems were pieces of poo poo.

I requested a transfer to do "embedded IT" for the Economics Department. I loving loved that poo poo - I'd been reading the FT on and off since I was 12. My work has had an impact on the business - I can point at stuff published online to the general public and say "My code made that possible". And also internal stuff. It could get stressful as hell sometimes, but because there wasn't much bureacracy, I could fix the problem quickly and that was rewarding as hell.

For a period of 3 and a half years I did a mixture of business analysis, hardcore programming on a large project, RAD work, support work. Around the last year, the Bank had made the decision to split the development team into "project teams" and "support and minor change teams", promising that developers would be swapped around. This of course didn't happen - project developers would move from project to project, and dumping unfinished and buggy work onto the support team since they didn't have to support it. I was unfortunate enough to be on the support team because I was very good at it. That's fine - I like support in moderation and in the right environment. Unfortunately the team support team started getting very jobsworthy. I would have disagreements with my manager since I would pop around to look at user's issues without waiting for a support call for time/mission critical stuff. Filling out the change request forms for a simple one-line config change would take longer than the change itself. It was frankly making us look like a gaggle of fools.

The last straw was someone being brought onto the team as a technical architect for the economic department IT systems. He didn't want the job, and I was annoyed I hadn't been offered it nor had it been advertised. I asked for a transfer off, and the SharePoint team were looking for a tech lead so I took it since I had a chunk of experience with it.

SharePoint is an interesting platform, with many challenges and a huge amount of stuff to learn. Technically it was interesting to work with and a great, young, really dynamic team. However, it was mostly used for that same central service type stuff I hated. Blogs, discussions and whatnot. Sure it enabled the business, but it didn't have a particular economic bent to it. It's a business agnostic platform. So it was a mixed bag.

Unfortunately, the Bank announced a 2 year pay freeze. Whilst non-IT people could get around it by being promoted, IT couldn't. This was annoying as hell as I'd just been promoted. Since inflation is kinda high in my country right now, and I want a house and because I like being rewarded for my efforts I waited for meagre bonus and quit.

I now work for a much smaller firm on some pretty cool stuff. I'll miss the people, but I'm glad I left. It was absurdly bureaucratic towards the end. They'd instigated a lot of processes in the vain hope that it would mitigate the impact of people who just plain sucked. Financial systems should be locked down as all gently caress. But not raddy analytical systems, that's just dumb.

Summary - I'm a cowboy who likes Doctor Who.

Milotic fucked around with this message at 23:46 on May 31, 2011

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Pron on VHS posted:

I went ahead and purchased the new edition of that book a few minutes ago, for Java 6.

Would the first edition of Data Structures and Algorithms for Java be sufficient, or is that also out of date? I already have a copy of the first edition somehow, which is why I ask.

It's probably good enough for teaching you some fundamentals. Although this seems to suggests that the first edition didn't cover recursion or linked lists which is just :psyduck:

At any rate, you'll want to eventually look/think of how you would implement certain data structures using generics. And have a look at the C# world - Java hasn't had any major gamechanging features added since 2004. Java isn't getting lambda functions until next year. C# has had them for 4 years now. It's likely any jobs you go for will be for inexperienced programmers - it helps if you can also stick yourself forward for .NET jobs as well as Java ones.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Pram posted:

Is getting a Professional Java Programmer certificate from Oracle worth it? I already work as a 'programmer' but I'm looking for something that makes my resume look more legit. I basically just write perl scripts right now, and I'd like to do something a little more substantial. Would this cert look good to a recruiter (not necessarily just for java) or is it just a big waste of time??

Its this btw:

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=320&p_org_id=28&lang=US

It doesn't look very impressive. That's equivalent to something I'd expect a university student to be able to do after 2 or 3 weeks - it's mostly on syntax and very basic OO concepts.

I've never met anyone who has ever boasted or mentioned being a certified .NET or Java developer. Maybe for networks and stuff it's useful, but programming certification isn't worth the paper it's written on. I'm a certified Tester to ISTQB-BCS Foundation Level, which basically meant I sat through 3 days about very formal, high-level waterfall testing strategies for multi-million defence projects. And stuff like "You should test boundary conditions". I worked on highly RAD, loosely specced systems with relatively small budgets and timescales. There was nothing useful for me there.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Pram posted:

Yes I realize programming certs are useless but I was mostly curious if it has any value as resume fodder. Probably not though I'm guessing.

shrike82 posted:

Tech companies are going to sneer at it. Most developers I know see certs as something a sysadmin or tech support would do.

As shrike says, it's not just recruiters who look at your resume - it's developers who will most likely be interviewing you, and lovely certs will not really impress them, and you know what developers are like - they'll crack a joke amongst themselves as soon as they see your CV, and then throughout the interview they'll have that pre-conceived idea of you in their head. One becomes "can't proof read guy", another "why are there speedometers on his CV guy" and you'd become "lovely cert guy".

There is a strain of anti-certification/'anti-intellectualism' amongst developers. You don't want to come afoul of it.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
$150k is 90k in real money / GBP. That is a lot of money even in finance for your experience level. That is also almost 5 times the median salary in the 22 - 29 age bracket in the UK. Median salary for a householder in the 25 - 34 bracket* in the US is $50k. So only around three times in the US, but your housing market is a lot different to ours, so another skew.

But yeah, money isn't everything. Especially rarely obtainable amounts of money.

*so that's going to skew poo poo right out.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

MachinTrucChose posted:

I'm a fresh grad. I had an interview today, where everything went really well, but...

After doing the HR interview, I met with a programmer who just told me the info from the previous sentence, asked me if I knew SQL, if I knew what a JOIN was, and that's it. That JOIN quetion was the closest thing to a technical test there was. I figured maybe there would be a 2nd more technical interview, but when I asked the HR person said no, that the director would return from vacation next week and would likely hire me.

It's definitely raising the sorts of flags you guys warn about, but it will help my career more than staying at home would.

It does raise some flags, but with your experience levels you can't afford to be too picky. The key questions you should ask yourself are:

"Would they pay enough to keep me above water?"
"Can I tough out a semi-crap job for (say) 2 years - long enough to get some more experience and long enough that moving on doesn't look suspicious?" (maybe others will disagree, but only spending short periods of time in a job can raise flags for those looking at your CV)

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Safe and Secure! posted:

I've never really understood this advice. Sure, having a year or two of experience at one place is going to give you a higher probability of landing that second job, but surely that probability is still non-zero even if your resume says something like "3 months doing [job I hate]"...
Basically, I don't see why you wouldn't take the job and just keep applying to new ones until you get the job you want.

It can mean you didn't research your the job, or didn't understand what was being offered, or maybe had too high aspirations about what level of responsibility you would have, or whatever. Your next potential employer is going to be wary of that. We recently turned down someone who was a technically OK candidate, but we were uncomfortable that he hadn't really thought through his first job, so we were worried he wouldn't with his second - he also gave that impression in interviews.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Cicero posted:

Was your BS in CS as well? I can't imagine being having a BS and MS in CS recently and being afraid of implementing any sorting algorithm on the spot.

Agreed, when interviewing people straight out of uni, my expectations are very different to interviewing people who have been in industry for a couple of years. I'd expect uni grads to be shithot on stuff covered typically in the first year of uni, since they a) haven't had time to forget it, and b) haven't had exposure to enough large-scale software development to be able to do a design problem without prompting, so showing a good grasp of the fundamentals is even more important.

If you're going to be applying for developer jobs soon, bone the heck up. I know there's a stereotype about Java programmers - especially when compared to the ubermensch .NET developers - but come on, no point tripping up on the basics.

P.S. If you're applying for Java jobs, know how garbage collection works. Everyone *loves* to ask that question.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

iam posted:

Dare I say it, 'bare-bones' algorithms don't really interest me, developing solutions/systems does, maybe that's bad :shrug:

It's great knowing industry standard frameworks, but it can be important to know algorithms and data structures, depending on the types of job. There are many jobs where most of the time will be spent on configurations, plumbing code together, some slight customisation of mostly out of the box stuff. There's always a demand for it, both from enterprise and small businesses. You can solve those types of problems without having to have a compsci background. They can pay well, the hours are often not too bad.

Then there's jobs where a big chunk of time will be spent on munging data together, performing calculations, doing heavy I/O and trying to get it all to complete before you die of old age. Knowing algorithms and data structures here is crucial. It will also tend to impact upon what the types of the members of your objects you make public look like (writing Get/Add/Delete methods can get old fast in this scenario).

I've generalised here, but you get the point. If you're applying for the first type of role, knowing Compsci 101 won't hurt. If you're applying for the second role (and these do exist in Enterprise as well - I've done them), it's really vital.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Nothing destroys morale and your motivation better than knowing no matter how much you improve as a developer, you won't get paid any extra. The same is doubly true for not getting paid at all.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

pokeyman posted:

Maybe for you.

I've been in that situation. The previous company I worked for (about 1700 employees) announced a 2 year pay freeze for all employees. The difference it made to the company culture was staggering - it quickly transformed from a slightly bureaucratic, but pleasant and vaguely 'can-do' culture to a place that was really not great to work for. People outside IT could game the system since promotions still resulted in a pay-rise, but promotions in IT didn't - so a good chunk of developers who had been there 5 years or more quit, and still are quitting.

Never underestimate the motivation of prospective future reward. That, and any developer or IT employee worth his or her salt should continually be improving. That means your labour is worth more. Only a pinko commie would not want to be rewarded for the value of their labour. (e: Especially with inflation being around 5% for the past 2 years and VAT going from 17.5% to 20% - hello reduction in standard of living!)

Milotic fucked around with this message at 10:47 on Sep 17, 2011

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
The only person who can judge if you can handle the course load and a 20+ hour a week job is you. It's worth finding out when these virtual meetings would be before accepting any offer. If you want the job, don't wait for the perfect portfolio - just apply. If not, it's worth keeping the handout on file. One thing that is a bit curious is pitching to a bunch of students that they're looking for a senior developer.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

TasteMyHouse posted:

...a compile error?

Tell me about it. This on the other hand...

code:
    public struct _
    {
        public static implicit operator _(\u0049\u006Et\u00332 @double)
        {
            return new _();
        }

        public static bool operator &(_ @null, _ @float)
        {
            return true;
        }

        public static bool operator &(Func<_> _, Nullable<_> __)
        {
            return true;
        }

        static void Main(string[] async)
        {
            Func<_> _1 = () => new _ { };
            Nullable<_> _2 = null;
            if (_1 & _2)
            {
                Console.WriteLine("Where is your God now?");
            }
        }
    }


Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

shrike82 posted:

I've noticed that UK posters ITT seem to throw out 10-20K GBP as standard starting salaries across the pond. Is that for real? That seems ridiculously low to me.

Salaries are generally lower in Blighty than in America, and it depends on the specific sector. To put it in context, the UK median salary for people in 2005 in the 20-24 year bracket was 11.8k (source). About 5 years ago, entry level programming/IT positions in Government outside of London were around 21-23k and in London were around 27k, but that was 5 years ago. You get more in finance. Anything less than 20k for a graduate level development position is pretty shocking though - it might be different for web developers though.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

optiuum posted:

I'm thinking of getting out of the job that i'm currently in. A web developer earning £14,000 a year. Management that has had me working on silly design stuff for months, and now expects full twitter / facebook / google integration (getting a users contacts list, logging in, posting through our systems) within 5 working days. "Just plug it in". Even with no experience of doing that stuff I think that's an incredibly unrealistic expectation for one person on my salary. I guess the trouble is, if I just up and leave this company right now (I've been working there for 3 months). Would that look like I've done something wrong to someone reading that CV?

I'm going into this as someone who dropped out of university in the final year (for other reasons, I could handle the work) and still has little industry experience.

1) If you think it's unrealistic, say so and explain why. As the developer you know what assumptions and conventions are baked into the codebase and thus what seemily big new features are easy and what supposedly trivial changes are an utter nightmare to implement. It's pretty common for managers to have optimistic expectations.
2) I don't see what your salary has to do with it. You're on 14k because that's what they can get away with paying you. Your salary does not determine your skill. By the sounds of it, you want to quit because it's a supposedly hard task. Programming/development is hard. It can often involve stuff you've not done before.
3) Yes, if someone has only 3 months at a job on their CV, it raises flags. The potential employer is going to want to know why you left the job - sometimes it's because the developer doesn't really know what he wants to do with his career. What's going to be your answer? "I didn't know how to google OAuth"?

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

optiuum posted:

Thanks for your reply. I have explained why, and constantly said to these people that making sure this stuff works is really job #1. Its been pushed back to job #20 anyway. If management isn't listening, there's only so much I can do about that.

I think i've worded my previous question in the wrong way. What I mean is, if this stuff keeps happening and i'm working 100+ hour weeks to sort this stuff at the last minute for very low pay. Should I be considering quitting and maybe leaving the job off the CV. Save myself another 9 months of misery and consider starting again.

Well if they're always ignoring your advice, and you're doing 100+ hour weeks for 14k then yes. That puts a different spin on things. :) Any future employer would see that as bad management and also them taking the piss. You should only be doing those sorts of hours on that salary if you're also getting overtime. If they want that sort of commitment from you, they need to be offering the right incentives - either good compensation or interesting work that you find engaging.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
You have to be honest with your ambitions. If you don't want to be a PM or a Manager then don't claim to want to be one. But for such a small shop, you will be doing some project management, even if you're not producing gantt charts and the like out the Wazoo and submitting quarterly progress reports to the Project Management Risk Board. Probably worth saying you're comfortable doing some project management (assuming you are) but make clear it's not something you'd want to do full time. Most of the stuff I've done has tended to be self-directed, with only one or two fullblown projects, so it's not all that bad. Requirements gathering, estimation, drawing up a test plan (each of which can be done on one worksheet in Excel) - these are project management type thingies that a developer should be comfortable doing.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

A MIRACLE posted:

~cross-posting from the IT careers thread~

Can someone tell me about tech recruiters? I'm being messaged on LinkedIn with opportunities for .Net development. I have a nice job right now, which I like except the pay is about 1/2 market rate. I'm curious about what my options are but wary about talking to recruiters because I only hear horrible things about them.

Some of them can be pretty horrible - especially ones like Aston Carter who will just throw as many CVs at a job posting as possible, even if you're not suited or interested. Others can be a bit more tailored. There's nothing preventing you from using multiple recruiters from different companies (you might feel like a bit of a heel lying to their faces, but most of them do sweet fanny adams work and the fee they collect can be several multiples of your monthly salary so don't feel too bad).

Also, make sure they never make any changes to your CV. I've interviewed a couple of people where the recruiter has hilariously mangled the CV, or have put down competencies the candidate simply doesn't have.

One thing to be aware of is that we're currently in the middle of a tech-hiring frenzy, at least in London. During the last rough patch Banks fired way too many of their IT staff leaving them deskilled and a bit hosed. And now they're all competing with one another for the few good candidates on the market*. Only some of them are beginning massive layoffs again. It's all very short-termist. That said, you could probably use an offer from a Bank to negotiate a better wage elsewhere if you're lucky/good enough to get multiple offers.

It might be worth going to .NET user group stuff and just mingling/networking/chatting with IT friends employed elsewhere - some people get referral bonuses if they recommend someone to their company who is later hired.

Full Disclosure: I got my current job through a recruiter.

*This is an annoyingly low number.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

A A 2 3 5 8 K posted:

Haha. Who's left in this field with that bias, besides the occasional dinosaur? There's so much competition for good talent, if someone's still clinging to that bias instead of adapting... that's a red flag against working there. In my experience, education hardly ever comes up in the hiring process, on either side. Companies I interview at don't care. Colleagues I discuss candidates with don't care.

The technology company I work for will simply not hire anyone without a degree in Computer Science or a related discipline. As part of a recruitment strategy it works well for us. I certainly wouldn't describe the company as a "dinosaur".

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

hayden. posted:

A suggestion earlier was to contribute to open source projects, but would putting "helped with XYZ project to develop ______" actually mean anything?


This is a good suggestion. And yes it would. You could write something like "I refactored the [X] of [Y] to provide [feature Z]. The project used [standard industry technology]" or whatever.

hayden. posted:

Do I need to undertake original projects that would require greater technical aptitude? I have no idea what software developers actually look for on a resume to show an ability to develop software aside from a CS degree or professional experience.

Pretty much just those two, really. Training and commercial experience cover it mostly. Some hobby programming helps to show an interest, but we all know we all hack the ugliest poo poo together when we're programming for ourselves so it's not like we'd judge a man by it. (Or rather, I do, and I wouldn't)

hayden. posted:

bonus: which languages/skills should I work on to maximum my employability? VBA.NET, database skills, and Java seem to be the most popular.

Looks like you're getting a little confused. There's no such thing as "VBA.NET". There's VBA - a programming language for the Microsoft Office suite of applications. And there's VB.NET (no A). A language derived from the old Visual Basic syntax, and runs on the .NET framework. C# also targets the .NET framework and has major feature parity with VB.NET, just different language semantics.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Oisin posted:

How long should I stay at my current programming job so it doesn't raise a red flag on my resume? 6 months? A year?

Depends on what your reasons for leaving are. Also make drat sure you stay at your next job for a long time because stuff like two jobs in two years and applying for a third raises flags.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Here's a tip, especially if you're a graduate. If you put something like Haskell on your CV, not once, but twice, expect to be able to answer rudimentary questions on it. In fact, if you put anything under the programming languages section in your cv, expect to be able to talk about it. "I haven't done it for two years" won't cut it.

(P.S. it's me, I'm the interviewer from hell)

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Also protip: In certain fields no one will look at your github. Their value as a recruitment filter is greatly overrated.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
I try to pass on feedback for the internal recruiters to give to unsuccessful candidates, but half the time I end up really having to struggle to find something positive to say. If someone fails the test we're certainly not going to spend time on them going through an awkward code review. It's bad enough when you go in to interview someone who just scraped the test and you know within 5 minutes it's a no.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
I swear all the time at work. Everyone does here. Someone was uhming and ahhing about rolling out a fix for something that was pretty broken, so I told him to put his balls on the table and push it out. It very much depends on the culture. It's more important that you fit in than always do X or Y. Of course, it's important that you want to fit in, and that you feel comfortable doing what you need to do to fit in. It's the same with dress code - you could wear a suit to work everyday here, but everyone would think you're an arsehole.

I try not to swear when interviewing people though, that's a little odd.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
You shouldn't be too down - There are interesting jobs out there - even in finance. I worked as a RAD Developer for some macro-economists for three years which was really interesting, and now I work as a tools developer in HFT. Not everything in the finance world involves writing glue code.

Also don't be too down if you find out you don't fancy programming at the end of a long day. I love my job, but at home I just tend to read up on theory and fall asleep to Channel 9 videos. If you're lucky at work you'll have all the best tools and a great build system, DBAs and a whole host of other infrastructure that makes life easier. At home you probably won't.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

Moos3d posted:

I've got a question about what I should be focusing on for studying for interviews. I'm a mathematics major who originally got into coding and CS stuff through friends who did programming competitions so I have a really strong algorithms/data structures background and have no problem coding these types of things. But I'm sort of lacking in I guess the more real world day to day kind of programming knowledge (like design pattern stuff, concurrency, web stuff, etc..). What would be the best thing to focus on for interviews with places like Google and other silicon valley places?

It's probably worth knowing at least something in the following areas:

Networking - skim through the wiki articles on TCP/IP and DNS. If you really want to, HTTP as well. Congrats, you probably know more than most developers.
Databases - you should know basic SQL, and also how typical RDBMS work under the hood. Databases are magical wonderful things that normally do the most optimal thing until they don't and then you need to reason very, very hard about them and know what the gently caress they're doing. Database schema design is a bit of a craft, but be prepared to answer how you would represent a certain set of data in a database.
Multi-threading - deadlocks, race conditions, co-ordinating work or locks between threads.
Performance optimisation and bug-hunting - how would you profile an application in the lanaguage/framework of your choice to determine how to speed it up? How would you track down random and intermittent bugs?

Also be comfortable writing code on a whiteboard or with pen and paper. A lot of people can't and it's really annoying when they can't since it means they're frankly not good enough.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

The Insect Court posted:

Sorta meta question, but anyone with some sort of hiring perspective have an informed opinion about programming contest/puzzle sites, resume-wise? Stuff like interviewstreet or Rosalind. I get a sense that they're useful at a basic level to filter out the kind of people who can't handle fizzbuzz, but what about for demonstrating more advanced skills? I like to think my 200-something rank on interviewstreet is kind of impressive but I'd feel better about wasting time on it if I was convinced it had any sort of relevance to actual employment.

I don't think anyone is going to look at your ranking on a website where you can submit answers in an uncontrolled environment and be impressed. Where I work it's hard enough getting people to not cheat when working on our test under controlled conditions.

People who do hiring tend to have day jobs they need to do - they're not going to spend too much time evaluating a website to see if a metric or ranking is meaningful.

By all means, solve the problems on these sites for practice, but most hiring people aren't going to really care about where you rank.

Being blunt, if I saw a ranking on a CV, I'd raise an eyebrow and would do some more digging to find out if the candidate is a good culture fit for our place. Again, that's just my opinion - others might not bat an eyelid.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
A little tip for anyone starting out: Stand up and shake the interviewer's hand when he or she enters or exits the room. The number of grads or intern applicants who don't do this is notably high at my company, and it's a little worrying. It is the easiest thing to get right in terms of showing you are a human being and not some sort of robot everyone would hate to work with.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
It's perfectly reasonable for them to want everyone to do the coding exercise under controlled conditions. It's not bureaucracy, it's about having a standardised way of filtering out the bottom X% of applicants. The reason why they may not want to roll the two phases into one is so they don't have to waste the dev team's time if you don't pass the test or they might be busy with other stuff that day - could be their end of sprint or whatever.

Developer time is valuable, and as anyone who does hiring will tell you, there is so much dross out there, it's not funny. You should view any interview process as incorporating some things to protect developers from spending too much time interviewing rubbish applicants.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Courses taken is very handy for me as an interviewer as it gives me a chance to ask you about stuff you should know, rather than having to guess. Nothing worse than seeing a CV with no classes on for someone fresh out of or at uni.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Don't worry, it's an internship. At many places internships will be about doing standalone, non-IP-sensitive, 'nice-to-have' work like that.

Adbot
ADBOT LOVES YOU

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde
Suits, smart casual, crumped t-shirt, whatever - a lot of people have to come from their current job to interview and then go back after, so it's not a biggie what they wear. But goddamn, run a brush through your bloody hair. Have a modicum of pride. This is especially a problem with graduates. My wholly unscientific study based on personal experience says Cambridge are the worst for this.

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