Live data from Hacker News

Ask HN: Hot & Useful software skills for novice converts?

news.ycombinator.com

11–20 of 25 posts

Re: Ask HN: Hot & Useful software skills for novice converts?

#11
I was thinking about this recently, and wondering if my own experiences are seriously biasing me, but Ruby On Rails does not seem that hard to learn, and is fairly well structured. You have to learn the parts of Ruby that are used for Rails. You don't need to know SQL to start off, CSS and html are pretty straightforward, depending on the website, learning and coding JavaScript could be the hardest part. There is a job market where you can work for a company (both large and small) or try to freelance. Maybe the same is true for, say, Django or some other web frameworks?

Re: Ask HN: Hot & Useful software skills for novice converts?

#12
When I retooled myself from a physics dropout to a programmer (back in the 80s) the most valuable single thing I did was to work through SICP, doing most of the exercises plus little projects sparked off it. (I already had years of hobby programming experience, though; and I'd hope there's a better most valuable thing now, 20 years later.)

Re: Ask HN: Hot & Useful software skills for novice converts?

#13
One decent way is to learn the software technologies and tools used in their particular domains. There's usually some set of fairly standard tools and plenty of self-taught experts to provide guidance. The other path is the more general - 'learning to program a computer' which these days really means web programming.

When the typical interaction with a personal computer was picking menu items from a screenful of text, you learned BASIC and that, while limited, gave you some idea of what programming was about.

Now the typical interaction is with a web page so arguably learning to program is learning to write web apps. The BASIC equivalent there is perhaps a page-embedded language like PHP. It's simple, direct, is an actual marketable skill and would introduce a beginner to a lot of the necessary details without much digression into more convoluted concepts (OO or functional programming, 'frameworks', etc, etc). Armed with the foundations, one can then branch out to things sexier/higher paying/useless - say, Ruby/Java/Arc.

Re: Ask HN: Hot & Useful software skills for novice converts?

#14
A dash of Linux SysAdmin, a hint of bash, taken with a large glass of Perl. (Python seems to be the favoured Perl replacement here on HN)

It is amazing what you can accomplish by just learning those first.

You will have tasks (mostly sysadmin) straight away and build your programming from there.

Re: Ask HN: Hot & Useful software skills for novice converts?

#15
I have always thought that getting familiar with a command line is a good way to think of programming for people that are familiar with computers, but not with software development. If they can start with some basic things (moving one file from one folder to another) and then start to get the concept of chaining commands together via scripting (moving multiple files to multiple destinations depending on the name) they will get a grasp of the simple concepts because they will know what they want their output to be. This sort of learning can take place in a matter of days and then I would recommend going to a language with an interactive shell (ruby, python, etc...).

From there, I find that short exercises are helpful. If they enjoy math based problems, I cannot recommend project euler enough. Otherwise, if they can relate their programming work back to their specific fields(ie, writing up an analysis of unemployment data or digging into gene sequencing), they will see it in a different, more applicable light.

I am biased being in the industry, but anyone with a good working knowing of a LAMP stack (know how to set up all components with default settings, understands the basic of SQL queries, can write a cgi script to fetch data from the database) can get into an entry level job with enough intelligence.

Re: Ask HN: Hot & Useful software skills for novice converts?

#16
post #3

Earlier quoted context omitted.

Indeed that is a useful little skill to have. I am looking for skills at a somewhat higher level than regular expressions though. For instance, like some of those mentioned in the question above.

They make a nice, organic entry point into a lot of higher-level programming concepts, including some of the languages you list. I believe it makes more sense and is more motivating to start by solving problems rather than learning software development in the abstract. You can solve a lot of problems with pattern matching, and the ones you can't solve will then lead you to other interesting places.

Good point. That reminds me of how Programming Languages/Compiler construction courses helped me understand how high level programming languages worked.

And it is a good way to get started with problem solving. Thanks for elaborating.

Re: Ask HN: Hot & Useful software skills for novice converts?

#17

Their prospects are going to kind of suck at first. If I were to do a crash course, I'd say: Java/C# Code Complete/related software engineering books Eclipse/Visual Studio svn/cvs You'll notice that there's nothing overly exciting there. I think it's most important for them to get the standard set of skills that'll give them the best chance of working in software development. That means the boring stuff that most peo…

I'm a QA at a startup and I don't think it sucks. I really enjoy my job and I think it requires variety of skills. In order for you to really excel at QA, you need to know a thing or two about programming, databases, client-side scripting( JavaScript in my case), usability, TDD and etc. This whole combination makes it really interesting. Can you share your experience or opinion on why you think it stinks?

Can't speak for the parent, but from my experience, most developers think QA stinks because they have had to do it on the side. If you have to do it on the side, you usually don't have time to do it properly and write tests / scripts or do coding stuff in general, you are simply reduced to doing rote testing. Rote testing stinks.

Re: Ask HN: Hot & Useful software skills for novice converts?

#19
Tell them to start from their domain. Find a simple problem that could be solved using a command-line utility (ex: bioinformatics tools). Pick a scripting language (Python, Ruby, Perl - any big one will do since they don't have deep coding knowledge yet). Read an intro book, tutorials and create the command-line tool. If they found the language intuitive to them, great, otherwise try a different language. Then, incorporate storage using a simple in-memory or local database like BerkeleyDB or SQLite - the key is to focus on the SQL rather than db admin. Then, consider how you might create a web application for this tool (sure, it could be a stupid example of a webapp, but again the goal is keeping things simple). Maybe, a mobile app?

Hope the pattern is clear here. Tackle each bit as simply as possible to quickly build a wide range of skills and also find out where their interests lie. If something is especially interesting, go deeper.

Re: Ask HN: Hot & Useful software skills for novice converts?

#20
post #7

Okay, so here again is an opportunity for me to talk about my company, but I will try to avoid it. Here's the deal. The web is the future. So for application domain -- the web is where it is at. And the web includes mobile. Mobile devices are web devices. The whole point of the web was to enable mobility in a standard protocol -- mobility of information, digestion of information and communication of information betwe…

> to narrow it down even more, go with JavaScript. It's a lot like Java, which is a lot like C#

You are high as a kite.

Post reply on HN