I started a full time job last November. I’m a UCAR employee working for USGS. The job is 100% remote. I’m working on a project to modernize and replace legacy water use tracking and reporting software. The stack is PostgreSQL, Node.js, Nest.js, Vue.js. All deployed on Amazon web services.
I wasn’t able to get them to hire me as a contractor, but I’ve had very little interaction with UCAR outside of timecards and benefits. UCAR has good benefits and seem to be a good company. My only complaint is that the base salary is a bit below market.
This has been a large change from touch game development in many ways:
Working 9-5. There is certainly a lot of flexibility in my schedule, but much less than before. This took a while to get used to again and I’m still not thrilled with needing to be up at particular times for meetings and needing to coordinate vacations around work.
Working with other people
The difference between this job and my last full time job is also significant:
Not having to dress up, pack a lunch, commute, and be trapped at the office makes the work so much nicer.
When I want to take a break, I can do something that I really enjoy instead of wandering around at the office.
It is harder to leave work behind at the end of the day, and I’m using my own hardware and A/C.
Zoom meetings are less frustrating than in-person. If they start on a topic I don’t care about, I can get some other work done.
I also feel like this job is doing something useful for the world. I’m more motivated by making a system for scientists than I was creating software at Raytheon. Even when I was working on the GPS project (which I though was going to feel useful), I was working on such a tiny component and the pace was so slow that it still didn’t seem like a good use of time.
Overall, the job is going well. I tentatively plan to stick with it for a while. I’d like to work fewer hours and have more flexibility on time off. I hope they will be OK with some leave without pay for the occasional long trip.
We were interviewed by Distract-O-Vision at Conclave of Gamers this year. We talked about the games that we’ve been making and the basic ideas behind the touch table. They put together a great video that shows off the touch table and games.
In February I was contacted by Mercury, a company that I worked for five years ago, about helping them with a project. The contract would last three months and offered good pay. They caught me at a good time and I agreed to take the job, starting right after we got back from PAX East.
Beyond saying that it was not a government contract and involved writing a distributed message processing system in Java, I don’t really have anything interesting to say about the job itself. It was better than many jobs that I have had (except for the commute).
I was surprised by how easily I switched back into the work routine. It made me notice some of the things that are “hard” about being retired. Not that I am complaining about being retired – it is truly a luxury. Continue reading “Contracting Job at Mercury”
We attended GenCon in Indianapolis with Mesa Mundi. Mesa Mundi had a booth setup in the vendor room where they had two Monolith touch screens and a Microsoft PixelSense screen. They also had a table in the exhibit hall with another touch screen where attendees could come for hour long games on the table. We spent most of our time in the exhibit hall running games of Hansa Teutonica, Bio Infiltrators and the rest of our touch games. I enjoyed the convention and really liked watching people playing Hansa.
We went to PAX East to represent Machine Code Games at the Mesa Mundi booth. PAX East is held each year at the Boston convention center and draws some 90,000 people.
Machine code games was assigned one of the touch tables at the booth and we ran demos of our software. The booth was very busy and people were playing our games almost all the time. We were very happy with the reactions that we got from people. They seemed to really like the games and were always impressed with the touch hardware. You can see more pictures of the booth during PAX here.
We have the first set of multi-touch games ready for sale! We are going to be giving away “Bubble Defender” and selling “Concentration Sweep”, “Temple Raiding”, “Yacht” and “Solitaire Dice”. Initially, they will be for sale at Peau Productions and bundled with tables sold by Mesa Mundi.
Today was our last day at Raytheon/Solidyn. After about 15 years as a software developer in the aerospace industry, I am retiring to pursue my own interests. I plan to do more reading, play the violin, and write the software that I want to write.
I’ve had some good experiences, made some friends, and learned some skills at work. But it has been a long time since I have enjoyed the job or found it fulfilling.
I will mostly miss the non-work parts of work. The opportunity to meet interesting people, the daily walks by the golf course, and the geese.
As is always the case, the software was more complex than I thought it would be. The main complications were due to the fact that my partner and I aren’t married. So the application had to try to optimize who paid the bills to manage the size of each of our accounts and how much taxes we each had to pay. The other big complication was trying to manage our traditional and Roth IRAs to minimize taxes each year.
There are some big things yet to do:
Come up with a model for stock dividends. Right now, dividends are simply included in the return of the S&P. However, that is not really accurate, as the yield of dividends lags behind changes in stock prices. Also, taxes are due on dividends the year they are paid instead of the year the stock is sold. Those two differences may end up balancing each other out in the overall results.
Investment strategy comparison. Would dividing our money between bonds, i-bonds, and stocks be better overall than having everything in stocks? Does the reduction in volatility pay off? Or is it better to just accept the volatility and maximize returns?
More optimization post 60. The order of IRA withdraws should change after 60. Need to model medicare.
The model is giving us an 85% chance of success right now. I don’t really think that the things that are left to do will change this number significantly. It is surprising how much money we have to have to get a 95% chance of success and how much variation there is in the possible outcomes.
It is possible that treating the S&P 500 as a random distribution is wrong. While the historic data looks random, there probably are some underlying “fundamentals” that keep the stock prices within a range. I am not sure how to add that to the model besides trying to put an overall cap on the market returns.
I have been working on the SimFinance 2.0 application and have been struggling to find a way to simulate the stock market. (Note: I am not trying to predict the stock market, I just need a way to generate a random stock market return that is similar to historic returns)
My first idea was to use a normal distribution centered around the average return with the same standard deviation that the real data has. This was close to correct, but if I plotted sample returns from history against the normal distribution, the historical returns had much longer tails. Meaning that, in reality, there are more really bad and really good years than there would be in a normal distribution.
After doing some research (I am not the only one interested in simulating the stock market), I found that some people are using a Student-t distribution. After playing with the parameters of that distribution I was able to get a much more realistic curve. Based on the historical data for the S&P 500, I am using the following parameters for the distribution: DOF = 3.40234, SCALE = 35, OFFSET = 0.00725
In software, I am using the boost library to generate random numbers according to the student-t distribution.
A long time ago, I tried to create a retirement analyzer/simulator. It would allow a user to enter everything about their finances, including their plans for the future. It then simulated the future by generating thousands of possible scenarios and displaying your odds of still having money when you die. It built these futures probabalistically based on historic performance of different investment types, the user’s life expectancy, etc. The project was too ambitious and I never completed it.
Now, as I consider retirement, I’d like to have this tool. And I realized that I could complete the project if I would limit the scope to just my own situation. It wouldn’t be useful for other people, but it would give me a better idea if I can really retire.
The old project was created with C++ and wxWidgets. I would like to build the new version in C# because it would be easier to create the user interfaces. But C++ would be faster for simulating thousands of futures month by month. It would also let me re-use some of the code from the original project. So I am going to compromise and build it with C++/CLI. I can use the GUI builder and the .NET libraries and also have the speed of native C++ for the time critical parts of the code.