Talk about career…

I’ve always wanted to talk to students about the realities of the IT/Software Development industry, a talk that I would have loved to hear when I was a student. God gave me that chance through a friend of mine.

I gave a talk entitled “Career Paths: Story-based Career Planning” for a host of graduating students in Asia Pacific College.

Depending on the circumstances and unless I need to learn something specific — it’s ridiculous to seriously take career advice from someone who has yet to hit 30:

'Who here has no idea what they'll do after graduation?'

I asked.

Most of them laughed and raised their hands: I got them talking, I got their attention.

I didn’t talk as someone with authority, but as someone who is also going through their own career path; someone who is also learning as they go.

I told my story, I told them to learn from it, because it’s the most helpful thing they could get from me unless they approach me personally and ask for specific advice.

They wanted a 45 minute talk, I gave a 25 minute one — a bunch of students attending for requirements; in this context, short and sweet is better than long and tedious.

The talk ends up with a single point: Focusing on your ‘Career Plan' is noteworthy, but what's more important is the character needed in going through your 'Career Path’.

Some snippets:

  • Part of my talk was going back to what the word ‘career’ really meant:
  • Career originates from the latin word carrus (a wheeled vehicle)
  • The definition of career transformed throughout time, now it’s been used to describe one’s profession.
  • Career is also a verb: to move uncontrollably.
  • I also didn’t know what to do after graduation.
  • Plans are man-made based on ideal expectations, do not follow them to the letter, see them as a guidelines.
  • Paths are made naturally based on personal character. Exceptional Careers (Yukihiro Matsumoto, Steve Wozniak, Bill Gates, Steve Jobs, Martin Odersky, Jack Dorsey, Elon Musk, etc.) seemed more of a ‘path’, not a ‘plan’.
  • Character beats ability, but it doesn’t mean you’ll give up trying to be better at being more able. Work smart.
  • Be concerned in doing the things you love doing, you’ll get highly paid to do these things in the future.
  • Passion is great, on the other side we also need to be professional. Balance both. What if you don’t feel like doing what want to do anymore? Plan around the things you’re passionate about.
  • Applying for a job and going into an interview is the norm after graduation, but it will be the ‘exception’ after working for a couple of years. Work well, work well with others.
  • Take related tasks that no one wants to do, your value instantly increases.
  • Do things that are highly valuable for the company. Climb up the value chain, avoid being a ‘cost center’, attach yourself to ‘profit centers’.
  • Avoid ‘make work’, made-up work to make you look busy. Automate ‘make work’, and you’ll instantly be essential to the organization.
  • Age is not that important, if you’re working with right people.
  • 'You can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.' - Steve Jobs
  • I placed my trust in God that everything would be alright.

Building a simple expense/income app for me and my wife #DevHusband

I’m working on a simple expense/income tracker that me and my wife can use. Excel sheets/templates and other finance apps are way too complicated, we both agreed that in the end accounting is as simple as taking down notes in a ledger — why not enter those entries just as easy as tweeting (categorize expense/income in hashtags, etc.)

It’s not as complex or innovative as other accounting systems and projects, but it’s working out for the both of us and we’re using it. It’s also a nice excuse of a project for me to flex out Ruby code.

Enabling Code Blocks on Tumblr via Google PrettyPrint

Grab the prettify.js and a prettify css style from the Google Code repository, stick them in your ‘head’ tag

<link rel="stylesheet" type="text/css" media="screen" href="https://google-code-prettify.googlecode.com/svn/trunk/styles/sunburst.css" />

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/prettify/188.0.0/prettify.js"></script>

Grab jQuery and append prettyPrint on every pre element it can find on your blog, then call prettyPrint()

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

$(document).ready( function(){
    $('code').parent('pre').addClass('prettyprint');
    prettyPrint();
});   

There you have it!

Primer on building a Startup: Ideas alone have no value

Imagine the most beautiful portrait or landscape you can think of. Got it? Okay hold it there —

Now go ahead and paint it.

Everyone has ideas, if you’ve thought of some special idea, chances are, someone already thought of it before you and they’re already 3 steps ahead. It’s a well known fact in the tech industry: the value of execution is much higher than the idea behind it.

Think of how many people thought of an online bookstore back in the 90’s, you’ll come to wonder why Amazon was the only one who got it right.

"If life ended at 30, how would you define success?"

A friend posted this as his status over Facebook. I won’t answer it but it did spark some interesting thoughts over preparing dinner with Elain.

Success has an absolute definition:

  • the correct or desired result of an attempt (Merriam-Webster)
  • favorable or desired outcome (Merriam-Webster)
  • ;also: the attainment of wealth, favor, or eminence (Merriam-Webster)
  • the accomplishment of an aim or purpose (Oxford)
  • Success comes from the latin word successus: to advance, to climb

Success and Desires

Success mainly deals with a ‘desired result’ — in short, it goes around the concept of achieving a ‘desire’. A specific ‘desire’ has ‘value’. Merriam-Webster and most of the world couples the word ‘success’ with money, power, control and fame; obviously stems from the fact that everyone desires and values those 4 things above all else.

It is kind of self-centered; success is about us getting goals, it is about achieving what you value.

Weird thing is most of the time we may already have succeeded in achieving our goals, but the problem is we value something else, that’s why sometimes we feel like a failure. The world has tricked us into buying things we don’t need, achieving certain positions and behaving in a certain way to be ‘valuable’ just because the ‘world says so’. The funny thing is: we envy, and there are times we never get contented.

Be very careful with ‘success’, because we might be succeeding in things that are apparently not valuable after all.

So.. at 30, what do you value?

Is there any value to a CS degree at 50?

I’m 50. I’ve been building hardware and programming since I was 18.

I live in the Santa Clarita, CA.

College was touch-and-go. It was always going too slow for me. By age 20 I was working as an engineer doing both hardware and software. At age 24 I had saved-up enough to buy my first house. I had a good career and was soon making over $100K per year doing the stuff I really enjoyed.

I eventually started a tech business in my garage. Within three years it grew out of the garage and into a good size industrial facility with a dozen employees or so, in-house SMT assembly, CNC machining, low volume manufacturing, etc.

As is the case with most businesses, there were ups and downs.

The economic implosion of 2008 caught me in a perfect storm that ultimately led to killing the business after a two year gut-wrenching attempt to save it any which way I could. At the end of 2010 I had to capitulate and let it die.

Three years later. No job. I’ve sent out hundreds of applications. Very few call-backs. I’ve even lied and implied I have a degree just to see what might happen. No difference whatsoever. I had a recruiter tell me I scare the shit out of people because of the experience I have and the number of roles I’ve played, from rank-and-file engineer to founder/entrepreneur, CEO, CTO, etc. And, he also said, reality is I cannot water-down my resume because my life is all over the Internet in one way or the other.

The good news is that my wife is more than able to support our family and we’ve been OK. No urgent financial needs at this point.

The last three years have come with a lot of soul searching on my part. You go from knowing you can tackle any project anyone could care to place in front of you to thinking you are absolutely worthless. You navigate this imaginary line back and forth over time. Back and forth.

I’ve kept busy. I had dabbled in web and mobile development before but the bulk of my work —where most of my value in the business was found— was in high performance FPGA and embedded hardware and software development. I’ve developed entire product lines from scratch on my own. I am no stranger to hard work.

Not wanting to remain idle I decided I needed to shift away from doing hardware —due to how capital intensive it is— and focus on software. I jumped head first into web and mobile technologies did a few experimental websites and published a free iPhone app. Making money in the app store is hard.

In the end, technology requires money. I’ve made a little money here and there, enough to pay for servers and have a few thousand laying around for judicious experiments. I told myself I would never touch my wife’s income for my experiments and have stayed true to that over the last three years.

During this time I’ve also logged hundreds of potential business ideas spanning the range from pure software to web, mobile, physical and hardware products. Most are admittedly bad. That’s OK. I forced myself not to pre-judge anything. The other day I saw these guys on Shark Tank who sold over a million dollars in ugly sweaters. My prior self would have discounted that as a dumb product and a dumb idea. I try not to think that way any more. Lessons such as watching something like Instagram do what it did have taught me things I just didn’t know.

I have convinced myself I am not employable because of my past and my age. I never thought I’d say something like that in my life. A past of constant learning, accomplishments, entrepreneurship, hard work and, yes, success and failure. And no degree. I can’t rightly describe what this feels like.

During dinner last night my wife said she wants me to focus on finishing a Bachelors and then a Masters starting next year. She said she doesn’t care if I don’t work during that time. She feels this will be good for me mentally and that it will/might bring opportunities to the table at one point or another.

If you ask me today I am absolutely convinced that a degree will be useless to me. I’ve tried to imply I had a degree in resumes just to see what would happen and it made zero difference. I’ve also seen countless articles, some of which on HN, highlighting the fact that older engineers are having one hell of a time finding work, credentials or not. I don’t know. It could take five years to get to a Masters in, say, CS. I’ll be 55 years old, not having held a job for eight years and looking for work. How is that going to help me?

My current view is that my only way out is through entrepreneurship. I need to keep trying until I hit upon something that works. I know I have a few potentially good ones but I don’t have enough money to launch them correctly. I have to bootstrap from small ideas to larger ones.

I tried a startup pitch competition. I the judges where real assholes to everyone, it was a regular “let’s see who’s dick is longest” fest. Not my scene. Regrettably. I also think a lot of VC’s want young 20-somethings who will virtually kill themselves working. I can’t neglect my family and simply can’t live like that at this stage.

Looking for thoughts, ideas, opinion. I am sure there’s something I might be missing in my thought process. It’d sure be nice to go back to feeling like a productive member of society as well as to contribute to the financial well-being of my family. The kids are getting older. It isn’t going to get any cheaper.

Thanks!

Based on what I’ve read so far, you’re in a really comfortable position, so don’t shift specializations.

Capitalize on your rich experience with embedded hardware and software development. At 50 I’m pretty sure you have a wealth of contacts from people in that field (people you consulted for, past work buddies, etc.) warm them up and make contact: you now have a client/referral list. Ask them how they’re doing, take them out for coffee. Discuss what they’re currently doing and what they need help with. Start with one tiny project.

Ask your wife for a little help, ask her for some contacts. Talk to others in your field, take them out for breakfast or lunch, offer to speak in an event, you can offer consulting or training workshops.

Go back to building a business, it’s your best bet, and you’ve done it before. Outsource the bulk of your work into your other known contacts that can refer you to high-end consulting shops in the South-east asian or Indian region. Disclaimer: I’m from the Philippines. It’s 2013, there’s so much more tools for remote collaboration than it was a decade ago, you’ll get a good english speaking/writing workforce for less than US salary rates.

Don’t study unless you really really want to. 4+ years is a lot of time. You could have made another business up and running at that amount of time.

Don’t shift specializations just because of current market trends. Who knows, hardware might boom in the next decade. Honestly, currently, the web itself and all mobile app stores are over-saturated with everyone trying to make a dent.

The point is, no one can predict what is going to happen in the next 10 years, just stick with what you know and what you can do to answer a need from your contacts. If a specific “solution” you’re offering picks up traction, “productize” it and put a little more focus on that, but don’t bank the entire consulting shop for a product unless it dwarfs your consulting revenue by 3x-5x. Consulting cultivates client relationships, and business is all about building professional relationships that would earn you more money.

I’m not 50, I’m only 26, the 50+ year old people I know end up in three ways:

  • Teaching (writing books with their knowledge, offering workshops, teaching in universities, etc.)
  • Retired
  • Business

Again, I’m only 26. Take the input with a grain of salt.

Discussion on HackerNews

10 Week UI Challenge: Week 3 - iOS 7 Lock Screen

Last week I tackled on building the Windows 8 Modal from scratch, this week I’m doing a take on one a favorite interface: the iOS 7 lock screen. Depending on jQuery, Google Fonts, momentJS and Font Awesome. I whipped up a short piece of code to replicate it.

Code and demo can be found here

Following Jonathan Ive’s revamp of Apple’s Design system, favoring minimal vs skeumorphic.

The lock screen, even for the 1st iPhones, were revolutionary in a mass market sense. Surely, the techonology capable of doing this was already available way before the iPhone hit the market, but the product alone (along with the iPod) helped spur the need for pleasurably usable interfaces since Apple gained market share.

Things I learned:

  • Animations via CSS keyframes ;)
  • Got to use my knowledge of transitions and transforms

7 weeks to go!

Would you join a startup that doesn’t test? Are tests impediments?

Met this great team at a startup running a (quite successful) webapp on a cloud hosting provider. They don’t test their code at all (and instead run through tests manually before they push to production). They say it’s because they wanted to put something out there rather than focus on testing. Is that legit? I like them a lot, but it makes me nervous that they don’t have any test framework in place. I think they’re open to testing now they are more stable. Thoughts?

If they’re only starting out, it would be okay if there would be no automated testing at first, but as the months roll by, they’ll need testing sooner than they think.

If they’ve been working at it for a while, joining them is going to be a lot of hard work. For one, it can be a warning sign, in the first place, their code will be hard to test. Dependencies will be out of this world, who knows where they put their business logic, random classes doing random things, random database session handling, god objects, and other elaborate hard-to-maintain hack stacks.

Honestly, lots of huge companies out there don’t test, so shouldn’t really be a big deal. If you still want to join them, introduce testing to them by creating tests for one small part of their stack, it will easily show off the merits of testing:

  • It’s not just about putting something out there faster, it’s also about failing business assumptions and the capability for your code to iterate/pivot quickly. Testing helps you in that aspect. Spend 10 minutes running the entire stack and tracing where a bug occurred, or just run your tests and find out what went wrong.

  • The great thing about automated tests is that whenever I make huge changes in my code and the tests still run it means I can confidently say I didn’t break anything at all. If I did, then I can easily know where and how, and I don’t have to run through the entire app. I could easily isolate a single piece of my stack and test directly.

  • Testing forces a team to write maintainable software.

  • Another amazing meta-feature about tests is that, whenever you’re debugging, it takes a huge chunk of business logic out from your cognition. You don’t need to carry the extra cognitive load that ‘x’ part of your stack be able to ‘y’.

In reality, never join the company for their code, join a company if you find purpose, vision and growth in the people working there. You’ll work through it.

Discussion on HackerNews

Honestly, my eyes opened wide with this. I am very grateful to a fellow HackerNews member for giving me a Dribbble invite! Excited to post Works-in-Progress in Dribbble and get critical feedback from top-notch desingers in the community for my work to even get better :)

Honestly, my eyes opened wide with this. I am very grateful to a fellow HackerNews member for giving me a Dribbble invite! Excited to post Works-in-Progress in Dribbble and get critical feedback from top-notch desingers in the community for my work to even get better :)