Archive: July 13, 2015

<<< July 12, 2015

Home

July 14, 2015 >>>


the new world of app development

Monday,  07/13/15  09:42 PM

Recently a contemporary (50ish) friend shared his thoughts on finding a job as a software developer today:

  • There are fewer fulltime positions now, and more contractor / parttime positions
  • It's harder and harder for experienced engineers to find work
  • A lot of the work out there is maintenance of old systems, not new development

I was thinking about this, and here are my thoughts...

<braindump>

A couple of huge things have happened in software, the cloud / web thing, and mobile.  Most new development being undertaken today involves one or both.

The predominant language used for cloud / web things is JavaScript.  A lot of the code is client side, all JavaScript, and the server side stuff has drifted around from Perl to Java to C# to PHP to JavaScript.  On clients the main chunk of knowledge needed (besides JavaScript itself) is JQuery.  This started as an attempt to create a cross-browser-independent way to do stuff (Microsoft IE being quite different from everything else), but evolved into a whole platform for client-side development.  It is unwieldy but it's there, and to work in that world you have to get to know it.  On the server side there's such a mishmash.  There are two platforms, Windows and Linux, and they don't mix well, with separate development tools and frameworks.  About the only thing you can say is all the current languages are "curly-brace" derivatives of C: Java, C#, PHP, etc.

All that said ... the big new thing is mobile.  There are two platforms that matter, IOS / ObjectiveC and Android / Java.  If I were trying to get a job as a software engineer today - building new stuff, not forensic debugging of 10-year-old still-working systems - I would be an app developer.  And on the Internet, nobody knows you're a dog, or a 50+-year old engineer.  I think with a mobile skillset anyone would be in demand.

So, how do you climb that learning curve?  Well, the first thing is you have to get a Mac and learn OS X, enough to be a user. Hardly anyone develops *for* OS X, but just about everyone develops *on* OS X.  I have installed OS X in a VM on my PC laptop, but I'm weird.  Everyone just gets a Mac laptop.

Next, I would recommend learning IOS / ObjectiveC first.  Android / Java is similar enough to be analogous, but it is a bit clunkier and has more variations.  The development platform is XCode, from Apple.  You join their developer program for $100/year and then download and install it.  The first step in the learning curve is learning ObjectiveC.  (Apple now have a new language called Swift, but it hasn't gained traction and ... I would not start there.)  ObjectiveC is a mashup of C and Smalltalk.  To learn it, I suggest reading the Big Nerd Ranch guide to Objective C.  Yeah, that's what it's called, and it's a great hands-on learn-as-you-go guide.  For an experienced engineer, I don't think this is going to be a huge curve.  And it's a valuable skillset; ObjectiveC is used for IOS *and* OS X.  It's also a step to learning C# or Java since they are quite similar.

After that, to learn developing for IOS you have to learn the intricacies of Cocoa.  This is Apple's runtime library.  It does a lot of the work for you, but it also hides a lot of the detail so it's a bit tough to get your arms around.  The XCode environment is highly integrated with Cocoa, the seam between development and deployment is wiggly.  (Think of it like [early-pre-.NET] VB on Windows.)  To climb the curve, I suggest reading the Big Nerd Guide to IOS*.  It helped me get through the initial "what the heck is going on here" to creating "Hello, World" apps for IOS.  There is a lot beyond that but it sure is satisfying to be able to code apps that actually run on your phone.

* The Big Nerd Ranch guides are Kindle-able.  I suggest having the book open in one window and XCode open in another, and toggling back and forth.

Building crap for phones is all very exciting, and a lot of cool apps are client-side-only, but many real applications need a server component.  It turns out the same kinds of interfaces you build for web-client-to-server apps are also used for mobile-client-to-server apps.  On the server, you create simple stateless APIs (the cool kids call this REST) which do all the real work for mobile clients (like database access).  In some applications you even have both web and mobile clients, using the same APIs.  Once you've learned coding mobile apps, you're probably going to want to learn more about the tech on REST servers, too.  That's a subject for another post.

Anyway ...

I were an engineer looking for work in 2015, I would start teaching myself to build IOS apps.  I'd get a Mac, get comfortable using OS X, learn to use XCode, learn ObjectiveC, and learn Cocoa.  That's the biggest world in software development at the moment, and it isn't going away.

</braindump>

So what do *you* think?  Please let me know if you have comments or suggestions!

 

New Horizons

Monday,  07/13/15  11:32 PM

NASA celebrates 50 years of planetary awesomeness.  On July 14, 2015, New Horizons will take the first close-up pictures of Pluto, exactly 50 years to the day after Mariner 4 flew by Mars and took the first close-up pictures ever of another planet.  Wow...

Meanwhile ... here's your closest look yet at Pluto's largest moon, Charon.  Excellent.  The New Horizons spacecraft is unimaginably far away ... it takes light 5 hours to reach us from Pluto.  And yet we can take pictures like it's our back yard.  [kinda] 

MG Siegler links Dennis Overbye:  The inventory of major planets - whether you count Pluto as one of those or not - is about to be done.  None of us alive today will see a new planet up close for the first time again.  In some sense, this is, as Alan Stern, the leader of the New Horizons mission, says, "he last picture show." 

It’s hard to write these words and know what they might feel like 50 years from now.  I never dreamed, when Apollo astronauts left the moon in 1972, that there might come a day when there was nobody still alive who had been to the moon.  But now it seems that could come to pass.  How heartbreaking is that?

You could say that we have reached the sea, the very icy and black sea between us and the stars.  Whether we will ever cross that sea nobody can say.

I can say, we shall cross it.  Probably sooner than anyone can imagine.  Life will find a way.

PS there are 182 known moons in the solar system, some nearly as large as Mars (Ganymede and Titan), with a wide variety of interesting characteristics.  And literally thousands of asteroids, dwarf planets, comets, and other space dwellers.  So I don't think it's even the last picture show.

This is perfect: Welsh government responds in Klingon to UFO questions.  And no, it is not a headline from The Onion.  

"Darren Millar, the Shadow Minister for Health and Social Services in Wales, posed three questions to Welsh economy, science and transport minister Edwina Hart about recent UFO sightings and funding research into the phenomena.  A Welsh government spokesperson responded in Klingon:

Jang vIDa je due luq. 'ach ghotvam'e' QI'yaH devolve qaS.

Translation: "The minister will reply in due course. However this is a non-devolved matter."

"I've always suspected that Labour ministers came from another planet," Millar said. "This response confirms it."

Adam Savage and astronaut Chris Hadfield walk the floor at San Diego Comic-Con, dressed [perfectly] as astronauts from 2001.  Excellent. 

I find that as time passes, no science fiction film gets as much respect as 2001.  None.

Two electric planes just made history by flying over the English Channel.  Yes!  So when I can I get mine ... can't wait :) 

Robert X Cringley asks Remember when technology was exciting?  He obviously is not reading my blog :)  

Seriously, I get the "we were promised flying cars and all we got was 140 characters" point of view, but when you look at what we *are* doing, it's incredible.  Onward!

 

 

sea turtle GoPro

Monday,  07/13/15  11:34 PM

This is so cool ... a turtle's-eye view of the great barrier reef:

Reminds me of the sea turtles in Finding Nemo.  Righteous, dude!

 
 

Return to the archive.