Tag Archives: open-source

  • Using Your Open Source Work to Get a Job


    So you’ve worked on an open-source project, and you want to place that experience on your resume in order to move your career forward. Fantastic! In theory, there’s no reason an employer should shun your experience, just because you did the project from home on your own time. But how can you actually leverage that project work to obtain a full-time job?

    The Entire Project Is a Reflection on You

    First, make sure that any project you present on your resume is a good one. Even if you did an awesome job on your parts of it, a bad project could lead a potential employer to attribute the less-than-stellar elements to you, even if you weren’t responsible.

    To find open-source development jobs, click here.

    For example, the product might prove useful to many people, but the user interface is beyond poor. While you might not have contributed to the UI, your potential employer might not understand that; he or she will click around, increasingly aggravated, and conclude that you don’t know what you’re doing. On that note, also make sure the project is still alive: If it stalled three years ago and never even got a first release, it will surely reflect badly on you, too.

    Open Source as Networking

    As computer folk, we usually spend a lot of time parked in front of our computer screens, and not as much time in meetings and at conferences. That means less time to meet people, although doing so is pretty easy thanks to LinkedIn, Facebook, and other social media. By the very nature of working on an open-source project, you’ve dropped yourself into a collection of like-minded folks. If you interact with them well, you can cite that experience in your next job interview; plus, your new network doubtlessly knows of job openings and freelance work.

    Open Source Is, Well, Open

    One thing to bear in mind is that the whole open source process is public by definition; everything you say in online discussions, and how you respond to bug reports, is generally available to anyone with a Web browser.

    I spoke with an open source industry veteran named Carla Schroder, a senior technical writer with ownCloud, who suggested how somebody’s work in open source could become a positive thing from an employment perspective. “These are real achievements that are out in the open for anyone to see,” she said. “They show that you have skills and that you get things done, so you want to emphasize all of your relevant experience, whether it’s unpaid volunteer or a paid position. Be prepared to supply specific examples of your work.”

    At the same time, your conduct is out there for anyone to view, so you’ll want to be careful in how you present yourself online. “Because FOSS projects are conducted in the open, keep in mind that emails, forum posts, and sometimes IRC sessions are forever,” Schroder added. “Linus Torvalds can get away with funny insults, but the rest of mere mortals are better off minding our manners.”

    Company Culture

    A potential employer’s receptiveness to your open-source experience can give you big insights into its culture: If the company respects open source, you might be happy working there; if they don’t, you probably wouldn’t have been a good fit there, anyway.


    If you’re called in for an interview, prep ahead of time to discuss your project—and make sure you’re ready to discuss it in as professional a light as possible. Talk about deadlines, bug reports and fixes, documentation, source-code control, and user support just as if the project were something you’d completed for a major corporation.


    If you’ve worked on an open source project, and the project is a positive portrayal of your abilities, personality, and work ethic, then you most certainly want to include it on your resume. It could end up the one thing that puts you above the other candidates and lands you the job.

    Upload Your ResumeEmployers want candidates like you. Upload your resume. Show them you’re awesome.

    Related Articles

    Image: Morrowind/Shutterstock.com

    The post Using Your Open Source Work to Get a Job appeared first on Dice News.

  • 5 Top Python GUI Frameworks for 2015


    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.

    To find Python-related jobs, click here.


    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.

    Upload Your ResumeEmployers want candidates like you. Upload your resume. Show them you’re awesome.


    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.

    Related Articles

    Image: pyGUI

    The post 5 Top Python GUI Frameworks for 2015 appeared first on Dice News.

  • How to Snag That CTO Job

    gcpics shutterstock

    Chief Technology Officers (CTOs) need a mix of technical and strategic skills to perform effectively in the C-suite. But more than anything else, CTOs must be motivational leaders with the communication skills to rally the troops—IT employees and non-tech staff alike—around their vision.

    CTOs combine technical chops with managerial savvy, all in the name of aligning the technical needs of the organization with business and financial goals. “A CTO has to define the technology and technical strategy of the company and depending on the scope, deliver on it,” Laurent Bride, CTO at software-integration firm Talend, said in an interview. If you’re looking at software companies, he added, experience as a developer in multiple languages is a must: “Being able to design a high-level scalable, open, and adaptable architecture is also something you would expect from a CTO.”

    Click here to find CTO jobs.

    The aspiring CTO’s resume should show a steady progression up the IT food chain, with development, architecture and management experience as must-haves. “Leading innovation teams can be a plus in the [applicant] mix,” Bride said. A deep understanding of mobile, Big Data, and the cloud are very important these days, although probably not as much as the capability to bridge old and new technologies.

    (Wonder what a CTO’s resume would look like? Check out our sample here.)

    Non-technical skills are just as important as technical ones. In order to deliver on goals, a CTO needs to be a thought leader and someone unafraid of failure. “He or she needs to be pragmatic on delivery plans, while challenging the team for more,” is how Bride frames it. That requires a technical curiosity as well as an innovation focus. Changes in the way enterprise companies consume software, whether it’s cloud, mobile, or open source (as well as the consumerization of enterprise software), will affect how CTOs perform their roles for years to come.

    With all that in mind, those applying for a CTO role should brush up on their communication skills, and be ready to adapt their personal style to the audience. You’ll not only deal with IT staff, but non-technical employees and customers and clients. A good CTO can make complex topics understandable to even the most non-technical people in an organization.

    As with most of the roles on the executive team, CTOs are more involved in the financial direction of the company than ever before—a crucial role, since CTOs are laboring under the pressure of weak IT spending. According to Gartner, worldwide IT spending was flat in 2013, and is on pace to increase a mere 2.1 percent in 2014. Before taking a run at a CTO role, make sure you know your way around a financial statement, and be prepared to counter budgetary constraints with IT innovation.

    Upload Your ResumeEmployers want candidates like you. Upload your resume. Show them you’re awesome.

    Related Articles

    Image: gcpics/Shutterstock.com

    The post How to Snag That CTO Job appeared first on Dice News.

  • Smart Machines Could Cost Tech Industry Millions of IT Jobs

    End-of-year reports from Gartner suggest that, over the next five years, smart machines could replace human workers in a plethora of industries, from manufacturing to warehousing to transportation. Is it a ‘futuristic fantasy,’ as a majority of CEOs tell the analyst firm, or a harsh reality?

  • IaaS or PaaS? The Answer is Yes!

    When deploying to the cloud, you can view its resources as just a set of infrastructure (i.e. servers, network equipment, secure connectivity, and so on), or as a pre-configured software platform on which you deploy your solution (PaaS). The difference is that with PaaS, the cloud vendor offers an integrated environment based on an application solution platform, such as Java or JavaScript and so on, beyond just infrastructure. read more

  • Multiple Perspectives: A Cloud Operating System

    The cloud is an environment for remotely deployed applications to operate. In essence, it serves as an actual operating system (OS) for those deployed applications. For instance, the cloud offers resources in terms of storage, processing power, memory, IO, security and identity services, and everything else required by a general use OS. It’s probably more accurate to use the term virtual operating system to refer to the cloud in this respect. read more