Monday, January 5, 2015

Update and new direction

Bit of a personal update. I am still working as a System Administrator in Tennessee specializing in Red Hat Linux, Security, Networking, and EDI. However, still not a software developer. 

There's a reason for that.

When I started this blog I told myself there was no way I would start looking for a job until I knew this would work out. I thought that I would finish school and get a degree in Computer Science and then master the craft as much as I could in my own time while continuing to work IT. That is .. pretty much what is still happening. Except I've cheated that plan a bit. Not only have I looked for a job .. I've been contacted by recruiters who have seen online content. Most have produced the same answer - "I think you're heading in the right track but we need someone who can jump on board now". This is still encouraging to me. I wasn't even supposed to try out for a job. But I think I'm going to continue pursuing opportunities if they arise because whenever I receive feedback from these recruiters it is somewhat of a massive progress report. They let me know what they think and how I can do things better. I'm not going to be able to dive into an enterprise job until I have something to show. And despite what you may read on many "zero to hero" blogs .. the only way that happens is by rock solid experience from a company that actually hired you to be a software developer. At least for me in Nashville Tennessee. Blogs, code samples, developer challenges, open source, school projects; there is a lot you can show for your talent. But nothing will speak like experience. Of course it's the proverbial chicken and egg situation: "how do I get experience if I can't get the first job? .. Someone has to give me a chance!" Well I wouldn't say that I haven't experienced this either. There are basically two situations. I came close to actually getting a job but the job was for framework automation testing using C# and the .NET framework. I tried to complete a series of challenges but could not finish in the elapsed time. I have been putting my energy and education dollars into learning how to build high grade enterprise web applications and while I would have been glad to join any team for the experience - it just wasn't catching on with me. But there are companies out there who are willing to take a chance. Maybe things aren't moving as fast pace wise for them. Maybe they can actually take the time to on board a brand new developer (degree or not) to the team and have mid to senior level developers train them because they understand the value in bringing someone up in the company from scratch. This happens all the time. I had a couple of encounters so far and those are my best bet. Because I'm not done with school then when these opportunities arise I must be ready to present everything I know which ranges from my Github repositories, personal projects, and more recently the apps and scripts I'm working on here at work. Hopefully the next encounter I come across will be somewhat technology agnostic and they just care about seeing the ability to program, think logically, and enjoy learning. I say that because the last interview I had was a Java, Spring, and Hibernate job. I had recently built a web application at work in Ruby on Rails, I have scripts in Python and Perl, and I developed an E Commerce application using C# 5.0 .. but this company needed someone right here and right now to board on and they needed exclusively Java experience. So I mean all of this varies. So as for me it's basically like this: I am going to stay put at my job here and code when I am presented the opportunity to. Here at work we have scripts, web projects, and our main application is PHP and Java script. I am going to build my resume and add experience while working through school here. I'm not going to go chasing down every programming job I come across because most likely I'm not going to be ready for what it is they need. But, I really do hope again that I have chance of speaking to one of these companies that are in the mood to take a chance with a JUNIOR junior junior junior Dev such as myself and raise them up from the bottom. I will be there and pursuit these types of jobs. The job I am working now is pretty much a two year deal at least guaranteed. I am going to do what I can, finish my education, and constantly put myself online and share what I am learning. This is probably the case for many other people in my situation. I have discussed in a previous post the struggle for new developers in this ever changing landscape of technologies that you are just expected to know when hitting the field. I really hope schools are prepared for this. I don't know when the last time I heard the terms "backend" and "frontend" developer. There is a vast pool of information and skills that this digital age requires that we HAVE to be on top of constantly no matter what particular field of development or IT you're in. 

"Hey, what do you do?"

"I'm a DBA/Java developer"

"Oh .. what is that you're working on?"

"A Node/Angular app."

...yeah.

**************The New Direction****************

There was a three month gap from my last blog post. That is because I again felt inconsistent with the technology set I was working with. I went from C# to Java and I really did not want to appear from no where with a post about Rails and Ember. I began investigating Rails after learning Grails for sometime so that I could see a bit more about where this framework got its roots and then discovered how productive I was, how much I was able to learn, and how much Rails had changed the game. I kept this to myself but really got interested in Ruby and still am. But where I live, Rails developers aren't around much. I think the Rails way is the right way and will love to learn more about the framework in the future but the Nashville enterprise is built on Java and Spring so I think it's at least in my interest to continue with that to. I think I should do what makes me happy and I've already talked about mutliple skill sets. I know that there could be a big oppurutnity as the years pass for me to come across more Junior Java positions .. it's just a highly valuable skill to have. So much of this world is built with Java so I don't plan on stopping. Over the past two months though I was able to bring my boss and idea about a web application and work with a team to help prototype deploy a Rails application to help the IT staff here manage server reports, trouble tickets, and announcements. That is definitely good for the resume! But what I'm going to do with my blog to keep things in order is I'm going to work through a set of curriculum, right now I am taking a very formal and educational delve in to Spring to have have Enterprise Java as a serious skillset in my toolbelt. I will start section by section such as Dependency Injection with Java Configuration and Aspect Oriented Programming .. start off with a few modules and create projects based off what I learn and then blog about them and post the code to Github. I will then progress along with Spring MVC, Spring Data, Spring Batch, etc. Each time I learn something I will be more committed to share it. In between that if I do something random I will of course share that too. For instance just the other day I built a customer dashboard app that uses a Rails JSON API and delivers a page via Action Dispatch and then Angular takes over to control the single page aspect of it all. A typical SPA - TODOMVC type deal but I like getting little apps like that up and going to help learn and work through examples. 

Well take care and Happy Coding! .... Happy Living!


Derek P.