One function at a time

Why’s it so hard to start something new? Get out of your comfort zone and feel like a complete dumb-ass and drown in stack overflow tutorials that look more like ancient Aramaic than a computer language?

 

I kind of answered my own question; It’s tough because there’s a huge gap between where you are and where you want to be and it seems insurmountable.

 

But it’s not insurmountable. Let me back up.  I’m starting a project on github that’s a major overhaul of another project. So I’m taking all this great code that’s been stable and used for years across the world, throwing it away and building Spring backend with a JavaScript frontend.

 

Oh, and I don’t know JavaScript or AngularJS (the framework I choose at random to use).

 

So I’m a little bit overwhelmed, but my mantra right now is ‘it’s not insurmountable.’  In fact, it’s all very surmountable. Literally millions of people know how to code in JavaScript.

 

And, by golly, I’m going to be one of them.  By sheer force of will I am going to learn JavaScript. I am going to learn AngularJs.  I am going to finish this project unlike every other personal software project I’ve ever started.

 

I don’t care how long it takes; how hard it is; how doomed it all seems; how futile it surely is.

 

One feature at a time, one function at time I’m going to march on. The only path now is forward.

Staying in

I’m staying in this weekend. Well it’s already 2 on Sunday, so really, I’m really continuing to stay in this weekend.

I’m trying to get work done on an little open source project I started.  Will it go ultimately anywhere?  If I never work on it, it’s a certainty it won’t. But if I do, who knows?

At any rate, I’m trying because that’s the expectation today for software developers.  At least in the big leagues that’s what your competing with.  People who are active on stack overflow or kernel developers or people who literally wrote the book on python.

I wants it! I can haz teh github project with 1,000 stars.

 

The project itself is massive.  It’s a port of Apache Jmeter to be web based a client application.   It’s an attempt to make Jmeter more cloud based and distributed.  I started it because I love Jmeter. I started my career in QA and so it’s always near and dear to my heart.  But also it’s critical component for any software company.

At any sufficiently large company, to deploy something into production quickly you need o have a deployment pipeline that executes all test cases you may have. If you have manual tests cases in a lab, you’re too slow.  I get that you may have manual tests ran in a blue/green deployment, and that’s fine.  That’s not going to interrupt and stagnate your deployment, because guess what, you’ve already deployed!   And stagnation is what your companies trying to avoid right?

 

Anyway…tons and tons of QA solutions exist and they’re all increasingly difficult to work with. That may make sense to some degree, because QA is large and to get right there are about a thousand moving parts. Like getting to deploy quickly through some orchestration like Kubernetes, Ansible, OpenStack, or just a library of custom shell scripts. Or maybe you want to spin a whole new environment just for testing with Vagrant (or more custom shell scripts!).  In any case, you need to deploy and configure your artifact and your dependencies.  Then, you need to run your test cases then you need to be able to present them in a meaningful and concise way. Having got the basics, maybe you want to schedule it? Maybe you want to run test cases in production as synthetic transactions. On top of that, all those tests running wouldn’t make a lick of sense if you didn’t get some sort of daily report or better yet an alert when their failing.

Integration and full end to end testing still presents a huge gap in projects simply because of the complexity involved and the crazy one off things people may need to test.

 

So, I’m staying in and working this weekend. I want testing to be easy and for that I’m going have to put the work in.   Like all infomercials, I too am saying, there’s got to be a better way. I intend to find it.

 

 

Me; in 1,000 search-able (key)words.

I’ve had the same job for a few years.  I’ve haven’t been applying for others, even though I know it’s something everyone does. Some people I know go as far as to interview every few months regardless of whether they actually want to leave or not. Masochists isn’t the right description, but it’s the first that comes to mind.

At any rate, after 4 or so years of working at the same company I finally  happen to find a job listing that I would simply be remiss if I didn’t apply to. So I start the process and it’s midnight or so, and I realize, oh! I have to update my resume. Or or specifically, I have to find my resume.

After a little bit of searching (both in emails and on job websites after telling a robot I forgot my password) I found a document that poorly indicated who I may have been two years ago.

Now the tasks are clear:

  1.  Reinvent myself
  2. Document that new self in 1,000 search-able keywords or less
  3. Learn how to use colons and semi-colons (again)
  4. Apply for this job

 

I’m thinking I’ll structure my resume like this:

Page 1: Cover letter. A little bit about me and my experience. Light, witty, charming.

Pages 2-8: Super lengthy dissertation on how every developer thinks one gigabyte is not nearly enough memory for their heap; and why that’s f*%#ing stupid.

Page 9: Just a list of keywords so that my resume pops up on basically any tech related search.

I’ll probably move the heap manifesto to some other forum.  But the keywords will stay.  They have to. I have to boil myself down into enough single words that someone, somewhere out there in the void can search for Ansible and see that I’ve got a black belt in automation. OK, probably more like purple, but neither belt ranks search well in technology.

So how am I to get all this great prose in front of someone’s eyeballs when I know for sure all they search for is ‘java/web/spring/los angeles’?

 

None of that, of course, is the real problem.  Searches have to happen. Keywords in resumes have to be there. How else are people supposed to find candidates? (As an aside I’m now wondering if recruiters existed before powerful search engines?)

 

The real problem is simply that I dislike having to talk about myself. Having to tout and shout I did this and I know that.  I’m a real go getter and I’ve got people skills and computer skills and I can type 70 words a minute and on and on and on.

Writing a resume is doing two things to me that I do not like. It’s forcing me to look at myself and become kind of conceited or egotistical. You have to be in a resume right? You can’t say, Oh I’m a piece of s**t and I play Skyrim all day on the weekends and I don’t make commits to my github nearly as much as I should let alone that I’ve never committed to a real open source project.

It’s out of my comfort zone to talk about myself like that.  In fact, I had to lookup antonyms for modest in writing this and found that most synonyms fit my personality and no antonyms do.

The other thing I do not like is that it is I can compress years into two pages. Or, perhaps more accurately, fit myself onto two pages. What’s scary is how easily I can.

 

Nobody wants to hear about your level 100 battle-mage. Not in a resume, but also, not ever.  Oh well.

 

So I guess I’m lucky that I like my job well enough and am exceedingly good at it.  I suppose at the rate that I’m going I’ll be able to apply to that job in 6 months.  But at that point I’ll have to do it all over again!