Two hundred folks who work in technology, are dazzled by design or love entrepreneurship came to the Jersey shore earlier this month for Asbury Agile, a full-day conference that "doesn't take place in New York or Philadelphia, but right here in Asbury Park," said Bret Morgan, one of the conference hosts.
This was the sixth year that Morgan and Kevin Fricovsky have organized the day-long meeting, which offers a combination of lively talks about topics such as managing the tech life, in-depth technical and design tutorials, and some entertaining but informative asides.
NJTechWeekly.com stopped by the morning session of Asbury Agile this year. The event, which has bounced around various venues in the past, took place at the beautiful Asbury Park Hotel.
How Jet Does Microservices
First up in the morning session was Gad Berger, senior software engineer at Jet.com, who spoke to the crowd about how Jet, the Hoboken e-commerce startup that was acquired by Walmart for $3.2 billion, builds microservices.
Berger’s presentation was full of technical details ideal for this audience, but he also had a lot to say about the decision to use the microservices technique to build a very large e-commerce platform, with all its moving pieces.
"We've learned a lot during the past year; and, hopefully, what I have to say you'll be able to take back to your organizations," he said. Jet is "doing more than 20,000 orders a day. Projections are that we'll be doing 80,000 orders a day during the upcoming holiday season."
Berger said that when he first joined Jet, one “audacious" number kept coming up. The founder, Marc Lore, wanted to do $20 billion in business per year in five years. That meant, he said, that everything would have to be developed at scale. There were multiple teams handling the building of software for everything from order processing to payments.
"We wanted to be able to grow our teams independent from one another, so they could scale at their own pace. And the only way to do that that we saw was to use microservices."
Sometimes you hear stories about a company that builds a monolithic system, he said, and then the system hits a breaking point when they start gaining a lot of success with their product. "They then move over to an architecture that is more microservices-based because it allows them to scale better."
“I like to think of a monolith as a kind of an orchestra, where you have all these pieces that are working in concert and you have a conductor that’s running the show. As the orchestra gets bigger, it’s harder and harder for the conductor” to keep all the pieces working together.
“It starts to fall apart, and the music doesn’t flow as well. Microservices, on the other hand, is more like a hive of bees. If you think of a bee hive, you have a Queen that has a task, a drone that keeps the hive safe, a worker bee” that does everything else. “With a hive, you have all these tasks, and they can scale up as many as they need, but they don’t interrupt the other functions of the hive.”
In engineering, the concept of microservices takes the idea of the single responsibility principal and brings it down to the service level, he said.
Preventing Freelance Burnout
Up next was Jonnie Hallman, founder of Cushion (Brooklyn, N.Y.), who spoke about his design heritage and how his life in tech had driven him to develop his startup to help freelancers manage their unpredictable schedule and income.
Hallman talked about his tremendously talented father, who drew unforgettable book covers for some of the most renowned authors of his time. From his childhood, Hallman loved to code and design, and he found himself devoting hours and hours to it because he loved it.
When he got access to a Macintosh, he was “able to draw digitally and create so much, and I didn’t have to worry about cleaning up my desk. … I got really into making Geocities websites and video games.” He experimented with Flash animation, and spent hours with these projects.
While at college, he took a job doing Web design, and found himself in such demand for building and maintaining websites that he was missing classes and sleep to make deadlines. “Literally, I’d be in school, in the middle of a critique, and I’d get a call. It would be my boss and she’d say, ‘There’s a car waiting outside. A client’s website is down.’”
He said that his body rejected his strenuous work schedule for the first time, and he ended up going home and sleeping for over 24 hours.
Over the years, Hallman continued to have these boom-and-bust cycles, marked by either exhaustion or elation — when he was working at a corporate job and after he had set himself up as a freelancer in the business.
He wasn’t afraid of being a freelancer, as his father had done very well with his freelance book cover business, Hallman said. He added that his girlfriend, now his wife, was also a freelancer, “and we support each other. We know what we are going through.” However, “the problem is you create your own schedule and you always want to work.”
Also, with freelancing, there are no limits, no consistent salary. “I wish I could get the same paycheck every two weeks, but since that’s not the case you have all these ups and downs. You can go a month making half your salary, but then the next three months you may not have any work at all. You have to make enough so you are actually ahead of the game.”
Hallman built a tool to help him avoid burnout, and that became Cushion. “I wanted to have a very visual look at my schedule for an entire year, so it will highlight where you are overbooked so you know ahead of time,” and you can move things around so you don’t have too much on your plate. The tool also has a visual for freelance income. It shows what income earned from a ton of work in one month and then no income in another would look like, and answers the question, “Am I good?” Hallman said. This way, he knows not to accept another offer of work if he doesn’t need to.
A lot of freelancers have started using the app, Hallman said; and now, “I have a purpose.” Cushion was soon making enough passive income to allow him to do one month of client work and three months of personal work; and, finally, he was able to stop doing client work altogether and concentrate on Cushion.
Building a Test-Engineering Culture
Mona Soni, director of technology at Dow Jones and The Wall Street Journal, came up to the podium next to discuss building test-engineering cultures in businesses.
“Everyone expects high quality with everything in their life, like medicine, shopping and your home,” she said. “But what does quality mean to a user when it comes to a software application?” she asked rhetorically.
It means everything from a fast experience to a secure app. Inside an organization, it means things like resiliency; and if something goes wrong with the system, it means the ability of the organization to recover it. Also, the app should be testable, she said.
“If you have high quality, it doesn’t necessarily mean that you will have a successful product,” she said. But your chances of having a successful business application increases. However, having a better-quality product is expensive. That’s the main challenge. For most of the companies that Soni works with, “it comes down to money.”
Soni went on to describe how to “bake” quality into every phase of software being developed by a company, whether it is a small startup or a larger entity. If a startup neglects testing when it is about to launch, it will have unsolved issues in its offering, and will be scrambling to correct them afterward, she warned.
You have to make sure that the culture of quality is extended throughout the business, not just the software part of the business, she said. “Everyone has to understand the importance of testing and have an attitude” that promotes this, Soni said.
During her talk, she presented three variations of teams and products so that attendees could understand the high-level concepts involved and later try to fit them into their own companies.
Right before lunch, the attendees were treated to “Animation Deathmatch,” presented by Jonny McLaughlin, director of engineering at GIPHY (New York), who said that he had spent “a stupid amount of time animating this thing.” The objective was to demonstrate to the group which animation technologies worked best under which circumstances, and he did it with humor.
McLaughlin looked at three animation methods, GIFs, Canvas and CSS. He ran a test on each of them, gauging the speed of the animation (how the animation affected browser performance), simplicity (how easy it is to implement), interactivity (how well you can control and interact with the animation), accessibility (how well the browser understands what it is you are animating), upkeep (how well you can update the animation in the future) and resizing (how easy it is to scale the animation up or down to various sizes).
GIFs turned out to be quick and easy to add, and great for looping content. However, because they frequently paint to the screen, lots of GIFs can slow things down. And there is limited transparency support.
CSS was very fast when using “opacity, translate, scale or rotate,” but it could be slow when animating layout properties; and it had limited interactivity.
Canvas had the best performance when animating lots of items, and was highly interactive. However, it could be complicated to implement and it’s not accessible, he said.