All Aboard The Software Engineering Cruise!

Sailing from Jacksonville, Florida to the Bahamas

February 28th – March 5th, 2015

Registration is closed!


What's Code On The Sea?

Code on the Sea is a new kind of software engineering conference, focused on education while having a blast. We took an intensively educational conference, put it on a cruise ship, and the result is the most exciting way to learn hard, play hard.

Bahamas Beach

Attend sessions from top speakers in the developer community. Workshop with others to solve your most challenging problems. Network throughout the cruise and meet friends for life.

And then there's the FUN: You're never too grown up to go down a waterslide at sea. Then go splash around in a swimming pool or relax in one of the hot tubs. Get seconds and then some with 24/7 all-you-can-eat dining. Party with other Code cruisers at 10 different bars and night clubs.

Wake up in another country! Two full days at sea and two in the Bahamas means this is a conference like no other. While in port at Nassau or Half Moon Cay, explore the Bahamian islands and go on exotic excursions. Swim with dolphins. Lounge on the beach. Go kayaking or take a glass-bottom boat. See the aquarium or slip and slide at the water park in Atlantis. There's so many options it'll be hard to choose!

Bringing your family? Great! Cruises are fun for the whole family, and we want yours to have a blast. If they're not attending sessions, you just need to pay for their cruise — they don't have to be registered for the conference.

Ship Waterslide

Need to convince your boss? Tell them you've got many reasons why Code on the Sea is a great value for their training budget:

  • At $745, Code on the Sea is one of the most affordable software engineering conferences out there
  • Cruise cabins start at under $60/day/person* with 24 hours dining included — compare that to hotel and dining costs at land-based conferences!
  • You can meet and learn from some of the top developers in our industry
  • If your company has clients or partners in Florida or the Bahamas, you can use that opportunity to meet
  • Consider offering to use vacation time for the days you'll be out, or working from your laptop on the ship (there's WiFi available)
  • If you're near the Jacksonville area, you can miss as little as 3 days of work (M-W) as we return early Thursday morning

Speakers

Michael Feathers

Michael Feathers

Michael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change and code revitalization. A frequent presenter at national and international conferences, Michael is also the author of the book Working Effectively with Legacy Code (Prentice Hall, 2004).

Sessions

The Psychology of the Build

The build of a software project is supposed to be simple. It's supposed to be a deterministic script that compiles code, packages it, and runs all of its tests. When the build is "green" we know that we really have something that works. When it is "red" we need to go back to the drawing board. From the beginning we've been told that there are no other options. There is no color between green and red - no color that means 'the software is sort of ok.' This hard line was there from the beginning in agile software development and it's become institutionalized. In this talk, Michael Feathers will explain how we can pun with green and red in order to achieve various motivational effects in software development.

The Slow Steady Industry Move Toward Tacit Programming

We're all aware that the industry is moving from Object-Orientation toward Functional Programming, but the move may be even deeper than that. As we adopt a strongly compositional style using tools like LINQ, Rx, Java Streams, and Ruby's Enumerable, we find that we approach a style of programming that is closer to what is common in J and APL. This talk will explore the trend and its possible ramifications.

Kate Gregory

Kate Gregory

Kate Gregory has been using C++ since before Microsoft had a C++ compiler. She writes, mentors, codes, and leads projects, in both C++ and .NET, especially for Windows 7 and 8. Kate is a Microsoft Regional Director, a Visual C++ MVP, and has written over a dozen books (the most recent on C++ AMP for Microsoft Press) and speaks at conferences and user groups around the world. Kate develops courses on C++, Visual Studio, and Windows programming for Pluralsight, founded the East of Toronto .NET Users group, and is a member of adjunct faculty at Trent University in Peterborough.

Sessions

Why C# Programmers Need To Know About Today's C++

C++ has existed for over a quarter of a century. Some people think it's over and done with, but it's not, it continues to grow and change. In fact, if you learned C++ more than 10 years ago, the language you learned is not the language C++ developers are using today. New language features like lambdas, new library features like smart pointers, and new ways of thinking about code mean that C++ can be every bit as easy to write and to read as C#. For some applications, C++ is a better choice than C#, Java, or other options because of its emphasis on performance, its cross-platform capabilities, and its access to open source libraries written over the decades to simplify particular tasks such as image processing. As well, C++ applications can move calculations to the GPU using C++ AMP for as much as 100x speedup. Being able to read or write a little (modern) C++ could be a very smart move indeed!

C++ Standard Algorithms to Love

C++ has a problem - a lack of great libraries when compared to other languages, especially great libraries that just come with the compiler and every developer can count on and use. Actually, it also has a second problem: most C++ developers ignore the libraries that actually do come with the compiler. In this talk I'll take one header from the Standard Library, <algorithm>, and show you what it has to offer. (We'll visit a few other headers along the way.) You'll see how to make your code faster to write, more readable and expressive, and even higher-performing, using code you didn't have to write, test, or document. And all without taking dependencies on particular vendors or platforms. If you know what "sort" means, but not what "stable partition" does, this talk is for you. I'll show you reasons for using the algorithms as well as how to use them.

Jon Galloway

Jon Galloway

Jon works at Microsoft as a Technical Evangelist focused on ASP.NET and Windows Azure. He's co-author of Wrox Professional MVC, writes samples and tutorials like the MVC Music Store and is a frequent speaker at major conferences and international Web Camps events. Jon's been doing professional web development for 17 years, including high scale applications in financial, entertainment and healthcare analytics. He's part of the Herding Code podcast, Twitters as @jongalloway and blogs at weblogs.asp.net/jgalloway.

Sessions

ASP.NET 5: A new, cross-platform web framework

Come learn about the groundbreaking changes in ASP.NET 5, and how they'll impact your current and future projects. For the first time every ASP.NET 5 is supported on Windows, Mac and Linux with a fully cross platform .NET framework. It includes lots of other other significant features like Side-by-side versioning of the .NET Framework, a new modular HTTP request pipeline, cloud-ready environment configuration, a unified programming model that combines MVC with Web API and Web Pages, and the ability to see changes without re-building the project. I'll show how to leverage the cross-platform development and deployment features, and explain what you need to know now to plan for a smooth transition to ASP.NET 5.

Quality Front-End Development

Software quality discussions often focus on the back end and ignore HTML / CSS / JavaScript development. In my experience, front end code is often an after thought and is riddled with technical debt. This has real impacts on any web application, but is especially important as our applications shift to take advantage of Ajax and single page application frameworks. We'll talk about why you should treat your HTML, CSS and JavaScript as important code, what quality front-end code looks like, and explore some important, practical steps you can take to improve your front-end code quality and development practices.

Rob Ashton

Rob Ashton

Rob is an internationally renowned developer who quit enterprise life two years ago to become a wandering code monkey, never staying in one place for more than two weeks and being paid only in accommodation and travel fees. These days he has rejoined the real world, but only barely; working full time for a development shop that doesn't even have an office - writing Erlang in coffee shops all over the world and sometimes ranting about how awful the Javascript ecosystem is. He has contributed more code than he can remember to RavenDB, written a port of it in Clojure and frequently can be heard exclaiming "This would all be a great deal easier in Haskell". Until the world listens to reason on that point you will find him wrapping everything in the duct-tape that is bash script and laughing maniacally at his laptop.

Matthew Podwysocki

Matthew Podwysocki

Matthew Podwysocki is a Principal Software Engineer at Microsoft currently working on the Reactive Extensions Team with a focus on JavaScript as well as other languages including Ruby, .NET, Rust among others. He is an open sourcerer who has been a big advocate of open source at Microsoft, including node.js. He is passionate about STEM and teaching the next generation of programming.

Sessions

Reactive Programming for the Rest of Us

Reactive Programming has been a hot topic as of late, with such things as the Coursera Course taught by Martin Odersky and Erik Meijer, as well as the Reactive Manfiesto (http://www.reactivemanifesto.org/). We see many frameworks such as FlapJax, RxJS, Bacon.JS for middleware, and then on the front end, we start to see UI frameworks such as ReactJS from Facebook, Angular, and Elm. This word Reactive becomes very confusing as it quickly loses its meaning. What exactly does Reactive mean? A simple definition of Reacting to input, events, load, etc is not enough. In this talk, we'll explore some of the basics of Reactive Programming, and explore all the frameworks and languages and how they really are the future of web development.

Reactive Programming and the Virtual DOM

The web frontend scene is witness to many new frameworks and ways of working. It can be quite annoying when software becomes legacy quicker than ever. But actually, it's just good old innovation happening as it should, because the opportunities for improvement are there. Frameworks come and go, but what remains are the good ideas that they brought to the world. We're going to talk about the good ideas and the not so good ideas. React is one of those currently hottest frontend technologies. The new great idea in React is Virtual DOM Rendering. The gist is to frequently re-render a complete and lightweight representation of the DOM, then apply a difference filter to detect the minimum changes that need to be made to the DOM. A similar technique has existed in game development long before React: re-render the game screen in every game loop, but only update the minimum portion of the screen which changed compared to the previously rendered screen. It's hard to speak about React without mentioning Flux, because only with both together can we speak of a complete frontend architecture, since React concerns only user interfaces. Flux contains many ideas, but it can be summarized as an architecture with a unidirectional and circular flow of data. The benefit is code that is easier to follow with regard to data updates. In this talk, we'll talk about combining Reactive Programming by replacing Flux with RxJS for real reactive programming, for more complex state machines, and even explore other options including cycle.js.

Stay in touch!

Sign up to stay up to date with the latest announcements.

Schedule

Fri 2/27

5pm-8pm
Bon Voyage Party

Sat 2/28

11am
Start Boarding Ship
3pm
All Aboard
4pm
Depart Jacksonville
5pm
Welcome Party
8pm
Scavenger Hunt

Sun 3/1

7am
Breakfast
8:30am
Matt Podwysocki
10:00am
Michael Feathers
11:20am
Lunch
1pm
Kate Gregory
2:20pm
Rob Ashton
3:40pm
Jon Galloway

Mon 3/2

8am
Arrive at Nassau
4:30pm
Back on Ship
5pm
Cocktail Party

Tue 3/3

8am
Arrive at Half Moon Cay
3:30pm
Back on Ship

Wed 3/4

7:00am
Breakfast
8am
Jon Galloway
9:30am
Rob Ashton
11am
Lunch
12pm noon
Matt Podwysocki
1:20pm
Kate Gregory
2:40pm
Michael Feathers
5pm
Farewell Party

Thu 3/5

8am
Return to Jacksonville

Sponsored By

* Price shown for cabin per-person rate is for an interior cabin at double occupancy as of April 2014, before taxes and fees are applied. You will need to contact Carnival to get an exact price for your cabin, and upgraded cabins (such as Ocean View, Balcony, or Suite cabins) will be more expensive. Conference registration does not include the cost of a cabin.

Photo credits: A. Duarte, Carnival Cruise Lines, and others