What skills do people in industry look for when they hire developers
Caveat: Industry means the software industry. And, in non software field, anyone developing/using the web
Industry is more and more looking for developers who have a 'FOSS skill set', even if not hired for FOSS development. So what skills are they looking for? Note: Application developers.
- Published contributions to open source projects
- Ability to study an existing codebase, debug it and modify/enhance it
- Knowledge of the LAMP stack : PHP/Perl/Python + Apache + MySQL/PostgreSQL + GNU/Linux/BSD
- Proficiency in one or more scripting languages - PHP/Perl/Python/Ruby
- Shell scripting
- Basics of Linux/BSD usage and administration
- Familiarity with Subversion/Trac/CVS/Bugzilla
- Familiarity with cc/gcc, make, automake, autoconf
- CSS, HTML, XML basics - indepth Javascript
- GUI toolkit
- Fundamentals of SQL and familiarity with MySQL/PostgreSQL
- Apache webserver configuration
- Familiarity with wikis and mailing lists
- Familiarity with Open Source CMS/CRM/ERP ...
Skills for Web developers
- LAMP programming languages
- Connecting to a database from any of the P* programming language
- basic database administration - like hot/cold backups, load balancing between 2 or more databases, finding bottlenecks in queries
- doing a join across 3 tables
- Configuring a virtualhost on apache
- Basic knowledge of tuning webservers and databases
- Familarity with Javascript
- Familarity with a Javascript framework - YUI/Dojo etc.
- OOPs in any language
- Knowledge of Design patterns is a major plus
- Knowledge of using source control plus
- Knowledge of any packaging scheme used by *nix systems
Comments
A. I believe that some knowledge of the following basic stuff is essential for any developer in *nix/*BSD:
A1. boot loader :- grub, lilo, managing multiple partitions/OS's
A2. basic knowledge of bash scripts. Should be able to at least peruse and comprehend /etc/rc* scripts.
A3. Ability to recompile the kernel
B. Some of this is complementary to stuff already mentioned.
B1. download and install one sourceforge project.
B2. evaluate competing (existing) FOSS applications for a given task - IE skills for application developers
C. Ability to RTFM and STFW is defenitely a pre-requisite IMHO
