views:

382

answers:

6

I'm a web developer and a college student majoring in telecommunications. This means I'm decent at programming and I know a little about telecom networks (at a high, non-technical level).

I keep reading that Erlang is used all over the telecom industry (supposedly for its performance).

I'm wondering if there's anyway I can combine my programming skills with my telecommunications major with Erlang. Is most of the Erlang/telecom stuff closed source? Are there any open source telecom projects written Erlang?

UPDATE: sipwiz's comment makes me think in terms of a question larger than "uses of Erlang". How can I leverage a high-level understanding of telecom networks and the telecom regulatory environment with programming. I hope this hasn't veered too off-topic for SO.

+2  A: 

There is big difference between high level web development, and implementing a network application using a hex editor and an incomprehensible protocol specification, regardless of the language.

If you want to program telecom applications, you have to be prepared for learning a lot more than a new language.

mikerobi
I have same doubt as user94154.can you please elaborate on "you have to be prepared for learning a lot more than a new language"?
Hemant
@Hemant, here is a better analogy: OpenGL is written in C, but knowing C doesn't make you a computer graphics expert. Learning a language is trivial task compared to learning how to apply it to a specialized application.
mikerobi
A: 

Unfortunately no. I know of a bunch of telco/voip applications in Erlang but the telco business is notoriously closed source. You are more likely to get the Windows source code than getting a telco to release their code.

Jon Gretar
+5  A: 

I've been doing telecommunications software for more than 20 years. I regret that I've only gotten involved in using Erlang in the last 12 months. Most telecom development is done in C, C++, etc.

IMHO, this is because we didn't know better. If you want to maximize your job opportunities, Erlang isn't your best choice. I regret that this is true. Would I tell my son to learn Erlang and go where the work is? Yes, I would.

Carl Wright Service Level Corporation

Carl Wright
+1  A: 

I believe you're confusing Erlang, the programming language, with erlang, a unit of measurement, which is "used all over the telecom industry" precisely because it is a key measure of performance. From my experience in telecom, you can get a lot done just with Perl.

clebio
Generally, what kinds of programming tasks are there in telecom?
+1  A: 

One open source telecom project in Erlang is YXA, a SIP server.

legoscia
+1  A: 

I have been working with telecom software for 2-3 years now. I would say that there is nothing that is very specific for this field. The programming is quite generic, implementing protocol stacks (clients and servers), parsing records out of file formats, identifying bottlenecks and improving performance, and debugging of problems at customer sites.

What you need to know as a software engineer is a bit of the terminology for the various telecom system technologies (they really like acronyms). This will make it easier to understand requirements and what customers are actually talking about when describing their environment. My employer sent me to a one-day course for that, so I wouldn't worry too much about it.

I would recommend you to get good at generic programming, working with big systems, maybe dwell into how databases and file systems work at a low level, as well as how to write parsers (by hand and by using parser generators, and not rely on regexps for everything).

Online systems generally need the "soft-realtime" qualities that Erlang have, so you need to understand garbage collectors and how they introduce gc stops and what tuning can be done about that. It is also quite invaluable to know tools one can use to debug a running production system without risking performance degradation.

Christian