Themes for 2018

Introduction

As is tradition on this blog I always lay out some themes to focus on for the upcoming year. These were last years themes if you want to get an idea for the types of things I usually do. I haven’t spent as much time as usual pondering my list this year as I was very busy over my holiday break (at the start with sick kids, and at the end with lots of family activities). Given that today is my last day of vacation I decided it is time to get some things written down. Here are my themes for 2018.

Theme 1 – Health

I started out last year wanting to drop about 50 pounds by my birthday in July (just to get healthier before I turned 40). I managed to lose 30 before my birthday, and then sort of fell off on it in the second half of the year so about half of that came back. So I want to make the same push this year and try to get down to around 200 lbs by my birthday and I am working on my approach. Way back in the day I tried weight watchers and was very successful with it, but always felt hungry on it. Several years later I experimented with the primal diet and found it to be way more effective for me than weight watchers, but a challenge due to limits on foods that you can’t really eat. Last year I lost all that weight following slow carb diet from the 4 hour body. The big advantage of that diet is that you get a cheat day so anything that you really crave you can have once a week. I will probably be doing something between primal and slow carb.

Along that line of thinking one of the priest’s blogs that I follow is doing a program he is calling Nineveh 90 which is sort of his program for physical, mental and spiritual health. He launched it on January 1st and it goes up through March 31st (Holy Saturday). Kind of a lent on steroids. I decided I was going to adopt components of it myself, but not starting until today the 7th as I prefer to celebrate the Christmas feast for the entire 12 days of it.

The components related to physical health that I will be trying to follow in conjunction with eating better are:

  • Regular and Challenging exercise. Not sure I will hit the challenging part, but I will at least try to get close to my 10,000 steps in every day and maybe walk the dog more than usual.
  • At least 7 hours of sleep. I often get tempted to stay up late when reading or when working on some sort of problem and I will try to be diligent and get to bed by 11pm.
  • No alcohol – I enjoy a beer at night generally with my dinner, so I will be cutting this out (which should help cut carbs). I will still allow myself a drink if I am out, so that I can still participate in my neighborhood brew club and if I am out for my wife’s birthday or our anniversary or valentines day which will fall in there I can still have a drink. This should cut a lot of calories and carbs for me as with 4 little kids I don’t get out much.
  • No desserts & sweets – I don’t have much of a sweet tooth so giving up desserts & sweets until Easter is doable, though with the caveat of exceptions for birthdays, anniversary, and valentines day.
  • No eating between meals – This one is going to be more of a challenge. I have gotten into the bad habit of nibbling on a slice of cheese here or a little of this there. This should do a lot to cut out sort of bored snacking, and help me drop that extra holiday weight.
  • No soda or sweetened drinks – This also isn’t much of a challenge. Occasionally I enjoy a root beer float, but those are few and far between so no soda until Easter is easy (and I don’t sweeten my coffee).

So those are the physical health components to the Nineveh 90 stuff that I will be following. There are other aspects related to spiritual aspects as well. I will be adopting some of this as it seems like a good challenge for the start of the year and sort of an extended lent this year. In the original program you can relax the discipline on Sunday and Solemnities, but I will be relaxing the discipline instead as I noted above. The relaxed part sort of reminds me of the cheat day in slow carb, relax one day a week so you can keep it up the rest of the time. The final component he lays out is fasting on Wednesdays and Fridays. He suggests bread and water only if you are medically fit otherwise standard Catholic Lenten fast. I think I will probably fast and only do water and coffee on Wednesdays and maybe not eat until supper time on Friday (since Sofi and I usually eat something together on our Friday nights after we get the kids to bed).

Theme 2 – More blogging

This is sort of an annual one for me. But generally I try to make it a priority anyway. This does compete for a limited slice of time though. After work generally I Am busy with the kids for a couple of hours. After we get them to bed I still need to walk the dog and get some exercise in and hang out with my wife and try to read, and sometimes do a bit of work. So this one will continue to be bumped as it needs to, but I will try to stay in the habit and find some time on the weekend to work on a post here and there.

Theme 3 – Learning

This for me means lots of books and playing around with ideas on the computer. I have just started Effective Java 3rd Edition and it is great as expected. I haven’t quite gotten to the part about the updates for Lambdas and Streams, but I look forward to seeing the insights there. Other things I am playing around with on the learning side are messing around with a bit of Swift. I have a udemy course I was working on for iOS development under Swift. I did some over paternity leave and would like to play more with it. Also have been playing around with Kotlin some. I like most of what I see in that language. Maybe I will do a Java vs Groovy vs Kotlin type post about what I like or dislike about each of the languages. I think Kotlin gets nearly everything right, except for having classes final (not open) by default. I think that was a mistake. I have always been looking a bit at Node.js and Express just because of all the hype it is getting and I want to play around with the newer versions of Angular and the whole progressive web app concept, since I spend most of my time at work focusing on backend development.

Theme 4 – Architectural changes at work

I have already started some of these this fall. Part of this will be shifting more of our app to Java away from Groovy. I think Groovy in an enterprise app is a mistake. It is the opposite of fail fast, instead the compiler hides errors, and it just feels dated after using Java 8 / 9 features. Their closures are inferior to lambdas and streams, and the tooling around the language just isn’t that good.

Included in these architecture changes will be trying to get our services updated to Spring Boot 2.0 when it finally releases and then shift to the Java 9 or 10 platform (instead of 8). I would also like to look into rolling out the SonarQube build breaker to enforce our coding rules, that has worked well for us in previous companies that I have worked in.

Conclusion

I think working on these 4 areas will be plenty to keep me busy this year. If I am diligent about them it should also give me topics to blog on. I started this post on the 7th, but I had to finish it up tonight. My year is already starting out busy and I don’t expect it to slow down at all from here. Happy 2018 everyone!

2017 year end review

Recap for 2017

Now that I am off of work for the rest of the year I decided that it was a good time to work on my annual year end review for 2017 and see how my year went. This is the post I did at the start of the year for my plan on what I was going to focus on: Themes for 2017.

I am going to start with just an overview of my year and then I will drill down into my themes. 2017 was a whirlwind of a year. In the 4th quarter of 2016 we made a push to make Choose a profitable company. We achieved that by the beginning of the year and in my mind we were going to run hard for another year and really grow the revenue and hopefully sell the company in 2018. Instead the board decided to sell the company in May which led to major changes for me.

The new company decided that they didn’t want to keep a remote office and I was not in a position to be able to relocate my family so I knew that I would have to find a new role. As luck would have it on the day preceding the announcement of the acquisition I had received an email from a recruiter with a role that seemed like a perfect fit for me. The timing was perfect as my 4th child was 4 months away and that is a scary time to have the stress of job uncertainty. That ended up working out perfectly so I was able to transition into a new role by the end of July. The whole Choose experience was very bittersweet. One the one hand we did what we set out to do which was see a positive equity event for everyone. We built up a pretty amazing business and it was a wonderful experience to be a part of that. On the other hand it meant breaking up the strongest engineering team that I had worked on in my career, and it left me with a lot of what might have been if we could have run one more year. In my imagination I feel like with another year of growth we might have been able to go out at a valuation 3x higher, but perhaps instead the Hurricanes in south Texas would have completely killed our Texas business in our busy time of the year, so maybe we lucked out selling when we did.

The next major change in my life was the arrival of my 4th child. If you want to see anything kill blog updates take a new job and have a new born. It has definitely been a transition year to adjust to the new changes in our life. In sad news for 2017 my best friend has been fighting cancer this year. I am looking forward to the announcement in 2018 that he has finally beat it, and life can go back to normalcy.

On the stats side of thing I ended up with 20 blog posts for the year (including this post). That is actually only 1 worse than 2016, but in 2015 I had averaged about one post a week, and that is much more in line for where I would like to be. Given the change I was dealing with this year I am pleased that my post count wasn’t even lower than it was. I had a pretty good start at the beginning of the year which carried me through.

And now on to the themes:

Theme 1 – Update the blog

I am going to call this a fail. I was pretty much non existent the last part of the year. But there is always next year to do better. Sometimes life gets crazy busy.

Theme 2 – Regular reading

I would call this a win. I am sort of surprised that I was able to keep my reading up with a new born and the lack of sleep. My favorite technical book that I read in 2017 was Functional Programming in Java by Venkat Subramaniam. Of all the regular conference speakers Venkat is my favorite. He has a way of taking complex topics and breaking them down and making them very intuitive.

Another book that I really enjoyed this year was Angel by Jason Calacanis. I am very interested in the startup scene in general having worked at 3 startups now in my career. And I found this look from the investor side very fascinating as well. It really makes me want to focus on reaching accredited investor status in the next 5 years and start investing in some syndicates on AngelList. Then again with the trend this year of Initial Coin Offerings and people skipping the whole VC thing and going directly to the blockchain to raise money who knows what that space will look like in 5 years.

Back when I was in high school I used to read a lot of fiction, but these days I mostly just read non fiction. However I was talking about the Dark Tower series that I had read back in the day by Stephen King with a coworker and he mentioned that there was a book released between 4 and 5 a few years ago that I wasn’t aware of. I immediately had to buy it on my Kindle as that was one of my favorite series of books that I have read (though I hated the end). I read The Wind Through the Keyhole when I was out on paternity leave and it was perfect. I was too exhausted to taking on any heavy reading, but a little fiction in the downtime was really relaxing.

I also read Never split the difference by Chris Voss. Prior to this I had never really read anything about negotiation or looked into the topic. I wasn’t aware of the author or this book, but I heard him on a podcast interview. I was intrigued so I bought the book and read it, and found it to be very valuable. It is probably worth rereading that one in 2018. I actually put a few techniques from the book into practice this year in some negotiations and found them to be very effective. I would say I got my money and a lot more out of this book just by applying what I learned.

For 2018 the 2 technical books on my radar right now are: Effective Java 3rd Edition. The second edition of that book is one of the most timeless books for professional Java developers and is still extremely relevant after all these years. What I am looking forward to in the 3rd edition is ideas on best practices regarding Lambdas and Streams. I went ahead and preordered this book.

The other book I want to dive in more in 2018 is Domain Driven Design by Eric Evans. I started trying to dive into this over my paternity leave, but in the state of exhaustion I was in I found that I didn’t have the brain power to tackle this at that time. Now that I am getting better sleep again I would like to work on this book some more and play around with the design concepts in it.

And the third book I am planning on picking up in 2018 and working through is Learning Spring Boot 2.0 by Greg Turnquist. I have the first edition of Learning Spring Boot by Greg and the book was phenomenal. It got me up and running really quickly when I wanted to transition from the old Spring Monolith architecture to a microservices architecture, and I put the book into action when I joined Choose Energy. 2.0 dives into the new reactive programming model in Spring 5.0 and Spring Boot 2.0 which leads into the next theme…

Theme 3 – Learn about reactive programming

I would call this theme a failure. I did start playing around with reactive a bit in June around the end of Choose before I started my current role, but I didn’t get very far into it. I think I will use the book I mentioned above in 2018 to take a deeper dive and figure out if I see a role for this in our current service architecture.

Theme 4 – Architectural Changes at work

We did roll out service 3 at Choose, but unfortunately we didn’t get to build it to its full potential. We just had something interesting in place when the acquisition took place. This really only reached half of what we envisioned for it. I think it would have been a game changer for the company as we would have had a capability that no one in the energy market has which really would have increased stickiness of our site. I think that is part of my what might have been thinking earlier in this post about the acquisition.

Theme 5 – Master Angular / lodash

I definitely didn’t master angular. I will say I got more proficient as we were reworking the funnels quite a bit near the end of 2015 which started getting me more into the front end code. I figured with what we were doing at Choose that would have grown quite a bit, but after the new position, there has just been too much back end code to learn and understand to really dive into the front end yet. I started playing a tiny bit with angular and progressive web apps a bit on the side to get a feel for how that works, but I didn’t get a chance to dive too deeply into it.

Theme 6 – Healthier eating

I think I did a great job on this in the first half of the year and a poor job in the second half of the year. I dropped 30 pounds in the early part of the year using the slow carb diet out of the 4 Hour Body by Tim Ferriss. I neglected to mention this book above but it was clearly a great book for me as well as I saw a huge benefit out of it. Slow carb is interesting, in some ways it is easier to do that Primal since you get the cheat day each week. I think that makes it more sustainable long term as the things you really miss you know that at most you are just 6 days away from being able to eat. But even so I really only maintained this until I went into Intermittent fasting for lent. I have some new diet ideas I am playing around with to try out for 2018.

Conclusion

All in all 2017 was a great year. There were definitely a few lows and things that could have been better, but on the balance things were good. As always even if I don’t hit my themes I don’t get too upset about it. There are just too any unknowns to take it too seriously. The real goal of the themes are to challenge myself and to review just to hold myself accountable that I am trying new things and growing. The point is to avoid getting complacent. I am starting to kick around some ideas for new themes for 2018, and that is probably what the next blog post will be.

HTTP Location Header

I came across this blog post today about using the HTTP Location Header in REST API responses when creating a resource. I have been doing Web development now since 2008 and in all that time I have never actually seen anyone use this header on any of their endpoints.

That being said it makes a lot of sense, traditionally when I would create a new resource I would return the json for that object back in the response so the caller could pull the ID out of the object, but this seems like a better way to do it, as now you could just return your 200 like normal and set this header and not have to send the response body back when the caller knows what they just sent you.

So as is the purpose of this blog I share this partly just so I can refer to it myself to use in the future, but also to draw more attention to it for others as it seems like a great idea, and like the correct way to design your APIs. I also appreciated that they called it Polite HTTP API design, they are much better on their blog titles than I am, as that is a pretty good way to get some attention.

Bose QC-35 Product Review

Bose QC35 Box

Today I received my new Bose Quiet Comfort 35 headphones that I ordered, so I figured that I would do a review on them.

I have been a long time Bose Headphone user. It all started back in 2007. Sofi and I were about to fly out to Scotland to celebrate our wedding anniversary and I had recently received a small amount of inheritance money after the passing of a grand parent. Faced with an 8 hour flight to London (before we flew to Edinburgh) I was thinking man some noise cancelling headphones would be nice for the flight. So Sofi and I ran over to the Bose store at the mall in our area and bought 2 pairs of Bose Quiet Comfort 3 Headphones for our flight.  We quickly charged them until it was time to head to the airport. Previous to this I had never owned any premium headphones before, and I was immediately hooked. They were night and day better than anything I had ever used before. They cut out so much noise from the jet engines that I could actually play my iPod at a lower volume level that I would otherwise which lead to much more comfort when listening to music as well as much more comfort on the flight just having the headphones turned on with nothing playing. At that point I decided that these were the way to go going forward.

Fast forward a couple of years and Sofi knew how much I used my original headphones (I had replaced the earpieces on them a couple of times cause the leather wore out as well as buying a second battery and multiple cables), so she bought me a pair of Quiet Comfort 15 headphones to replace them for Fathers Day. Immediately I noticed the massive improvement in background noise cancellation, and these became my new go to headphones. I saw a couple of new models come out, but found no compelling reason to upgrade as these headphones outperformed anything that I had ever used, and were pretty comfortable (though I would say the QC3 were slightly more comfortable, but at less performance).

Then Apple got rid of their headphone jack on the iPhone 7. At that point I knew that whenever I decided to upgrade my iPhone 6, I would need to upgrade my headphones as well as my QC-15s were no longer going to get the job done. After seeing Apple’s iPhone X announcement I decided that it is time to upgrade my phone, which meant that it is time to upgrade my headphones. I decided to go with the Bose QC-35’s based on how happy I had been with my previous 2 Bose headphones and they looked like a compelling Bluetooth offering.

The first thing I will say is I am aware of the accusations of Bose spying on their users, but the beauty of these headphones is, you don’t need the stupid Bose app anyway so don’t bother downloading it. I turned my Head Phones on and then went to my BlueTooth settings on my iPhone 6 (iOS 10.3.3) and the headphones showed up in the list and I was quickly able to pair them. My phone asked if I wanted the Bose app, but I declined it.

After I had the headphones paired with my phone I tried to pair them with my MacBook Pro. I was able to do so in Sierra under the System Preferences / Bluetooth area. The Bose QC-35 headphones will pair with up to 2 devices at the same time. So I have mine connected to my laptop and phone all at once. However it will only stream audio from 1 device at a time. So if I have music playing on my phone I won’t hear any of the audio from my laptop and Vice Versa. In a perfect world I would love to see it mix the audio streams. Can you imagine how cool it would be to havve some cool song playing quietly in the background of a phone call. It would be like your own sound track to a conversation. The documentation says that they headphones will remember up to 8 devices that it pairs with.

The performance of the headphones is out of this world. They have really advanced the noise cancelling abilities since the QC-15 time frame. They also feel lighter weight when I am wearing them and feel more comfortable. The external noise is super quiet and the headphones work to take phone calls. I could see myself using them in the car just to take phone calls. I probably wouldn’t wear them in the neighborhood when I am out walking the dog though as the noise cancelling is so good I would feel a little bit too unaware of my surroundings.

I am still unsure of battery life since I just got them and I haven’t charged them yet, but Bose claims up to 20 hours on Bluetooth. When you first power them up they tell you what the percentage of battery life there is as well as which devices they are connecting to through the ear piece. They include a wire as well in case you are on an airplane and want to plug into the planes entertainment system. I would say the only knock I have against them so far other than their app (which I avoided) is that the included charger is a USB to micro USB cable. Given my MacBook Pro is all USB C it would be nice if they included a second cable for that option too, but I guess when they headphones were released a year ago, USB C was really just coming onto the scene. All in all I would recommend them, I suspect that I will get many years of use out of these headphones as I have my previous 2 pairs of Bose QuietComfort Headphones.

Microservices as the way to onboard a new engineer

Microservice onboarding…

It has been a crazy couple of months since I took my new role. I have had so much new stuff to learn I haven’t been making a lot of time for other technical pursuits in my spare time. But that being said I am on paternity leave right now, so I figured it was a good time to sit back and reflect on my first couple of months. Similar to Choose the first project that I was asked to work on was to write a new Micro Service. This got me to thinking maybe this is the way to on board a senior engineer.

What does it tell the company about he new employee

First it quickly shows you if the person you hired can actually do what they say. If they can’t stand up a new app for a small service but have sold themselves as senior level you probably want to find that information out as quickly as possible. I wish this wasn’t a reason for doing something, but unfortunately there are a lot of people in our industry who really play buzzword bingo on their resumes, but their actual technical skills don’t live up to what they sell them as.

It is also going to show the new company how adaptable is this person. How quickly can they learn the new build environment, and follow the new companies coding standards and processes.

It gives the company a really engaged engineer as they start out doing what is considered in the product development world the best kind of work which is new development from scratch.

Benefits for the employee

You start out on green field which gives you a bit of time to learn the new system architecture. It also keeps the excitement and engagement level high as everyone loves knocking out a new project. As opposed to traditionally when you are fixing bugs to learn a code base, it is a great way to get into the guts of the code, but it is often work that isn’t nearly as fun, so it is sort of a taking your medicine approach to get up to speed. It is effective, but not always enjoyable.

You learn the new build and deployment environment. Going into my role I was used to doing everything as a maven build and we were deploying to Amazon EC2 containers. In my new role it is gradle multi module builds and docker containers running under Amazon’s Elastic Container Service. We are also doing continuous deployment which has been new and exciting. Most companies I have worked with in the last 10 years have been doing continuous integration, but I hadn’t actually seen someone make it all the way to the continuous delivery route, and it is an amazing thing to see. We also have a different development flow as a result doing Trunk Based Development as opposed to at Choose where we did GitFlow for our development model.

Where wouldn’t this work

It goes without saying you need a couple of things to take this approach. If you are developing a monolith and not a micro service architecture you can’t take this approach and are probably stuck with the traditional onboarding models. Also you would need a certain level of seniority to really have this be successful. If you were bring a junior or mid level engineer on board and they probably will have never stood up a production app before and will be used to working on an app that someone else boot strapped. So to take this approach with an employee like that you would need to provide much more guidance and mentoring for the employee so that they don’t get overwhelmed and frustrated with the task.

All in all I hope that future roles I take start out this interesting as it is definitely a fun stage in my career to get to do all these fun and challenging projects from the beginning.

Last Choose post

I haven’t had a chance to update my blog lately as I have been so busy in my new role. That being said I did want to highlight the writing of some of my former coworkers as I think they are writing some great stuff. First check out Kevin Stephen’s blog over at: http://kevindstevens.com/ Kevin is talking about Technology, Growth, and Venture Capital all topics that I find interesting. Also our former Chief Revenue Officer John Tough is blogging over at: http://johntough.com/ John has provided some great stories about the whole acquisition process and even as an employee I learned things that I wasn’t aware of at the time, so I have really enjoyed his writing. My final reading recommendation is Jonathan Crowder over at: https://medium.com/@jonathan.m.crowder He is also writing some great business content. Though JC you really need to host on your own site and not on medium. Own your content man! Anyway check out their posts there is some good stuff there. Going forward I have been playing around with some new stuff in my new role and I plan on discussing some of that going forward.

My Last Day at Choose

Today was my last day at choose. What a ride it has been. Thus far it has been my favorite job in my entire career. The quality of the team was top notch and I can’t believe how much software we shipped. The turn around was epic and we just had a ton of fun at work. We took a couple of pictures from our last happy hour.

What an amazing 14 months. And now on to the next thing. I will be taking a new role as a Software Architect to help out a new company migrate from a legacy platform to the world of microservices built on Spring Boot and I am super excited for the opportunity. I know I will be applying what I learned in my current role a lot as we learned a ton going down that road and hopefully I can use that to increase the velocity at which we ship code even more in my new role.

Stories about the acquisition

When I posted my previous post, I left out most of the details about our acquisition as I was not sure what information was public and what wasn’t. Now that there has been some press around the acquisition I figured I would share some of it to provide some details.

First off we had a story in Fortune about Red Ventures acquiring us. After reading that story, I found another story trending on linked in from Green Tech Media. I liked that the Green Tech story had more detail, and since I can’t really talk about anything that isn’t public it is nice to see more details in a public forum.

Finally tonight on Linked In I saw a post by one of our VC’s David Mount. I really enjoyed his point and appreciated his kind comments on the team as it really was an amazing team to work with on this turn around and successful exit.

Wow! We were acquired!

Wow! That was unexpected after my last post talking about my first year, but we found out on Monday that we were acquired. It is the goal of every startup to be acquired so I am proud to have taken part in a huge turn around of a business to have made that possible. We took a startup company that was losing money when I joined to one that was profitable today, and I was able to work with the strongest engineering team that I have ever worked with in my career which was hugely rewarding.

Since last September we were able to grow conversion by 25% and mobile enrollments by 40%. We are doing 100,000 enrollments a year and were able to build out the largest online B2B marketplace out there.

How were we able to do such a remarkable turnaround? We focused on two metrics conversions and revenue, and drove hard to pick off all the low hanging fruit and grow them. We redesigned our checkout funnels which allowed us to drastically lower error rates which allowed us to save 1/3 of all customer enrollments that previously would be lost due to errors and usability issues in the funnels. We streamlined and simplified our mobile experience resulting in many more mobile enrollments.

The other project we did which I was proud of was our 3rd microservice which I alluded to on the blog but hadn’t discussed in any depth. We started it back in January. It is a service to reconcile payments from our suppliers for all of the customer leads that we deliver to them. As far as we know it is the only automated system like this in the industry. WE could consume their reports and find which leads we hadn’t been paid for yet which results in much more revenue for the company. On top of that data we had begun to build a consumer facing dashboard so that they would be able to get status on their current enrollment and previous enrollments as well as renew their plan when their contract was coming to an end.

All in all, what a year. It has been a dramatic year of change and really a great year for me. The question now of course is what next. The acquiring company hasn’t yet made clear their plans for us so I am exploring my options now and figuring out what the next step for me in my journey will be. I am sad that the current role is changing as the team has just been so amazing I had hoped we would spend at least another year really ramping up the revenue before the board sold us just because I think we could have built some really neat things.

Reflecting on my first year at Choose

My First Year

I just celebrated my one year anniversary in my current position, which is a great opportunity to look back on the last year of work. This role has been unlike any other that I have had in my career starting from the interview.

When I was interviewing with my boss and we were discussing what I did in my previous role, I discussed the architecture that we had built. It was a traditional Spring application that was a monolith. It was a very well designed layered architecture. We were doing a mix Trunk Based Development and feature branch development depending on how large and invasive the feature was using git as the repository. We had a great unit test suite and did weekly deployments. We tried to commit early to master and use feature toggles to role out new features and mitigate risk. They were still largely a waterfall model though, just a company that moved faster on waterfall than any I have ever worked with.

In my interview I mentioned that what I was really interested in doing which was rolling out a micro service based architecture built around spring boot. It seemed to me at the time to be a great way to increase development velocity, and it allows experimenting with different patterns and techniques inside of a new project without necessarily committing to that in all of the code across the company.  To my bosses credit he was also extremely excited about the concept and I was informed a few hours later that they wanted to move forward with an offer. This was the first time in my career that I went into an interview with a strong vision of what I wanted to do as opposed to just being interested in learning more about a company to see if it was the right fit for me. I think this is something that I would carry forward into the future as it has had great results for me.

I started in my new role and the first week was getting my development environment setup and learning the new process. We use agile which I had not yet done in my career, and we use the gitflow model. After 5 days on the job I was given my first real project. I was going to write the first micro service that they had done in Spring Boot the way I had outlined my interest in my interview. And we would have 2 sprints to complete it. I was given the opportunity to make all the design decisions and implement the service and the rest of the team implemented the code to integrate with my service from the main application.

I have noticed as you move up in your career you are handed more responsibility much sooner when you join a new company. When I joined people answers I had about a month of doing bug fixes on various parts of the software before I was thrown on a major 3 month project to roll out a huge game changing feature at the company (mobile support for pre screening questions in our application tracking system). This time around it was doing a whole new Authentication and Authorization service 5 days into the job and designing the initial architecture that we were going to use to roll these services out in the future. Nothing is as exciting as green field development especially when you get to call all the architectural shots. It was really an amazing project all around as it gave me a chance to prove myself right away that I could walk the talk so to speak, and it is exciting work. You are already energized joining a new role and getting to implement your vision of how to take things forward from nearly day one does even more to let you know that you have made the right move in your career.

As the year has gone on we rolled out 2 more services with a different engineer leading each one. We build and expand on our architecture with the requirements of each new service that we roll out. Another unique thing about this opportunity for me has been getting to look into the business model and begin to understand how the business works. I have been involved in startup type work for much of my career, but I have never gotten to see a working business model up close. That has been very refreshing. Our product people have an amazing understanding of the business and how we the engineers can build new features to drive more value to the business. If you ever want to feel rewarded implement some new feature in a system and have the business come back to you and tell you how much revenue it brought in during the previous quarter. Typically software engineers get very few opportunities to actually hear a dollars and cents version of the kind of value that you are creating, which is a shame as it is very empowering. Some day I may want to try a CTO type role as I love technology leadership and engineering. I don’t feel like you can move into that type of role until you can sort of bridge the technology side with the business side, so I am fortunate to work with such a talented business team that doesn’t mind answering my simple questions related to the business.

I guess in conclusion the biggest take away for me is if you are considering a different role, think about how you could bring value to the business if you are given that role and articulate during the interview the value that you can provide. It may just end up being the most interesting role of your career.