Pages

Monday, January 11, 2016

5 Signs your development job is in trouble

Today I am a senior software engineer at Mattersight, a SaaS company. But it has not always been that way. Five years ago I was starting my first true software development job as a junior developer at NCSoft. 10 months later, as the most recent hire, I was let go in a round of layoffs. I've had four years to think about it, and can see at least five indicators that it was not a good position for me.

Programming language paralysis
Coming out of college, I figured I was capable of learning any language needed by a reasonable development team. Scripting languages in particular were my strong suite.  Then I met Perl - and found a language that just didn't click.  I tried my hardest to really grasp the language. I even made quite a bit of headway.  But, it still wasn't code I wanted to show off.  Quite honestly, it was confusing - and it paralyzed me.

Had I been in the job longer, I might have recognized just how serious this issue was. Or, I might have realized that there was a deeper issue at play. 

Objective Unknown
One of my early tasks was to groom the backlog. Find a ticket I thought I might be able to handle and show initiative. No specific target, no true goal. I started in, got my environment all setup, and then the backlog blues arrived. This continued for a while - maybe it was a good starting task, but mostly it involved asking the senior dev's how to fix their bugs. 

There was a good amount of time that did have an objective, but with these exceptions, there wasn't a clear objective.

The 'strike force' team, no, that's not you.
Now, this by itself is not a huge issue, but, it can be an indicator. For me, the stealth team concept is a harsh one. Let's grab these few devs, stick them on a project, and sequester them. If you're on the team, you're probably somewhere you are supposed to be. If you aren't - and you aren't doing anything you appreciate, maybe ask about it. I didn't, but I should have.

Communication: Zero
One thing I ran into as time went on was a drop off in communication. I had finally gotten a good strong project.  I went after it with a gusto. Along the way I asked my supervisor questions about my approach, and conferred with others.  I thought it strange, but I did not get much in the way of feedback. In fact, I didn't get much in the way of any communication.  But, I had a project.

As the deadline neared, I finished up on my work.  At this point, the department head wisely instructed a different senior dev to review my code. Turns out, it had a security vulnerability.  A rather large vulnerability according to the senior dev.  It was something I'd specifically asked my supervisor about.  Now, I don't blame anyone but myself for missing the vulnerability. However, had there been communication, even minimal communication, the project would have been steered in a better direction at an earlier point.

Doing nothing
Unlike the other issues, this one is probably the most significant.  If you are not doing something, then you are not needed. And towards the end, I was not doing anything. Sure, I hit the backlog - but in the end, I was no longer producing.  In fact, many were not producing. And there were layoffs. My advice, if you are not doing something, reach out.  If you are still not doing anything, get out while you can.

A Final Note
There were many political motivations for my layoff, but not politics I was party to. An exec left the company, and everyone hired under his vision was laid off. Or, if they were exceptional, replaced someone less exceptional.  I had a lot of family issues that summer (I could write a book!)  But my performance was, from self evaluation, mediocre at best during that time. Had I known what to look for, I would have seen the layoff. But I did not know what to look for.

Saturday, January 2, 2016

Five Real Problems with Windows Phone

Five Real Problems with Windows Phone


Windows Phone seems like a solid device, the development environment is straightforward, and getting an application to run on the system is easier then either of the competing devices. Why then does a phone that seems to fit the bill fall short of adoption? Sure, there are some diehards out there, fanboys if you will, but the general populace doesn't go for the windows phone. Many articles on the internet have a few stereotypical reasons for failure, but these are never truly explored. 


5. Insufficient market share

“Windows phone isn't making it because it just doesn't have enough of a market share.” I've seen this in a few articles out there. Highlighting the symptom as the cause. Market share, or lack thereof, is a symptom of how well a product is doing. A market saturated with a specific device indicates a strong infection, just as a weak market share indicates a problem with the product. Any article outlining the symptom as a cause should be ignored at the least, and, removed from publication. But nobody removes articles off the internet. 


4. There just aren't enough apps (part 1)

Almost every single article I have read about a problem with windows phone is quick to highlight the lack of apps in the windows store. They don't go into detail, just that, windows doesn't have the apps. Microsoft even acknowledges this by showing consumers a side by side of apps one would use on the android and the equivalent app on the windows phone. This highlights one issue clearly. If you want to use a windows phone, you have to use the windows version of major apps. Yahoo! Mail for example: On android, you have a Yahoo mail app. It works great. When you try out a windows phone, you search the store first thing for Yahoo mail, and what do you get? Some yahoo app about cricket, a few 'scam' yahoo apps, and no yahoo mail. The conclusion? Windows phone is missing an app. Now, the app isn't really missing. It turns out windows phone integrates Yahoo mail directly into their primary mail app, along with gmail, and many others. You no longer need a messy individual client mail app, all of the mail is easily managed in the standard mail client (and it really is solid). 


3. There just aren't enough apps (part 2)

But wait, there's more. The real missing apps, are the 'popup' apps. Some startup just made an app, the pushed it to android and iphone, but not windows phone. Why? Well – the whole market share thing. Maybe, but that just makes this a symptom of a symptom. No, it isn't a chicken and egg issue. Here's what's really going on. Most android / iphone app dev takes place in a Java environment. Sure, iphone has iphone specific methods, and, android has android specific methods, but, when you get down to it, the source code I mostly the same. Not so for windows phone. Windows phone has c# as a source for apps. I've built apps for all three phone types. Windows phone was by far the easiest. However, it doesn't port – you cannot easily take the code from the windows app and push it to android. And this is where the real reason for missing apps occurs. 


2. There just aren't enough apps (part 3)

Yes, I'm going to harp – turns out this is the biggest reason windows phone is weak. The other missing apps that we don't see on Windows Phone are those of their major competitors. You don't see gmail. You don't see yahoo mail. You don't see google plus. No, good chat – no yahoo chat. And forget even thinking about an app from apple. These apps, which people use extensively on other devices, are what really kills windows phone. People get used to their apps. They want the same thing that worked on their old phone to work on the new phone. An example of this is the Camera on my windows phone vs. my wife's android. Both take roughly the same photo, but, the interface is so different – both of us get lost when trying to use the other. 


1. Microsoft first glutted, then starved the market. 

When the windows phone first truly got going, Microsoft pumped a bunch of different model phones into the world. The low end, the windows 7.5, the mid range, the high end, and so on went the list. There we so many different phones, it was worse then finding an android in the desert. Apple has 2 distinct current models. Samsung, the most popular android line, has 2 distinct primary models. And then, android has a bunch of other random phones, (Not experience regarding HTC at this moment). Microsoft tried the android approach and produces phone models until there was no tomorrow. Literally, tomorrow stopped for windows phone and the starvation period ended. Recently, microsoft ended the starvation period with a behind the times double offering. Yes, microsoft correctly identified the dual phone strategy. However, the new phones are biased towards AT&T, and, unlocked, only work with one additional carrier. The starvation continues. 


Conclusion

All in all, Microsoft feels disconnected from the consumer. They want developers to write apps, but they don't address the fact that it isn't developer's apps that are missing, but rather major competitor's apps. At this point, the stereotypes are in place. The apps aren't there, it's the third wheel, dev's don't like the software. In order for windows phone to go anywhere, my biggest suggestion would be to get Google apps, and some of the highest rated google store apps into the windows store.