Posts tagged developer
The year 1999 may have been the apex of the dot-com bubble euphoria, but it wasn’t the heyday of Web developers. At least, not according to U.S. state and federal Occupational Employment Statistics, which didn’t even register that “Web developer” was a real job.
Since then, Web development has become so popular that it has made it into our labor statistics even as it has faded as a marketable job skill. Today, it’s not enough to be a generic Web developer: the best developers have specialized.
Catching Up With The Zeitgeist
Government has never been known as an innovator. Nowhere is this more true than in its the data it captures on its workforce. As a new study from Pew Research finds, government jobs data tends to be a lagging indicator of the economy:
In 2013, an estimated 165,100 Americans worked as computer network support specialists, 141,270 as computer network architects, and 78,020 as information security analysts. None of those occupations existed on their own in 1999, though some workers in those fields likely were included in broader job classifications such as “computer programmers” or “network systems and data communications analysts.” But listing them separately speaks to the importance of networked computing in today’s economy.
In other words, the government eventually recognized what those in the industry already knew: The network had become a big deal. Somewhat ironically, the government can sometimes be so late to the party that the party is over by the time the government recognizes it ever existed.
Web development is like that.
Web Developers: On The Out?
As Pew Research highlights, “Web developer” wasn’t even reported as part of the OES classification system until 2012. The report notes this fact with the obvious statement that “[government] data often lags the evolution of the actual economy.”
By the time the OES got around to recognizing web development, the industry seems to have moved on. “Web developer” jobs peaked in 2009, according to Indeed.com data, even though Web development was becoming even more important.
This importance is expressed by a shift away from generic “Web development” to specific Web technologies Web developers need like jQuery and Node.js:
In other words, “Web development” is simply how apps are built now, making government’s and employers’ distinction of “Web developer” far less meaningful. The same is true for mobile. As such, saying “I need a Web developer” or “I need a mobile developer” is increasingly unhelpful as what matters are the technologies these developers know.
The Web You Need To Know Now
So what technologies does a developer need to know in order to escape the anonymous “Web developer” distinction and stand out? Oddly enough, some of the same technologies you needed to know way back in 1999, as data on trending web programming languages from IEEE Spectrum shows:
On that last point, it’s likely that the government will eventually get around to recognizing “mobile developer” as a separate job classification (today it doesn’t). That will likely be long after the industry has figured out that “mobile” is simply how applications are developed/deployed, and technologies like Node.js and PhoneGap are what “mobile developers” really need to know.
Give it time.
Lead image by Jim Sangwine
View full post on ReadWrite
If only Ferris knew what was ahead. That quote comes from much simpler, and slower times. With the web and all it’s related technologies, we have seen life change faster than ever. If life was fast during Ferris’ day, it’s at lightning speed now. But the faster life gets, the more we have to slow down to take stock of things. This is no less true in the ever-changing web. But let’s start at the beginning: web development. This is usually the starting point of a business’ web presence outside of social media. Sometimes, in haste to “get going” […]
The post 21 Things Every Web Developer Should Be Doing by @stoneyd appeared first on Search Engine Journal.
View full post on Search Engine Journal
Six years ago, Swedish programmer Jonas Bonér set about trying to crack some of the most challenging problems in distributed computing. These included scalability, so that a system as large as the Internet of Things won’t fail no matter how large it gets; elasticity, a way of making sure that its computing problems are matched with the right hardware and software at the right time; and fault-tolerance. And he wanted to make sure his system would work in a “concurrent” world in which zillions of calculations are happening at once—and often interacting with one another.
He may or may not have been listening to ABBA while doing so.
Bonér had built compilers, runtimes and open-source frameworks for distributed applications at vendors like BEA and Terracotta. He’d experienced the scale and resilience limitations of existing technologies—CORBA, RPC, XA, EJBs, SOA, and the various Web Services standards and abstraction techniques that Java developers have used to deal with these problems over the last 20 years.
He’d lost faith in those ways of doing things.
This time he looked outside of Java and classical enterprise computing for answers. He spent some time with concurrency-oriented programming languages like Oz and Erlang. Bonér liked how Erlang managed failure for services that simply could not go down—i.e., things like telecom switches for emergency calls—and how principles from Erlang and Oz might also be helpful in solving concurrency and distributed computing problems for mainstream enterprises.
In particular he saw a software concept called the actor model—which emphasizes loose coupling and embracing failure in software systems and dataflow concurrency—as a bridge to the future.
See also: What’s Holding Up The Internet Of Things
After about three to four months of intense thinking and hacking, Bonér shared his vision for the Akka Actor Kernel (now simply “Akka”) on the Scala mailing list, and about a month later shared the first public release of Akka 0.5 on GitHub.
Today Akka—celebrating the five year anniversary for its first public release on July 12—is the open source middleware that major financial institutions use to handle billions of transactions, and that massively trafficked sites like Walmart and Gilt use to scale their services for peak usage.
I recently caught up with Bonér—now CTO and co-founder of Typesafe—to get his take on where Akka has seen traction, how it has evolved through the years and why its community views it as the open-source platform best poised to handle the back-end challenges of the Internet of Things, which is introducing a new order of complexity for distributed applications.
How To Manage Failure When Everything Happens At Once
ReadWrite: What is the problem set that initially leads developers to Akka?
Jonas Bonér: Akka abstracts concurrency, elasticity/scale-on-demand and resilience into a single unified programming model, by embracing share-nothing design and asynchronous message passing. This gives developers one thing to learn, use and maintain regardless of deployment model and runtime topology.
The typical problem set is people want the ability to scale applications both up and out; i.e., utilize both multicore and cloud computing architectures. The way I see it, these scenarios are essentially the same thing: it is all scale-out. Either you scale-out on multicore, where you have multiple isolated CPUs communicating over a QPI link, or you scale-out on multiple nodes, where you have multiple isolated nodes communicating over the network.
Understanding and accepting this fact by embracing share-nothing and message-driven architectures makes things so much simpler.
The other main reason people turn towards Akka is that managing failure in an application is really hard. Unfortunately, to a large extent, failure management is something that historically has been either ignored or handled incorrectly.
Failing At Failure Management
The first problem is that the strong coupling (between components) of long, synchronous request chains raises the risk of cascading failures throughout the application. The second major problem is that the traditional way to represent failure in the programming model is through exceptions thrown in the user’s thread, which leads to defensive programming with the error handling (using try-catch) tangled with the business logic and scattered across the whole application.
Asynchronous message passing decouples components by adding an asynchronous communication boundary—allowing fine-grained and isolated error handling and recovery through compartmentalization. It also allows you to reify errors as messages to be sent through a dedicated error channel for management outside of the user call chain and not just throw it in the caller’s face.
The broad scenarios where Akka gets a lot of traction are those where there are a lot of users and unexpected peaks in visitors, environments where there are a lot of concurrently connected devices and use cases where there is just a ton of raw data or analytics that need to be crunched. Those are all domains where managing scale and failure are of critical importance, and those are where Akka quickly got a lot of traction.
In The Actor’s Studio
RW: What is an “actor,” and why is the actor model that’s been around for more than 40 years seeing a renaissance?
JB: Actors are very lightweight components—you can easily run millions of live actors on commodity hardware—that help developers focus on communications and functions between services. An actor encapsulates state and behaviour and communicates through its own dedicated message queue, called its “mail box.” All communication between actors is message-driven, asynchronous and fire-forget.
Actors decouple the reference to the actor from the runtime actor instance by adding a level of indirection—the so-called ActorRef—through which all communication needs to take place. This enables the loose coupling that forms the basis for both location transparency—enabling true elasticity through an explicit model for distributed computing—and the failure model that I mentioned.
The actor model provides a higher level of abstraction for writing concurrent and distributed systems—it frees the developer from having to deal with explicit locking and thread management, and makes it easier to write correct concurrent and parallel systems. Working with actors also gives you a very dynamic and flexible programming model that allows you to upgrade actors independently of each other and shifting the them around nodes without changing the code—all driven through configuration or adaptively by the runtime behavior of the system.
Like you say, actors are really nothing new. They were defined in a 1973 paper by Carl Hewitt, where discussed for inclusion in the original version of Smalltalk in 1976 and have been popularized by the Erlang programming language which emerged in the early 1980s. They have been used by Ericsson, for example, with great success to build highly concurrent and extremely reliable (99.9999999% availability—equal to 31 millisecond downtime per year) telecom systems.
The main reason that the actor model is growing in popularity is because it is a great way to implement reactive applications, making it easier to write systems [that] are highly concurrent, scalable, elastic, resilient and responsive. It was, like a lot of great technology, ahead of its time, but now the world has caught up and it can start delivering on its promises.
Scaling The Internet Of Things
RW: There is a lot of interest about Akka in the context of the Internet of Things (IoT). What’s your view of the scale challenges that are unique to IoT?
JB: The Internet of Things—with the explosion of sensors—adds a lot of challenges in how to deal with all of these simultaneously connected devices producing lots of data to be retrieved, aggregated, analyzed and pushed back out the the devices while maintaining responsiveness. Challenges include managing huge bursts in traffic in receiving sensor data at peak times, processing of these large amounts of data in both batch processes and real-time, and doing massive simulations simulating real-world usage patterns. Some IoT deployments also require the back end services to manage the devices, not just absorb the data sent from the devices.
The back-end systems managing all this needs to be able to scale on demand and be fully resilient. This is a perfect fit for reactive architectures in general and Akka in particular.
When you are building services to be used by potentially millions of connected devices, you need a model for coping with information flow. You need abstractions for what happens when devices fail, when information is lost and when services fail. Actors have delivery guarantees and isolation properties that are perfect for the IoT world, making it a great tool for simulating millions of concurrently connected sensors producing real-time data.
RW: Typesafe recently collaborated with a number of other vendors on the reactive streams specification, as well as introducing its own Akka Streams. What do the challenges look like for data streaming in an IoT world?
JB: If you have millions of sensors generating data, and you can’t deal with the rate that this data arrives—that’s one early problem set that we’re seeing for the back-end of IoT—you need a means to back-pressure devices and sensors that may not be ready or have the capacity to accept more data. If you look at the end-to-end IoT system—with millions of devices, the need to store data, cleanse it, process it, run analytics, without any service interruption—the requirement for asynchronous, non-blocking, fully back-pressured streams is critical.
We see Akka Streams playing a really important role in keeping up with inbound rates and managing overflow, so that there are proper data bulkheads in IoT systems.
Lead image courtesy of Shutterstock; image of Bonér courtesy of Jonas Bonér
View full post on ReadWrite
At this year’s Game Developers Conference in San Francisco, virtual reality wunderkind Oculus unveiled the second-generation of its much-buzzed-about hardware, the Oculus Rift. The second edition of the Oculus Rift VR headset, known as the DK2, is still very much a development kit and not yet ready for a wide consumer release.
The very first Oculus Rift took the gaming world by storm, but with low resolution and dizzying motion blur issues, the headset had obvious room for improvement. The DK2 takes the baton from the “Crystal Cove” prototype that Oculus showed off earlier this year, which addresses many of those core complaints.
So what’s new with the DK2? Oculus has upped the resolution to 960 x 1080 for each of the Rift’s two visual fields, for starters. The new DK2 also includes a custom-built camera that faces the player to track motion depth and makes efforts to minimize those pesky wires. Now only one 10′ cable extends from the Rift, which splits into an HDMI and a USB cable to provide video and power, respectively.
As for the Oculus Rift’s dizziness problem, the DK2 employs low-persistence OLED to reduce motion blur and judder, which Oculus pinpoints as the two main causes for so-called “simulator sickness,” which we definitely experienced in our time trying out the Rift. Beyond those major improvements, the DK2 ships with a built-in latency tester and an SDK with engine integrations for the Unreal Development Kit, Unreal Engine 4 and Unity 4.
According to the Oculus blog announcement:
“DK2 isn’t identical to the consumer Rift, but the fundamental building blocks for great VR are there. All the content developed using DK2 will work with the consumer Rift. And while the overall experience still needs to improve before it’s consumer-ready, we’re getting closer everyday—DK2 is not the Holodeck yet, but it’s a major step in the right direction.”
There’s still no word on a release date for the consumer version of the Oculus Rift, but it’s still very much in active development. The company may accelerate its efforts now that Sony has officially announced its own VR headset to compete with the Rift, called “Project Morpheus,” but like Oculus, Sony has no further price or release details since that system is similarly in its early stages.
In the meantime, developers interested in exploring the vast, weird world of VR can pre-order the DK2, said to ship in July, for $350.
View full post on ReadWrite
Julie Ann Horvath, an influential developer known for helping make GitHub a more attractive place for women programmers to work, announced Friday night via Twitter that she had quit her job because of alleged harassment by GitHub “leadership”:
I’ve been harassed by ‘leadership’ at GitHub for two years. And I am the first developer to quit.
— Julie Ann Horvath (@nrrrdcore) March 15, 2014
I regret defending GitHub’s culture to feminists for the last two years. I’m sorry to everyone I’ve hurt in doing so.
— Julie Ann Horvath (@nrrrdcore) March 15, 2014
Horvath wasn’t very specific about her reasons for leaving GitHub. In her comments on Twitter, Horvath implied that she quit her job because of “aggressive behavior” that was disguised as “professional feedback.” She wrote that she faced unspecified “harassment” from GitHub “leadership” (a word she set in quotation marks) for two years, adding that “[w]hat I endured as an employee of GitHub was unacceptable and went unnoticed by most.”
Shortly thereafter, she added: “Also a reminder that what looks good from the outside may be systematically fucked on the inside.” Horvath also wrote that she hopes GitHub will ask the people “responsible for abuse and harassment” to resign. In response to a question on Twitter, Horvath confirmed that her alleged harassment wasn’t sexual in nature.
Horvath delivered her broadside against GitHub shortly after she’d complained on Twitter about a post on the anonymous service Secret that, she said, attempted to “assassinate my character.” The post on Secret, submitted by someone who referred to himself or herself as “greenshirt” (presumably because the account on Secret uses a green shirt as an avatar), accused Horvath of specific types of unprofessional conduct without providing details.
It’s unclear whether Horvath intends to go into more detail regarding her accusations. As of publication, she had not responded to requests for comment by email. On Friday evening, Horvath tweeted, “I will be writing about my experiences soon.” By Saturday afternoon, though, she hedged a bit with this tweet: “I’m only interested in telling my story so that others can learn from it. It seems like my comments here may have been enough.”
We have reached out to GitHub for comment and will update this piece when and if we learn more.
Until Horvath left, it looked like GitHub was becoming a significantly progressive anomaly in the tech world. Last year, Horvath founded Passion Projects—GitHub’s first and only talk series—which invites notable women in technology to talk about their careers.
Since Passion Projects began, GitHub ditched a rug that some minority programmers found offensive. During the second half of 2013, a quarter of GitHub’s most recent 60 hires were women—and some directly because of Passion Projects, according to then CEO Tom Preston-Werner.
Horvath’s departure puts a huge dent in GitHub’s women-friendly reputation, but she said she won’t stop her efforts to make the tech community a better place for women to work. Horvath said she’ll continue to give Passion Projects talks “on the road.”
“I’m not quitting tech. I’m not gonna hide. This is my community. These are my people,” she tweeted.
Update: An earlier version of this article briefly, but incorrectly, failed to acknowledge the difference between code hosted in a GitHub repository and GitHub’s own code.
View full post on ReadWrite
Google’s head of Chrome and Android, Sundar Pichai, announced today that the company would release a new software developer kit for wearable gadgets within the next two weeks. Speaking with John Battelle at a panel discussion at SXSW 2014, Pichai mentioned that new SDK was coming from Google to help developers create Android apps for devices like smartwatches and fitness bands.
“In two weeks we are launching the first developer SDK for Android. That will lay out the vision for developers in how we see this market working,” Pichai said.
Pichai didn’t give more details of what the Android SDK for wearables would specifically entail, but it will likely help developers take advantage of current and emerging sensor technology that will be baked into smartwatches and fitness bands. Google has released similar SDKs for Android for television, automobiles and tablets.
View full post on ReadWrite
Facebook announced today that its developers conference—F8—will return after a hiatus of three years on April 30th at at the San Francisco Design Concourse. Parse CEO Ilya Sukhar announced the return of f8 at an event at South By Southwest in Austin, Texas.
Event registration and details will be made by Facebook shortly. For more information, see the F8 event page here.
View full post on ReadWrite
Google typically holds its annual I/O conference towards the end of June, but this year, the search giant will add a few more developer conferences to its schedule—one completely centered on its new experimental modular smartphone, “Project Ara.”
On Thursday, Google announced (via Google+) the first of three Ara Developers’ Conferences on April 15-16—a meeting that will be held online, with a “limited number of participants” able to attend in person. The conference will highlight the release of the Ara Module Developers’ Kit (MDK), which is a free and open platform designed to contain everything developers need to build an Ara module. (Hint: It may or may not involve 3D printing.)
The full agenda for April’s Ara Developers’ Conference will go live in the coming weeks on projectara.com.
Lead image by Google Advanced Technology And Projects (ATAP)
View full post on ReadWrite
Why ASO May Be The New SEO
App Developer Magazine
Just like the evolution of SEO, ASO is no different. It's important to include your keywords within your title and description, but you should refrain from keyword stuffing or spamming. While the Google Play or Apple App Store may not issue penalties …
View full post on SEO – Google News