Jump to page: 1 2
Thread overview
Enough D to Make a Living?
Feb 21, 2017
Paul
Feb 21, 2017
Jack Stouffer
Feb 21, 2017
Paul
Feb 21, 2017
pineapple
Feb 22, 2017
Russel Winder
Feb 23, 2017
Shachar Shemesh
Feb 21, 2017
Dukc
Feb 21, 2017
aberba
Feb 22, 2017
Chris Wright
February 21, 2017
I'm in between engineering jobs and exploring the idea of getting into programming for a living...specifically D.
1) Is there enough D demand for someone to make a living (bread and water :} ) at it?
2) I've programmed industrial automation controllers using graphical and text-based languages and wrote a few small command line tools in D for myself. How long would it take to become "employable"?
3) Is there much value in taking programming classes that don't deal with D?
4) What is the best way to find D programming jobs online?

Thanks for your time.

February 21, 2017
On Tuesday, 21 February 2017 at 15:34:02 UTC, Paul wrote:
> 1) Is there enough D demand for someone to make a living (bread and water :} ) at it?

You can scan this page for hiring companies: https://dlang.org/orgs-using-d.html

> 2) I've programmed industrial automation controllers using graphical and text-based languages and wrote a few small command line tools in D for myself. How long would it take to become "employable"?

Look up some programming interview questions and see if you can answer them. I would also suggesting having some programs you've written in a portfolio.

> 3) Is there much value in taking programming classes that don't deal with D?

Yes, a programmer without CS knowledge is the difference between a mechanic and an engineer.

> 4) What is the best way to find D programming jobs online?

Post here.
February 21, 2017
Great. Thanks Jack.


February 21, 2017
On 02/21/2017 10:34 AM, Paul wrote:
> 3) Is there much value in taking programming classes that don't deal
> with D?

Although HR folk never understand this, programming skills are highly transferable across languages. So yes, it's definitely worthwhile: Getting better with one language will help you be a better programmer in other languages.

February 21, 2017
On Tuesday, 21 February 2017 at 15:34:02 UTC, Paul wrote:
> I'm in between engineering jobs and exploring the idea of getting into programming for a living...specifically D.

Well, D is nowhere near the popularity of the most common languages so projects which use D are still rare. There are some, trough. However, if you get to choose your language, chances are probably good you can. I believe D is stable enough to function well in all but the biggest projects. And if you make your project, it won't be big enough to cause serious problems.

But even if you won't use D, it may be even the best choice to learn, because it handles so many programming styles and shares syntax with many common languages. That means that few languages are utterly alien for a D programmer. If you learned Pascal, you would likely find Haskell totally alien and vice-versa. But a D programmer will find some familiarity in both.

Take these with a grain of salt, I do not have much personal experience in things like this.

February 21, 2017
On Tuesday, 21 February 2017 at 18:32:22 UTC, Nick Sabalausky (Abscissa) wrote:
> On 02/21/2017 10:34 AM, Paul wrote:
>> 3) Is there much value in taking programming classes that don't deal
>> with D?
>
> Although HR folk never understand this, programming skills are highly transferable across languages. So yes, it's definitely worthwhile: Getting better with one language will help you be a better programmer in other languages.

Very much this. Companies are never impressed by my knowing any language in particular, they're impressed by the fact I've written code in so many different languages. Statically-typed languages, dynamic languages, scripting languages, JVM languages, assembly languages, etc. etc. etc. Definitely let yourself spend the most time on a language or two you enjoy most, because it's still important to demonstrate that you're able to know a language front-to-back. But experiment with as many other languages as you can, as much as you feel comfortable and then some, because that's how you gradually get to a place where the only thing separating you from proficiency with any programming language is a week or two of ramp-up time. And that alone makes you employable almost anywhere.

As for employability: These days, one of the absolute best things you can do is to have an active github account. Put your projects in public repositories, even the small ones, and any time you think of something interesting or you need a tool for yourself, commit code to the site while you're developing it. And never be afraid to submit PRs for improving other people's repos, because it's almost always welcome and it also looks great in terms of employability because it shows how comfortable you are working with other people's code.

The overwhelming majority of jobs these days involve writing C++, C#, Java, JavaScript, or Python. You will have a much easier time finding a job writing code mainly in one of those languages than one writing code in D - but that doesn't make learning D useless, or anything close to it. Everything you learn by writing D will be transferable to those other languages, especially C++. Just stay aware that it is well worth your time to familiarize yourself with other languages, too, and be open to the possibility of finding work that focuses on other languages.

February 21, 2017
On Tuesday, 21 February 2017 at 15:34:02 UTC, Paul wrote:
> I'm in between engineering jobs and exploring the idea of getting into programming for a living...specifically D.
> 1) Is there enough D demand for someone to make a living (bread and water :} ) at it?
Anything is possible. Aged companies are more government in their operations. Its way to get employed by startups.

> 2) I've programmed industrial automation controllers using graphical and text-based languages and wrote a few small command line tools in D for myself. How long would it take to become "employable"?
Web, IoT, cloud ... that's where employment is going. You know about embedded systems already (IoT). Don't know how much support D has in this area though, but seems LDC has good arm support.

> 3) Is there much value in taking programming classes that don't deal with D?
I will recommended studying the few D books, standard library (very important), language specification, and basic algorithms. Exercism.io is a good learning resource for D and Github D projects.

> 4) What is the best way to find D programming jobs online?
>
No one really knows. They have to have a reason to employ you which your genuine portfolio can help. Some companies look for certs whilst others look for capable talents/skills.

Startups are formed everyday.


I don't want to go into whether CS degree is a requirement or not.
February 22, 2017
On Tue, 21 Feb 2017 15:34:02 +0000, Paul wrote:
> I'm in between engineering jobs and exploring the idea of getting into
> programming for a living...specifically D.
> 1) Is there enough D demand for someone to make a living (bread and
> water :} ) at it?

There's enough for someone to do so, and maybe enough for several hundred to do it in the whole world. Sorry to say your odds aren't that great.

> 2) I've programmed industrial automation controllers using graphical and text-based languages and wrote a few small command line tools in D for myself. How long would it take to become "employable"?

If you start your own business, you're immediately employable.

If you go for portfolio-oriented work, then you will be employable once you've done something noteworthy in your field.

> 3) Is there much value in taking programming classes that don't deal with D?

You will want to learn SQL.

You need to learn the concepts behind asymptotic complexity, at least enough to recognize when you've got asymptotic complexity problems.

You need familiarity with common data structures.

If you are working in a particular field and there is a class on that, it is worthwhile. For instance, if you are doing computer vision, machine learning, or natural language processing, you will benefit from studying that specifically, regardless of what language you use.

You need practice programming to be effective, and that practice will largely be transferrable from other languages to D.
February 22, 2017
On Tue, 2017-02-21 at 13:32 -0500, Nick Sabalausky (Abscissa) via
Digitalmars-d wrote:
> On 02/21/2017 10:34 AM, Paul wrote:
> > 3) Is there much value in taking programming classes that don't
> > deal
> > with D?
> 
> Although HR folk never understand this, programming skills are
> highly
> transferable across languages. So yes, it's definitely worthwhile:
> Getting better with one language will help you be a better programmer
> in
> other languages.

The psychology of programming people have incontrovertible evidence
that the very best programmers are able to work to a high level in many
different programming languages (there are many references for this,
see the work by Petre, Green, Sharp, etal.). The hypothesis that
learning to a real working level a new language increases competence on
all previously known language that you still have working knowledge of
is also proven. However there is a caveat, that the new language must
have a new computational model or at least a significant breaking
change in something associated with the computational model. So if you
know C then learning Haskell has great benefit. Then learning List has
great benefit. But then learning Scheme will have little benefit.
Learning C++, then D, then Rust for example will have benefit because
there are new things there even though the core computational model is
effectively the same – they have differences that matter.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

February 22, 2017
On Wednesday, 22 February 2017 at 09:09:45 UTC, Russel Winder wrote:
> is also proven. However there is a caveat, that the new language must
> have a new computational model or at least a significant breaking
> change in something associated with the computational model.

This is probably quite true, of course the more you get used to a particular model the more you feel that other languages are restraining your ability to express yourself...

> Learning C++, then D, then Rust for example will have benefit because
> there are new things there even though the core computational model is
> effectively the same – they have differences that matter.

Maybe. I think "modern" C++ is a in class of it's own at this point. It is now quite detached from it's root: C with classes. Not so much for the computational model as for all the patterns you ought to follow and not nearly enough constraints from the compiler on what you should not do. With modern C++ you either have to go for being proficient or end up feeling miserable. Which is quite different from most imperative languages I think.

Other than C++ I think most imperative Algol-like languages are in the same mold. The core difference is between system programming that requires hardware knowledge, but then the model is the hardware and not really the language. If you know 2-3 of them (e.g. C, TypeScript, Java) then getting into the others don't really require all that much.

« First   ‹ Prev
1 2