(As told by a Developer)
As we said goodbye to 2017, we can’t help but wonder what developer trends were the most impactful last year - and which ones will be sticking around into 2018!
We had the chance to chat in depth with Senior UI Engineer at Awake Security, Nathan Faubion, who talked with us about one major trend that’s finally on the upswing and what this means in terms of productivity for developers in 2018.
Q. How long have you been a developer and what do you do specifically for Awake Security?
Q. What recent trend have developers had to adjust to in 2017 and do you think it will continue in 2018?
Nathan: Building rich, interactive user interfaces on top of web/browser technology is still a fairly recent development - on top of a platform that wasn’t really designed for it.
Verifying that the software you’ve built conforms to the desired specification (correctness) is difficult in any domain, but it’s always been especially difficult on a platform as volatile as the web stack. I think it’s always been a little slow to catch up given it’s wild-west nature.
Q: Before this trend or development how did you verify software?
Nathan: For a long time, we’d just verify by manually clicking around in the browser and calling it a day. It took a while to convince people that writing automated tests was a worthwhile thing to do, which sounds incredibly silly in hindsight.
Automatic verification of correctness is one of the biggest boosts to productivity to any development team, as it helps mitigate the fear that changing internals, and especially paying down technical debt, will just create more bugs in the end product.
Q: Moving forward in 2018, what trends would you like to see become more popular or develop all together?
Nathan: As our projects and teams grow, we need a tool at our disposal to help mitigate complexity and improve the correctness of our products.
A fantastic tool for any developer is a good static type system. The web stack has always been built on dynamic languages, which let you churn out code without any barriers.
Q: Building web stacks on dynamic languages sounds like it would be a good thing, why would that need to change?
Nathan: In the past this was seen as an advantage, since static type systems were generally inexpressive, with lots of boilerplate, and lacked a good payoff. Thankfully, the research that has been collected in the typed functional programming community has started to trickle down to the mainstream, showing us that type systems can be incredibly expressive and intelligent, with good inference and much less boilerplate.
In other words, ten years ago projects like TypeScript and Flow would have been derided in the web community, but are now seen as an asset.
Q: How does this affect overall productivity?
Having those sanity checks -- that our applications at least make good logical sense, before we open a browser, and especially before shipping off to QA -- is another huge leap forward for productivity. And one that will and should continue into 2018.
To check out how Awake Security is improving security team productivity by at least 10X, while using machine learning to stop threats and track networks the way humans think of them, visit them here.