Coding By Numbers - Episode 21 (Interview with Justen Stepka & Jesper Noehr about Atlassian Bitbucket)

Craig: In this episode of “Coding by Numbers”, Steve interviews Justin Stepka and Jesper Noehr from Atlassian about Bit Bucket and about the culture at Atlassian.


Steve: Hi, I’m Steve from Refactor.


Justin: I’m Justin from Atlassian.


Jesper: And I’m Jesper from Atlassian.


Steve: Thanks guys, thanks for joining me here today.  I thought I’d come down here and have a chat to you about something I’ve been having a playing with recently BitBucket which is now part of Atlassian.  I guess maybe we should start with you guys introduce yourself and tell us how you got here.


Justin: I joined Atlassian about 5 years ago as part of an acquisition for Product Crowd which is a single-sign on and identity management product.  Then recently I joined the BitBucket team as the product manager with Jesper.


Jesper: I started BitBucket, it must’ve been about 3 years ago by now.  I’m the founder and I’ve come up to work here at the architect of the product.


Steve: Fantastic.  How long ago did you start BitBucket?


Jepser: It must’ve been about, almost 3 years now.


Steve: It was sort of around the time when GitHub was coming up as well.


Jesper: It was in the same month actually.


Steve: Did you have a particular interest in Mercurial?  Or was it around...


Jesper: It was around the time everyone was starting to look at Git, I remember.  There was a lot of traction around Git.  I evaluated both and I sort of thought Mercurial looked good so I put all my eggs in that basket.


Steve: Okay, it’s written in Python isn’t it?


Jesper: That’s right.


Steve: Is that your language you’ve always developed in?


Jesper: Around that time I was very found of Python and that contributed with my decision to go with Mercurial.


Steve: I’ve been playing around with Mercurial a little bit recently...because I did the whole CVS, Subversion and all that and then stumbled on Git quite a long time ago...just started...I guess it was BitBucket that got me into Mercurial because of the way you do your costing, your pricing for free plan, is actually quite nice, you can do that public repos.  I think you guys nailed it there with getting new people in.  You can actually do the private repos for free.


Justin: With think that’s pretty key for people.  We sorted of realised that everybody needs two things in order to code, the first thing is version control and then issue tracking.  We’ve sort of had the issue tracking in place for a long time.  Version control is something that we’ve handled behind the firewall but as people moved to the cloud we recognized that we needed to have a place for people to store their code.  It was a great opportunity with BitBucket.


Steve: Right, that’s great.  How did you guys find out about BitBucket?  I don’t know when it was that Atlassian purchased BitBucket.  Was it very big at that point already? Was it an early thing?


Jurgen: I think we had about 40,000 users at that time.


Justin: The acquisition went through, we announced it a couple of days before the 1st of October.  In the time leading up to the beginning of October we modified the pricing and moved BitBucket to a larger infrastructure so that we could grow it in terms of users.  Since that acquisitions of 40,000 users we’ve grown BitBucket up to 100,000 users.


Steve: There’s a lot of projects on there now.  I’ve seen some come across from GitHub but then I’ve seen others come from other places like Google Code and Sourceforge and places like that.  I’ve seen quite a lot of them popping up on BitBucket now.  Last night, I’ve found one. for the first time. I found something on Fossil, have you seen Fossil?  I had to go to a project and I was expecting it to be either a GitHub or BitBucket and I’m like, “Oh something else again I’ve got to clone”.  That was really fascinating to read through that.


Justin: Was it a project by Seth Shaw?


Steve: It was a project for Go.  It was a Go Twitter client.


Justin: Okay.


Steve: It was just random.  I was in the Go meetup last night.  And I just went to it and, “Okay, another one”.  Interesting.  With BitBucket, do you have any ideas of what sort of users you getting coming to BitBucket?  Is it people already familiar with version control or are they coming in from the Subversion sort of angle.  I guess you can’t really measure that really though.


Justin: We get a lot of interest in DVCS, we see a growing interest in that, from the developer community.  We sort of made a play with Mercurial.  We think that people like Mercurial because the command syntax is easier to learn.  Coming from Subversion is a bit easier.


Jesper: Platform support?


Justin: Yeah, better platform support for Windows.


Steve: Faster in some respects.


Justin: Right.  That’s sort of what we’re seeing.  It’s certainly...Git is popular.


Steve: Yeah.  I didn’t really know much about Mercurial.  I’ve had a few friends in the MySQL community they use it.  I’ve got other people on Ubuntu and that area use Bizarre.  And then most of my friends doing it in the Groovy, Java, Ruby world are doing some GitHub.  I’m actually one of the few people who like the Mercurial way of doing things better.  I’m still learning as I go along and working out the differences between branches in Git and Mercurial and all that.  And what heads are when I’m doing merging and things like that.  I’ll get a little time in a few weeks to read the book properly and actually do it properly.  It’s something that I’ve found something that’s very easy to jump into, quite quickly.  I’ve got some other people from our team, because we’ve open sourced part of our project, we’ve put it up on BitBucket, it’s not on any internal repo at all in the company, it’s just on there.  They haven’t used distributed version control before at all and they seem to take to it quite easily.  It’s a good testament.


Jesper: It designed to be easy to use too.


Steve: It also works really nicely through HTTP proxies too.  Which is one of the things we really liked as well. We have a crappy HTTP proxy, it will actually do authentication, it was the first thing I’ve seen that works just so nicely through that.  Very impressed I was.  Good work.


Justin: The work flows is where the real gains are with DVCS.  The local commits, Subversion might add this in the future but, incrementally approaching new work and saving it and being able to do that is a huge benefit.  The other benefit that we’re seeing on our team, and other Atlassian teams, is forking.  And how, you can take an idea and experiment with it and you can sort of have a clean room implementation of an idea that you have.  Even last week we were working on a feature that we forked off of our main repository and half way through the development the developer said to us, “I’ve had this idea where I want to go in a different direction”.  And he forked his own fork.  And what ended up happening was that the fork of the fork is what ended up becoming the work that made it into...


Steve: Not the interim thing.


Justin: Not the interim thing.  We simply couldn’t have done that with Subversion.  Those are the types of benefits that you’re going to get out of DVCS.


Steve: Are Atlassian using Mercurial now internally?  Or is it still...because you do Subversion hosting and other stuff through Jira Enterprise?


Justin: We’ve partnered with Contegix we do all our Subversion hosting behind the firewall.  Internally our teams are moving to BitBucket.  Several of our teams, such as the FishEye/Crucible which tightly integrate with version control, sort of need to be the leaders in DVCS are pushing that direction and they’re the first teams to adopt DVCS.  The other teams are migrating to DVCS, what we’re doing is, we’re taking the lessons learned through those migrations, we’re folding in those enhancements and needs for developers into our products.  And over the coming months, you’ll start to see features around DVCS built into our products.  That’s where we think that the biggest benefits from BitBucket is going to come - is giving us the lessons learned.


Steve: I’ve already noticed it’s got some plugins for IDEs and there’s a decent Hudson plugin and bits and pieces like that.  I’m already using the IntelliJ plugin and the Hudson plugin.  They just work the same as my Git and my Subversion plugin.  I’ve used the Subversion Hg import stuff - that works really well.  I don’t know if you look after that at all.  I don’t know who maintains that thing Hg SVN.  I was really impressed with that.  The Hg Git stuff I’ve used as well.  There seems to be a fair bit of freedom around this space.  Move around a fair bit.  You’ve got people cloning repos from Git into Mercurial and all sorts of things are happening.  So far so good for me.  It’s been working really well.  I’ve been really impressed.


Justin: Hopefully it gets better.  The DVCS space, there’s a couple of contenders there, will be like the Linux space.  There will be multiple distributions, depending on what you’re after, you might choose one technology over another...but really at the same day they’re all trying to accomplish the same thing.


Steve: Do you think things like Mercurial may actually start to make head way into the enterprise customers, really conservative people are only just getting onto Subversion?  I know clients who are just getting onto Subversion and using Subversion properly as version control.  Do you think it’s going to be something we’re going to see in the near future?  Some of those companies moving to that model, or do you think it’s still a fair way to go?


Justin: I think it’s all up in the air.  Atlassian wants to remain agnostic.  We think that people are going to choose the tool that they way want.  In terms of Subversion, published a blog last week that said, that there’s 60 or 61 percent of users are on Subversion.  Certainly there’s a lot of room left in the decision making process.


Steve: It’s still very well entrenched.  Some people I know there’s no sign of them moving off it.


Justin: We’re at a tipping point, right?  If we look at CVS and Subversion in terms of time line.  Subversion was around for 5 years and then it sort of it had an accelerated growth at that 5 year mark.


Steve: There was a big flip over - wasn’t there - I see what you mean.


Justin: We’re at the 5 year mark for Git and Mercurial.


Steve: As far as a technical question for you Jesper, technically goes with Mercurial, how would you describe the differences between that and Git.  I guess Git is the one that most people know.


Jesper: The way I’ve implemented it is pretty different behind the scenes.  On the surface they seem to accomplish the same task.  Given the differences, there is a couple of things that are really different, such as you mention, branches in Mercurial and Git are not the same thing at all.  It’s unfortunate that they are called the same.


Steve: The terminology is a little bit confusing isn’t it.


Jesper: Exactly.  Git is primarily driven by Linus who is a file system designer and so it’s written like a file system.  You can see that if you look behind the scenes.  Whereas Mercurial is not, it’s written really differently.  It’s written to only use append only on files, so you never go back and modify anything.  It really comes through in the philosophy of Mercurial as well.  The main difference is that history is sacred always.  Modifying history is a big no go.  While in Git that’s much easier and sometimes even encouraged.


Steve: Git was written in Perl.


Jesper: Git is written in everything - it’s written in C and Perl and Bash and Python.


Steve: Whereas, Mercurial is written in all C, is that right?


Jesper: Mercurial is primarily Python.


Steve: Python.


Jesper: There are parts that are written in C.  But if you don’t have a C compiler it’s going to use a pure Python implementation - which will be slightly slower but still work just fine.


Steve: So the actual team that maintain Mercurial - I don’t know how much your involved with those guys - is that - is there a company behind that or is it a purely open source thing?


Jesper: It’s one guy, a guy called Matt Mackall...who’s a kernel contributor, has been for many of years.  He has his own company called Selenic.  Which is the main hub for Mercurial. The whole thing is under GPL so.  We employ one of the core contributors a guy called Brodie Rao.


Steve: That’s really good - so that you’ve got that link there.  So the things not going to implode and disappear with someone pulling out - there circumstances changing.  I was asking the Google guy yesterday about Go Lang, the Go language, about where the people come from.  I think there’s a core of 10, 6 are Googlers and there’s other people.  It gives you a bit of confidence that things are here to say when there’s a big backer but by the same token there’s other people involved as well.


Justin: Google are sort of taking the same approach as well with Mercurial with their Google Code platform as well, they employ Mercurial developers as well.  They’ve built in Mercurial and Subversion support into their open source hosted platform.


Steve: I’ve noticed that, a few Google code projects now.  In Google Code, can you use Subversion or Mercurial on the same thing.  Are there either...


Jorge: You have to pick one.


Steve: As far as developers go, from what I’ve seen, it seems to be, all sorts of people, from all different languages and areas using Mercurial.  There doesn’t seem to have a particular place where it’s stronger than others.  I always thought that the Python community were big Bizarre users - I don’t know if that’s still the case.


Jorge: I don’t think it is anymore.  I think it used to be a little bit.


Steve: It seems that everything seems to have a spread out a bit.  Everyone has gone their ways...


Jorge: I think everyone have started to look at the popular opportunities these days.


Steve: I think it’s like languages.  You should have your core competence but you need to be able choose to use Mercurial but you need to know how to clone a Git repo.  You can’t just say I’m always going to us this.  I think most people will probably know all of them but they will probably have one they prefer for their own projects.  That’s what I think is going on anyway.  


The one thing that people were confused about with the BitBucket and the acquisition by Atlassian. Is how that plays with the existing Atlassian stuff, the issue tracking, Jira and all that sort of stuff.  Is there are plan to bring the Jira functionality into BitBucket?  You might not be able to tell me.  Is their a plan to bridge that gap?  The issue tracking in BitBucket is, after using Jira, is pretty simple...I’d like a bit more.


Justin: We’d like to improve the experience between Jira and BitBucket.  Right now, there’s no connector between Jira and BitBucket.  You can sort of hook up Crucible, if you want, and get it to connect that way.  But we’d like to provide a more direct integration between the two products and make it a first class citizen.  Jira is something that our entire organization uses and we firmly believe in dog fooding and we’re yet to solve our own problems.


Steve: It’s plainly obvious when you look at any Atlassian stuff that you guys use your own tools.  Because everything is there to see.  It’s really interesting actually.  


Justin: Yeah.


Steve: I’ve been reading through your Confluence and stuff, on Fedex days and all the various things you’ve been up to.


Justin: Yeah a lot of it definitely comes from pain points that staff have.  BitBucket is the tip of sphere, for us, in terms of how we must identify and solve DVCS problems.  The issues that we run into on our team and the other teams as they convert are the problems that we see ourselves finding solutions for tomorrow.


Steve: I guess there’s also a little bit of Wiki functionality in BitBucket, as well, it maybe the same with the Confluence stuff in there.


Justin: Definitely with Confluence and Bamboo...I mean all the tools need to integrate.  Sort of Confluence to a lesser degree, because Confluence is sort of used by people that aren’t necessarily always developers.  For all the other tools, that need to integrate with version control, we’re going to improve the experience with BitBucket.  The way that we’re going to do that is by providing a first class API for BitBucket. So over the last couple of weeks we’ve been iterating on APIs, improving the number of parameters that you can provide, increasing the scope of the functionality that is provided through the APIs.  By building that base up, getting that foundation in place.  A lot of those requirements are coming from the integrations that we’re building to our other products.


Steve: One of the things I liked about BitBucket was the fact the Wiki is also part of the source.  You can clone the Wiki and you can have that locally.  I can’t remember what the Wiki syntax is, you use, but you can use an editor.  So you can be on a flight and still be doing documentation.  I think the Fossil thing, that I looked at last night, is taking it a step further with the issues as well, the issues are all cloned as well.


Jorge: ...Git as well.


Steve: Can you do the same with the issues in BitBucket?


Jorge: Not currently, no.  Distributed issue tracking is an open question to everyone, no one has really solved it that well yet.


Steve: I haven’t tried it this little Fossil one yet.  But I thought I’d have a look at it.  Get some ideas the kind of things people are doing.  I can definitely see that whole detached developer, away from the net, it can be really handy.  You can be coding something and you don’t have to remember to close the issue, when you get into the office or whatever...


Justin: That’s why DVCS is great...because of the local commit...and then you push to the master repository...


Steve: If you use a plugin you can potentially get that to close the issue for you.


Justin: In fact today, we’re going release a new hook for Pivotal broker, you can close issues through commits through BitBucket, trigger a page to the external service and then it will close the issue and you can handle all that offline and sync it up on BitBucket.


Steve: That’s one of the things that I haven’t really got into much - the close up all the issues and stuff.


Jorge: In the normal BitBucket issue tracker, the simple one, if you specify in your commit message “Fixes 42” and you push that it will actually close it on commit.


Steve: That’s perfect.


Jorge: We don’t use the issue tracker in BitBucket, very much was just my thing...I used to and I would have fork to fix a feature and all the commit messages would be there and the second that I would push back into the master...any number of a 100...some of them had that trigger...the when I pull them in, it would automatically close a bunch of bugs on worked well that way.


Steve: With BitBucket it’s written in Python, do Atlassian do a lot of Python?  Was this a bit of a new thing for Atlassian the Python stuff?  Did they have Python development already?


Justin: Well, like yourself we were all traditionally J2EE trained...we put out an call...we hired some external developers...we hired Brodie...was a material developer...and then we asked for some internal candidates to move over to the team...the BitBucket team is essentially a brand new team...half Python developers and and half Java developers.  For us, that’ll be useful in terms of bridging the gap between our products in terms of linking into BitBucket and DVCS and then also building the momentum of the language that BitBucket is built on.  And exposing us to a new way of doing things.  Never hurts to challenge the way that you think.


Steve: It’s good.  I look around and all the cool kids seem to be doing the polygot thing...Google, Atlassian...all the companies that I sort of admire...that they’re not scared of mixing it up a bit.  We’re doing it a bit ourselves....we do a lot of Java and we’re doing a lot Groovy...playing around with bits and pieces as well...doing some Clojure at the moment.


Justin: Quite a lot of Groovy here on our internal system projects.


Steve: We’re trying to organise a little Groovy conference next year...this year...a few of the Atlassian people have already said they’ll come up.  It’s quite cool.  I’m a bit of a grazer, I graze around lots of different languages...probably too much actually.  As I said to Andrew, yesterday, with the Go Lang talk, I think even if you don’t code in that language there’s lots to be learnt from looking at different languages.  It’s a good thing to be doing.  It’s good that you guys are doing that.  Any other particular languages that are favourites within Atlassian or technologies?


Justin: Javascript is especially popular.  I think Javascript is popular for everyone.


Jorge: We even hosted a Node.js thing.


Steve: Do you have a particular Javascript frameworks that you use?


Jorge: I think most people are particularly found of jQuery and I think a bunch of people are particularly infatuated with Node.js these days as well.


Steve: I think quite a few people at the Go group last night, were quite keen on using Go as a backend for some of their Javascript stuff.  I don’t know if they were too keen on the Node.js stuff.  Go seems to fit a little bit in a niche there, for them.  Most of the people I hang around with, the people I know, play around with SpoutCore or CoffeScript and various other things.


Justin: I think we’ve tried just about everything.  For us, we try to find benefit in people learning as much as we can without it necessarily hurting us.  jQuery certainly does an awesome job for us.


Steve: With Atlassian, a general question about Atlassian, what’s it like to work at Atlassian?  I’ve heard Mike talk a few times at conferences and things like that.  What’s the sort of culture at Atlassian like?  Probably a hard thing to describe.


Justin: Well the rules are sort of behind you right there: create lustful products...products that people lust after, open company, no bullshit, don’t fuck the customer, build with heart and balance.


Steve: That was the controversial one wasn’t it?


Justin: Be the change you seek.  I guess Atlassian is about balance.


Jorge: I’ll tell you, before I started, I didn’t use much of Atlassian’s products.  It seemed like this big conglomerate Java shop.  At least in the circles I was in.  I was a bit worried when I started here, that it was going to be very corporate.  It turns out that it’s actually not.  It’s pretty free and open...a bunch of cool people


Steve: You guys do a bunch of Agile stuff, is that right?


Justin: Absolutely.  The BitBucket team releases weekly.  Right now, in fact, the other members of the team are halfway through the deploy process.  We get together once a week and we plan what we’re going to do for the week...some things last longer than a week...some things are an hour...but no matter what we’re pushing code out...every single week and publishing those changes to our blog.  For us, I don’t know how we would get by without the Agile process.  We try to keep it as slim as possible.


Steve: Do you have particular customers that you keep close for your showcase type things...that get things get your quick feedback?


Justin: For us, I think it’s about releasing as quickly as possible. We have a bit switch that we use in order test features internally.  So a subset of users have a feature turned on. We are mostly dog fooding these features for internal staff.


Steve: There’s a huge advantage of using the thing internally and you’re only going to hurt yourselves.


Justin: It’s very, very new for Atlassian because Atlassian is behind the firewall...for the most part...with its products.  We’re moving to a more hosted space with our Jira and Confluence products.  But with BitBucket we’re able to take advantage of being a true multi-???? application.


Steve: I guess you’re going to have some...maybe you’re already seeing this...some interesting scalability issues with a service like that.


Jorge: It’s something we certainly have seen quite a bit of.  We’ve been working on that for quiet a while.


Steve: It’s been working really fast for me, I haven’t seen any problems.  But maybe I’ve been on it on the right times.  Sometimes being in Australia you can end up being on at the right times where it’s good and you don’t see the peaks.


Jorge: Right.  The last three to four months we’ve been running really steadily.  But before that our infrastructure was with Amazon and we had a lot of quirks there.  Even after moving over to solid hardware with Atlassian - we still had some things to work out - but it’s been pretty good now.


Steve: Are there any particular tips that you can give people for scaling to that sort of level?


Jorge: I think everyone’s problem is going to be different.  You’re going to have to design your app around where you want to take it.  A lot of caching in there.


Justin: I think in the case with BitBucket, it just sort of outgrew the design for EC2.  We moved it to grid iron hardware and then our load was essentially at 200% on EC2 and we brought it down to 10% on half the hardware.


Steve: So you’re just using bare metal hardware now or is it still a virtual thing?


Justin: We use bare metal hardware to serve up the application and then we take advantage of ECDN [Enterprise Content Delivery Network] for the assets.  Which is why we are able to see quick performance out of the Asia Pacific region when you’re in Sydney.


Steve: There’s like an edge network all of the assets around the world.


Jorge: Right.  We use Amazon Cloud Front.  By the way, there’s always a new bottleneck.  You think you’ve fixed something you may have, there’s a new one.  There’s always something that doesn’t scale very well and you have to go back and reassign or refactor.

Steve: I guess that’s the benefit of the Agile process, you can just very quickly turn it around.  You can action things quickly...


Justin: Right.


Steve: ...and if you’re releasing it internally then...the people using it internally, do they use the cloud, the same one that we use when we go on the Internet as well, the same infrastructure?


Justin: We do a phased roll out.  Because we want to avoid hiccups in terms of bugs that we may find by rolling out code.  We use a staging server as our between.  After a soaking period of 3 days we, unless it’s a hot fix, we promote code from staging to production.  For a while there we tinkered with our process almost every single week until we found what worked for us.  It took us about two to three months in order to scale up the team. We went from two developers to nine people in the team.  We are also geographically disperse.  We sort of had to build a process around that that worked for us.


Jorge: Our team, we have the bleeding edge in the sense that we use...and the rest of the company use production, live.


Steve: Excellent.  As far as the pricing with BitBucket goes is that pretty much bedded down?  It’s not going to suddenly change on people?


Justin: A lot of people ask us that.  It’s not changing.


Steve: I’m on the free one now at the moment but I’ve actually out grown.  I’m about to actually start paying for it.  It’s something I’m relying on it now.  So it’s something that I should actually pay for.  It definitely draws in...that pricing model...that definitely draws in a lot of people.  I think that’s where it’s definitely getting an edge on GitHub.  I think GitHub is free for the ones that are open but I think you start paying as soon as you have a private repo whereas...


Justin: Or the numbers of collaborators.  It’s a two dimensional pricing for GitHub.  We sort of recognised that most code is private.  Because we recognized that its private, our model is based around users with our products.  We wanted to better align the way you think about pricing with BitBucket, with the way you think about Jira.  For Jira, for example, Jira costs $10 for a year, it’s less than a dollar a month to get started.  We’re taking all that money from Jira, for $10 to get started, we know that small teams can’t really afford software - so we’re sort of giving back.  In the same way that we worked on open source in the beginning in order to build...


Steve: I really like the way you give it away for open source and free for non-profits and things like that.  Being a good citizens it pays back huge dividends.  I’ve already put Jira onto a few people who run NGOs who are in NGOs.  I think it’s free or cheaper.  I can’t remember what the deal is for Jira.  I think it might be free actually.


Justin: It’s free for non-profits and open source.


Steve:  They’re like, “It’s brilliant”.  That certainly Atalassian gave a lot of credit there with that organisation.


Justin: One percent of revenue goes towards charity.  One percent of the company is owned by the Atlassian non-profit.  It’s ingrained in our culture in terms of giving back.  Because we are all, sort of, sitting on the shoulders of people before us.


Steve: You guys did that reading thing as well.  I think that raised like 10 times more than it supposed to.


Justin: Yeah.  We’re up to, maybe, certainly it’s higher than 500,000 and it might be as high as 750,000 dollars.


Steve: So that’s fantastic.  I think that amount of money makes a huge difference.  Good on you guys, that’s fantastic, it’s really nice to see that.  And an Australian company too?  Are they classified as an Australia company still?  Not sure?


Justin: What’s that?


Steve: Is Atlassian still an Australian company?


Justin: Absolutely.  There’s 305 employees plus or minus one or two are at Atlassian.  I believe 180 to 200 of them are here in the Sydney office.  We have an offices in San Fransisco, Amsterdam, Brazil, Japan.


Jorge: How many people in our team are Australian?


Steve: That’s a different question isn’t it?


Justin: When we talk about what it’s like to work at Atlassian, it is absolutely multi-cultural and mutli-border.  I think that’s one of the greatest things about Atlassian is, at any time you can walk down the hallway you can hear any given language being spoken.  People come from all over the place.  I think we have five different countries covered on our 9 person team.


Steve: I’m in a team of 10 at the moment and there’s only one Australian in the team.  Before that we had nine actually at one point.  We hired one person, we got an Aussie in the team, very, very diverse.  I’ve been in Australia 10 years ever since I’ve been here, ever since I’ve been here I’ve usually not been the only English in the team, there’s usually a big mix.  I love working in those teams, it’s great for just the whole cultural fit of the team.  When you wind down, as well, you’ve got fun things to talk about, to joke about and different places.  I find that really, really makes a place.  I love that about Australia, it’s one of the good things.


Justin: If anyone is listening and thinks that they might want to work at Atlassian they should definitely check out our web site. We cannot fill our technical positions fast enough.  We’re always looking for talent.


Steve: There’s a guy I know in Brisbane that’s starting in Atlassian, I think he is starting maybe this month.  He’s so excited to be coming and working here.  I think he’s just graduating.  I can’t remember his name, I feel bad now, I’ve forgotten a few times now.  He comes...we’ve done the Atlassian group in Brisbane.  He’s come to a couple of those.  He has done some stuff with Haskell now, I think, at the moment.  He seems to be very into a lot of different things.  Starting to come to work here.  That’s great.  I did have another question about Atlassian but it’s slipped my mind.  I guess you mentioned about the recruitment, and if anyone does want to have a look, and think about working here and it’s all on the site.  You usually have something on the web site saying we’re hiring.


Justin: Definitely have a look at the careers page.  There’s positions in...most of the technical positions are here in’s very much an Australian company.  There are some technical positions in San Fransisco as well.


Steve: If you guys want to open an office in Brisbane there’s about 10 people there that will.  I’ve been told by Craig Smith I have to hassle Atlassian to open a Brisbane office.  It’s probably not going to happen.  I said the same thing to Google yesterday.  I did remember my question, it was really about the recent funding that Atlassian was a bit in the news...people were a bit it going to change the focus of Atlassian and the the VC money going to spoil them...I’ve since done a little bit of sounds like it’s mainly going to be sales and marketing...pushing into different regions and things.  Have you had any exposure into how that’s going, that side of the company?


Justin: The guys who at Excel [Capital Partners] are awesome.  They’re really, really smart guys.  If you look at the way that Facebook has grown and all the other companies that Excel has helped become larger and reach a greater audience...from what our understanding is and what we’re trying to learn from them is...they have a lot of experience in helping companies get bigger and grow.  We’d like to take advantage of that where we can.


Steve: It’s one thing scaling your app but scaling your company sustainably as well is sometimes tricky.  I’ve worked at startups that have gone from 8 to 50 to more and then shrunk down and disappeared.  It’s almost a battle.  I guess you’ve got to that medium stage with 300 employees you’ve sorta now gotta tread carefully and take it to that next level without destroying what you’ve already got.


Justin: I think for Mike and Scott the culture is really important.  For us, now that we’re all owners as well in Atlassian that we have stake in seeing that this place...


Steve: The thing on the wall over there...


Justin: It says, “I’m an owner”.  


Steve: Ownership has its privileges.


Justin: I think everyone here takes pride in where they work.  And that’s not something we want to lose.  Maintaining that culture and transferring that culture to new employees into the office is important to everyone.


Steve: I’m a little bit out of questions but have you guys got anything you want to ask me or anything you want to talk about that I didn’t cover.


Justin: Check out BitBucket.


Steve: Yeah good work, keep it going.  You guys are doing an awesome job.  Well done for being acquired.  You are obviously quite a young guy and not everyone gets that opportunity, I guess.  Good on you guys and thanks for talking me today.


Jorge: Thank you.


Justin: Cheers.


Craig: You’ve been listening to the “Coding by Numbers” podcast.  Brought to you under the Creative Commons attribution licence.  Transcripts are provided by Andrew Newman.  Please see the show notes to download them.  You can send any feedback or comments to  Please subscribe to the blog or follow us on Twitter to keep up with the latest news about the show.  Our intro and exit music was “Chopping Block” by Mike Beale.  Thank you for listening.