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
Mniot
May 22, 2003
Not the one you know

csammis posted:

Since we're throwing out one-off data points that are totally meaningless in any broad sense, my most productive and happiest engineers are in open plan. They've repeatedly told me that they like being able to just swivel chairs and consult with each other. Different people work differently!

Do you know what they were used to before an open plan?

I could see an open plan being better than a cube farm (if the open plan was actually planned). But I find it hard to believe that anyone who was interested in writing code would prefer an open plan to individual offices.

Or maybe they prefer talking to writing code, so open plan makes them happy (but not productive)? Personally, I found that not being able to just swivel chairs and consult was a major feature of offices, since it means you're more likely to get 30 minutes of serious thinking before someone interrupts you.

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...
At my old world-spanning employer, they eventually did some studies and found out that teams were more productive when they were co-located on the same floor. Better yet, the same aisle. Somehow, these long stretches of serious thinking allowed by locating co-workers on different continents weren't as productive as letting them easily interact.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Mniot posted:

But I find it hard to believe that anyone who was interested in writing code would prefer an open plan to individual offices.


My preference is actually shared office. Senior dev + junior dev/new team member. Individual office is too isolating.

qntm
Jun 17, 2009

JawnV6 posted:

:confused: But the cobbler's children never had shoes

I don't know what you mean by this.

baquerd
Jul 2, 2007

by FactsAreUseless

JawnV6 posted:

At my old world-spanning employer, they eventually did some studies and found out that teams were more productive when they were co-located on the same floor. Better yet, the same aisle. Somehow, these long stretches of serious thinking allowed by locating co-workers on different continents weren't as productive as letting them easily interact.

Having a stretch of nice cube-offices (large cubicles with high walls to block sound) allows the magic of being able to easily go talk to someone or even call a 3-4 person meeting in a cube without constantly distracting everyone else.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

Ithaqua posted:

My preference is actually shared office. Senior dev + junior dev/new team member. Individual office is too isolating.

How do I find something like this, please advise. (Seriously, I'd kill for a setup like this.)

At my last job, our "bench" developers working on internal prototypes sat on the same floor as sales people. They were on the phone all day. It was misery.

Plastic Snake
Mar 2, 2005
For Halloween or scaring people.

Ithaqua posted:

My preference is actually shared office. Senior dev + junior dev/new team member. Individual office is too isolating.

This was how we had it set up when I was the new guy and it was fantastic. Now we're all in cubes next to the design team in order to make us more creative or something. I definitely preferred the shared office setup.

Pollyanna
Mar 5, 2005

Milk's on them.


ManoliIsFat posted:

Of course that's all essential, but I think a lot of the time when web dudes are asked to be proficient in linux, it's getting around the command line AND knowing the basic workings of your web stack, probably most importantly being apache (maybe some mysql).

To me, there's no better way then just diving in and learning. Get Vagrant/virtualbox going and just get a LAMP machine going from a scratch ubuntu image. When I'm hiring, and I'm trying to explore how comfortable someone is in a webby linux environment, just being able to apt-get some packages, knowing how to use a text editor, is golden for me. You don't have to have been using it since your were 12, know all the differences between debian and red hat, or developed your own drivers. You can learn everything else as you go.

Is there a significant difference between the Linux command line/shell and the OSX command line/shell? My computer is an MBP, and that's where I do most of my development.

Mustach
Mar 2, 2003

In this long line, there's been some real strange genes. You've got 'em all, with some extras thrown in.
I've worked in cubes, my own office, a shared office, and most recently an open space. I'd rank them from worst to best in that order. I don't mind interruptions; I can just say no when I'm in the heat of something. When I have questions, I can easily see when others are busy and send an email or whatever instead. I like being around people rather than being isolated, and I like being able to easily bounce questions off of others and vice-versa. When I had my own office, it felt like everybody that visited was constantly begging forgiveness to do so. Cubes are the worst of all worlds — you can hear everything everyone is doing, yet feel totally alone. It also led to a guy right next to me feeling comfortable enough to clip his toenails, somehow as loudly as possible.

Pollyanna posted:

Is there a significant difference between the Linux command line/shell and the OSX command line/shell? My computer is an MBP, and that's where I do most of my development.
It defaults to the bash shell, which is very common on linux. The programs and filesystem that you can interact with are different, though. E.g. ManoliIsFat metioned apt-get, which isn't on OSX. (Well, I'm lying but if you want/need to learn apt-get, you should just use a linux).

JawnV6
Jul 4, 2004

So hot ...

qntm posted:

I don't know what you mean by this.
Apparently the quote is quite darker than I'd imagined, but the problem of not designing something you, personally, would purchase is a very broad and isn't local to programming. Oncologists aren't required to have had cancer.

baquerd posted:

Having a stretch of nice cube-offices (large cubicles with high walls to block sound) allows the magic of being able to easily go talk to someone or even call a 3-4 person meeting in a cube without constantly distracting everyone else.
Yeah, I quite liked cubicles when I inhabited one. I also liked our old open floorplan, because I was seated behind one of the senior mechanical engineers and had the option to listen in when people would ask him for advice. Now I'm off in a smaller room with the other EE's and it's great for head-down work, but I miss the conversations from other disciplines.

I can't imagine this hellish environment where you don't have the option of headphones to block out other conversations or have so little respect from co-workers that they'll interrupt you no matter what you're apparently engaged in.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
Just finished Facebook interviews. Fun times. I always get anxious and a huge feeling of dread the last few days before on-sites, but once I'm actually in the interviews I'm fine, and by the time I'm done with them I feel really energetic and excited.

Cicero fucked around with this message at 02:53 on Jan 4, 2014

csammis
Aug 26, 2003

Mental Institution

Mniot posted:

Do you know what they were used to before an open plan?

I could see an open plan being better than a cube farm (if the open plan was actually planned). But I find it hard to believe that anyone who was interested in writing code would prefer an open plan to individual offices.

Or maybe they prefer talking to writing code, so open plan makes them happy (but not productive)? Personally, I found that not being able to just swivel chairs and consult was a major feature of offices, since it means you're more likely to get 30 minutes of serious thinking before someone interrupts you.

They were used to individual offices and, despite talking and interacting and getting lunch together like normal human beings who like each other, they actually are one of the most productive teams in my org. They've figured out some sort of work cycle that works well for them.

baquerd posted:

Funny thing though, that management gets offices, even when a lot of what most management does is meet with people. Why do you suppose that is?

Not our managers :smug: This actually sucks though because I work at a cube desk and don't have a dedicated place for private one-on-ones and I don't want my engineers to round the corner and see me going over salaries and HR reviews and poo poo.

JawnV6 posted:

I can't imagine this hellish environment where you don't have the option of headphones to block out other conversations or have so little respect from co-workers that they'll interrupt you no matter what you're apparently engaged in.

No poo poo. Basic understanding and respect is how our arrangement operates. "Headphones on" means "Think really loving hard before engaging this person." The engineers aren't interrupting each other because they know how it is. None of our engineering teams get a ton of unsolicited questions from outside engineering because I (and the rest of R&D management) put out the word that if you want to "ask engineers" you ask us first specifically so we don't have sales engineering or whoever barging into the open spaces and bothering people.

Ithaqua posted:

My preference is actually shared office. Senior dev + junior dev/new team member. Individual office is too isolating.

This sounds like a good deal too. How does it scale when the company grows up towards office capacity? That's a serious concern we've had.

Gary the Llama
Mar 16, 2007
SHIGERU MIYAMOTO IS MY ILLEGITIMATE FATHER!!!
Had a great second interview with a small software company that makes cool products. Feel pretty good about the odds of getting an offer.

They're a PHP and Java shop and I'm pretty sure everyone in the office is using Macs. I'm an old school Windows guy. I've probably spent... Maybe an hour or three on a Mac in my entire life. I'm super fast in Windows because I know all the shortcuts. I would hate to slow myself down but I know it would be temporary.

Would it be worth switching over to a MBP and joining the Mac nerds? They're doing LAMP stuff so being closer to Linux is a plus. But I use Sublime Text, so I can realistically do development in either OS. I just know there would be a learning curve for the OS and learning where everything is... Not sure how long that would take.

Of course, that tiny little white Mac keyboard is a deal breaker though. That things just sucks and I refuse to use it.

So is it worth trying my hand at Mac? Any Windows dudes switched over and been happy?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Using the same OS as everyone else you work with is very much worth it.

more like dICK
Feb 15, 2010

This is inevitable.
I really wouldn't use Windows unless I was actually writing Windows software.

xpander
Sep 2, 2004

more like dICK posted:

I really wouldn't use Windows unless I was actually writing Windows software.

Basically this. Caveat to below: this is all just my experience, I'm pretty platform-agnostic.

I switched to a Mac after many years of mostly Windows-only work, and I personally prefer OS X now. I had decent Linux know-how before I bought my MBP, so all the command-line poo poo just worked. There isn't a lot of system-level similarity, but the good news is that pretty much all the keyboard shortcuts are the same, just with the command key instead of ctrl. And I find OS X to generally be a lot more stable and consistent. I use a stupid fast Windows gaming laptop at work, for dumb reasons, and it just started bluescreening. Don't really know why. In my experience, I have to do way less computer janitoring on a Mac. I don't care if I can fix it in Windows in 5 minutes, I don't want to do it. I'd be fine with using Linux if I needed a non-personal machine to do development on, and the hardware would be a lot cheaper. But even then I'd probably rather want to use a Mac with a Linux VM instead.

That being said, just use whatever you're comfortable with. Being productive is hard enough with external distractions, do what it takes to grease the wheels. However I think every computing professional owes it to themselves to explore other platforms as is appropriate to the work they do. You likely have the drive to optimize your work in other ways(code refactoring, ops profiling, etc), this is another good one.

Steve French
Sep 8, 2003

Gary the Llama posted:

Of course, that tiny little white Mac keyboard is a deal breaker though. That things just sucks and I refuse to use it.

Uhhhh you can use other keyboards no problem

Gary the Llama
Mar 16, 2007
SHIGERU MIYAMOTO IS MY ILLEGITIMATE FATHER!!!

Steve French posted:

Uhhhh you can use other keyboards no problem

Yeah, I figured that was the case. But do people seriously like that keyboard? I never see anyone using a Mac without that keyboard.

tk
Dec 10, 2003

Nap Ghost

Gary the Llama posted:

Yeah, I figured that was the case. But do people seriously like that keyboard? I never see anyone using a Mac without that keyboard.
I got used to using one on my old MacBook, so I didn't have any complaints when I started using one with my iMac. I got back on regular keyboards though and can no longer stand the things.

Steve French
Sep 8, 2003

Gary the Llama posted:

Yeah, I figured that was the case. But do people seriously like that keyboard? I never see anyone using a Mac without that keyboard.

Some people do; I guess if you're used to the laptop keyboards it's appealing? I don't know; I've been using a Mac as a primary machine at work for the last 4 years or so and always use other keyboards. About half the Mac users at my current workplace with separate keyboards have the Apple one, half don't. At my previous gig, everyone had a Mac and bought the same (not Apple) keyboard I was using after they tried it.

Zhentar
Sep 28, 2003

Brilliant Master Genius

Good Will Hrunting posted:

How do I find something like this, please advise. (Seriously, I'd kill for a setup like this.)

If you'd also be willing to use MUMPS, I can give you a referral.

more like dICK posted:

I really wouldn't use Windows unless I was actually writing Windows software.

I had to suffer through OS X for a year while doing iOS development and it would have been intolerable if not for Synergy allowing me to do my non-development work on Windows.

shrughes
Oct 11, 2008

(call/cc call/cc)

Gary the Llama posted:

Yeah, I figured that was the case. But do people seriously like that keyboard? I never see anyone using a Mac without that keyboard.

My last semester in college I moved back into the dorms and had a Unicomp buckling spring keyboard. I tried using that and pretty quickly my roommate started going out into the common area to study and do homework. So I got an Apple keyboard because it is real quiet.

kitten smoothie
Dec 29, 2001

I don't mind the keyboard, it's basically a Mac laptop keyboard not attached to a laptop. Makes it easier for me to go from one to the other without a whole lot of adjustment.

karms
Jan 22, 2006

by Nyc_Tattoo
Yam Slacker
One of the companies I worked for was open plan with a phone for everyone. You got a lot of calls from clients asking business critical stuff like adding a new news item or a quick run down on how to use the system for the 4th time that month.

The next company after that was even worse. You'd think I would've learned from the previous one.

Che Delilas
Nov 23, 2009
FREE TIBET WEED
My last job was a shared office. Shared with the DBA. Who also was in charge of development(officially), so of course we had to be in the same office :v:. He was also in charge of being the go-to guy for desktop support for several accounting and payroll applications. Payroll manager using one of the payroll applications and her mouse starts clicking in a different way? Better call the DBA, he's the only one allowed to mess with this application.

Phone calls every 10 minutes, drop-ins every 30. Grand Central, day in, day out, and I could get very little done some days beyond the extremely mundane.

ManoliIsFat
Oct 4, 2002

Pollyanna posted:

Is there a significant difference between the Linux command line/shell and the OSX command line/shell? My computer is an MBP, and that's where I do most of my development.
So the real answer as to the overlap and differences between BSD, OSX and Linux (and even more, the specific flavors) is long and nerdy. The whole experience will be familiar, you're typing commands in to a window, pretty similar setups. But the differences are sometimes significant, and I'd suggest you pick spin up an ubuntu virtual machine and really see the difference, the choices different distros makes.

I use a MBP for dev, but that's basically just being pretty and having a gui text editor if I want it. Most of my developement is pretty webby, so I'm either SSHing somewhere or spinning up virtual machines and treating them like they'll be those server machines. VMs are just so nice for that kinda dev, separating my the configuration of the application/environment I'm developing from the configuration of my actual box.

unpurposed
Apr 22, 2008
:dukedog:

Fun Shoe
As someone who went from pure Windows development to OSX, it does take a bit to get used to it, but once that's done it's pretty great. Now I just do my gaming on Windows.

Also, you'll probably get to the point where you become so comfortable and familiar with the CLI that the little annoyances of OSX vs Linux will push you to the point where you just start working in the shell all the time in a VM or ssh'ed to a remote machine.

Sarkimedes
Jul 2, 2012
I'm currently in my second year of a computer science with games dev degree, and I've just decided, a few weeks back, that games development isn't really the career for me. I'm now thinking of trying for a career in software or network security, and I've already changed my degree to let me pick some different modules - the problem is, there aren't really any modules I can take that would help me towards security as far as I can tell, so I'm trying to figure out what I should do now. My final year project is a potential thing I can tailor in that direction, and I'm also thinking about taking a master's degree in something security-related. So basically, I've got two questions:

1. Is it at all possible for me to graduate with a straight comp science degree and go onto a master's course in computer security, and are there any programmes you guys can recommend?

2. What skills and knowledge should I be looking to build in the meantime, and how would I go about building them?

P.S. I should probably mention that I'm based in the UK, and that I'm hopefully going to be on an industrial placement for next year, so I've got 2.5 years before I graduate.

bonds0097
Oct 23, 2010

I would cry but I don't think I can spare the moisture.
Pillbug

Sarkimedes posted:

I'm currently in my second year of a computer science with games dev degree, and I've just decided, a few weeks back, that games development isn't really the career for me. I'm now thinking of trying for a career in software or network security, and I've already changed my degree to let me pick some different modules - the problem is, there aren't really any modules I can take that would help me towards security as far as I can tell, so I'm trying to figure out what I should do now. My final year project is a potential thing I can tailor in that direction, and I'm also thinking about taking a master's degree in something security-related. So basically, I've got two questions:

1. Is it at all possible for me to graduate with a straight comp science degree and go onto a master's course in computer security, and are there any programmes you guys can recommend?

2. What skills and knowledge should I be looking to build in the meantime, and how would I go about building them?

P.S. I should probably mention that I'm based in the UK, and that I'm hopefully going to be on an industrial placement for next year, so I've got 2.5 years before I graduate.

I would think the best way to tailor your degree towards security would be to get an internship with a security company while still in school. Same for networking: get an internship with Cisco or somesuch. Your coursework is largely irrelevant in the real world beyond the fundamentals.

Zero The Hero
Jan 7, 2009

shrughes posted:

The most important thing is to be somebody that doesn't suck at programming. That's sort of a term of art when used in my postings, so let me try to explain what I mean. There are some people who just suck at programming, despite having gone through a 4 year CS degree, they, if you ask them to write a FizzBuzz program or a program that hard-wraps a text file at 80 characters, they just can't do it. They can't take descriptions of problems and turn them into code. They lack the ability to hold logical notions in their head and manipulate them, or have some cluster of brain defects, or something, I don't know, and they suck at programming. Or maybe they can write the most simple programs but they're so slow it takes them forever. Or maybe they get stuck when a problem requires a recursive algorithm. They'll go and take problems like those mentioned and try to solve them by guessing what code to write, or by trying to copy/paste a solution from the internet, or some other complete failure of a thought process. The main thing is to not be one of these people. That's the main hireability/unhireability axis right there.

This bothers me, because I've heard it a lot. The first time I heard about developers with experience(on paper) not being able to do fizzbuzz, I sat down to try it to see where the catch was, and was stunned when I realized the problem was as simple as it sounded. I just kind of assumed there was a trick that made it more difficult than it appeared after thinking about it for only 15s. I've met some college students that are already far better at programming than me, and that's discouraging, but stories like this make me think I'm actually not bad. But then, why haven't I found a job? Where are these companies using fizzbuzz as their gold standard?

bonds0097
Oct 23, 2010

I would cry but I don't think I can spare the moisture.
Pillbug

Zero The Hero posted:

This bothers me, because I've heard it a lot. The first time I heard about developers with experience(on paper) not being able to do fizzbuzz, I sat down to try it to see where the catch was, and was stunned when I realized the problem was as simple as it sounded. I just kind of assumed there was a trick that made it more difficult than it appeared after thinking about it for only 15s. I've met some college students that are already far better at programming than me, and that's discouraging, but stories like this make me think I'm actually not bad. But then, why haven't I found a job? Where are these companies using fizzbuzz as their gold standard?

Aren't you in Tennessee or something? You probably don't have a job because you don't live in a good area for tech jobs and don't have a whole lot on your resume.

I've never actually encountered a company that used fizzbuzz personally.

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.



bonds0097 posted:

Aren't you in Tennessee or something? You probably don't have a job because you don't live in a good area for tech jobs and don't have a whole lot on your resume.

I've never actually encountered a company that used fizzbuzz personally.

When I was looking for an entry level job here in Toronto I had to write about 10-20 string reversal functions for interviews, was never the most complex functions they had me write but it was almost always the first programming question they gave me.

piratepilates fucked around with this message at 00:00 on Jan 6, 2014

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

bonds0097 posted:

Aren't you in Tennessee or something? You probably don't have a job because you don't live in a good area for tech jobs and don't have a whole lot on your resume.

Yeah, he is. I was going to post exactly the same thing.

bonds0097 posted:

I've never actually encountered a company that used fizzbuzz personally.

I've used it, and it did a great job of filtering people out.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
I was applying for a co-op position in Utah that had me write a function that summed every other integer in an array. I think that might be even simpler than FizzBuzz. At first I felt very confused because I was sure there was some implicit trick or catch. Nope.

unixbeard
Dec 29, 2004

Sarkimedes posted:

1. Is it at all possible for me to graduate with a straight comp science degree and go onto a master's course in computer security, and are there any programmes you guys can recommend?

When I worked in security a lot of people from the UK seemed to have masters from royal holloway.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





I may have said this before, but if you're going to interview people using the FizzBuzz question, you should know that there are 2 general solutions to the problem. 1: Where you explicitly handle the "FizzBuzz" case, and 2: where you let don't account for "FizzBuzz" and just let "Fizz" and "Buzz" handle it.

It has happened to me where I answered one interview using the 1st method, got told that the 2nd method was "better" (what?), then maybe 2 interviews later with another company I get a developer who snickered a bit, then said, "what happens when you hit 15?" to which I pointed out that because of fall-through both would get printed out when it looped to 15.

I have no idea why this happens, maybe the devs were too proud to actually take a look at FizzBuzz because they assumed it was too easy.

Tres Burritos
Sep 3, 2009

Zero The Hero posted:

This bothers me, because I've heard it a lot. The first time I heard about developers with experience(on paper) not being able to do fizzbuzz, I sat down to try it to see where the catch was, and was stunned when I realized the problem was as simple as it sounded. I just kind of assumed there was a trick that made it more difficult than it appeared after thinking about it for only 15s. I've met some college students that are already far better at programming than me, and that's discouraging, but stories like this make me think I'm actually not bad. But then, why haven't I found a job? Where are these companies using fizzbuzz as their gold standard?

The standard I've seen more often is "reverse this string". I've never once seen a fizzbuzz.

evensevenone
May 12, 2001
Glass is a solid.
fizzbuzz is the one that Joel Spolsky wrote about. Why anyone reads Joel Spolsky is beyond me but whatever.

Anyway, the point is that it's not a gold standard, the point is that it's the simplest possible test that still manages to weed out an alarming number of recent CS grads.

String reversals, "is this a palindrome?", etc are all the same thing.

Coca Koala
Nov 28, 2005

ongoing nowhere
College Slice

Sarkimedes posted:

2. What skills and knowledge should I be looking to build in the meantime, and how would I go about building them?

Security is a really cool field.

You should be able to talk intelligently about the stack and the heap, and how they're actually laid out in memory. If somebody asks you what a stack overflow is, you shouldn't be saying "that website where I go to get my questions answered". If they ask you what a heap overflow is, you should be able to come up with a reasonable guess about what might be overflowed, based on how the heap is structured, and what the consequences might be. You should also get familiar with reading assembly code and understanding what the assembly does. At my university, I learned that stuff in a course called Computer Organization; your university might call it something else, but they probably cover the same material.

You can also take a class on networks; it won't be security focused, but learning the basics of what a network is and how they work is still going to be important.

You might also benefit from taking a class on operating systems; if you ever need to audit a device that's running some flavour of linux (as so many devices do), it can be really useful to know where you want to look for vulnerabilities and how the OS is structured on a fundamental level.

Basically, if your undergrad program doesn't have a security focus, then take a bunch of systems courses and it will be almost as good.

Adbot
ADBOT LOVES YOU

Grocer Goodwill
Jul 17, 2003

Not just one kind of bread, but a whole variety.
The only thing sadder than the number of candidates who can't solve fizzbuzz is the number of interviewers who don't understand the problem.

Strong Sauce posted:

2: where you let don't account for "FizzBuzz" and just let "Fizz" and "Buzz" handle it.

This would be a wrong solution since you don't print the number when you print fizz and/or buzz.

evensevenone posted:

fizzbuzz is the one that Joel Spolsky wrote about. Why anyone reads Joel Spolsky is beyond me but whatever.

It was Jeff Atwood, not Spolsky.

Irrational Joel Spolsky hatred is the new irrational Microsoft hatred.

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