2019 Year in Review

Wow what a year. It has flown by and as you can see I haven’t gotten to the blog since I upgraded the site earlier this year. Looking in my drafts it looks like I was intending to write a post about travel, but I didn’t get back to it. Anyway given that the year is rapidly ending I figured it was time to start looking back on it.

I never imagined how busy this year would be. We went from the start of the year where we created a plan on what we were going to build for the year to drive to an MVP. We were building out what we thought would be our alpha release, but discovered in user testing that we needed to pivot. Along the way one of my employees left. We then drove the new concept to an early access release grew the engineering team and it has been an amazing ride. 2020 is going to be focused on product market fit and hopefully upon achieving that, rocketing into a growth phase. Given how crazy it was to build what we have built on such a lean team a lot of my themes for the year fell to the wayside especially this blog. When you are super busy and tired this is an easy thing to drop.

I feel like I have gotten much stronger in Go this year which has been nice growth. I no longer feel slow in it as compared to Java like I did for so long. I appreciate many aspects of the language, but also find a few areas lacking. I have gotten very comfortable with Kubernetes and Bitbucket pipelines and built out a nice CI/CD pipeline this year to allow us to run faster at work.

We also spent June traveling which was nice. I took advantage of working for a remote company by working from Mexico for a month and for the family taking a 2600 mile road trip in June. It was great to spend time in places I haven’t been for 10-15 years as well as spending time at my in-laws so the kids could hang out with their grand parents and some of their cousins. I would like to incorporate more remote work in the future.

The big challenge I see going forward in 2020 is moving myself out of the operator mode and into a more strategic role. Most of my past roles have been about execution getting on the ground and grinding out the product to drive us forward. For 2020 I need to be more much strategic in the business and not just on the day to day to really help drive the vision forward. Without further delay let’s review my themes for the year.

Theme 1 – Health

I did fast through Easter and lost about 20 pounds. Some of that has slowly crept back but it was a good start to the year. I think for 2020 I need to go broader and think more along fitness goals. This needs to be some amount of walking and maybe some amount of strength training. I need to think on it yet over the next few days. I have many times made better choices food wise this year. I eat more salads that I used to, but I probably need to continue this and extend it more.

Theme 2 – Learning

There has been a lot of learning in 2019, but not in the way I envisioned. I did most of the Coursera Machine Learning course, but got busy near the end of it and didn’t finish it. I thought the course seemed too much like a CS course in that you are building everything from the ground up. While most of my degree was done that way that isn’t what I am looking for anymore. In reality I am not every going to build all these ML techniques from scratch, I am going to use a library or tool that someone else built. I think a more valuable class would be an overview of what the different available techniques are and when you would try different approaches to get different results. Also more time needs to be spent on teaching people data exploration and sort of things you can try on a given set of data.

I also didn’t get all the reading done that I had set out to do. I found that I was so tired in my evenings it was difficult to do a ton of reading though I did get some things read.

I think most of my learning in 2019 was really focused on learning how to build a team, and build a product from 0, and really learning how businesses work. I really appreciate the view I am getting and what I am learning about building a company and getting to see the broader view of how sales, marketing, finance, and customer all really come together to drive a business forward. We also focused on leadership training this year and I was fortunate to go through that program.

Theme 3 – Security

This theme was a resounding success, I have gone all in on the password managers with really long complex passwords that I don’t know and 2 factor authentication. It was a good change and I can’t imagine going back to the old way of doing things.

Theme 4 – Public Speaking

This theme didn’t happen and was an epic failure. I started the year out noodling around an idea for a talk and putting some stuff together, but ended up getting way to busy again to devote time to it. I think this is something I will need to revisit in 2020 as it will be important to get our name out there in the community as I think this could really lead to us getting a nice hiring pipeline. The perfect scenario would be there are so many people that want to come and work with us, that when we have an opening there are tons of people competing for the role and we can continue building out a strong team of really talented people quickly without some of the hiring lag I faced this year on getting the right candidates. The only way we are going to get to that is if people around here no who we are and what we do and want to be a part of it.

Conclusion

All in all it was a bit of a mixed bag on my plan for the year. It was a good year though, and now I need to start thinking about my themes for 2020. I am hoping to get some more rest in before I get back at it in January unfortunately it has been a pretty busy holiday so far so I am hoping I can slow down for a bit for a couple of days.

Themes for 2019

I am late to the party. Normally I tried to take off until Epiphany before I return to work, but I needed to start working on the 2nd so I wasn’t able to get to this post until now. As is my tradition I set my themes for the year that I want to focus on. I find doing so helps me stay on track and make sure that I am growing and improving myself.

Theme 1 – Health

I am carrying this one over from last year but it is always a good one for every year. In my feasting for the holidays I put on a little weight so I am going to attempt to lose 20 pounds before Easter. I hadn’t decided what I would do at the start of the year, but on Epiphany I decided I would do intermittent fasting and cut back on beer (and try to eat fewer carbs when I am eating). So far I am down 9 pounds 2 weeks in, so I should be able to exceed my minimum by Easter since the fasting will continue until then.

In addition to the health benefits of losing weight, I also would like to look better. Later on this year I will be involved in pitching for a series A and I want to look my best in those meetings. Ideally I would like to be more active this year too. When I was testing the Apple Watch that Sofi had I must admit the gamification aspect of closing rings was getting my to walk more and when I was walking was pushing me to walk faster to keep the heart rate up and close the exercise circle. So maybe I will take the plunge this year on one. Though at this point if I do that I would probably hold out for the series 5 in the fall.

Theme 2 – Learning

I have a couple of things in this bucket for the year. First is the machine learning course that I mentioned a few weeks ago. I am just about finished with the week 2 work and I can already see the benefits. It is already kicking my brain into gear thinking about the problems that we are trying to solve at work. Additionally I feel like the base knowledge will enable me to ask the right questions and help keep the ball rolling on that part of our system.

The second area of learning is going to be focused on is reading. Traditionally this is something I really push myself on, but I have fallen away from it a bit in 2018 just with interrupted sleep due to the ages of my children. Now that I am past that stage 2019 is going to be refocusing on getting through a bunch of books. Currently I am reading Leaders Eat Last which was a Christmas gift from my boss. I want to get back into my old pattern where I would try to read 10% of a book a day so I can get through a book in 10 days

Theme 3 – Security

Given all the sites that are constantly in the news each year with getting data stolen, I have decided it is time to take my password security to the next level. Instead of hard passwords I memorize I have switched to using a password manager and generating really long and random passwords that I don’t know. This makes is possible now to have no repeated passwords anywhere and I have found that it has already simplified my life.

I am also considering going the hardware key route instead of just using an authenticator app for 2 factor passwords, but I haven’t yet decided if I want to do that.

Theme 4 – Public Speaking

I have never been very comfortable speaking in public. Anyone who knows me knows that I am very talkative after I get to know a person, but something about being on a stage with all that attention directed at me has always made me uncomfortable. That being said it is a skill that I need to develop to go where I want to go in my career. Beginning this month I will be speaking at our board meeting, and then with needing to fund raise later on it is time for me to conquer this.

Fortunately the timing couldn’t be better in that I was also invited to speak at a developer meetup this year. I can’t think of a better way to practice this skill than to be speaking to a friendly audience of developers discussing technical topics. As that is an area in which I always enjoy speaking. Over my holiday break I began work on a talk, but when I realized it was going to take too much time I pivoted over to the Machine Learning class first as that is a greater need for me. Once I finish that class I intend to focus my time on putting this talk together and then I will get myself on the Calendar as a speaker (hopefully by Q2).

Conclusion

Those are my areas of focus for the year. As always I will do the run down at the end of the year and see how they turned out, as well as what popped up that I didn’t predict for the year. May everyone have a happy and productive year.

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!

Themes for 2017

Introduction

As is my tradition on this blog this is my annual post for my Themes for the year. Why themes and not goals? I feel like if you don’t hit your goals that feels like a failure, but as witnessed by my recap of last year I did a poor job of hitting my themes and was still very happy with how the year turned out. Themes are designed to be open ended and the idea is just an accountability tool for myself to make sure I am working on personal and professional growth. In the case of last year my life changes resulted in many of the themes not making sense anymore, but I still felt like there was a ton of growth so I call it a successful year.

Theme 1 – Update the blog

As I do every year my first theme is regular updates to this site. Ideally at least one post a week, but that has proven challenging to me in the past. Still I think it is a good thing to strive for. What is the point of a site without regular content the only way to give people a reason to read is regular updates. Additionally I would like to do some longer posts this year. I still aspire to do a deeper dive into Amazon SQS. I have also considered going with a post about hibernate caching under Spring Boot, but I need to deliver one sort of tutorial post before I dive too deep into these ideas. This will just require me to make enough time to put a deeper post together instead of my more common posts that tend to be lighter, but still technical.

Theme 2 – Regular reading

Like usual I have reading as a priority. In a perfect world I would read 10% of whatever book I am working on in my kindle each day. Generally I don’t hit that daily but often I will hit that 5 days out of a week which allows you to get through a new book every two weeks. In an ideal world I would read at least one book a week, but I know that won’t happen.

Theme 3 – Learn about reactive programming

All the buzz in the Spring world these days is about reactive programming. Spring 5.0 is going to include a reactive model based on reactor. The github page for reactor can be found over here.  I have followed on the Spring Blog about the different milestones as they integrate this model of programming into Spring. So while I get the 50,000 ft view of this model I haven’t played around with it yet, and I am not completely sold on the programming model yet. The best way for me to get a better idea about it will be to play with it and see how it actually works in real code. The style seems interesting, very Java 8 Lambda style, but I am curious how testing this code looks, and how readable this style of code is. So I am not sold as I want to be sure that it is easy to unit test, and maintains Java’s readability which is one of the biggest strengths of the language. If the model for this programming is hard to glance at the code and understand what it is doing we would be giving away one of the biggest advantages of Java, so I need to play with it and get comfortable with it, to really decide how I feel about the style.

Theme 4 – Architectural Changes at work

I have a whole bunch of ideas to improve our legacy app this year. I am in the process of reworking the whole persistence layer. There is a way to just lean on the framework more than the original design did and end up with many fewer lines of code. I am also reworking our controllers just to make the design lighter. A new thing I just started on right before vacation was reworking the way we do caching. So I am hoping to roll that out in the next month. We are also going to launch micro service #3 tomorrow so this is going to be a big year at work.

Theme 5 – Master Angular / lodash

I have been saying I was interested in playing with Swift, Go, and Rust. But realistically for something that will happen this year that will also help my professional growth I want to master angular and lodash. My CSS skills will probably still suck, but CSS is the one thing I really dislike in the whole full stack.

Theme 6 – Healthier eating

I want to try to eat a little bit healthier this year. Not sure if that will have me going back to primal diet, or what. I have heard good things about slow carb, so I may look into that and play around with that to see how that works for me. A bonus of this is to really do this, it means I need to be better about bringing my lunch to the office every day, which has a nice side effect of saving money as well.

Closing thoughts

I think that is all I have right now. Hopefully I can make moves in all these directions or have a bunch of growth in other areas that I haven’t anticipated. Remember the goal is just to make sure that you are growing as a person, not necessarily checking off some box. It is more developing habits to make sure you are giving it your all.