Hacker News new | past | comments | ask | show | jobs | submit login

I think the shortage of software development skills really has to do with the lack of there being enough people who get impassioned with this kind of stuff. When I step out of my bubble I realize that its really difficult to find cultural-personality fits for what building software requires. Most people are just not like 'us' for better or worse. Most people don't get giddy over implementing a new algorithm or building an elegant framework, etc. etc. and probably never will.

Here is an exercise... flip the table and think if our industry was going away and you needed to find a job in a completely new industry/job role. Personally for me about 95% of the things I can think of make me want to immediately throw up... sales, medicine, advertising, law etc. - no thanks they are just not me. I've known people who have transitioned into tech from other industries chasing the money here... they are usually gone within a year or 2.

The other problem is despite all the crap about "I learned to code in 2 months" it is a really long haul to become good. Probably similar to becoming a good author or painter.

Lastly, it is quite well known that some people in software can have a lot of economic problems as they get older not to mention some of the cultural problems in tech in certain places that have been well covered here. I guess the point being that I think its really really difficult to do software development if your not genuinely excited about doing the day-to-day stuff.




I think the shortage of software development skills really has to do with the lack of there being enough people who get impassioned with this kind of stuff.

I was at a party recently I was asking someone about their work. I was really interested in how they solved certain problems, etc... We were probably only talking a minute or so when she says, "Can we not talk about my job and ask me about my car or some great meal I've had?" So I apologized and we talked about other things.

But it did get me thinking that at a random party I'd be happy to talk about my job/industry/etc... While I have a lot of interests, I don't think I've ever thought, "I'm tired of talking about programming or technology". Usually when I stop talking about it, it's for the sake of those around me :-)


Yeah lots of people don't want to talk much about their work outside of work. I think it comes down to whether someone is passionate about it or it is just a pay check. Of course some could love their work but just get sick of talking about it.

As you say I am interested in how other industries solve problems, particular how technology is being applied to help (or hinder) their workflow. Often people who work in other industries just accept workflow processes for how they are and aren't really interested in thinking about how they could be improved. Not that someone working at a big company really has the power to enact these kinds of changes but they are interesting to discuss.


I think you can look at this another way too. How many people in other industries voluntarily embark on pet projects or hobbyist experiments that involve the same things they do at work?

How many people in other industries blog about their profession in their own time? And not just about their day to day, but about new things they've found or interesting things they've figured out.

People want to go home and leave work at the office, but it's not at all uncommon for a programmer or developer to carry on in their spare time, working on their own stuff. You probably started off your career as a hobby in the first place.

Sometimes it can be hard to switch off when plenty of other people manage it fine. It seems almost implausible to imagine a fellow colleague who wasn't interested. I also think that specialist journalism is another profession that almost expects 'extra-curricular' interest in the field.


>How many people in other industries voluntarily embark on pet projects or hobbyist experiments that involve the same things they do at work?

Well this behavior isn't limited to those involved with software development. I'd say that this is the case for any profession that involves the formulation and then creation of content, ideas, products etc.

Take this guy for example: http://www.slate.com/articles/arts/culturebox/2012/01/the_be...

A lot of other fields necessitate a customer in order to perform, such as medicine.


I don't like talking about my job because it's so esoteric from most people's perspectives. I think a lot of people at least have some small idea about what programming is about. I'm a digital ASIC designer. Next to nobody you randomly meet has any clue what that is about.

It actually sucks in a lot of ways because talking about work is an ice breaker, even for people that don't like talking about their work. For me, somebody asking about my work just adds another relational barrier.


Having an unusual profession can be an ice breaker to, as long as you don't expect the other person to really grasp what you are doing day to day. I guess you can just simplify it to say you make device x work when a button is pressed or something depending on what you are actually designing.


No work, no tech and no food? God help you if you ask her about politics or religion. She was hot, obviously. Sounds like a nightmare.


"When I step out of my bubble I realize that its really difficult to find cultural-personality fits for what building software requires."

I absolutely agree with this statement. When programming, you'll always hit brick walls; times when you're stuck and feel like there's nothing you can do about it. That's when your genuine interest in programming and serious attention to detail must get you past the hurdles. It's not something you can just learn in an Apress book or nettut.


This is key. I solved a problem the other day and a non-programmer co-worker asked me how I knew the answer. I had to explain to him that I didn't know the answer and through research, thinking about the problem, and some good old trial and error I found the answer.

I think most people today think school is suppose to teach them F(x) so that they can just go out in the world and apply F(X) over and over and make a living. They are missing the point that they need to be creating F(x), G(x), etc...


Exactly. Learning to program is an exercise in learning how to maintain forward momentum while stumbling. If someone isn't up for some frustration, learning to program is not going to be appealing.

Of course, this also means there is a definite, clear feeling of accomplishment and progress.


Actually law and medicine would be interesting to me if it wasn't for all the hazing rituals and the down right sociopathic evil of the entire justice system. Law and accounting reminded me of learning a codebase when I took a few classes in them at university.


Here is an exercise... flip the table and think if our industry was going away and you needed to find a job in a completely new industry/job role.

Mathematician, without hesitation.


Machinist or high school math teacher.


Male model.


"Most people are just not like 'us' for better or worse. Most people don't get giddy over running implementing a new algorithm or building an elegant framework, etc..."

The question is if commodity software development -- you know, yet another 'book keeping' CRUD app -- requires any serious algorithm much less "new" ones. Serious creative mind workers are generally outliers, regardless of the field.

Programmers: http://atomictoasters.com/wp-content/uploads/2010/12/Telepho...


Hopefully we'll be able to automate CRUD app development in the near future and eliminate the time developers waste building such apps.


We'll have to, there is no other way. The demand side of our field is industrial scale. The supply side is arts and crafts. Something will have to give.

MDA, Software factories, etc., are imho the way to go, but unfortunately, there is strong resistance in the current generation to "ceremonial" architectures and methodologies (which are /unfortunately/ a requirement for that to happen, in my opinion).


In the 1950's and 1960's there emerged a fad for giving personality tests to people, and the then train those who passed to become software programmers that would work in a factory.

A lot of the really bad practices that hit us with long-term costs come from this era... and a lot of the misconceptions we have about programmers being nerdy anti-social types come from those personality tests, because they didn't test whether you'd be a good programmer... they tested whether you would sit in a production line and push buttons repetitively without talking to others.

So... no, I don't think that a return to the factory model is the solution. It's been tried and it really did not work. I think that software is big enough of a shift that it warrants removing the traditional business hierarchies and ceremonies of authority, and to create a new model that is not the old factory model.


You misunderstood "software factory" reference. The reference was to meta-programming, not a room full of factory workers :) Think Japanese robot factories.


My point was that we should eliminate such work, not standardize it as part of a code factory line.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: