Which industries are the most lucrative for tech pros? According to the latest Dice Salary Survey, banking and finance is in first place—perhaps no surprise, given the segment’s reputation as a high-salary, big-perks environment.
Here are some of the others:
2015 salary: $106,913
Year-over-year change: 7.9 percent
Banks and financial-services firms have an intense need for tech professionals who specialize in data analytics, database management, and software development. Security-related skills are also in high demand.
2. Aerospace & Defense
2015 salary: $106,050
Year-over-year change: 6.6 percent
In states such as Colorado and Virginia, the defense industry has a robust presence—and it’s hungry for tech talent. Cyber-security experts are particularly valued in this arena.
2015 salary: $105,418
Year-over-year change: 15.9 percent
With the advent of streaming and other cloud-based services for movies, music, and books, it’s no wonder that the entertainment industry needs (and is willing to pay for) tech pros.
2015 salary: $103,736
Year-over-year change: 6.8 percent
Cyber-security and Big Data pros will play a big role in coming years as utility companies move to update (and harden) their respective grids.
5. Professional Services
2015 salary: $103,685
Year-over-year change: 5.3 percent
Consultants and others who fall in the ‘professional services’ category help companies with a variety of tasks, including the upgrading of IT infrastructure. Thanks to companies’ continual need for outside help, salaries in this category have risen over the past few years.
6. Computer Software
2015 salary: $101,097
Year-over-year change: 5.6 percent
Software is eating the world, as investor Marc Andreessen once said. With the Internet of Things and other burgeoning segments expanding software platforms to everything from fridges to cars, it’s hard to imagine a scenario in which apps and cloud-based services don’t become even more ubiquitous in coming years.
2015 salary: $103,736
Year-over-year change: 9.8 percent
Evolutions in biotech are based on the ability to store and analyze massive amounts of information, making Big Data experts progressively more important to the field.
2015 salary: $99,420
Year-over-year change: 11.2 percent
Just wait until 5G becomes the mobile telecommunications standard: it’ll kick off a paradigm shift in how people not only build apps and services, but also consume data.
9. Computer Hardware
2015 salary: $99,346
Year-over-year change: 7.6 percent
Software needs hardware on which to run; the tech industry needs hardware experts who can build lighter, faster, cheaper systems. Although the U.S. manufacturing industry has seen a steady corrosion in the number of jobs over the past few years, the need for hardware experts remains strong.
10. Consumer Products
2015 salary: $98,920
Year-over-year change: 14.2 percent
As consumer products become increasingly connected to the Web (thanks to the still-nascent Internet of Things movement), there’ll be a rising need for cloud and connectivity experts who can make those goods “smart.”
As a Python developer, sooner or later you’ll want to write an application with a graphical user interface. Fortunately, there are a lot of options on the tools front: The Python wiki on GUI programming lists over 30 cross-platform frameworks, as well as Pyjamas, a tool for cross-browser Web development based on a port of the Google Web Toolkit.
How to choose between all these options for Python GUIs? I started by narrowing it down to those that included all three platforms (Windows, Mac, and Linux) and, where possible, Python 3. After that filtering, I found four toolkits (Gtk, Qt, Tk, and wxWidgets) and five frameworks (Kivy, PyQt, gui2Py, libavg and wxPython). Here’s why I like them.
One of the more interesting projects, the liberal MIT-licensed Kivy is based on OpenGL ES 2 and includes native multi-touch for each platform and Android/iOS. It’s an event-driven framework based around a main loop, and is thus very suitable for game development. Your application adds callbacks from the main loop at a scheduled frequency, or by one-off trigger. The Kivy framework is very powerful for handling everything from widgets to animation, and includes its own language for describing user interface and interactions.
If you want to create cross-platform graphical applications, or just need a very powerful cross-platform GUI, Kivy is highly recommended.
Qt is a multi-licensed cross-platform framework written in C++. If your application is completely open source, you can use Qt for free under the community license; otherwise you’ll need a commercial license. Qt has been around for a long time and was owned by Nokia for a while; it’s a very comprehensive library of tools and APIs, widely used in many industries, and covers many platforms including mobile. If a gadget such as a SatNav has a GUI, there’s a good chance it’ll be Qt based.
Compared to Kivy and PyQt, PyGUI is considerably simpler and just for Unix, Macintosh and Windows platforms. Developed by Dr. Greg Ewing at the University of Canterbury in New Zealand, the MVC framework focuses on fitting into the Python ecosystem as easily as possible.
One of the platform’s aims is to interpose as little code as possible between the Python application and the platform’s underlying GUI so the application’s display always reflects the native GUI of the platform. If you’re after a simple and quick way to learn GUI, start with this one.
This is another third-party library, written in C++ and scripted from Python, with properties of display elements as Python variables, a full-featured event handling system, timers (setTimeout, setInterval), support for logging and more. Like Kivy, libavg uses OpenGL and makes use of hardware acceleration.
Libavg runs on Linux, Mac OS X and Windows, and is open source and licensed under the LGPL. It’s been used extensively for artistic exhibitions and has a wide range of features such as a layout engine that can deal with thousands of objects (images, text, videos and camera output), fast video output, and a markup system for displaying text, as well as GPU shader effects such as blur, Chromakery and more. Plugins written in C++ have access to all libavg internals.
If you ever see many people playing a multi-touch game on a large flat display, you might be looking at a good example of libavg in action.
There have already been two books written about wxPython, making it worth a mention even if it isn’t quite ready for Python 3. WxPython is based on wxWidgets, a cross-platform GUI library written in C++. In addition to the standard dialogs, it includes a 2D path drawing API, dockable windows, support for many file formats and both text-editing and word-processing widgets.
There’s a great set of demos provided with wxPython, along with several sets of tutorials to help get you started. Given that wxWidgets has a 22-year development pedigree, this is one of the most popular frameworks. Make sure you read the wiki.
This is a great set of frameworks that should cover most needs. All except PyQt are completely free.
- A Look at 5 Free Python Editors
- Python Snakes Up List of Fastest-Growing Skills
- Are Python and Objective-C Worth Learning?