So your Agile teams aren’t working as efficiently as you’d like. Maybe you have specialists spread too thinly through your teams, or your product is just to big and broad for a traditional organization. It’s SOA and Legos to the rescue — really.
At an Agile 2016 seminar in Atlanta this week, speakers Catherine Louis and Raj Mudhar presented their ideas to make Agile team reorganization easy and visual. The concept — “Whole Team Dynamic Organizational Modeling” — is a bit of a mouthful but it’s based on service oriented architecture principles. And it uses Legos, paper, Sharpies and your imagination.
Louis and Mudhar asked each table to decide on a problem, then create a key where each color Lego represented a part of the team. At our table, white Legos were DevOps folks, purple were DBAs, etc. Then the idea is to simply create a Lego team and see how it works by doing some creative role playing. Using the Sharpie you can actually draw how communication and requests happen between teams and you’ll almost instantly see why something works, or doesn’t. In some teams a single team member may wear several hats (scrum master or acting product owner) and it’s easy to see that because one Lego is covered by another.
The service oriented architecture comes in at this point because for most companies, a single “team” really can’t have every skill needed. So by creating “pools” of scarce talent (again using Legos), you can visualize how those pools can be used by the teams to improve the flow.
The participants at our table agreed that this low key and fun strategy might be a good way to broach the subject of reorganization without putting stress or pressure on anyone. If you’d like to learn more about using SOA (and Legos) to reorganize your team, Louis and Mudhar have a website with resources.
If Pokémon Go was the bubonic plague, we’d all be dead. Even if you’re not playing yourself, you’re probably in a room with someone who does. At the time that this post is being written, current estimates float somewhere around 9.5 million daily active users.
Some enterprise mobile app developers must look at this phenomenon and think “if that many people will pick up Pokémon Go, why can I not get users to adopt my company’s mobile app?” Often times I hear about unwillingness amongst peers in my office to download mobile productivity apps because it’s either too complex, not reliable or they simply don’t want the app on their phone. But Pokémon Go seems to attract users so much that even my technology-phobic mother — who is the furthest thing from a Pokémon fan — wants to play the game.
Niantic is a relatively small company that has managed to create one of the biggest mobile apps of all times. A Huffington Post blog post talked about how Pokémon Go may be fundamentally changing the application development scene. Maybe enterprise mobile app developers can use some of these ideas to increase adoption of their organization’s mobile apps.
I’ll be the first to admit that all of these ideas are pretty idealistic, but maybe it’s worth at least just thinking about.
Learn what makes users happy
Surely one of Pokémon Go’s strongest building blocks is the fact that Pokémon established itself as a cultural craze once before. I’d imagine anyone who says they’ve never at least heard of a Pikachu today is either lying or has been living in forced quarantine for almost two decades.
Of course, a mobile enterprise app is never going to be able to compete with Pokémon’s established pedigree. The point is that the desire for anything Pokémon existed before the app — the app simply exploited it. While everyone is absolutely enamored with the app’s unique GPS and virtual reality features, I’d imagine a lot of those people simply wanted to play Pokémon on their phone.
Ask yourself: What do your users really want? And how can you build an app that scratches that itch? For instance, perhaps people within your company are constantly frustrated because they can’t find certain areas or meeting rooms. Maybe it’s worth creating a GPS-enabled mobile app that can provide real-time walking directions to locations in the office.
The learning curve aspect
As the HuffPost piece pointed out, Pokémon Go nails the learning curve. It’s simple enough up front to get people into it, but offers plenty of complex features to players to look into once they are familiar enough with the app.
There’s a fine line to walk with apps: It has to be complex enough to meet the business need, but not so complex that it makes users tear their hair out. So, is your organization’s mobile productivity app easy to use from the get-go, or do they have to sit down with IT countless times to get things to work? Maybe it’s worth considering the inclusion of a simple tutorial for the apps basic functions. Then users can pick up the more complicated functions as they move along.
The social element
The HuffPost piece also talked about that the social aspect of Pokémon Go is drastically impacting its adoption and use. You can join teams, help each other out, look for Pokémon together and more. This turns the use of the app into a larger social experience.
Is there some way this same kind of social aspect could be weaved into an enterprise mobile app? Is there any way that the app can encourage collaboration between team members, or reward them for linking up with other users? Can it help facilitate the creation of a team, like Slack does with its groups? Maybe turning the app into something that people can use together can turn it from a technological burden to a blockbuster.
Is this worth looking into? Are my ideas just totally out of the scope of reality? Let me know with your comments.
A survey conducted by the software company BiZZdesign and The Open Group has revealed that while businesses are eager to jump into a “digital transformation,” they may not necessarily be happy with the software support available to make that transition happen. It also found that business culture is often a major inhibitor to business transformation — a barrier that could potentially be broken by making key changes to processes and cultural mindsets within the organization.
Part of the survey, which also had support from the University of Twente and the Association of Enterprise Architects, focused on the tools that enterprises are using to enable a significant digital transformation. It also sought to determine how happy they were with those tools — a finding that had mixed results, as Peter Matthijssen, senior consultant at BiZZdesign, explained in a webinar about the study and the process of digital transformation.
Responses indicated that about 85% of businesses are using app and solution integration software for business transformations, and about 80% are using enterprise architecture software. About 80% of those using app and solution integration software indicated that they are at least fairly happy with how well it supports their efforts. But when it came to enterprise architecture software, it seems that this number drops to just over 50%. The webinar did not dive further into specific complaints businesses had, so it is uncertain whether this frustration is stemming from problems with the software, a lack of the skills needed to manage the software, costs — or all of the above.
Matthijssen noted that the cultural and process barriers that inhibit an organization’s ability to become what he calls an “adaptive enterprise,” one that is able to use technology to make rapid, continuous changes to business processes and adapt to changing market conditions. He said that often organizations let “business as usual” get in the way of making a digital transformation, meaning that the money and time dedicated to everyday tasks and managing legacy systems simply stops any business transformation efforts in its tracks. Matthijssen also said that many organizations experience what he calls a “lack of organizational commitment.”
“I think here there is a large cultural part — where we can’t get the people on board to move in this new direction,” he said.
Matthijssen did offer numerous pieces of advice for organizations looking to improve their ability to transform, many which revolve around the idea of changing corporate culture. One piece of advice he gave urges businesses to simplify their systems and businesses policies. He illustrated this with a mythical anecdote about the U.S. spending millions of dollars to create a pen that could write in space when Russian astronauts were able to accomplish the same goal with a pencil.
“A lot of organizations have those very expensive pens when they could do the job with a pencil,” he said.
Another piece of advice Matthijssen shared is the idea of embracing what he calls a “culture of failure” where organizations embrace project failures and shortcomings as part of the transformation and learning process. He stresses that this failure does not have to occur on a large scale, and encourages that organizations should aim to “fail on a smaller scale” and use each failure as a learning experience.
Other pieces of advice Matthijssen offered included reducing legacy complexity and “bridging” the gaps that may exist between software and business professionals within an organization. By reducing legacy complexity organizations may be able to avoid the “innovation squeeze” that occurs when money that organizations want to put into a digital transformation end up overtaken by legacy costs. And bringing the disciplines within an organization, he said, will allow organizations to pursue digital transformation by bringing ideas together and empowering personnel. He encouraged participants to “use the wisdom of many, not the power of one.”
A look at tech’s most popular identity crisis
It seems that the term “DevOps” suffers by straying from one of its own guiding principles: an established, single source of truth. A single Google search for “what is DevOps” provides a whirlwind of answers. Yes, they all talk about the notion of having developers and operations teams work together. But a lot of the similarities end pretty much right there.
Right off the bat, I notice all the contradicting things said about the DevOps adoption. Voices from EMC will tell you that you don’t have a choice in the matter. At Computing’s DevOps Summit, Finbarr Joy, group CTO at Lebara, said companies that don’t adopt DevOps now are doomed. Then you have the very own DevOps.com warning organizations to adopt practices organically instead of hastily implementing a DevOps program. Some developers say implementing DevOps is a great way to kill your developers. Certain programmers who have experienced “DevOps” plainly say that DevOps is bulls**t, complete with examples of failed implementation attempts.
If you do manage to get past the adoption debate, the next step is to make sense of the dizzying array of advice available about DevOps and what the most important element is. Some authors advocate “creating a DevOps culture” by having developers and system admins just become better friends. One CTO at Chef boldly says that the tooling doesn’t matter at all. DevOps Digest, on the other hand, produced a list of 30 must-have DevOps tools. Another CIO said in a blog that the core of DevOps lies within creating an integrated service model, cross-functional teams and a management framework.
Looking at this, it doesn’t surprise me that so many companies are struggling and failing to adopt DevOps. Perhaps the best thing is for developers and operations folks to simply learn the fundamentals of DevOps on their own. Then then can try to garner the concepts that work best for them, rather than blindly joining the DevOps stampede.
And if DevOps isn’t confusing enough for you, perhaps you should try NoOps on for size.
While collecting and working with data is a burning passion for some, for many it is simply another critical business requirement that is only getting more complicated. In this session, data guru Evelina Gabasova showed participants how the F# language can help make the task of working with data a little more manageable.
Gabasova is definitely a member of the passionate group of data workers. She is a postdoctoral researcher at MRC Cancer Unit, and works with a lot of data. But she is just as interested as anyone else in making the task of working with that data easier.
“I study the genome…and that can get very complicated,” she said. Gabasova said that she relies heavily on the use of F# to work with the massive amounts of data she comes across in her research, particularly because of its strong ability to parse scripts through active patterns. Active patterns allow coders to define input data with names that can be used in a pattern matching expression.
The features are strong with F#
In order to demonstrate how effective F# is, Gabasova demonstrated how, using publically available copies of the Star Wars scripts and an API called SWAPI – the “Star Wars API” – she was able to determine exactly who the most important character in the Star Wars universe is. SWAPI, which calls itself the “world’s first quantified and programmatically-accessible data source for all the data from the Star Wars canon universe,” was able to provide Gabasova with detailed information like characters’ heights, birth dates and other intimate details.
One of the biggest reasons Gabasova advocates F# is because of the availability of built-in type providers that can automatically provide the types, properties and methods you need to work directly with tables in, say, a SQL database. In this way, those working with diverse information sources without having to manually write repetitive lines of code or add on files with a code generator. And she proved how this worked by showing us how easy it was for her to determine the average height of a stormtrooper (5′ 9″, I believe?) and verify that Luke actually was a little short for a stormtrooper.
“F# makes it easy to specify certain attribute,” Gabasova said. “Type providers are amazing!”
May the visualizations be with you
One of Gabasova’s major points was the importance of visualizations. Without visualizations, she said, it is not possible to glean the insights you may want from your data. She then went on to reveal the in-depth visualizations she put together outlining the key “social network analysis” factors that determine the importance of a character, such as centrality and density of network.
“Whenever you do data analysis, always visualize it,” Gabasova said. “Always.”
…who is the most important character in Star Wars according to Gabasova’s research? In her words, “Darth Vader still rules the universe”.
Gabasova then went on to explain how these same F# techniques can be used within organizations to analyze the network connections that exist within their own companies. By taking data from things Slack communications, email and other social platforms, it may be a lot easier to garner serious insights into the social structure of your company with the help of F#’s unique features. However, she insists that F# can really be used for all types of data and projects.
“I would just encourage you to play with the data you have,” she said.
Sameer C. Thiruthikad, a software developer at the Qatar Foundationan and attendee of Gabasova’s talk, said he enjoyed the talk and the way Gabasova chose to present it.
“It was good,” he said. “It was really interesting because they used Star Wars to tell the story.”
Thiruthikad’s team currently makes use of C#, and said they face the very common challenge of organizing and visualizing large sets of data. But he said the session encouraged him to try and use F# going forward as a solution.
“I will surely get into F#,” he said. “I’ll just test the waters and see if there’s anything interesting there.”
When it comes to testing software, many of today’s organizations rely heavily on comprehensive testing, especially unit testing, to minimize the risk of outages. But in this session, Michalis Zervos of Microsoft talked to audience members about what some consider the “next generation” of creating software resiliency: actually taking those anticipated faults and forcing them to occur to your software.
“Fault injection,” as Zervos refers to it, can be performed on everything from virtual machines, to custom applications to hardware. And this is a practice Zervos’ team at Microsoft actively uses and promotes in order to see not just how particular services and such are affected by certain unwanted events, but also how the dependent services and software are affected as well.
“We create ‘storms in the cloud’ to see how it performs under pressure and failure and use that to create resiliency,” he said. And according to Zervos, fault injection can be used for more than just testing resiliency. It can also be used for things like testing new features, training and verifying staged deployments.
Zervos covered the numerous faults that teams could consider injecting, including creating a kernal panic, “hooking” and disrupting critical service code, crashing critical processes and even pulling the power plug on your data center. He also suggested a few publically available tools that development teams can use to make the process easier, such as Consume.exe, Sysinternals tools and “managed code fault injection” through TestApi, a library of test and utility APIs.
Zervos did warn audience members that fault injection cannot be performed without certain precautions and considerations in order to achieve accurate results and avoid creating more problems. He cautioned that teams need to still follow fundamental security principles such as the least-privilege principle, make extensive use of code signing, create a “safety net” for the automatic removal of faults should they get out of a tester’s control and have a “kill switch” available, which he said can save developers and testers “a lot of grief.”
Zervos also stressed this importance of extensive verification and reporting when it comes to fault injection. He also instructed audience members that it is useful to manage fault injection from a centralized location.
“If you are not able to verify what happened, you don’t get the most out of your system,” he said.
One of Zervos’ final points was that it is not enough to simply perform fault injection every now and again. He stressed that teams need to integrate fault injection as a continuous part of the production cycle and find creative ways to encourage teams to adopt its practice. One suggestion he made was the idea of “recovery games,” in which one team member simulates an attack on a particular system and another team member, often a trainee, must record what occurs and take the proper steps to mitigate the risks of an outage. By implementing these types of programs, Zervos said his organization was able to increase adoption of fault-injection and also garner helpful insights about the behaviors of team members, such as that some spent too much time debugging and not enough time actually mitigating the problem.
“It needs to be part of the engineering process and part of the culture of the company,” Zervos said.
John Billings, technical lead on one of the infrastructure teams at Yelp and attendee of Zervos’ talk, said he thoroughly enjoyed the session and believes that fault injection is “the next step in actually testing resiliency of production systems,” he said.
Billings, who also held a talk at QCon on the “human side of microservices,” said he particularly liked the fact that Zervos spent his time discussing the general principles of fault injection rather than talking about specific technologies. And while his company does already make use of fault injection techniques, he is hoping to push the adoption of this strategy even further within his company and hopes that others will as well.
“Tests can only cover so much that you’ve thought about beforehand,” he said. “If you actually have fault injection happening all the time in production, you get that additional level of reliability that otherwise would be very difficult to achieve.”
Billings also said he liked the idea of introducing “fault injection games” as an approach to encouraging the adoption of this strategy, but believes that these adoption strategies must be align with a company’s individual culture. For instance, he noted hearing about the idea of a “badge-based system” that awards teams particular badges for completing and adopting certain testing and production techniques.
“You have to experiment and just see what works for your particular culture and your company,” he said.
“Incident response – what makes it so terribly difficult?” – John Allspaw at QCon New York
“Anomaly response does not happen the way we might imagine it does,” John Allspaw, CTO at Etsy, said in his opening keynote presentation at QCon New York, “Incident Response: Trade-offs Under Pressure.”
Can we trust tools?
One of the first notes that Allspaw made is that organizations cannot simply rely on tools to make it easier to understand how and why incidents are occurring. Instead, teams need to rely on processes and reasoning in order to truly respond to anomalies. And they cannot, he said, treat these outages as a mystery that is constantly developing over time.
“An outage is not a detective story,” Allspaw said. “It’s static, and it’s there.”
A model of reasoning
In order to properly deal with outage-causing anomalies, Allspaw recommended that organizations implement a “model of reasoning” that does not “distinguish between diagnosis and therapy.”
Avoiding “cognitive fixation”
Listeners were also warned not to fall into the traps of “thematic vagabonding” and “cognitive fixation” – meaning that those debugging the code can become so wrapped up in simply fixing bugs and symptoms that they fail to delve further into discover the actually root cause of the issue.
“As one thread of diagnosis comes in, you start running to more,” Allspaw said. He said that avoiding this requires developers and testers to communicate about what they are seeing and not get stuck alone on a path of just fixing bug after bug.
In fact, he provided a list of “prompts” that teams can use to frame particular question, dividing the questions into four “stages” of incident response: observations, hypotheses, coordination and suggesting actions. By asking these questions, team members may be able to avoid “cognitive fixation” and get to the root of the problem.
Allspaw also talked about the importance of linking anomalies to any known, recent changes in the code or application and, more so, of having peers review your hypotheses.
“Validate the hypothesis that most easily comes to mind,” he said, while also adding that anyone who begins to build confidence about discovering a certain cause of an outage should always check that confidence with a peer review.
Day two is over, and now it’s time to get yourself ready for the third and final day of the QCon New York 2016 (#qconnewyork) tracks. But with so many sessions to choose from again, where do you go? Assuming you don’t have a schedule set in mind, here are my session picks for QCon NY, day three.
Be sure to view the full schedule and explore all your options, but these are the sessions that really stick out to me as either potentially very educational or simply just interesting.
10:35am, Dumbo/Navy Yard
Want to get fired up for your third day of QCon? I think this talk might be a way to do it.
Cory House, software architect at VinSolutions, will be talking about how to transform from an “average” developer into an “outlier” developer. I’m not sure exactly what that means, but part of it is about increasing your paycheck. That’s a good enough reason to go, right?
“So many of us don’t think about the fact that we have to be deliberate about self-promotion and that it’s not necessarily selfish,” House said in an interview with QCon reps. “If no one knows what we were good at, what are the chances that anyone else is going to get to benefit from our skill set?”
11:50am, Salon D
There’s a lot of hype out there when it comes to microservices. So it’s time for a solid, down-to-earth discussion about what you can expect when you’re expecting the introduction of microservices into your environment.
Daniel Rolnick is the CTO at Yodle, and he warns that microservices is a “buzz word,” and that developers need to be careful about jumping on the band wagon without considering the consequences.
“When you start going the microservices route, people don’t always realize that there are other things that have to happen, necessarily will happen and it can quickly spiral out of control,” Rolnick said in an interview with. “Everything is built on trade-offs and you have to be willing to evolve as your systems evolve.”
But at the end of the day, he will still tell you it’s worth it.
1:40pm, Dumbo/Navy Yard
Did you ever think a Meyer’s Briggs Type Indicator (MBTI) assessment could help you build a better development team? Well, in this session, you’ll find out how it can.
Heather Fleming, VP of product and program management at GILT, will share the framework they use to build productive teams — something they call a “team ingredients” framework — and how empathy with other team members plays a vital role in cultivating a “psychologically safe environment.”
If years of coding have hardened developers’ hearts, maybe Heather can help soften them.
2:55pm, Salon D
This is a true “monolith to microservices” story. Emily Reinhold, a software engineer on Uber’s Money team, is going to share with audience members the lessons they learned breaking up their huge, Python-based monolith into new microservices. This includes not only what they did right, but what they could have done better — including aligning with consumers.
While I’ve traditionally produced content that advises against large migrations to microservices and encourages small iterations, it’s still fun to watch David(s) take on Goliath.
4:10pm, Salon D
I know, I’m overdoing it on the microservices here…oh well.
Assuming Daniel Rolnick didn’t convince you to turn away from microservices, you need to understand what not to do when building those microservices. Here you’re going to learn about “some of the nastiest antipatterns in microservices” and how to take those antipatterns down before they ruin your project.
I have to give a shout out to the speaker Daniel Bryant on this one. I’ve had the chance to sit in on sessions of his before and chat with him one-on-one, and I can say that you always learn something new talking to Daniel.
5:25pm, Salon A/B
Dan will also explain how this project also led to the creation of Nyanpollo, show us the practical difficulties of interfacing with hardware and share videos of and data captured from the mission.
And now you can go to the reception, mingle and watch the screening of Blade Runner.
So you may have your schedule for day one of QCon 2016 down, but are you ready for day number two? For today, I’m going into the weeds on Java, but also taking a good look at containers, dabbling with microservices, viewing some coding competition and learning how developers can be instrumental in social change.
Be sure to view the full schedule and explore all your options, but these are the sessions that really stick out to me as either potentially very educational or simply just interesting.
10:35am, Salon A/B
Hey, I started day one with Netflix, why not day two?
What was behind the 42 billion hours of content streamed to customers from Netflix last year? Containers. In this talk, Netflix engineers Andrew Spyker and Sharma Podila will talk about why they decided to make the jump to AWS EC2 as well as details about their aptly named “Titus” project.
Come ready to learn about implementing container scheduling systems, building and operating a container cloud and what you need to know before building a cluster management system. Time to Netflix and build.
11:50am, Salon C
With all this .NET talk going on, it might be time for some Java – Java 8 specifically.
In this one, Trisha Gee, a Java expert and developer advocate at JetBrains, will show attendees what they may be missing out on in Java 8, particularly things like Lambda Expressions and the Streams API. She’ll also dive into a talk about refactoring code, including how you can automate your refactoring and when you should actually put the brakes on your refactoring efforts.
It’s geared towards intermediate developers, but beginners are encouraged to come, too. Just be prepared to learn.
1:40pm, Salon D
My third session pick for day two is focused on assuring the availability of services through fault-injection. Michalis Zervos is a software engineer at Microsoft, and he will explain how his team uses fault injection to test and break services, identifying key potential failure points.
Even if you’re not a tester, an increasing movement towards DevOps and knowledge of the entire application lifecycle seems to make this a valuable session for who has a hand in producing their company’s software. Its difficulty level is slated at intermediate.
“It’s in the best interest of IT companies and their customers for engineers and managers to embrace the failure testing culture and understand the importance of it,” Zervos said in an interview with QCon representatives. “With that in mind, we want to share our learnings on the subject and try to promote fault injection as a crucial tool for achieving high-availability.”
2:55pm, Salon C
We’ve talked about Java 8 today, so let’s talk about Java 9.
Rossen Stoyanchev is a Spring Framework committer at Pivotal, and he’s going to show us how to approach reactive programming in Java. Specifically, he’s going to talk about the JDK 9 java.util.concurrent.Flow class, which implements features from Reactive Streams.
Intermediate discussion; recommended for anyone who wants to improve their Java knowledge or anyone who wants to learn about reactive programming principles.
4:10pm, Salon C
Am I obsessed with Java today? Probably. But I’m also choosing this session because I’m a sucker for learning about microservices.
Here attendees will get a chance to learn about the main differentiators between microservices and monolith architectures — a topic that never seems to get old — and how JVM can help developers manage large-scale microservice deployments. The speaker, Peter Lawrey, CEO of Higher Frequency Trading Ltd, will also show us make asynchronous messaging simpler and how to handle failure from large scale, low latency implementations of microservices.
This will be a pretty tech-heavy talk, and is recommended for advanced developers.
5:25pm, Salon A/B
Ok, let’s break away from the Java. On to containers — and how to use them appropriately.
Michael Venezia, the principal architect of engineering at Viacom, will explain what people need to know before they decide to start “bringing containers home,” as Venezia puts it. His big thing? You need to have a plan.
Got your QCon session schedule ready yet? If not, it’s worth making a plan to make sure you’re getting the most out of this conference that you possibly can.
Of course I recommend going to both of the Keynote talks: Incident Response: Trade-Offs Under Pressure and Engineering the Red Planet. But there are a lot of tracks and sessions to choose from in the meantime.
Here’s a sample schedule that takes you from the day’s first keynote to the last one. Be sure to view the full schedule and explore all your options, but these are the sessions that really stick out to me as either potentially very educational or simply just interesting.
10:35am, Salon D
Even the magicians at Netflix struggle with API management.
Katharina Probst is presenting this one — she’s the engineering manager at Netflix who leads their API team. She’ll be talking about how their taking their Groovy scripts and helping them pack up to live on their own in isolated containers while still communicating with their API via a data platform provider called Falcor.
While most of us don’t have to worry about streaming millions of people their favorite movies and shows, hopefully this will provide developers and architects some ideas about how they can solve some of the many challenges associated with building a truly cohesive API architecture.
11:50am, Dumbo/Navy Yard
Joe Duffy, a director of engineering at Microsoft and former architect for the Midori OS, is leading this talk, and will dive into how he built an entire OS in a C# dialect. He also promises to go over things like garbage collection, low-level code quality and dealing with errors and concurrency robustly.
“I want to talk about the problems and how to solve them in C#,” Duffy said in an interview with QCon representatives. “A lot of it does come down to practices. And the framework, it turns out, is as important as the language.
This one’s recommended for only those already working with C# or some other .NET language. Java coders: These are not the tips you’re looking for. Move along.
1:40pm, Dumbo/Navy Yard
Like Star Wars? Like code? I think you’ll like this.
Evelina Gabasova, a machine learning researcher working in bioinformatics at Cambridge, is giving this talk. She will attempt to prove how easy it is to process large amounts of data using F# and R by using these languages to glean insights about the Star Wars franchise from public datasets.
“I want to make people aware that F# is a nice language for working with data,” Gabasova said in an interview with QCon representatives. “If you are doing any data science or machine learning, 95% of your time is spent getting data into a usable shape and I think F# is a great language for that.”
This talk seems like it’s definitely for those both working with and interested in working with F#. No word yet on whether Gabasova will be appearing in person or via hologram.
2:55pm, Salon C
This session will be presented by Swati Vauthrin, director of engineering at BuzzFeed, and she will discuss how focusing on creating a diverse software engineering team not only makes sense from a social perspective, but also from a business one.
“Not everybody fits the same mold, and I think that for us that’s been really powerful,” Vauthrin said in an official QCON interview. “It allowed us to think differently, to think about how we are engineering products differently.”
I picked out this session, because it’s easy to get wrapped up in the technology and forget that, at the end of the day, people are what matter. It may also be a healthy change in gears from the day’s more tech-heavy conversations.
4:10pm, Dumbo/Navy Yard
You can’t have a truly complete day at a software development conference without at least a little dose of microservices.
Rachel Reese is a senior software engineer at Jet, a spunky startup set on competing with Amazon. She’s going to show us what the team at Jet has done with microservices in the .NET space (F# and Azure). But don’t let the .NET focus keep you from attending this session — it’s really for anyone interested at all in microservices.
“The most important takeaway is, if you already have microservices, consider going home and fix or change what you do into something better.” Reese said in a QCon interview. “For the folks who aren’t there yet, it’s encouraging you to be more aware of what you are getting into.”
5:25pm, Salon E
If you don’t use Spotify, I’m willing to bet you know someone who does. But did you know they nearly reached their limit when it came to data streaming? To handle their growing data rate of 60 billion events per day, their engineers had to figure out how they were going to successfully scale the event delivery system with Spotify’s growth before disaster struck.
Neville Li is a software engineer at Spotify who works mainly on data infrastructure for machine learning and advanced analytics. He’s going to explain how they leveraged the new event delivery system on Google Cloud Pubsub and Google Cloud Dataflow to meet their scaling needs. Li will explain the lessons they learned from dealing with this data streaming issue, including why the cloud matters. He’ll also talk about Scio, a high level Scala API for the Dataflow SDK that made it easier to use.
This talk is a little technology heavy, but any engineers struggling with data streaming issues and trying to simplify things and reduce operational burdens should get something out of it.
Now it’s time for a day two schedule.