Work Day 22: Day 2 of the “simple” story…

The next time I say that a user story is easy and a slam-dunk, someone tell me to shut up…

I’ve managed to get everything to work except for the PDF export for one of the grids. Weirdly, the seemingly wider PDF export is fine. The shorter one is still throwing a damn Apache FOP error. I had the Alum help me for two hours, and neither of us could make a dent in the issue. We even tried getting rid of a field, and even THAT didn’t work. I did google the error, and there are some suggestions online on how to deal with similar issues. However, I can’t figure out WHERE you’d plug in the code. I could just post my issue on one of the sites. My mentor is out until next Monday, or I would have asked him.

Thankfully, this user story is slated for the January release, so I still have plenty of time to figure it out.

Also, not to be too Pollyanna, but the other good news is that, in the process, the Alum showed me a lot of tricks to using Guidewire Studio that I hadn’t known. She showed me how to detach the debugging screen from the main window, so that you can a) get a larger view, and b) watch what’s going on as you do changes. Also, I couldn’t figure out for the life of me how to do a global search (tiny magnifying glass icon at the top right of the screen—DUH). The most valuable thing I learned was that if you click CTRL and then click on anything in the pcf code, you’re brought right to the underlying Gosu code!

Work Day 21: Fitting a square peg…

I’m happy to report that I’ve just about figured out the fix for my user story…okay, almost. There is a SLIGHT issue with the export to a PDF. The Excel exports are fine, but I’m getting big ugly errors for the PDF export. I suspect it’s due to the existing PDF already having entirely too many fields on the page, and now I’m plopping in one more field. Either I’m going to have to experiment with narrowing the fields in the pcf, or we may need to go to Option B—jettisoning an existing, less important field. I tried to see if l could modify the one PDF, perhaps to make a smaller font, but the configurations appear to be such that a change to one would constitute a change to ALL the PDF exports for the application, period. As much as I’d love to think I’m that frightfully important, the rest of the building (and all the offices countrywide) would probably prefer their PDFs to be a font size that doesn’t require a magnifying glass to make out the payment information.

My mentor is still out, but I’m going to consult with The Alum tomorrow to see if she has any insight into this issue. Perhaps there’s something I’m missing.

Work Day 20: I got a live one…

After an hour of falling asleep to yet another Java video, I’d had it. I decided to check our agile backlog for user stories that I might be able to manage. Several stories down, I FOUND ONE. It’s a very simple story where one needs to add “Invoice Received Date” to the payment transaction screen. I also have to make sure a person can download this field with all the other fields in an Excel file and in a pdf (which may be trickier), but it looks, overall, like a simple enhancement. I checked with our product owner, and she’s good with the fact that this might take me a while, seeing as it will be my first story. The thing has been out on the backlog for 95 days, so it’s not like anyone has been screaming for it. I know this sounds confusing, seeing as I said “agile”. We actually work Kanban, so I don’t have to have this done for a sprint. I will, however, have to keep an eye on our release dates.

I’m just so thrilled to finally have some real work to do!

Work Day 19: A Class Act

On Friday, I did some more work with coderbyte. I figured out how to take each of the exercises and make some standalone Java classes. It gave me a bit more insight into how the syntax works. I tried to figure out how to take these same exercises and create them in Gosu, but that was one big goose egg. The Gosu Reference Guide is almost impossible to follow when it comes to looking up how to do a certain type of function/method. I do want to ultimately crack this, though, so that I can understand Gosu better. Unfortunately, Gosu is not a language where you can google your way to a solution. The entire thing is locked down tighter than Fort Knox.

I was going to watch the Pluralsight Spring Batch video, but I didn’t. I do still need to understand how that whole process works, if I’m going to be able to function on my team. We do have a lot of user stores that deal with integration.

On a more exciting note, my Saturday was spent at the New England Fiber Festival!

https://www.easternstatesexposition.com/events/2019/fiberfestival

We had a fantastic time! I confess there were yarn purchases. I bought eight skeins of stunningly beautiful yarn to make a sweater for myself. I picked a simple pattern that a) will look good on me, and b) will be a no-brainer to work on as I spend my upcoming months cracking code.

SW Merino – Bulky

%100 Superwash Merino

108 yds

Hand Dyed – “Brew”

www.yarnhygge.com

Work Day 18: Exercisin’ Java

I’m happy to report our instructor sent us a very cool site to do Java exercises:

https://coderbyte.com/challenges

It’s a bit less intimidating than codingbat. I managed to do quite a few of the exercises. I saved all of them, with tons of comments, so that I have a ready reference of the different types of functions. One of my side projects is going to be to see if I can write these same types of functions using Gosu. Speaking of Gosu, I did some experimenting for the first time with the code on my local machine. Not much of anything happened, but at least I took the risk. I was going to go hog-wild and do something mad like deleting a button, but that seemed somehow wrong. At the very least, I think I’m finally at a point where I can at least try out a small user story (low, low, LOW down in the list, and something no one will flip out over if it’s not done in a timely manner). I may need to figure out Spring Batch first, but I suppose I could try to do both.

You know, I’m really hoping that a year from now I’ll read this and roar with laughter over how far I’ve come by that point.

Work Day 17: Back to School!

…but all the other kids are WAY ahead of me.

Our first continuing ed session with our instructor was abbreviated. He’s having computer issues, so we mainly walked high-level through the object-oriented JavaScript code he’s got out in GitHub. We’re supposed to review this, and try to run it on our machines before our next session—later on, we’ll be doing more involved work, I’m sure. It looks like I’m going to have to get Node.js loaded onto my work laptop, as we’ll be using that. I’m not sure how well that’s going to interact with the rest of the apps on my computer. I think I’m going to ask my mentor and The Alum for their thoughts. I could possibly just do all the continuing ed work on my home laptop to be on the safe side…I’m going to load a copy of his GitHub code there anyway.

We also spent a good deal of time going over how we all are doing in our new jobs. Some people are doing very well, as either a) they don’t need Java, and/or b) they have people they can shadow. I’m at a standstill, as I’m still learning Java and Gosu, which is going GLACIALLY slowly. Honestly, I’m getting the most bang for my buck from the Udemy course at home, but it’s not very fast-paced. Some people in class have had good success using the online CodeAcademy site. I’m tempted to check it out, but realistically, between Udemy, Tutorialspoint, Pluralsight (zzzz…), studying our current code, and trying to learn Gosu (and somewhere in here I have to learn Spring Batch), I think I have enough going on. If I try to add one more learning tool, I’m pretty sure my head is going to explode.

This afternoon, a good friend pointed out that I should give myself a break. If nothing else, I’ve only had a decent work laptop on which to do ANYTHING for a short time now.

I hate feeling useless, though.

Work Day 16: I DID want something to do…

As I had yesterday off, my day count is now odd…

I had a horrendous dream last night that we had to PAY for our continuing ed with our Code Academy instructor. We had to go on a communal computer to do it, and the mouse turned into a REAL mouse…the tiny squeaky kind with little whiskers. I’m probably dreaming this because our first continuing ed session is tomorrow morning. Sadly, our instructor is not going to cover Java (which half of us need), but he’s promised to cover object-oriented programming principles, which can be applied to our Java self-learning. I’m really hoping it will help, as I’m still somewhat confused about it.

The good news is that I actually did some real work today. Our agile team was flipped a defect. Sometime between the last release and the upcoming one, our system now lets one put in an amount WAY over the amount one should. To preserve confidentiality, I won’t say what or where this is in the system—suffice it to say, it’s a big honking problem. While I didn’t solve the issue (no one has, yet), I did manage to figure out where to look in the code, and how to connect and trace everything back—just the thing I didn’t think I’d ever figure out. I managed to slam up against the java APIs, which are sort of a black box to me (from asking around, I get the impression that they are black boxes to a lot of people). The next thing we’ve been investigating is to see what changed between the two releases. Seeing as SEVERAL different groups have user stories in any given release, and there are several different repos for our systems, this isn’t as easy as it sounds.

Doing the continuing ed tomorrow is probably going to be a walk in the park, in comparison…

Work Day 14: A little help from my friends…

Another day of wading through more tutorials and documentation. The Gosu Reference Guide, at over 400 pages, is the War & Peace of software documentation. I did find examples that one can try out in the Gosu Scratchpad, which I’m going to try tomorrow. I do need to figure out how I ended up with FIVE copies of scratchpad in Guidewire Studio, and how to get rid of them.

I grilled more people on where the devil documentation is for how the Gosu jobs hang together and which are used for what, but every SINGLE person I quizzed, including developers I greatly respect, all had the same answer — there is none. One just has to “figure it out.”

I may have to start writing some documentation, if for no other reason than to preserve my own sanity.

In the meantime, after said respected developers gave me their two cents, they did help me out. One went over our GitHub Wiki with me, and even encouraged me to submit corrections for the wiki concerning the developer setup (after struggling through the process a few days ago, and figuring out certain things the hard way, I had a few suggestions). Another sent me links for further documentation on our Spring Batch process. He even sat down with me and showed me how to set up Eclipse. The Spring Batch Integration jobs are actually set up with a bit more rhyme and reason as to what they are and which integration system they’re tied to, so I’m hoping those might be easier to understand…

The best part was that he me introduced to Tutorialspoint. He showed me the tutorial they have for Spring Batch, but I also found their one for Java! https://www.tutorialspoint.com/java/index.htm. I started reading through it and it has exercises. I managed to do the first few.

One day I hope to eventually code real stuff…Mr. GitHub Wiki assured me that “No one is going to let you code yet.” Apparently, the idea is that once I have a better understanding of Java and Gosu, then I’ll most likely pair-program or shadow someone at first, or perhaps do a small user story.

I suppose it’s only fair, seeing as I’ve (according to HR) only been on the job 7 business days…

Work Day 13: I need to be cloned…

The good news is that I finally got the docking station. It’s an odd-looking little cube, like something out of Star Trek. The first one they brought up wasn’t the right kind. We (I’m using the royal we here…I had no clue) figured this out when I looked down and realized that my laptop was on battery power, and draining. The tech support guy came back up with the little cube, which is working like a charm. I’m still fiddling with where I want to put my two monitors and laptop. I’m aiming for that three-screen configuration, but I can’t decide if I want the open laptop in the center or to the side. I know…ludicrous first-world problems…

The bad news is that I’m still trying to fit everything into my now-bustling life.

I have TWO events over the weekend, one of which I’d love to jettison, but I’d feel guilty doing so. I’m still trying to get through my tutorials and my Udemy course (which, honestly, I’m getting much more out of than the tutorials, because they give you exercises to do). On top of everything else, I’m trying to finish the little sweater for my great-niece Maddie’s shower on Sunday. I’m on the final sleeve. It’s a baby sweater—you’d think I’d blow right through it, but the pattern is an 8-row repeat, so it’s slow going.

I’m still scratching my head over our instructor saying that he always has home coding projects going. I honestly have no idea where I’m ever going to find the time for a home project. I may have to skip that for now, seeing as a lot of my spare time is being sucked up trying to learn Java. I’m also still trying to look at our user stories to figure out how they were done and what jobs were used, so that I can possibly find some rhyme or reason to it all. My mentor confirmed today that there is NO documentation denoting which jobs go with which parts of the app. Also, there are hardly any comments in the code to give you any clue.

And don’t get me started on the README files…

Work Day 12: There really is an app for that!

Today I actually fired up Guidewire Studio. It was an elusive app, buried somewhere down in the bowels of my applications—oddly, it’s an application with no desktop icon. With my mentor and The Alum’s help I finally figured out how to set up everything correctly. It involved Environment Variable manipulation and server setting adjustments (fun fact: always best to denote the port you want), but I finally typed “gwb studio” in the command prompt and THE APP LAUNCHED! At last! The server was a bit more of a problem, due to errors in compiling—I was missing some more settings. Once that was fixed, the server fired up.

The Alum kindly spend a good chunk of time with me this afternoon, showing me all the settings within the application and how to launch the local front end (and how to connect a database so I had some data). The really cool thing was when she showed me how to click CTRL-ALT-E from the front end to bring up the code and wireframes. I’m still fuzzy on what the code all does (still wading through the tutorials), but at least I can find it in relation to the front end location affected.

I asked if there was any documentation for how all the code is connected and what relates to what, but there really isn’t any. The Alum said they mainly know which jobs to change for enhancements by tracing back the code, determining which jobs and data feed the job they’re looking at. We have wads of requirements documents (as a former BA, I know this only too well), production support documentation, data mapping documents, etc. However, nothing that shows how the many, many, many (I can’t stress “many” too many times) jobs relate and work together. It seems odd. Even my rinky-dink one-department Easytrieve Plus operation back in 1992 had documentation on which jobs called which jobs and what data fed each. There has to be something SOMEWHERE explaining all this.

On a more cheery note, I finally have all my vacation time back!

Now I just need a damned docking station…