Help me Become an IT Ninja!
May 17, 2008 2:32 AM Subscribe
I know what I like to do and I think I've found a job to go along with it. My problem is: padding my resume.
For the past 6 months or so I've been looking for work in a town that is not friendly to people with degree's. I seem to be stuck in a town where everyone who works in IT (my industry and area of study) is mid-30's sporting a family and a mortgage. They've all been to other places, gotten some industry experience and come back raise kids in this idyllic wasteland. I'm fresh out of college with a fairly impressive resume and a will to work, but I've found nothing until now.
One thing this ridiculously long job search has taught me, is to focus my resume toward the job I'm going for and to highlight the skills that apply most favorably to the job. So in that spirit I spent a lot of time tailoring my resume to suit the needs of my latest find and it's paid off! So, what I want to do now, to shorten future job searches and hopefully make myself more attractive to future employers is pad my resume with skills and technologies that will help me in the future.
I really like being a generalist. During an internship, I worked with a group of professionals who's job was to facilitate the working of software engineers; They would do the builds, dream up automations and ways to increase efficiency, propose and deploy Wiki technology to help with documentation and communication, etc. I was tasked with creating a way to parallelize the build process of their software. This current job is pretty similar: web programming, database work, System Administration, technical support, network tech duties, technical writing (manuals, documentation, etc), creation and formalization of procedures, scouting new technologies, etc. It's all very general and not very tightly focused, which makes this particular search for knowledge that much more challenging. I seem to end up doing this sort of “IT Ninja” job wherever I go, because I come up with, sell and deploy my good ideas with a high success rate.
To that end, I want to be on the look out for skills and technologies that I can use to sell myself as a “Ninja” and eventually a project manager and / or contractor. And perhaps leverage such technologies into the work I do, so that I can gain the skills and enrich the company I'm working for at the same time. I can name some attractive skills off the top of my head; E.g. SOAP, Java, Perl, etc. But, I know my mental list is nowhere complete.
Now that my long winded exposition is done, here are my questions:
What job title would most closely fit my short description of an “IT Ninja” above?
What skills and technologies would be useful for me to learn as a pursue my long term goals of a being a professional “Ninja”?
For the past 6 months or so I've been looking for work in a town that is not friendly to people with degree's. I seem to be stuck in a town where everyone who works in IT (my industry and area of study) is mid-30's sporting a family and a mortgage. They've all been to other places, gotten some industry experience and come back raise kids in this idyllic wasteland. I'm fresh out of college with a fairly impressive resume and a will to work, but I've found nothing until now.
One thing this ridiculously long job search has taught me, is to focus my resume toward the job I'm going for and to highlight the skills that apply most favorably to the job. So in that spirit I spent a lot of time tailoring my resume to suit the needs of my latest find and it's paid off! So, what I want to do now, to shorten future job searches and hopefully make myself more attractive to future employers is pad my resume with skills and technologies that will help me in the future.
I really like being a generalist. During an internship, I worked with a group of professionals who's job was to facilitate the working of software engineers; They would do the builds, dream up automations and ways to increase efficiency, propose and deploy Wiki technology to help with documentation and communication, etc. I was tasked with creating a way to parallelize the build process of their software. This current job is pretty similar: web programming, database work, System Administration, technical support, network tech duties, technical writing (manuals, documentation, etc), creation and formalization of procedures, scouting new technologies, etc. It's all very general and not very tightly focused, which makes this particular search for knowledge that much more challenging. I seem to end up doing this sort of “IT Ninja” job wherever I go, because I come up with, sell and deploy my good ideas with a high success rate.
To that end, I want to be on the look out for skills and technologies that I can use to sell myself as a “Ninja” and eventually a project manager and / or contractor. And perhaps leverage such technologies into the work I do, so that I can gain the skills and enrich the company I'm working for at the same time. I can name some attractive skills off the top of my head; E.g. SOAP, Java, Perl, etc. But, I know my mental list is nowhere complete.
Now that my long winded exposition is done, here are my questions:
What job title would most closely fit my short description of an “IT Ninja” above?
What skills and technologies would be useful for me to learn as a pursue my long term goals of a being a professional “Ninja”?
It's unclear from your question what it is that you actually know how to do.
posted by orthogonality at 3:09 AM on May 17, 2008 [1 favorite]
posted by orthogonality at 3:09 AM on May 17, 2008 [1 favorite]
On the padding point... Padding could mean "putting fake stuff", but I've always taken it to mean that some on sought out a job, position or skill only to make the resume look better.
To that degree I think what might make it look best it to show that you used those skills more than just know those skills. I know C, but I don't use it all the time, and anyone that see's C listed as a skill knows that. So what you might want to do is put the skills under the jobs you used them so they know you are proficient in it.
****
blah blah Job SomeDate-SomeOtherDate
Data base management with MySQL
server administration
- wrote patches in PERL.
- other things you did
****
Just an idea that I like a lot better than the "skills" section people put on resume's
As far as IT skills go, You need basic hardware trouble shooting, database admin, server admin, scripting experience, I think what is often most useful in IT is just being personable. Try to make sure the resume shows you worked well with others.
posted by magikker at 3:16 AM on May 17, 2008
To that degree I think what might make it look best it to show that you used those skills more than just know those skills. I know C, but I don't use it all the time, and anyone that see's C listed as a skill knows that. So what you might want to do is put the skills under the jobs you used them so they know you are proficient in it.
****
blah blah Job SomeDate-SomeOtherDate
Data base management with MySQL
server administration
- wrote patches in PERL.
- other things you did
****
Just an idea that I like a lot better than the "skills" section people put on resume's
As far as IT skills go, You need basic hardware trouble shooting, database admin, server admin, scripting experience, I think what is often most useful in IT is just being personable. Try to make sure the resume shows you worked well with others.
posted by magikker at 3:16 AM on May 17, 2008
IT consulting.
MeMail me if you want more info on this, or just check out some of the bigger organisations. In that field you're expected to be a ninja, or learn to be one pretty damn quick. Career paths will differ for generalists/specialists etc, but I think this sort of work will give you what you want. I know there's actually a MeFi jobs post from allkindsoftime for this at the moment.
In hiring people for that field, I look less at their technical skills (though its obviously relevant), and more at how they approach a problem. I try to understand if they're likely to just roll with it if something goes wrong, or they're going to be unreliable or quickly out of depth. This isn't easy to display on a resume, but it might be useful.
posted by kaydo at 5:11 AM on May 17, 2008
MeMail me if you want more info on this, or just check out some of the bigger organisations. In that field you're expected to be a ninja, or learn to be one pretty damn quick. Career paths will differ for generalists/specialists etc, but I think this sort of work will give you what you want. I know there's actually a MeFi jobs post from allkindsoftime for this at the moment.
In hiring people for that field, I look less at their technical skills (though its obviously relevant), and more at how they approach a problem. I try to understand if they're likely to just roll with it if something goes wrong, or they're going to be unreliable or quickly out of depth. This isn't easy to display on a resume, but it might be useful.
posted by kaydo at 5:11 AM on May 17, 2008
I'm fresh out of college with a fairly impressive resume
If you believe a resume can be impressive when you just graduated, that might explain why you think the town is unfriendly to college degrees. We had a fair number of guys with this attitude come into the last place I worked. The best advice I can give you to becoming useful in IT is to make sure your head is not lodged in your ass and listen a lot more than you talk.
posted by yerfatma at 8:18 AM on May 17, 2008 [3 favorites]
If you believe a resume can be impressive when you just graduated, that might explain why you think the town is unfriendly to college degrees. We had a fair number of guys with this attitude come into the last place I worked. The best advice I can give you to becoming useful in IT is to make sure your head is not lodged in your ass and listen a lot more than you talk.
posted by yerfatma at 8:18 AM on May 17, 2008 [3 favorites]
Don't put down job duties that you listed above such as
I was tasked with creating a way to parallelize the build process of their software. This current job is pretty similar: web programming, database work, System Administration, technical support, network tech duties, technical writing (manuals, documentation, etc), creation and formalization of procedures, scouting new technologies, etc.
on your resume. A reader doesn't know if "database work" means "I ran three queries" or "I migrated an existing database to a new schema of my design which improved query speed by 30% and normalized data types for later improvement." Your resume should have examples of the latter, not the former.
Job titles are pretty close to meaningless, stick to the description. In my experience, IT means more of a Sysadmin/"keep things working" kind of position, it doesn't usually entail what you list above since engineers live in a different realm than IT.
Also, to echo yerfatma's point - internships aren't as impressive as you may think. Interns are generally given lower-priority tasks and more intensive supervision, simply because everyone knows they don't really need the job. If an interviewer senses that you know less than your ego might indicate, there's no way you'll get the position.
posted by meowzilla at 10:24 AM on May 17, 2008 [1 favorite]
I was tasked with creating a way to parallelize the build process of their software. This current job is pretty similar: web programming, database work, System Administration, technical support, network tech duties, technical writing (manuals, documentation, etc), creation and formalization of procedures, scouting new technologies, etc.
on your resume. A reader doesn't know if "database work" means "I ran three queries" or "I migrated an existing database to a new schema of my design which improved query speed by 30% and normalized data types for later improvement." Your resume should have examples of the latter, not the former.
Job titles are pretty close to meaningless, stick to the description. In my experience, IT means more of a Sysadmin/"keep things working" kind of position, it doesn't usually entail what you list above since engineers live in a different realm than IT.
Also, to echo yerfatma's point - internships aren't as impressive as you may think. Interns are generally given lower-priority tasks and more intensive supervision, simply because everyone knows they don't really need the job. If an interviewer senses that you know less than your ego might indicate, there's no way you'll get the position.
posted by meowzilla at 10:24 AM on May 17, 2008 [1 favorite]
Response by poster: Okay, not "padding". Learn more skills to broaden my experience and make me more desirable to a wider variety of employers as well as make more generally experienced in IT circles. I thought "padding" would be more succinct, I wasn't aware that there was a less savory connotation to the word.
posted by Pontifex at 5:57 PM on May 17, 2008
posted by Pontifex at 5:57 PM on May 17, 2008
Response by poster: magikker: Good point! I was actually going to look for more "tech related resume help" here in a bit, but I thought I'd get more focus on this question first; Just because it was bugging me having such an amorphous idea about what I liked in the work place.
posted by Pontifex at 6:00 PM on May 17, 2008
posted by Pontifex at 6:00 PM on May 17, 2008
Response by poster: yerfatma: I'm only parroting what other people have said as they've reviewed my resume. I'm not the first to toot my own horn, or even get close to the instrument, but given the amount of positive feedback, I thought the comment was warranted.
posted by Pontifex at 6:01 PM on May 17, 2008
posted by Pontifex at 6:01 PM on May 17, 2008
Response by poster: So Thank you all for your comments thus far. I'll try illuminate what I was looking for, as this thread seems to have gotten a bit off track.
What I'm looking for is a set of "sexy skills" that are in common industry use today. For example:
Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.
Database - MSSQL, MySQL, etc
Programming - Python, Java, C#, ASP.NET, etc
When looking around for work I see some of these technologies listed as "necessary skills" for a given position. I also know them from reading IT literature and just being a nerd. They're the skills that pop, desirable skills that employers want to see experience with.
I know something about the ones I listed, but I can't claim fluency or even a degree of knowledge about all of them. But, I would like to.
This serves two purposes: It makes me more desirable to a wider variety of companies and also it helps me to recommend a given popular industry standard technology if I'm called upon to solve a problem. If I know some of the most popular and standardized tools in the field today, I can more easily solve exotic problems by taking advantage of them.
For example. If I were going to build a web site with the same clean design and richness of features as Metafilter, I would have to do some basic research on the subject. Start from scratch. But if I knew some of the "sexy" web design tools I could make some logical assumptions about what goes into making a site like this and immediately begin fabrication with a smaller amount of time researching specifics.
posted by Pontifex at 6:20 PM on May 17, 2008
What I'm looking for is a set of "sexy skills" that are in common industry use today. For example:
Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.
Database - MSSQL, MySQL, etc
Programming - Python, Java, C#, ASP.NET, etc
When looking around for work I see some of these technologies listed as "necessary skills" for a given position. I also know them from reading IT literature and just being a nerd. They're the skills that pop, desirable skills that employers want to see experience with.
I know something about the ones I listed, but I can't claim fluency or even a degree of knowledge about all of them. But, I would like to.
This serves two purposes: It makes me more desirable to a wider variety of companies and also it helps me to recommend a given popular industry standard technology if I'm called upon to solve a problem. If I know some of the most popular and standardized tools in the field today, I can more easily solve exotic problems by taking advantage of them.
For example. If I were going to build a web site with the same clean design and richness of features as Metafilter, I would have to do some basic research on the subject. Start from scratch. But if I knew some of the "sexy" web design tools I could make some logical assumptions about what goes into making a site like this and immediately begin fabrication with a smaller amount of time researching specifics.
posted by Pontifex at 6:20 PM on May 17, 2008
Pontifex writes "What I'm looking for is a set of 'sexy skills' that are in common industry use today. For example:
"Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.
"Database - MSSQL, MySQL, etc
"Programming - Python, Java, C#, ASP.NET, etc"
No one's going to give you a job just for knowing buzzwords.
Well, maybe some pricey "consulting" firm will.
But you're missing the point: these aren't skills, they're ways of applying skills. Are there differences between MS SQL Server and MySQL? Sure are, but the commonalities are much greater.
You should know SQL and RDBMS design principles. If you tell me you "know" MS SQL or MySQL, I become suspicious that you've used a tool, but not understood why you're using it.
If you tell me you "know" MS SQL and MySQL but never mention knowing SQL, I know that you're just a "fool with tool" who is either not bright enough or not curious enough to understand the foundational knowledge of the discipline he pretends to practice.
Same with "Programming - Python, Java, C#, ASP.NET, etc". Sure, call out each language you're comfortable using. But understand that one procedural language is much like another, and by listing what languages you know, you indicate ignorance of any non-procedural languages or even their existence. (Not to mention, you've listed four languages that are descended from C, but not C, suggesting again, that you don't understand the commonalities that group what you think you know.)
And worse with ""Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.". Here you throw together a programming language, a web framework, a web scripting language, a web standard, and a more-or-less ad hoc tecnique for making web pages dynamic. This basically reads as a mess of buzzwords, or at best as a guy who's done some web site programming that, mirable dictu, happened to work!
So basically, I get the impression that you know just enough to be dangerous, that you're exclusively a "web guy" and probably think all programming is about "the web", that you've probably only maintained others' work, making a change here or there, without really understanding the system or your change, or your change's impact on the system. I'd be very afraid to turn you loose on your own, and so would have to factor in closely supervising you to any job offer. I get the impression that you think you know much more than you do know. (I could be wrong, not having seen your actual resume.)
You seem convinced that you need to add sizzle to your resume, but serious employers want steak. And you give every appearance of not having much real to offer. That said, you sound enthusiastic (if a bit lazy) and I might see hiring you for a very entry level position. But at this point, you've not demonstrated you're a programmer -- just a guy who wants to figure out what buzz words to use to sell himself. Andno one only idiots want to hire that guy.
posted by orthogonality at 7:15 PM on May 17, 2008 [2 favorites]
"Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.
"Database - MSSQL, MySQL, etc
"Programming - Python, Java, C#, ASP.NET, etc"
No one's going to give you a job just for knowing buzzwords.
Well, maybe some pricey "consulting" firm will.
But you're missing the point: these aren't skills, they're ways of applying skills. Are there differences between MS SQL Server and MySQL? Sure are, but the commonalities are much greater.
You should know SQL and RDBMS design principles. If you tell me you "know" MS SQL or MySQL, I become suspicious that you've used a tool, but not understood why you're using it.
If you tell me you "know" MS SQL and MySQL but never mention knowing SQL, I know that you're just a "fool with tool" who is either not bright enough or not curious enough to understand the foundational knowledge of the discipline he pretends to practice.
Same with "Programming - Python, Java, C#, ASP.NET, etc". Sure, call out each language you're comfortable using. But understand that one procedural language is much like another, and by listing what languages you know, you indicate ignorance of any non-procedural languages or even their existence. (Not to mention, you've listed four languages that are descended from C, but not C, suggesting again, that you don't understand the commonalities that group what you think you know.)
And worse with ""Web Design / Programming - PHP, Ruby on Rails, Cold Fusion, CSS, AJAX, etc.". Here you throw together a programming language, a web framework, a web scripting language, a web standard, and a more-or-less ad hoc tecnique for making web pages dynamic. This basically reads as a mess of buzzwords, or at best as a guy who's done some web site programming that, mirable dictu, happened to work!
So basically, I get the impression that you know just enough to be dangerous, that you're exclusively a "web guy" and probably think all programming is about "the web", that you've probably only maintained others' work, making a change here or there, without really understanding the system or your change, or your change's impact on the system. I'd be very afraid to turn you loose on your own, and so would have to factor in closely supervising you to any job offer. I get the impression that you think you know much more than you do know. (I could be wrong, not having seen your actual resume.)
You seem convinced that you need to add sizzle to your resume, but serious employers want steak. And you give every appearance of not having much real to offer. That said, you sound enthusiastic (if a bit lazy) and I might see hiring you for a very entry level position. But at this point, you've not demonstrated you're a programmer -- just a guy who wants to figure out what buzz words to use to sell himself. And
posted by orthogonality at 7:15 PM on May 17, 2008 [2 favorites]
Response by poster: Well I know a lot of idiots, I can tell you. During my interviews I've had several interviewers ask about technologies that I don't have first hand experience with, but can tout basic understanding of technologies (from my education) and it's been a serious detriment to my job search. Most if not all employers in town are asking for specific experience with specific technologies. Not only that, but several job postings on metafilter also outline several “highly desired” or “required” skills / technolgies, some examples:
Web Application UI Designer
CSS
Ruby on Rails
AJAX
Python Programmer
AJAX
PostgreSQL
QA Engineer
CSS
PHP
SQL
Programmer: SQL, VBA, Java, Web Development, Databases
Access
MySQL
PHP
Java
All the technologies I can explain the basis of and even point to some personal experience I've had in using them or derivatives, but without the “fool with a tool” effect I'm MUCH less likely to get an interview or even call back. These postings are actually above and beyond the usual dross I have to deal with. On average technology related postings in my area require experience with the position or an equivalent degree, which is then followed by a listing of "Fool's Tools" to have experience with. There's no mention of general skills in any regard, beyond the degree-or-equivalent-experience line. I think all of these listings are "serious employers" as you put it, while you would term all of the offerings in my area "idiots".
On one memorable occasion I had a job description around here that “required” that I know Access, MS SQL, and have “significant database experience” but was essentially a data entry job manipulating some pre-built interface to their existing database. So really, when dealing with the “idiots” around here I feel the very real pinch of not having the “Fool's Tools” on my resume.
No one's going to give you a job just for knowing buzzwords.
From this line, I highly doubt you read my entire post. In the above response, I stated quite clearly that I'm looking for industry standard skills to augment my own skill set so that I can learn about them to apply them correctly:
This serves two purposes: It makes me more desirable to a wider variety of companies and also it helps me to recommend a given popular industry standard technology if I'm called upon to solve a problem. If I know some of the most popular and standardized tools in the field today, I can more easily solve exotic problems by taking advantage of them.
(Emphasis mine)
So thank you for your post, if only to more clearly illuminate what I'm NOT asking for. Though in future, please check your personal preconceptions at the door. I don't appreciate the tone you've painted me in.
posted by Pontifex at 10:20 PM on May 17, 2008
Web Application UI Designer
CSS
Ruby on Rails
AJAX
Python Programmer
AJAX
PostgreSQL
QA Engineer
CSS
PHP
SQL
Programmer: SQL, VBA, Java, Web Development, Databases
Access
MySQL
PHP
Java
All the technologies I can explain the basis of and even point to some personal experience I've had in using them or derivatives, but without the “fool with a tool” effect I'm MUCH less likely to get an interview or even call back. These postings are actually above and beyond the usual dross I have to deal with. On average technology related postings in my area require experience with the position or an equivalent degree, which is then followed by a listing of "Fool's Tools" to have experience with. There's no mention of general skills in any regard, beyond the degree-or-equivalent-experience line. I think all of these listings are "serious employers" as you put it, while you would term all of the offerings in my area "idiots".
On one memorable occasion I had a job description around here that “required” that I know Access, MS SQL, and have “significant database experience” but was essentially a data entry job manipulating some pre-built interface to their existing database. So really, when dealing with the “idiots” around here I feel the very real pinch of not having the “Fool's Tools” on my resume.
No one's going to give you a job just for knowing buzzwords.
From this line, I highly doubt you read my entire post. In the above response, I stated quite clearly that I'm looking for industry standard skills to augment my own skill set so that I can learn about them to apply them correctly:
This serves two purposes: It makes me more desirable to a wider variety of companies and also it helps me to recommend a given popular industry standard technology if I'm called upon to solve a problem. If I know some of the most popular and standardized tools in the field today, I can more easily solve exotic problems by taking advantage of them.
(Emphasis mine)
So thank you for your post, if only to more clearly illuminate what I'm NOT asking for. Though in future, please check your personal preconceptions at the door. I don't appreciate the tone you've painted me in.
posted by Pontifex at 10:20 PM on May 17, 2008
Response by poster: I was hoping to avoid doing my own tedious and lengthy research into the subject, but since very little in the way of productive answers have been stated in this thread, I suppose I'll outline some correct answers to my question and hope that others will deign to add more.
So, a simple one line break down of what I want:
I'm looking for the names of and / or brief descriptions of IT industry standard tools, so that I can take it upon myself to learn more about them.
What I do NOT want, but seems to be bizarrely easy to assume about my relatively simple question; Given the comments above:
I am NOT looking to fake any skills I place on my resume.
I am NOT looking to "know the buzzwords" and leave it at that.
I am NOT working from a blank slate, I have a rather involved education under my belt.
I am NOT in a large or even medium sized city, so your assumptions about "quality" work may not qualify here.
So in the interest of providing information and perhaps sparking some more comments, here are some skills I've come across while researching that I recognize as being popular in the jobs and articles I've read:
PHP
Used primarily for the creation of dynamic web pages.
Useful to cite: Web programming jobs, in conjunction with database drive applications
C++
A given. Very useful general purpose object oriented programming language. I can claim some 3 years experience with this, given that my education was primarily taught in it.
Useful to cite as: Experience with OOP
Java
Useful general programming language. In the job postings I've seen, there seems to be an emphasis on either web programming or cross-platform applications with jobs related to its use.
Useful to cite as: Experience with OOP, experience with programming for cross-platform applications, some application to web programming jobs
CSS
Web page presentation markup language. Logically separates presentation of a web page from its content. Useful in conjunction with PHP and / or other modern web programming languages.
Useful to cite: Web programming jobs
Ruby on Rails
Application framework designed at easing web development and interaction with backing database.
Useful to Cite: Web development
AJAX
From Wikipedia:
Ajax (asynchronous JavaScript and XML) is a group of inter-related web development techniques used for creating interactive web applications. A primary characteristic is the increased responsiveness and interactivity of web pages achieved by exchanging small amounts of data with the server "behind the scenes" so that entire web pages do not have to be reloaded each time there is a need to fetch data from the server.
Useful to Cite: Web programming
Note: That's pretty cool. I think I've seen that on WoWhead.
Postgresql
Object Oriented Database Management System.
Useful to Cite: Database work, either developing applications or more dedicated database work.
Note: I've had some experience with trying to sell this skill, I work with PostgreSQL for private projects, and there seems to be a perception in my area that it's not a "real" database system. I usually try to sell experience with this technology to companies / people who are cost-sensitive about their IT work. This rates above MySQL in my perception, though this may be skewed by the area I work in.
MySQL
Another database system. Perceptions seem to place this on the lowest rung of enterprise software, though I've used it with some great success in personal and school projects.
Useful to Cite: Database work, both application development and strict database work.
Access
Low end business RDBMS. I've had experience putting together simple applications for it and troubleshooting problems.
Useful to Cite: Business database work, low cost database work, low user fast development database work, etc.
Note: The wikipedia page is more generous to this technology that I give it credit for, so my perceptions may be out dated in this regard.
That's all I have for now, but I will continue to post as I uncover more popular and useful technologies to study.
posted by Pontifex at 5:21 PM on May 18, 2008 [1 favorite]
So, a simple one line break down of what I want:
I'm looking for the names of and / or brief descriptions of IT industry standard tools, so that I can take it upon myself to learn more about them.
What I do NOT want, but seems to be bizarrely easy to assume about my relatively simple question; Given the comments above:
I am NOT looking to fake any skills I place on my resume.
I am NOT looking to "know the buzzwords" and leave it at that.
I am NOT working from a blank slate, I have a rather involved education under my belt.
I am NOT in a large or even medium sized city, so your assumptions about "quality" work may not qualify here.
So in the interest of providing information and perhaps sparking some more comments, here are some skills I've come across while researching that I recognize as being popular in the jobs and articles I've read:
PHP
Used primarily for the creation of dynamic web pages.
Useful to cite: Web programming jobs, in conjunction with database drive applications
C++
A given. Very useful general purpose object oriented programming language. I can claim some 3 years experience with this, given that my education was primarily taught in it.
Useful to cite as: Experience with OOP
Java
Useful general programming language. In the job postings I've seen, there seems to be an emphasis on either web programming or cross-platform applications with jobs related to its use.
Useful to cite as: Experience with OOP, experience with programming for cross-platform applications, some application to web programming jobs
CSS
Web page presentation markup language. Logically separates presentation of a web page from its content. Useful in conjunction with PHP and / or other modern web programming languages.
Useful to cite: Web programming jobs
Ruby on Rails
Application framework designed at easing web development and interaction with backing database.
Useful to Cite: Web development
AJAX
From Wikipedia:
Ajax (asynchronous JavaScript and XML) is a group of inter-related web development techniques used for creating interactive web applications. A primary characteristic is the increased responsiveness and interactivity of web pages achieved by exchanging small amounts of data with the server "behind the scenes" so that entire web pages do not have to be reloaded each time there is a need to fetch data from the server.
Useful to Cite: Web programming
Note: That's pretty cool. I think I've seen that on WoWhead.
Postgresql
Object Oriented Database Management System.
Useful to Cite: Database work, either developing applications or more dedicated database work.
Note: I've had some experience with trying to sell this skill, I work with PostgreSQL for private projects, and there seems to be a perception in my area that it's not a "real" database system. I usually try to sell experience with this technology to companies / people who are cost-sensitive about their IT work. This rates above MySQL in my perception, though this may be skewed by the area I work in.
MySQL
Another database system. Perceptions seem to place this on the lowest rung of enterprise software, though I've used it with some great success in personal and school projects.
Useful to Cite: Database work, both application development and strict database work.
Access
Low end business RDBMS. I've had experience putting together simple applications for it and troubleshooting problems.
Useful to Cite: Business database work, low cost database work, low user fast development database work, etc.
Note: The wikipedia page is more generous to this technology that I give it credit for, so my perceptions may be out dated in this regard.
That's all I have for now, but I will continue to post as I uncover more popular and useful technologies to study.
posted by Pontifex at 5:21 PM on May 18, 2008 [1 favorite]
Response by poster: Javascript
Web scripting language. I believe other more modern scripting languages have learned from Javascript's mistakes; But there seems to be a demand for it.
Useful to Cite: Web programming.
DOM
A useful standard way of interpreting and handling XML / HTML.
Cite: Web Programming and / or working with XML.
SAX
A popular alternative to DOM.
Cite: Web Programming and / or working with XML.
Apache
Popular and robust web server. Most used web server world wide.
Cite: Web Programming, System Administration, Web Master, etc.
Windows Server 2003
Microsoft Windows Server Operating system. My interest here is: Setup, Installation, Maintenance, Scheduled backups, etc.
Cite: System Administration, primarily Microsoft Shop based.
Active Directory
Windows domain software. Setup, Installation, Maintenance, Scheduled backups, etc.
Cite: System Administration, primarily Microsoft Shop based.
IIS
Microsoft's Answer to Apache. Might be useful to know the basics, but useful for all Microsoft shops.
Cite: System Administration / Web Admin, primarily Microsoft Shop based.
Exchange
Microsoft Mail server et al (Also including Calendaring, contacts, tasks, etc).
Cite: System Administration / Email Admin, primarily Microsoft Shop based.
C#
Microsoft invented programming language, similar to C++. Programming for Windows.
Cite: Development for Microsoft Shops. Though ironically, not Microsoft itself.
ASP.NET
Microsoft's most modern web programming language.
Cite: Microsoft shop web development.
Perforce
Version control system. I used this during my summer internship.
Cite: Development.
Flash
Web animations and general creativity tool.
Cite: Web Development and Design.
Python
General Purpose Programming language. (Related Question Below)
Cite: Development.
TCL
"Tickle". From Wikipedia:
It is most commonly used for rapid prototyping, scripted applications, GUIs and testing. Tcl is used extensively on embedded systems platforms, both in its full form and in several other small-footprinted versions.
Cite: Embedded programming, development testing, prototyping, development, etc.
Cold Fusion
I see this most often associated with web development, but according to Wikipedia:
ColdFusion is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular.
Cite: Web Development
posted by Pontifex at 10:45 PM on May 18, 2008 [1 favorite]
Web scripting language. I believe other more modern scripting languages have learned from Javascript's mistakes; But there seems to be a demand for it.
Useful to Cite: Web programming.
DOM
A useful standard way of interpreting and handling XML / HTML.
Cite: Web Programming and / or working with XML.
SAX
A popular alternative to DOM.
Cite: Web Programming and / or working with XML.
Apache
Popular and robust web server. Most used web server world wide.
Cite: Web Programming, System Administration, Web Master, etc.
Windows Server 2003
Microsoft Windows Server Operating system. My interest here is: Setup, Installation, Maintenance, Scheduled backups, etc.
Cite: System Administration, primarily Microsoft Shop based.
Active Directory
Windows domain software. Setup, Installation, Maintenance, Scheduled backups, etc.
Cite: System Administration, primarily Microsoft Shop based.
IIS
Microsoft's Answer to Apache. Might be useful to know the basics, but useful for all Microsoft shops.
Cite: System Administration / Web Admin, primarily Microsoft Shop based.
Exchange
Microsoft Mail server et al (Also including Calendaring, contacts, tasks, etc).
Cite: System Administration / Email Admin, primarily Microsoft Shop based.
C#
Microsoft invented programming language, similar to C++. Programming for Windows.
Cite: Development for Microsoft Shops. Though ironically, not Microsoft itself.
ASP.NET
Microsoft's most modern web programming language.
Cite: Microsoft shop web development.
Perforce
Version control system. I used this during my summer internship.
Cite: Development.
Flash
Web animations and general creativity tool.
Cite: Web Development and Design.
Python
General Purpose Programming language. (Related Question Below)
Cite: Development.
TCL
"Tickle". From Wikipedia:
It is most commonly used for rapid prototyping, scripted applications, GUIs and testing. Tcl is used extensively on embedded systems platforms, both in its full form and in several other small-footprinted versions.
Cite: Embedded programming, development testing, prototyping, development, etc.
Cold Fusion
I see this most often associated with web development, but according to Wikipedia:
ColdFusion is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular.
Cite: Web Development
posted by Pontifex at 10:45 PM on May 18, 2008 [1 favorite]
Response by poster: Python_Question:
I see from the description at Wikipedia that Python is touted as a general purpose programming language. Other similar languages have "skills" that they excel at over all others, e.g.:
Perl -> String Manipulation
Ruby -> Via Ruby on Rails, Web programming
Tcl -> Rapid prototyping, testing, etc.
Scheme -> Keeping Lisp Wierdo's busy.
But I can't find a citation that details if it's useful for anything above and beyond it's large feature set.
posted by Pontifex at 10:50 PM on May 18, 2008
I see from the description at Wikipedia that Python is touted as a general purpose programming language. Other similar languages have "skills" that they excel at over all others, e.g.:
Perl -> String Manipulation
Ruby -> Via Ruby on Rails, Web programming
Tcl -> Rapid prototyping, testing, etc.
Scheme -> Keeping Lisp Wierdo's busy.
But I can't find a citation that details if it's useful for anything above and beyond it's large feature set.
posted by Pontifex at 10:50 PM on May 18, 2008
Response by poster: Perl
From wikipedia:
Perl is a dynamic programming language created by Larry Wall and first released in 1987. Perl borrows features from a variety of other languages including C, shell scripting (sh), AWK, sed and Lisp. Perl was widely adopted because it provides powerful text processing facilities without arbitrary data length limits, as were present in many Unix tools at the time.
Text processing and Unix functionality at its finest, all rolled into a handy scripting language.
Cite: Ninja, "Keeping things working", *nix scripting, *nix system administration, etc.
posted by Pontifex at 10:52 PM on May 18, 2008
From wikipedia:
Perl is a dynamic programming language created by Larry Wall and first released in 1987. Perl borrows features from a variety of other languages including C, shell scripting (sh), AWK, sed and Lisp. Perl was widely adopted because it provides powerful text processing facilities without arbitrary data length limits, as were present in many Unix tools at the time.
Text processing and Unix functionality at its finest, all rolled into a handy scripting language.
Cite: Ninja, "Keeping things working", *nix scripting, *nix system administration, etc.
posted by Pontifex at 10:52 PM on May 18, 2008
Response by poster: ANT
Apache Ant is a software tool for automating software build processes. It is similar to make but is written in the Java language, requires the Java platform, and is best suited to building Java projects.
Cite: Programming and general Java development
ASP.NET
ASP.NET is a web application framework developed and marketed by Microsoft, that programmers can use to build dynamic web sites, web applications and web services.
Cite: Web Programming, Microsoft Shops
Common Gateway Interface
The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server.
Cite: Web Programming
Capability Maturity Model
The Capability Maturity Model (CMM) is a process capability maturity model which aids in the definition and understanding of an organization's processes.
Cite: Systems Analysis
CRM114
CRM114 (full name: "The CRM114 Discriminator") is a program based upon a statistical approach for classifying data, and especially used for filtering email spam.
Cite: Email Admin, Spam, etc
Concurrent Versions System
Concurrent Versions System (CVS), also known as the Concurrent Versioning System, provides a version control system based on open-source code.
Cite: Development
SPSS
SPSS is a computer program used for statistical analysis and is also the name of the company (SPSS Inc.) that sells it.
Cite: General Data Analysis
Apache Tomcat
Apache Tomcat is a Servlet container developed at the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run. Tomcat should not be confused with the Apache web server, which is a C implementation of a HTTP web server; these two HTTP web servers are not bundled together. Apache Tomcat includes tools for configuration and management, but can also be configured by editing configuration files that are normally XML-formatted.
Cite: Web Development, Web Admin
VMWare
VMware, Inc. (NYSE: VMW), a publicly-listed company, develops proprietary virtualization software products for x86-compatible computers, including both commercially-available and freeware versions.
Cite: Server Administration, Software Testing, Deployment Testing, etc
XML
The Extensible Markup Language (XML) is a general-purpose specification for creating custom markup languages.
Cite: Software Design, Web Design, Data Manipulation, etc
Extensible Stylesheet Language
The eXtensible Stylesheet Language (XSL) is a family of transformation languages which allows one to describe how files encoded in the XML standard are to be formatted or transformed.
Cite: Web Programming
XSL Transformations
Extensible Stylesheet Language Transformations (XSLT) is an XML-based language used for the transformation of XML documents into other XML or "human-readable" documents.
Cite: Web Programming
posted by Pontifex at 1:55 AM on May 21, 2008 [1 favorite]
Apache Ant is a software tool for automating software build processes. It is similar to make but is written in the Java language, requires the Java platform, and is best suited to building Java projects.
Cite: Programming and general Java development
ASP.NET
ASP.NET is a web application framework developed and marketed by Microsoft, that programmers can use to build dynamic web sites, web applications and web services.
Cite: Web Programming, Microsoft Shops
Common Gateway Interface
The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server.
Cite: Web Programming
Capability Maturity Model
The Capability Maturity Model (CMM) is a process capability maturity model which aids in the definition and understanding of an organization's processes.
Cite: Systems Analysis
CRM114
CRM114 (full name: "The CRM114 Discriminator") is a program based upon a statistical approach for classifying data, and especially used for filtering email spam.
Cite: Email Admin, Spam, etc
Concurrent Versions System
Concurrent Versions System (CVS), also known as the Concurrent Versioning System, provides a version control system based on open-source code.
Cite: Development
SPSS
SPSS is a computer program used for statistical analysis and is also the name of the company (SPSS Inc.) that sells it.
Cite: General Data Analysis
Apache Tomcat
Apache Tomcat is a Servlet container developed at the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run. Tomcat should not be confused with the Apache web server, which is a C implementation of a HTTP web server; these two HTTP web servers are not bundled together. Apache Tomcat includes tools for configuration and management, but can also be configured by editing configuration files that are normally XML-formatted.
Cite: Web Development, Web Admin
VMWare
VMware, Inc. (NYSE: VMW), a publicly-listed company, develops proprietary virtualization software products for x86-compatible computers, including both commercially-available and freeware versions.
Cite: Server Administration, Software Testing, Deployment Testing, etc
XML
The Extensible Markup Language (XML) is a general-purpose specification for creating custom markup languages.
Cite: Software Design, Web Design, Data Manipulation, etc
Extensible Stylesheet Language
The eXtensible Stylesheet Language (XSL) is a family of transformation languages which allows one to describe how files encoded in the XML standard are to be formatted or transformed.
Cite: Web Programming
XSL Transformations
Extensible Stylesheet Language Transformations (XSLT) is an XML-based language used for the transformation of XML documents into other XML or "human-readable" documents.
Cite: Web Programming
posted by Pontifex at 1:55 AM on May 21, 2008 [1 favorite]
Response by poster: Nessus
In computer security, Nessus is a free comprehensive vulnerability scanning software.
Cite: Security
posted by Pontifex at 11:51 AM on May 21, 2008
In computer security, Nessus is a free comprehensive vulnerability scanning software.
Cite: Security
posted by Pontifex at 11:51 AM on May 21, 2008
Response by poster: When searching for some IT job searching help, I found this thread: What tech to learn for a good jobby job.
This thread asks nearly the same question I have here, with more of a web programming focus. Shortly post graduate and looking to do something consultant-ish. Surprisingly enough he actually gets relevant feedback! Lucky him! Here's some choice quotes:
nearly every place I have worked uses some variety of Java/JSP.
drjimmy11
Perl is totally required to be a real *nix head. It's the swiss-army chainsaw of programming languages.
phrontist
Want to work in the basements of financial services companies or software companies, making a fortune? Then you'll be best served with C# and ASP.NET (and the MFC/.NET classes that are really the bulk of Windows programming in any language).
Java/JSP technologies are used in most web projects run by large organizations -- especially in financial circles. Want to work on Yodlee, or paypal, or on a big ecommerce site, or on the online bill payment system of a bank?
Heavily technology-focused organizations use a lot of Python these days, and the skills/habits learned by becoming proficient in Python will translate to lots of other languages. If you want to work for Google, BitTorrent, Yahoo, NASA, NIST and most medical research companies, go down this road. For what it's worth, python does seem to be favored by people who are more strictly computer science oriented. Whether you consider this to be a good thing or a bad thing depends on your personality and how your brain is wired.
The bleeding edge web application companies tend to be Ruby-based (in particular using Ruby on Rails). Ruby is a language designed not to get in your way, and it's quite versatile and well-suited for web application programming. However, it's still evolving (and it's got some things to learn about performance), and it certainly isn't accepted in more slowly-moving organizations like banks/brokerage. If you're interested in doing some work for a cool project with young people, and would like to see your work on TechCrunch, then Ruby is your friend.
Perl is still the swiss army knife of sysadmins, but it's falling out of favor with programmers. It's hard to be a *nix-head without being comfortable with it, but it's certainly possible (especially if you're comfortable with Python or Ruby). You still see a lot of jobs maintaining Perl code, but there are very few projects that are just starting that are perl based.
PHP is quickly becoming the language of so-so freelance coders and Indian outsource companies. There's work, and it's certainly a versatile and powerful language, but most of the A-List talent has moved on (or is moving on), frequently to python or Ruby.
But ultimately, it depends on what drives you. If you're driven by profit, stick with windows programming and/or Java. If you want to change the online world and work on cutting edge stuff with primarily younger coworkers, go with Ruby. If you'd like to become an ubergeek (or a respected manager of ubergeeks) or work on sciencey things surrounded by smart people then go with python (and C, but that's another story entirely).
toxic
Very well said by Toxic.
posted by Pontifex at 11:47 PM on May 21, 2008 [1 favorite]
This thread asks nearly the same question I have here, with more of a web programming focus. Shortly post graduate and looking to do something consultant-ish. Surprisingly enough he actually gets relevant feedback! Lucky him! Here's some choice quotes:
nearly every place I have worked uses some variety of Java/JSP.
drjimmy11
Perl is totally required to be a real *nix head. It's the swiss-army chainsaw of programming languages.
phrontist
Want to work in the basements of financial services companies or software companies, making a fortune? Then you'll be best served with C# and ASP.NET (and the MFC/.NET classes that are really the bulk of Windows programming in any language).
Java/JSP technologies are used in most web projects run by large organizations -- especially in financial circles. Want to work on Yodlee, or paypal, or on a big ecommerce site, or on the online bill payment system of a bank?
Heavily technology-focused organizations use a lot of Python these days, and the skills/habits learned by becoming proficient in Python will translate to lots of other languages. If you want to work for Google, BitTorrent, Yahoo, NASA, NIST and most medical research companies, go down this road. For what it's worth, python does seem to be favored by people who are more strictly computer science oriented. Whether you consider this to be a good thing or a bad thing depends on your personality and how your brain is wired.
The bleeding edge web application companies tend to be Ruby-based (in particular using Ruby on Rails). Ruby is a language designed not to get in your way, and it's quite versatile and well-suited for web application programming. However, it's still evolving (and it's got some things to learn about performance), and it certainly isn't accepted in more slowly-moving organizations like banks/brokerage. If you're interested in doing some work for a cool project with young people, and would like to see your work on TechCrunch, then Ruby is your friend.
Perl is still the swiss army knife of sysadmins, but it's falling out of favor with programmers. It's hard to be a *nix-head without being comfortable with it, but it's certainly possible (especially if you're comfortable with Python or Ruby). You still see a lot of jobs maintaining Perl code, but there are very few projects that are just starting that are perl based.
PHP is quickly becoming the language of so-so freelance coders and Indian outsource companies. There's work, and it's certainly a versatile and powerful language, but most of the A-List talent has moved on (or is moving on), frequently to python or Ruby.
But ultimately, it depends on what drives you. If you're driven by profit, stick with windows programming and/or Java. If you want to change the online world and work on cutting edge stuff with primarily younger coworkers, go with Ruby. If you'd like to become an ubergeek (or a respected manager of ubergeeks) or work on sciencey things surrounded by smart people then go with python (and C, but that's another story entirely).
toxic
Very well said by Toxic.
posted by Pontifex at 11:47 PM on May 21, 2008 [1 favorite]
Response by poster: Snort
Snort is a free and open source Network Intrusion prevention system (NIPS) and network intrusion detection (NIDS) capable of performing packet logging and real-time traffic analysis on IP networks.
Nmap
Nmap is a security scanner originally written by Gordon Lyon (Fyodor). It may be used to discover computers and services on a computer network, thus creating a "map" of the network.
posted by Pontifex at 2:41 PM on May 22, 2008
Snort is a free and open source Network Intrusion prevention system (NIPS) and network intrusion detection (NIDS) capable of performing packet logging and real-time traffic analysis on IP networks.
Nmap
Nmap is a security scanner originally written by Gordon Lyon (Fyodor). It may be used to discover computers and services on a computer network, thus creating a "map" of the network.
posted by Pontifex at 2:41 PM on May 22, 2008
Communication skills. Cite: being human.
posted by dhoe at 7:37 AM on June 1, 2008 [1 favorite]
posted by dhoe at 7:37 AM on June 1, 2008 [1 favorite]
Response by poster: Nagios
Nagios is a popular open source computer system and network monitoring application software.
Lucene
Lucene is a free/open source information retrieval library.
Ported to a wide variety of languages, very flexible and powerful.
OpenSocial
OpenSocial is a set of common application programming interfaces (APIs) for web-based social network applications, developed by Google
Photoshop
Photoshop, is a graphics editor developed and published by Adobe Systems. It is the current and primary market leader for commercial bitmap and image manipulation, and is the flagship product of Adobe Systems.
Cite: Web Design, Image Butchering of any sort, Cool things to get the ladies
Note: Got most of those from jobs.37signals.com, good resource for interesting jobs.
posted by Pontifex at 10:57 PM on June 2, 2008
Nagios is a popular open source computer system and network monitoring application software.
Lucene
Lucene is a free/open source information retrieval library.
Ported to a wide variety of languages, very flexible and powerful.
OpenSocial
OpenSocial is a set of common application programming interfaces (APIs) for web-based social network applications, developed by Google
Photoshop
Photoshop, is a graphics editor developed and published by Adobe Systems. It is the current and primary market leader for commercial bitmap and image manipulation, and is the flagship product of Adobe Systems.
Cite: Web Design, Image Butchering of any sort, Cool things to get the ladies
Note: Got most of those from jobs.37signals.com, good resource for interesting jobs.
posted by Pontifex at 10:57 PM on June 2, 2008
Response by poster: dhoe
Too general. Thanks for the snide comment though. Some are better than none. Epic Failure Meta-filter!
--Pontifex
Keeping Hope Alive.
posted by Pontifex at 10:59 PM on June 2, 2008
Too general. Thanks for the snide comment though. Some are better than none. Epic Failure Meta-filter!
--Pontifex
Keeping Hope Alive.
posted by Pontifex at 10:59 PM on June 2, 2008
Response by poster: So if it isn't blazingly obvious by now, all of these technologies and skills have several things in common:
Large Community
Developed by a person / team with a passion for the work.
Rich Feature set and deployment base
Widely used in IT today.
Simple! Discuss!
posted by Pontifex at 11:01 PM on June 2, 2008
Large Community
Developed by a person / team with a passion for the work.
Rich Feature set and deployment base
Widely used in IT today.
Simple! Discuss!
posted by Pontifex at 11:01 PM on June 2, 2008
Response by poster: An alternate question would be:
What's your most powerful / most liked / most used, software tool?
posted by Pontifex at 11:29 PM on June 2, 2008
What's your most powerful / most liked / most used, software tool?
posted by Pontifex at 11:29 PM on June 2, 2008
Response by poster: Splunk
An example of Agentless data collection. Web 2.0 compliant. Really neat SYSLOG server. Though classifying stricly as such does it a disservice. Search your logs and compare to other professionals to find out what your problem is.
Cite: System administration, network administration, making sure the beige boxes work right.
posted by Pontifex at 12:45 PM on June 4, 2008
An example of Agentless data collection. Web 2.0 compliant. Really neat SYSLOG server. Though classifying stricly as such does it a disservice. Search your logs and compare to other professionals to find out what your problem is.
Cite: System administration, network administration, making sure the beige boxes work right.
posted by Pontifex at 12:45 PM on June 4, 2008
Response by poster: Git
Git is a distributed revision control / software code management project created by Linus Torvalds, initially for the Linux kernel development.
Site: Software development, revision control, code management
Mongrel (web server)
Mongrel is an open-source HTTP library and web server for Ruby web applications written by Zed A. Shaw.
Special mention, because it's targeted at running Ruby; Which is a very popular web development language (Ruby on Rails, above)
Cite: Web Development / Administration
memcached
memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in memory to reduce the number of times the database must be read.
Special recognition for the sheer dearth of cites which utilize it.
Cite: Web Development
Subversion
Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation.
Popular version control system.
Cite: Development
Django
Django is an open source web application framework, written in Python, which loosely follows the model-view-controller design pattern.
Python web development!
Cite: Web Development, Python use
Zend Framework
Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework—often referred to as ZF—is developed with the goal of simplifying web development while promoting best practices in the PHP developer community.
PHP Web Development Framework.
Cite: Web Development, PHP
posted by Pontifex at 10:22 PM on June 12, 2008
Git is a distributed revision control / software code management project created by Linus Torvalds, initially for the Linux kernel development.
Site: Software development, revision control, code management
Mongrel (web server)
Mongrel is an open-source HTTP library and web server for Ruby web applications written by Zed A. Shaw.
Special mention, because it's targeted at running Ruby; Which is a very popular web development language (Ruby on Rails, above)
Cite: Web Development / Administration
memcached
memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in memory to reduce the number of times the database must be read.
Special recognition for the sheer dearth of cites which utilize it.
Cite: Web Development
Subversion
Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation.
Popular version control system.
Cite: Development
Django
Django is an open source web application framework, written in Python, which loosely follows the model-view-controller design pattern.
Python web development!
Cite: Web Development, Python use
Zend Framework
Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework—often referred to as ZF—is developed with the goal of simplifying web development while promoting best practices in the PHP developer community.
PHP Web Development Framework.
Cite: Web Development, PHP
posted by Pontifex at 10:22 PM on June 12, 2008
Response by poster: I've started to notice more trends for "skills" (such as MVC, Agile, etc) in my last reviews of job postings. Another interesting effect of this listing these skills and technologies is the ability to identify and quantify techniques within a target company as falling into such a category.
In that a company may utilize a form of Agile development, but explicitly name it as a discipline of such development; E.g. they have a particular flavor that's been developed internally and can't be identified as one of the more popular techniques.
Also such people may not explicitly identify the techniques they're using as they may assume that you're already familiar with the techniques, when that may not be the case. E.g. I may become a junior web developer, where I didn't have such a focus in my education; Thus common techniques - such as MVC - may not be known to me. But the developers may train me in the skills without identifying the name for the skill set.
posted by Pontifex at 6:04 PM on June 28, 2008 [1 favorite]
In that a company may utilize a form of Agile development, but explicitly name it as a discipline of such development; E.g. they have a particular flavor that's been developed internally and can't be identified as one of the more popular techniques.
Also such people may not explicitly identify the techniques they're using as they may assume that you're already familiar with the techniques, when that may not be the case. E.g. I may become a junior web developer, where I didn't have such a focus in my education; Thus common techniques - such as MVC - may not be known to me. But the developers may train me in the skills without identifying the name for the skill set.
posted by Pontifex at 6:04 PM on June 28, 2008 [1 favorite]
Response by poster: Symfony
Symfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm.
Symfony aims to speed up the creation and maintenance of web applications and to replace repetitive coding tasks.
Symfony is aimed at building robust applications in an enterprise context, and aims to give developers full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized.
Hibernate
Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves Object-Relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.
LAMP
Linux, Apache, MySQL and PHP; Or derivation thereof.
The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers.
Lua
The Lua programming language is a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal.
Dojo Toolkit
The Dojo Toolkit is a modular open source JavaScript toolkit (or library), designed to ease the rapid development of JavaScript- or Ajax-based applications and web sites.
posted by Pontifex at 5:47 PM on July 4, 2008
Symfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm.
Symfony aims to speed up the creation and maintenance of web applications and to replace repetitive coding tasks.
Symfony is aimed at building robust applications in an enterprise context, and aims to give developers full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized.
Hibernate
Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves Object-Relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.
LAMP
Linux, Apache, MySQL and PHP; Or derivation thereof.
The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers.
Lua
The Lua programming language is a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal.
Dojo Toolkit
The Dojo Toolkit is a modular open source JavaScript toolkit (or library), designed to ease the rapid development of JavaScript- or Ajax-based applications and web sites.
posted by Pontifex at 5:47 PM on July 4, 2008
Response by poster: CakePHP
CakePHP is an open source web application framework written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.
Xen
Xen is a free software virtual machine monitor for IA-32, x86, x86-64, IA-64 and PowerPC 970 architectures. It allows several guest operating systems to be executed on the same computer hardware at the same time.
RubyGems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is now part of the standard library from Ruby version 1.9.
Scrum (development)
Scrum is an iterative incremental process of software development commonly used with agile software development.
ActionScript
ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform (in the form of SWF files embedded into Web pages), but is also used in some database applications (such as Alpha Five).
jQuery
jQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. It was released January 2006 at BarCamp NYC by John Resig.
nginx
nginx (pronounced "engine X") is a lightweight web server/reverse proxy and e-mail (IMAP/POP3) proxy, licensed under a BSD-like license.
Objective-C
Objective-C, often referred to as ObjC and sometimes as Objective C or Obj-C, is a reflective, object-oriented programming language which adds Smalltalk-style messaging to C.
Today it is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language used for the NeXTSTEP, OPENSTEP, and Cocoa application frameworks.
Capistrano
Capistrano is an open source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.
Bazaar (software)
Bazaar (formerly Bazaar-NG) is a distributed revision control system sponsored by Canonical Ltd., designed to make it easier for anyone to contribute to free and open source software projects.
The development team's focus is on ease of use, accuracy and flexibility. Branching and merging upstream code is designed to be very easy, with focus on users being productive with just a few commands. Bazaar can be used by a single developer working on multiple branches of local content, or by teams collaborating across a network.
posted by Pontifex at 10:52 PM on July 30, 2008 [1 favorite]
CakePHP is an open source web application framework written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.
Xen
Xen is a free software virtual machine monitor for IA-32, x86, x86-64, IA-64 and PowerPC 970 architectures. It allows several guest operating systems to be executed on the same computer hardware at the same time.
RubyGems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is now part of the standard library from Ruby version 1.9.
Scrum (development)
Scrum is an iterative incremental process of software development commonly used with agile software development.
ActionScript
ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform (in the form of SWF files embedded into Web pages), but is also used in some database applications (such as Alpha Five).
jQuery
jQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. It was released January 2006 at BarCamp NYC by John Resig.
nginx
nginx (pronounced "engine X") is a lightweight web server/reverse proxy and e-mail (IMAP/POP3) proxy, licensed under a BSD-like license.
Objective-C
Objective-C, often referred to as ObjC and sometimes as Objective C or Obj-C, is a reflective, object-oriented programming language which adds Smalltalk-style messaging to C.
Today it is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language used for the NeXTSTEP, OPENSTEP, and Cocoa application frameworks.
Capistrano
Capistrano is an open source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.
Bazaar (software)
Bazaar (formerly Bazaar-NG) is a distributed revision control system sponsored by Canonical Ltd., designed to make it easier for anyone to contribute to free and open source software projects.
The development team's focus is on ease of use, accuracy and flexibility. Branching and merging upstream code is designed to be very easy, with focus on users being productive with just a few commands. Bazaar can be used by a single developer working on multiple branches of local content, or by teams collaborating across a network.
posted by Pontifex at 10:52 PM on July 30, 2008 [1 favorite]
Response by poster: Another reason I might want these technologies would be for development. I keep track of technology news - peripherally - but during this time of unemployment, I don't really have the time to devote to keeping up with all of the nerdly news.
Now that I've compiled this extensive list of popular technologies, I can learn more about them to create things with. For example, I've been noodling around with some applications that I'd like to develop for my own personal use, that may be useful to others; One of them is a web-app / mashup, which could be designed as such:
(Front End) Ruby on Rails with AJAX compatible web design
(Testing) Python / TCL
(Development Style) Scrum \ Other Agile Development
(Back end applications) Java on Apache Tomcat
(Virtualization testing; E.g. cross browser sanitation) VMWare / Xen
(Version control) CVS / Git / subversion / Perforce
(Database) MySQL / PostgreSQL
I've hit on 12-14 of the technologies I've listed above. In one fell swoop, I've provided a demonstration of my coding and web designing skills and expanded my resume with experience in a wide variety of complex, powerful and industry standard tools on an actual project; That also shows initiative, self direction and creativity; In addition to teamwork, if the project goes public (via sourceforge, or other recruitment) and I work together leading or contributing to a team pursuing my web application.
Pretty slick if I do say so myself.
--Pontifex
posted by Pontifex at 11:26 AM on August 1, 2008
Now that I've compiled this extensive list of popular technologies, I can learn more about them to create things with. For example, I've been noodling around with some applications that I'd like to develop for my own personal use, that may be useful to others; One of them is a web-app / mashup, which could be designed as such:
(Front End) Ruby on Rails with AJAX compatible web design
(Testing) Python / TCL
(Development Style) Scrum \ Other Agile Development
(Back end applications) Java on Apache Tomcat
(Virtualization testing; E.g. cross browser sanitation) VMWare / Xen
(Version control) CVS / Git / subversion / Perforce
(Database) MySQL / PostgreSQL
I've hit on 12-14 of the technologies I've listed above. In one fell swoop, I've provided a demonstration of my coding and web designing skills and expanded my resume with experience in a wide variety of complex, powerful and industry standard tools on an actual project; That also shows initiative, self direction and creativity; In addition to teamwork, if the project goes public (via sourceforge, or other recruitment) and I work together leading or contributing to a team pursuing my web application.
Pretty slick if I do say so myself.
--Pontifex
posted by Pontifex at 11:26 AM on August 1, 2008
Response by poster: Here's someone else that's asking about technologies to learn to have the easiest time developing with modern technologies (s)he's not familiar with:
Which Web Tech?
He gets similar answers to what I've research here. So more support == good.
Thanks for the backhanded help metafilter.
--Pontifex
posted by Pontifex at 9:31 PM on August 5, 2008
Which Web Tech?
He gets similar answers to what I've research here. So more support == good.
Thanks for the backhanded help metafilter.
--Pontifex
posted by Pontifex at 9:31 PM on August 5, 2008
What was the question, again?
posted by The corpse in the library at 2:58 PM on August 6, 2008 [1 favorite]
posted by The corpse in the library at 2:58 PM on August 6, 2008 [1 favorite]
I'm not sure we even need to be here, since you're apparently trying to answer your own question in the comments, but I think you're getting it all wrong.
There are still a lot of people out there who are what I call "web generalists" -- people who do web design, web development, database design, sysadmin work, etc. They generally lack something to be a true specialist (e.g. with web design it's usually graphic design work or design school education), or they just like being able to do it all and don't want to specialize. And there's nothing wrong with any of this. They'll never make the big bucks, but they'll sure make a lot more than a $12/hour web designer (yes, some companies are paying that for web designers).
But generalists have things they like. What do you like? Program? Design? Setting up servers? Database architecture?
Identify the things you know well. Those are your core skills. Identify the areas you'd like to know. Those are your acquirable skills. See where the overlap is. Get to work on acquiring those skills. In the meantime, market your core skills. If it works out right, you'll be able to do the core skills while your new employer pays you to learn those acquirable skills.
Honestly, though, I've found the alphabet soup of acronyms is useless. What it comes down to for me in interviewing people is three things:
1. Do your core skills match up with my needs?
2. Do you know your core skills well enough that they're an asset?
3. Are you curious, intuitive, and smart enough that you can pick up skills I need you to learn?
And that's one reason why I'm so brutal in interviews -- if you say you know something, I'm going to push you on it. Not only that, I'm going to throw you problems and question every response. Because I'm trying to see if you can think, if you're intuitive, if you're creative.
If you say you know CSS, then I'm going to ask you how to make the background color on a containing div extend through the floating divs it contains. And then I'm going to ask you if it's the only way. And then I'm going to ask you why you didn't mention some other method. And then explain to me why the method I'm throwing you is or isn't right.
I would say "oh, that's me, and I'm just an ass," but honestly, I've been hammered on SQL questions because I'm expected to know it so well I can recite a statement from memory based on a DB I've never seen before.
So, honestly? Find what you know. Sell people on how well you can pick up new skills. And don't worry about working in an area that's not crawling with techs. There may be 10 tech jobs, but there are only 9 IT geeks in that town, so scarcity will cover up any shortcomings. Here in metro Seattle, you can't fudge; there's someone else out there who can do what you do and do it better, and they're fresh out of whatever company is laying people off this week.
posted by dw at 3:59 PM on August 6, 2008
There are still a lot of people out there who are what I call "web generalists" -- people who do web design, web development, database design, sysadmin work, etc. They generally lack something to be a true specialist (e.g. with web design it's usually graphic design work or design school education), or they just like being able to do it all and don't want to specialize. And there's nothing wrong with any of this. They'll never make the big bucks, but they'll sure make a lot more than a $12/hour web designer (yes, some companies are paying that for web designers).
But generalists have things they like. What do you like? Program? Design? Setting up servers? Database architecture?
Identify the things you know well. Those are your core skills. Identify the areas you'd like to know. Those are your acquirable skills. See where the overlap is. Get to work on acquiring those skills. In the meantime, market your core skills. If it works out right, you'll be able to do the core skills while your new employer pays you to learn those acquirable skills.
Honestly, though, I've found the alphabet soup of acronyms is useless. What it comes down to for me in interviewing people is three things:
1. Do your core skills match up with my needs?
2. Do you know your core skills well enough that they're an asset?
3. Are you curious, intuitive, and smart enough that you can pick up skills I need you to learn?
And that's one reason why I'm so brutal in interviews -- if you say you know something, I'm going to push you on it. Not only that, I'm going to throw you problems and question every response. Because I'm trying to see if you can think, if you're intuitive, if you're creative.
If you say you know CSS, then I'm going to ask you how to make the background color on a containing div extend through the floating divs it contains. And then I'm going to ask you if it's the only way. And then I'm going to ask you why you didn't mention some other method. And then explain to me why the method I'm throwing you is or isn't right.
I would say "oh, that's me, and I'm just an ass," but honestly, I've been hammered on SQL questions because I'm expected to know it so well I can recite a statement from memory based on a DB I've never seen before.
So, honestly? Find what you know. Sell people on how well you can pick up new skills. And don't worry about working in an area that's not crawling with techs. There may be 10 tech jobs, but there are only 9 IT geeks in that town, so scarcity will cover up any shortcomings. Here in metro Seattle, you can't fudge; there's someone else out there who can do what you do and do it better, and they're fresh out of whatever company is laying people off this week.
posted by dw at 3:59 PM on August 6, 2008
I was hoping to avoid doing my own tedious and lengthy research into the subject, but since very little in the way of productive answers have been stated in this thread, I suppose I'll outline some correct answers to my question and hope that others will deign to add more.
I can't speak as much to the IT angle, but I've done my fair share of interviewing candidates, mostly folks straight out of college. And I have to say that if you're this contemptuous of doing what you see as tedious and lengthy research, you may be projecting the attitude of "doesn't want to actually do work." (Also, you've got numerous grammar errors in your post, mostly in the form of errant apostrophes. The IT guy who is going to be your manager may or may not care, but HR will circular-file you over it.)
posted by desuetude at 4:15 PM on August 6, 2008
I can't speak as much to the IT angle, but I've done my fair share of interviewing candidates, mostly folks straight out of college. And I have to say that if you're this contemptuous of doing what you see as tedious and lengthy research, you may be projecting the attitude of "doesn't want to actually do work." (Also, you've got numerous grammar errors in your post, mostly in the form of errant apostrophes. The IT guy who is going to be your manager may or may not care, but HR will circular-file you over it.)
posted by desuetude at 4:15 PM on August 6, 2008
Response by poster: script.aculo.us
script.aculo.us is a JavaScript library built on the Prototype JavaScript Framework, providing dynamic visual effects and user interface elements via the Document Object Model.
It is most notably included with Seaside and Ruby on Rails, but also provided separately to work with other web application frameworks and scripting languages.
Prototype JavaScript Framework
The Prototype JavaScript Framework is a JavaScript framework created by Sam Stephenson which provides an Ajax framework and other utilities. It is implemented as a single file of JavaScript code, usually named prototype.js. Prototype is distributed standalone, but also as part of larger projects, e.g. Ruby on Rails, script.aculo.us and Rico.
Representational State Transfer
REST strictly refers to a collection of network architecture principles which outline how resources are defined and addressed. The term is often used in a looser sense to describe any simple interface which transmits domain-specific data over HTTP without an additional messaging layer such as SOAP or session tracking via HTTP cookies. These two meanings can conflict as well as overlap. It is possible to design any large software system in accordance with Fielding’s REST architectural style without using HTTP and without interacting with the World Wide Web.[citation needed] It is also possible to design simple XML+HTTP interfaces which do not conform to REST principles, and instead follow a model of remote procedure call. The difference between the uses of the term “REST” therefore causes some confusion in technical discussions.
Systems which follow Fielding’s REST principles are often referred to as “RESTful”.
YAML
YAML is a human-readable data serialization format that takes concepts from languages such as XML, C, Python, Perl, as well as the format for electronic mail as specified by RFC 2822. YAML was first proposed by Clark Evans in 2001,[1] who designed it together with Ingy döt Net and Oren Ben-Kiki. It is available for several programming and scripting languages.
YAML is a recursive acronym for "YAML Ain't a Markup Language". Early in its development, YAML was said to mean "Yet Another Markup Language", but was retronymed to distinguish its purpose as data-centric, rather than document markup.
Yahoo! UI Library
The Yahoo! UI Library (YUI) is an open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License[1]. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. In February 2006 YUI was released for public use under BSD. It is actively developed by a core team of Yahoo! engineers.
Google Web Toolkit
Google Web Toolkit (GWT) is an open source Java software development framework that allows web developers to create Ajax applications in Java. It is licensed under the Apache License version 2.0.
GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely asynchronous remote procedure calls, history management, bookmarking, and cross-browser portability.
posted by Pontifex at 2:41 PM on August 12, 2008
script.aculo.us is a JavaScript library built on the Prototype JavaScript Framework, providing dynamic visual effects and user interface elements via the Document Object Model.
It is most notably included with Seaside and Ruby on Rails, but also provided separately to work with other web application frameworks and scripting languages.
Prototype JavaScript Framework
The Prototype JavaScript Framework is a JavaScript framework created by Sam Stephenson which provides an Ajax framework and other utilities. It is implemented as a single file of JavaScript code, usually named prototype.js. Prototype is distributed standalone, but also as part of larger projects, e.g. Ruby on Rails, script.aculo.us and Rico.
Representational State Transfer
REST strictly refers to a collection of network architecture principles which outline how resources are defined and addressed. The term is often used in a looser sense to describe any simple interface which transmits domain-specific data over HTTP without an additional messaging layer such as SOAP or session tracking via HTTP cookies. These two meanings can conflict as well as overlap. It is possible to design any large software system in accordance with Fielding’s REST architectural style without using HTTP and without interacting with the World Wide Web.[citation needed] It is also possible to design simple XML+HTTP interfaces which do not conform to REST principles, and instead follow a model of remote procedure call. The difference between the uses of the term “REST” therefore causes some confusion in technical discussions.
Systems which follow Fielding’s REST principles are often referred to as “RESTful”.
YAML
YAML is a human-readable data serialization format that takes concepts from languages such as XML, C, Python, Perl, as well as the format for electronic mail as specified by RFC 2822. YAML was first proposed by Clark Evans in 2001,[1] who designed it together with Ingy döt Net and Oren Ben-Kiki. It is available for several programming and scripting languages.
YAML is a recursive acronym for "YAML Ain't a Markup Language". Early in its development, YAML was said to mean "Yet Another Markup Language", but was retronymed to distinguish its purpose as data-centric, rather than document markup.
Yahoo! UI Library
The Yahoo! UI Library (YUI) is an open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License[1]. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. In February 2006 YUI was released for public use under BSD. It is actively developed by a core team of Yahoo! engineers.
Google Web Toolkit
Google Web Toolkit (GWT) is an open source Java software development framework that allows web developers to create Ajax applications in Java. It is licensed under the Apache License version 2.0.
GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely asynchronous remote procedure calls, history management, bookmarking, and cross-browser portability.
posted by Pontifex at 2:41 PM on August 12, 2008
Response by poster: Replies!
I'm amazed!
It's been so long, I wasn't even looking anymore.
Hard work pay's off!
posted by Pontifex at 8:06 AM on August 24, 2008
I'm amazed!
It's been so long, I wasn't even looking anymore.
Hard work pay's off!
posted by Pontifex at 8:06 AM on August 24, 2008
Response by poster: @The corpse in the library: What was the question, again?
I'm looking for modern interesting technologies to learn about to help me get a job right out of college. There's been some fairly compelling evidence out of slashdot and other news sources lately, that have lead me to believe that most anyone out of college requires some extra "something" to get a foot in the door with even an "junior" developer position; Even junior developer positions require some experience outside college these days, via anecdotal and direct experience applying for work.
So I'm looking for technologies with "positive mention" - all of these listed here show up with some high level of frequency in the job feeds I've been watching for the past 3 months - to work with and learn about, so that I'm more likely to be able to apply for and get a job.
posted by Pontifex at 8:11 AM on August 24, 2008
I'm looking for modern interesting technologies to learn about to help me get a job right out of college. There's been some fairly compelling evidence out of slashdot and other news sources lately, that have lead me to believe that most anyone out of college requires some extra "something" to get a foot in the door with even an "junior" developer position; Even junior developer positions require some experience outside college these days, via anecdotal and direct experience applying for work.
So I'm looking for technologies with "positive mention" - all of these listed here show up with some high level of frequency in the job feeds I've been watching for the past 3 months - to work with and learn about, so that I'm more likely to be able to apply for and get a job.
posted by Pontifex at 8:11 AM on August 24, 2008
Response by poster: @dw: So, honestly? Find what you know. Sell people on how well you can pick up new skills. And don't worry about working in an area that's not crawling with techs. There may be 10 tech jobs, but there are only 9 IT geeks in that town, so scarcity will cover up any shortcomings. Here in metro Seattle, you can't fudge; there's someone else out there who can do what you do and do it better, and they're fresh out of whatever company is laying people off this week.
Good advice. I'm thankful for your insightful response. Usually I get a snarky response, for whatever reason.
Well the best way to answer this, is to illustrate. I come up with ideas I'd like to investigate or pursue constantly. I do this by networking ideas and skills from reading and investigation as well as tying them in with my own desires; E.g. I want to build a web application (above), I included some technologies I've learned from here, some thoughts I've come across in forum posts, some article information and some of my own personal motivations. Let me list a few of the ideas I've come up with in the last few weeks:
The closest match I've found was during an internship over the summer, I worked with a group of people who were responsible for finding tools and technologies to improve and optimize the work and work environment of the software engineers. I did some work parallelizing the building of some of software, which should give you some idea of the work that they did.
So, in sum, I really appreciate your advice. And I can see where it would aid me in the future, but right now I'm more scattered and less focused; Such that learning and applying all of these disparate technologies, still sounds appealing.
posted by Pontifex at 9:05 AM on August 24, 2008
Good advice. I'm thankful for your insightful response. Usually I get a snarky response, for whatever reason.
Well the best way to answer this, is to illustrate. I come up with ideas I'd like to investigate or pursue constantly. I do this by networking ideas and skills from reading and investigation as well as tying them in with my own desires; E.g. I want to build a web application (above), I included some technologies I've learned from here, some thoughts I've come across in forum posts, some article information and some of my own personal motivations. Let me list a few of the ideas I've come up with in the last few weeks:
- Disrupting or disabling Chinese content filters to inhibit the Chinese governments ability to censor their own population.
- Locally hosted business grade Google apps on an appliance server.
- Teaching martial arts to children - especially younger girls - reduces the fear and anxiety normally associated with going through puberty. Reduces displays of aggression in the males via self discipline, reduces obesity, provides for a healthy means of losing weight (Fewer eating disorders for the girls), provides for self defense, reduces unwanted behavior displays via reducing herding mechanisms in young age populations by providing self reliance (e.g. Reduce peer pressure, reduces: Teen pregnancy, date rape, conspicuous consumption of alcohol, reduces the impact of the "cult of beauty", etc)
- I want to be able to create personal virtualized appliances for doing common System Administration tasks (e.g. backups, remote access [VPN], Logging, etc)
- Burn Notice DIY instructional videos.
- Aerial wireless connectivity? Is it possible to make the hardware rugged and light enough to dispense with large central towers and instead have a floating distributed net?
- An online backup service with the option of mail you a backup hard drive of your system's contents or an external drive used for recovery of large amounts of backed up information.
- Online applications to help with individual participation in Democracy. E.g. want to collect signatures to get someone on the ballet? Print out this handy form and collect support online...
- Cover your ass. A collection of tools or a suite to help with tracking professional achievement. Keeps track of your work, what decisions were made about direction when, emails detailing information pertaining to your work, interface for "twittering" meetings minutes, etc.
- A collection of development / programming environments and assorted support and productivity tools in a bootable environment.
- Building / in door mapping software. Help to plan emergency exits, have an up to date schematic of where people's offices are located, find shortest routes, plan meetings based upon distribution of people, record location of IT hardware throughout the building, etc
- A personal program or web application for automating and speeding the process of making customized resumes and cover letters.
- An application to scan and report RSS feeds for "positive mention" of technologies. Essentially automating this process.
- User voting and post-posting tagging of articles and form discussions. What impact would this have on semantic analysis and accurate tagging of content?
- Virtualized servers targeted for deployment in the DMZ. Run the servers from bootable environments when possible, provide fake virtual-hard disk content, run extremely slim segmented servers to run as few services on each virtualized server as possible, provide configuration data for servers on some centralized medium, provide "suspicious activity" reporting, etc.
- An application to track and easily open disparate web pages, documents, applications, etc; To track the work on a specific line of inquiry or research.
The closest match I've found was during an internship over the summer, I worked with a group of people who were responsible for finding tools and technologies to improve and optimize the work and work environment of the software engineers. I did some work parallelizing the building of some of software, which should give you some idea of the work that they did.
So, in sum, I really appreciate your advice. And I can see where it would aid me in the future, but right now I'm more scattered and less focused; Such that learning and applying all of these disparate technologies, still sounds appealing.
posted by Pontifex at 9:05 AM on August 24, 2008
Response by poster: @desuetude:
I can't speak as much to the IT angle, but I've done my fair share of interviewing candidates, mostly folks straight out of college. And I have to say that if you're this contemptuous of doing what you see as tedious and lengthy research, you may be projecting the attitude of "doesn't want to actually do work." (Also, you've got numerous grammar errors in your post, mostly in the form of errant apostrophes. The IT guy who is going to be your manager may or may not care, but HR will circular-file you over it.)
Your point is well taken. I don't necessarily have a problem doing lengthy research - I'm just finishing up about 2 months worth, for getting a freelancing venture going - it's doing lengthy research to answer my own question and defending myself from snarky comments and people who bizarrely misrepresent my question; Not to imply you're doing that here.
When I first posted this question I assumed that there'd be some back-and-forth, I'd have to clarify and explain. This was all I did. I received no help, no decent responses to the aim of my question, nothing; Unhelpful comments, irritating attacks and what seemed to be deliberate misunderstanding. With the exception of kaydo who provided some very helpful information about freelancing and consulting.
So my tone comes across as irritate, and rightly so. This site is ostensibly about finding answers to questions and sharing information. I received neither and a "bloody nose" for my trouble.
Sorry about the errors, when I get going I tend to write in clipped prose to get my thoughts on the page fast enough. When I correspond with employers I take my time to proof read and edit my correspondence.
--Pontifex
posted by Pontifex at 9:13 AM on August 24, 2008
I can't speak as much to the IT angle, but I've done my fair share of interviewing candidates, mostly folks straight out of college. And I have to say that if you're this contemptuous of doing what you see as tedious and lengthy research, you may be projecting the attitude of "doesn't want to actually do work." (Also, you've got numerous grammar errors in your post, mostly in the form of errant apostrophes. The IT guy who is going to be your manager may or may not care, but HR will circular-file you over it.)
Your point is well taken. I don't necessarily have a problem doing lengthy research - I'm just finishing up about 2 months worth, for getting a freelancing venture going - it's doing lengthy research to answer my own question and defending myself from snarky comments and people who bizarrely misrepresent my question; Not to imply you're doing that here.
When I first posted this question I assumed that there'd be some back-and-forth, I'd have to clarify and explain. This was all I did. I received no help, no decent responses to the aim of my question, nothing; Unhelpful comments, irritating attacks and what seemed to be deliberate misunderstanding. With the exception of kaydo who provided some very helpful information about freelancing and consulting.
So my tone comes across as irritate, and rightly so. This site is ostensibly about finding answers to questions and sharing information. I received neither and a "bloody nose" for my trouble.
Sorry about the errors, when I get going I tend to write in clipped prose to get my thoughts on the page fast enough. When I correspond with employers I take my time to proof read and edit my correspondence.
--Pontifex
posted by Pontifex at 9:13 AM on August 24, 2008
Response by poster: I didn't explicitly state it, but: Doing some "extra" work to qualify for jobs, with popular powerful technologies is just a given.
If you're going to contribute to or create a project with the dual purpose of doing something you're interested in and getting an "in" with employers, it only makes sense to do the work in a programming language or with a tool that they're likely to use and to require knowledge of from applicants.
Thus my research into and listing popular tools here.
--Pontifex
posted by Pontifex at 9:58 AM on August 24, 2008
If you're going to contribute to or create a project with the dual purpose of doing something you're interested in and getting an "in" with employers, it only makes sense to do the work in a programming language or with a tool that they're likely to use and to require knowledge of from applicants.
Thus my research into and listing popular tools here.
--Pontifex
posted by Pontifex at 9:58 AM on August 24, 2008
Pontifex, you should be researching the answer to your own question before you ask it, because you should be the person most invested in your career. If this makes you defensive, you might want to think about learning to not show it so much, because that defensiveness is going to come off poorly in interviews.
While you were busy making 31 of the 41 comments in this thread, you seem to have missed that orthogonality and dw gave you lengthy, thoughtful, relevant answers.
(I'm unclear as to why dumping Wikipedia links into this AskMe constitutes good research.)
posted by desuetude at 7:39 AM on August 25, 2008
While you were busy making 31 of the 41 comments in this thread, you seem to have missed that orthogonality and dw gave you lengthy, thoughtful, relevant answers.
(I'm unclear as to why dumping Wikipedia links into this AskMe constitutes good research.)
posted by desuetude at 7:39 AM on August 25, 2008
Response by poster: I appreciate DW's post, but I show that it's not applicable to me at this time.
Orthogonality flails at my motivations then improperly assumes my motivations and doesn't answer my question.
Pontifex, you should be researching the answer to your own question before you ask it, because you should be the person most invested in your career.
Of course, I should. I am. I am researching it so as not to waste time pining my hopes on some magical answer from the MeFi community.
I should not have to be researching it here. The whole point of this exercise was to tap into the motivation for having a MeFI site, to share information. Not to get less than nothing from responses, wasting time justifying myself instead of getting viable information.
If a poster wants to understand about the question, I can attempt to explain. If a poster wants to post some helpful information or correlated information, I'm glad to accept. But misunderstanding and refusing to understand, questioning my motivations for wanting such information and then castigating me for asking, not reading my posts or even bothering to understand what I say. Those are some pretty damn good reasons to be (to put it mildly) "defensive", as you say.
Case in point, you said:
(I'm unclear as to why dumping Wikipedia links into this AskMe constitutes good research.)
Where I explicitly state:
all of these listed here show up with some high level of frequency in the job feeds I've been watching for the past 3 months
Which are correct answers to my questions. I provide a blurb about each so that they have some context, but each and every one is a: Popular powerful tool used by a good number of companies today. Technologies worth learning for both personal interest and professional self-interest.
So the only reason why it would remain "unclear" was that you: Misunderstand what I wrote or didn't take the time to read what I wrote.
Does this make them products of good research? Almost certainly. The more times I see a technology advertised as experience required for working at a company, the more certain I am that it's a good match to the goals I'm looking for. Therefore it would behoove me to learn about the technology.
Either to apply its technology to a project, potentially as a focus of specialty (As Dw thoughtfully replied) or simple curiosity. I may not gain enough experience with it to put it down on a resume; But the simple act of understanding and learning these things is enough to give me ideas or further enchant me to learn more.
I'm certainly guilty of lacking direction - as I've said and implied time after time - and experience, but how about giving me a little guidance? All I ask is to be pointed toward things worth learning and those that are most likely to get me a job are most often used by very smart people. Why not learn about the cool things they're doing? It makes so much sense to me, I really don't understand why it's so difficult for others to understand...
But I've strayed a bit. Thanks for your response. I hope my explanation has shed some light on why I'm doing this. And hopefully helped some other silent readers more fully understand what I want.
--Pontifex
posted by Pontifex at 5:17 PM on August 25, 2008
Orthogonality flails at my motivations then improperly assumes my motivations and doesn't answer my question.
Pontifex, you should be researching the answer to your own question before you ask it, because you should be the person most invested in your career.
Of course, I should. I am. I am researching it so as not to waste time pining my hopes on some magical answer from the MeFi community.
I should not have to be researching it here. The whole point of this exercise was to tap into the motivation for having a MeFI site, to share information. Not to get less than nothing from responses, wasting time justifying myself instead of getting viable information.
If a poster wants to understand about the question, I can attempt to explain. If a poster wants to post some helpful information or correlated information, I'm glad to accept. But misunderstanding and refusing to understand, questioning my motivations for wanting such information and then castigating me for asking, not reading my posts or even bothering to understand what I say. Those are some pretty damn good reasons to be (to put it mildly) "defensive", as you say.
Case in point, you said:
(I'm unclear as to why dumping Wikipedia links into this AskMe constitutes good research.)
Where I explicitly state:
all of these listed here show up with some high level of frequency in the job feeds I've been watching for the past 3 months
Which are correct answers to my questions. I provide a blurb about each so that they have some context, but each and every one is a: Popular powerful tool used by a good number of companies today. Technologies worth learning for both personal interest and professional self-interest.
So the only reason why it would remain "unclear" was that you: Misunderstand what I wrote or didn't take the time to read what I wrote.
Does this make them products of good research? Almost certainly. The more times I see a technology advertised as experience required for working at a company, the more certain I am that it's a good match to the goals I'm looking for. Therefore it would behoove me to learn about the technology.
Either to apply its technology to a project, potentially as a focus of specialty (As Dw thoughtfully replied) or simple curiosity. I may not gain enough experience with it to put it down on a resume; But the simple act of understanding and learning these things is enough to give me ideas or further enchant me to learn more.
I'm certainly guilty of lacking direction - as I've said and implied time after time - and experience, but how about giving me a little guidance? All I ask is to be pointed toward things worth learning and those that are most likely to get me a job are most often used by very smart people. Why not learn about the cool things they're doing? It makes so much sense to me, I really don't understand why it's so difficult for others to understand...
But I've strayed a bit. Thanks for your response. I hope my explanation has shed some light on why I'm doing this. And hopefully helped some other silent readers more fully understand what I want.
--Pontifex
posted by Pontifex at 5:17 PM on August 25, 2008
Misunderstand what I wrote or didn't take the time to read what I wrote.
Well, perhaps you misunderstood what I wrote or didn't take time to read it. My point was that Wikipedia is a useful resource, but not exactly an example of you digging deep to provide a previously unknown treasure trove of information. It's Wikipedia. It's right behind Google for "first place to look."
I'm trying to explain to you that communication is a joint effort. If you're not getting what you want from people, it may not be "simply" that everyone is misunderstanding you or not paying close enough attention to your insight. Your question may be flawed. To sum up: it's rare that it's everyone else, not you.
posted by desuetude at 5:45 PM on August 25, 2008
Well, perhaps you misunderstood what I wrote or didn't take time to read it. My point was that Wikipedia is a useful resource, but not exactly an example of you digging deep to provide a previously unknown treasure trove of information. It's Wikipedia. It's right behind Google for "first place to look."
I'm trying to explain to you that communication is a joint effort. If you're not getting what you want from people, it may not be "simply" that everyone is misunderstanding you or not paying close enough attention to your insight. Your question may be flawed. To sum up: it's rare that it's everyone else, not you.
posted by desuetude at 5:45 PM on August 25, 2008
> I'm certainly guilty of lacking direction - as I've said and implied time after time - and experience, but how about giving me a little guidance? All I ask is to be pointed toward things worth learning and those that are most likely to get me a job are most often used by very smart people.
Humility. A willingness to listen. An ability to remove your own perceptions on how you believe things should work, and to put yourself in your customers (being it office users at your job or paying clients, they are customers) position and try to envision a solution that best meets their needs; not what you imagine their needs to be or what is easiest for you to do.
There are people who makes lots of money doing consultation based on those skills that have nothing to do with them being able to setup an exchange server or configure a router.
Now how do you put that on your resume? You don't. You let your references and list of past experiences and projects you have worked on speak for you.
How do you grow your list of references and experiences? Do what it sounds like you are already doing. Find the jobs that sound interesting to you, learn the tools you need to complete the projects in the way I described above, and find a community to participate in. IT is not about knowing specific skills anymore, it is more about Information Management than Technology. Which is again, all about knowing and working with the meatspace and adapting the technology to fit, not just knowing about the technology. I would be more impressed with a resume that listed "Optimized image cataloging, archiving and approval workflow to take 24 hour process down to 15 minutes" than "Knows how to install and configure Exchange."
If you want to be a generalist, those are the skills you will need to learn how to grow. My boss used to be a tech, was a CCNA and all of that. Now he manages people, workflows, assets and delegates to me the technical nitty gritty. While he still knows his tech, he defers to someone else to give him the gist of it, and then he makes the over all decision. I may know how long it takes for an image to render in Case A vs B, he knows if that difference is enough to impact the business, and if it would be worth the time to retrain users for Case B since only saves us 15 seconds an image.
He got where he is because he was good with people, and good finding the solutions for their problems. Not because he had a CCNA and was certified for NT 4.0. It helped that he could grasp the technical issues and implement fixes, but that doesn't do much good if the fixes aren't welcome.
If you really want to have a career as a generalist, then you are looking at a career as someone who solves problems, and most of the time those problems originate from people interacting with technology. Find jobs that help you flex that muscle. You will eventually end up planning long term multi year projects and really doing less technical and more management work. You will probably make a lot of money because your job is very visible, provides a path to prove your worth to your customers, and you get recognition for success at that level (of course, you get recognition for failure also, but not so much it seems).
If you want to be a generalist as in "jack of all trades, master of non, handy man contractor" then get certifications in a handful of the stuff you have listed above. You will then be employed by the above management generalist, and not get paid as much, only work on smaller parts of a bigger project, get lesser recognition for your achievements, but more for your failures (I mean, architects get awards for their buildings, not the guy who laid the concrete, who then gets blamed when the building settles wrong).
posted by mrzarquon at 7:29 PM on August 27, 2008
Humility. A willingness to listen. An ability to remove your own perceptions on how you believe things should work, and to put yourself in your customers (being it office users at your job or paying clients, they are customers) position and try to envision a solution that best meets their needs; not what you imagine their needs to be or what is easiest for you to do.
There are people who makes lots of money doing consultation based on those skills that have nothing to do with them being able to setup an exchange server or configure a router.
Now how do you put that on your resume? You don't. You let your references and list of past experiences and projects you have worked on speak for you.
How do you grow your list of references and experiences? Do what it sounds like you are already doing. Find the jobs that sound interesting to you, learn the tools you need to complete the projects in the way I described above, and find a community to participate in. IT is not about knowing specific skills anymore, it is more about Information Management than Technology. Which is again, all about knowing and working with the meatspace and adapting the technology to fit, not just knowing about the technology. I would be more impressed with a resume that listed "Optimized image cataloging, archiving and approval workflow to take 24 hour process down to 15 minutes" than "Knows how to install and configure Exchange."
If you want to be a generalist, those are the skills you will need to learn how to grow. My boss used to be a tech, was a CCNA and all of that. Now he manages people, workflows, assets and delegates to me the technical nitty gritty. While he still knows his tech, he defers to someone else to give him the gist of it, and then he makes the over all decision. I may know how long it takes for an image to render in Case A vs B, he knows if that difference is enough to impact the business, and if it would be worth the time to retrain users for Case B since only saves us 15 seconds an image.
He got where he is because he was good with people, and good finding the solutions for their problems. Not because he had a CCNA and was certified for NT 4.0. It helped that he could grasp the technical issues and implement fixes, but that doesn't do much good if the fixes aren't welcome.
If you really want to have a career as a generalist, then you are looking at a career as someone who solves problems, and most of the time those problems originate from people interacting with technology. Find jobs that help you flex that muscle. You will eventually end up planning long term multi year projects and really doing less technical and more management work. You will probably make a lot of money because your job is very visible, provides a path to prove your worth to your customers, and you get recognition for success at that level (of course, you get recognition for failure also, but not so much it seems).
If you want to be a generalist as in "jack of all trades, master of non, handy man contractor" then get certifications in a handful of the stuff you have listed above. You will then be employed by the above management generalist, and not get paid as much, only work on smaller parts of a bigger project, get lesser recognition for your achievements, but more for your failures (I mean, architects get awards for their buildings, not the guy who laid the concrete, who then gets blamed when the building settles wrong).
posted by mrzarquon at 7:29 PM on August 27, 2008
Response by poster: desuetude
My point was that Wikipedia is a useful resource, but not exactly an example of you digging deep to provide a previously unknown treasure trove of information. It's Wikipedia. It's right behind Google for "first place to look."
And if I was looking there first to answer my question, you may have a point. The little posts from Wikipedia are there just to give a brief description and provide more in depth detail on the technology I'm pointing out.
Ironically you've implied that the problem is me, while stating that you assumed I took my research directly from Wikipedia; When I state several times, that I provide the snipets for reference. Making it indeed, a case of misunderstanding of what I've said here.
--Pontifex
posted by Pontifex at 9:00 PM on September 6, 2008
My point was that Wikipedia is a useful resource, but not exactly an example of you digging deep to provide a previously unknown treasure trove of information. It's Wikipedia. It's right behind Google for "first place to look."
And if I was looking there first to answer my question, you may have a point. The little posts from Wikipedia are there just to give a brief description and provide more in depth detail on the technology I'm pointing out.
Ironically you've implied that the problem is me, while stating that you assumed I took my research directly from Wikipedia; When I state several times, that I provide the snipets for reference. Making it indeed, a case of misunderstanding of what I've said here.
--Pontifex
posted by Pontifex at 9:00 PM on September 6, 2008
Response by poster: Humility. A willingness to listen. An ability to remove your own perceptions on how you believe things should work, and to put yourself in your customers (being it office users at your job or paying clients, they are customers) position and try to envision a solution that best meets their needs; not what you imagine their needs to be or what is easiest for you to do.
Good Adivce.
If you really want to have a career as a generalist, then you are looking at a career as someone who solves problems, and most of the time those problems originate from people interacting with technology. Find jobs that help you flex that muscle. You will eventually end up planning long term multi year projects and really doing less technical and more management work. You will probably make a lot of money because your job is very visible, provides a path to prove your worth to your customers, and you get recognition for success at that level (of course, you get recognition for failure also, but not so much it seems).
This is really good. I have some of those talents certainly and I would love to develop them. In the my current situation I find myself lacking in experience to even get my foot in the door. Thus why I posted about technologies. I want to get started and the "less glamorous" way you point out below seems like a good stepping stone up to this ideal.
If you want to be a generalist as in "jack of all trades, master of non, handy man contractor" then get certifications in a handful of the stuff you have listed above. You will then be employed by the above management generalist, and not get paid as much, only work on smaller parts of a bigger project, get lesser recognition for your achievements, but more for your failures (I mean, architects get awards for their buildings, not the guy who laid the concrete, who then gets blamed when the building settles wrong).
Very good here as well. This is some very nice feedback, thank you.
I can see an appeal for this as well; Let me explain some more detail about my current situation and long term goals / plans:
For a good chunck of my life I want to see other places and meet new people. My SO has been supportive, so I've been making general long term plans to live and work in Europe and East Asia. So the appeal of being a "Jack of all" would be portability, in this case. I would very much like to have work wherever I happen to be, not necessarily galmorous or well paying; I'm not in it for the fame or the money to begin with, though there is some appeal for the stability and recognition.
On the other hand, I really like making things. I come up with a lot of ideas for tools or concepts that I'd like to make and have available to me. I could have the satisfaction via the higher road of project management or the lower road of "Jack of All", but I believe the technical background from "jack of all" path would be a good foundation for future projects; As well as giving me ideas of projects I'd like to implement in the future; For either personal use or profit or both.
--Pontifex
posted by Pontifex at 9:24 PM on September 6, 2008
Good Adivce.
If you really want to have a career as a generalist, then you are looking at a career as someone who solves problems, and most of the time those problems originate from people interacting with technology. Find jobs that help you flex that muscle. You will eventually end up planning long term multi year projects and really doing less technical and more management work. You will probably make a lot of money because your job is very visible, provides a path to prove your worth to your customers, and you get recognition for success at that level (of course, you get recognition for failure also, but not so much it seems).
This is really good. I have some of those talents certainly and I would love to develop them. In the my current situation I find myself lacking in experience to even get my foot in the door. Thus why I posted about technologies. I want to get started and the "less glamorous" way you point out below seems like a good stepping stone up to this ideal.
If you want to be a generalist as in "jack of all trades, master of non, handy man contractor" then get certifications in a handful of the stuff you have listed above. You will then be employed by the above management generalist, and not get paid as much, only work on smaller parts of a bigger project, get lesser recognition for your achievements, but more for your failures (I mean, architects get awards for their buildings, not the guy who laid the concrete, who then gets blamed when the building settles wrong).
Very good here as well. This is some very nice feedback, thank you.
I can see an appeal for this as well; Let me explain some more detail about my current situation and long term goals / plans:
For a good chunck of my life I want to see other places and meet new people. My SO has been supportive, so I've been making general long term plans to live and work in Europe and East Asia. So the appeal of being a "Jack of all" would be portability, in this case. I would very much like to have work wherever I happen to be, not necessarily galmorous or well paying; I'm not in it for the fame or the money to begin with, though there is some appeal for the stability and recognition.
On the other hand, I really like making things. I come up with a lot of ideas for tools or concepts that I'd like to make and have available to me. I could have the satisfaction via the higher road of project management or the lower road of "Jack of All", but I believe the technical background from "jack of all" path would be a good foundation for future projects; As well as giving me ideas of projects I'd like to implement in the future; For either personal use or profit or both.
--Pontifex
posted by Pontifex at 9:24 PM on September 6, 2008
This thread is closed to new comments.
posted by loiseau at 2:56 AM on May 17, 2008 [2 favorites]