Hard to say without know how your team cuts a new release, but my guess is you'll want to track all these changes in your project management software. How do tickets move through your system from planning -> analysis -> dev -> QA -> production?
Your release process should in theory only be picking up changes for tickets that have made it to QA and are tagged as QA or passed QA in your project management system.
We're planning to make some revisions to the book based on some of the early feedback we've gotten, so for now the Holloway reader is the best place to read the book. We do plan to offer PDF and ePUB versions in the bundle in the future though.
I would have purchased this today if it were available in PDF or ePUB or Kindle store. I'm sure I'm not the only one.
I do understand the appeal of an online reader but you should perhaps consider making your work available in a number of different channels to suit potential buyers' preferences (i.e. you are probably leaving money on the table by only having an online reader option).
Thanks for the feedback. Holloway's platform makes it easy to make revisions, and I plan on updating the content periodically based on feedback like this. Comments from readers in the book itself also help as well to adjust the content over time.
I had a feeling this topic would be a bit controversial on HN :) I tried to address this in the book in the first section of "What Makes You a Senior Engineer?" by talking about the different meanings, and how the software industry doesn't have a standard definition of what a senior engineer role entails. Everyone will have a different opinion on what makes a senior engineer, so I'll try to add more info about the nuances involved in the senior title in future revisions.
If I may suggest some further feedback, I think mentoring is very important at a senior level. Perhaps this could be covered in a chapter in the existing communication section, unless of course I missed something!
I think learning to identify how engineers could improve, and being able to successfully help them, is a big level-up. Departments will want to trust their seniors to do this proactively - rather than say, just when questions come up - as this helps foster a healthy team with everyone growing.
One other point comes to mind on impact - as this is often seen as a key differentiator for senior engineers. It's good to see the section on improving processes in your book, as this is a nice way to add a lot of value. Another way to make an impact is keeping a close eye on product delivery and cycle time, and identifying any problems. For example, is work getting released often, or is it getting stuck in 'nearly done'? Are there frequent blockers to builds or deployments? How is cycle time looking recently, and are there any lurking issues where work is getting blocked frequently? How do we work around this current setback - is there a short term solution to keep things moving while we work on a proper fix? Are we currently on track for delivery?
Managing complexity is another area which can be tough to navigate as a new senior.
Just some thoughts which came to mind, as we all see things from a different perspective.
Overall, I really like the focus of the book. We need more of this stuff and this will help a lot of people, so kudos on the release!
That's some great feedback, thank you! I'll add these to my notes for the upcoming revisions.
There's a section about having a "team-first approach," but I agree with your comment that mentorship is another trait that could even deserve it's own section.
The kindle version will be release in the future, hopefully soon. We're planning to make some revisions to the book based on some of the feedback (as well as adding/updating the links at the end of each section). So in the short term, the Holloway reader will be the best place to read the book as these revisions are made.
Josh with Holloway here. As David mentioned, this title does not currently include a download to load on to your Kindle. (Most of our readers prefer the online Holloway Reader, and we publish in that format because it's a more powerful reading experience with search, commenting, and easier content updates.)
But yes we do add PDF and EPUB formats when there is enough demand. And no downloads do not require repurchase. If you purchase now you are getting online access plus future content updates as well as future download formats that are added. Hope that helps!
Pretty sure you should be able to download it, but I don't see the option either. I've reached out to my contacts at Holloway to see if there's a reason why the download isn't available.
Hmm, I believe you should be able to download it. I've reached out to my contacts at Holloway to see if there's a reason why the download isn't available.
Thanks! And congrats on your book as well. It turned out to be way more work than I imagined, but it was worth it. I ended up learning and growing as an engineer myself during the whole process. Getting the right words down on paper really forces you to organize your thoughts and clarify what points you're trying to make.
I'm hoping this helps junior devs focus on the soft skills earlier in their career, rather than putting them off until they're ready for the promotion.
Thank you! I agree, there's plenty of resources out there to learn how to code, but there's a lot that goes into being a professional programmer than just writing code. I'm hoping this will be a good resource for developers working towards their first promotion.
Except that the top bar covers about the top 2/3 of it on mobile safari. This glitch renders essentially the entire site useless.
(What’s up with floating top bars? Either just make them be a real part of the page, or move them to the bottom, or, if absolutely necessary, keep them floating and test the heck out of them. Because that floating element that can’t be dismissed will result in a near 100% reduction in your conversion rate all by itself.)
These components are not used inside any Jetbrains IDEs. Those IDEs are, of course, written in Java and cannot use a browser-based UI framework. This is for "our web-based products like YouTrack, Hub, TeamCity, and Upsource" (per the original release blog post for Ring UI). Those products support mobile.
JetBrains IDEs are not on mobile though. It doesn't matter if they're incidentally accessed on mobile if they're not actually designed to be used on mobile.
It's a bug that manifests itself on mobile, but it probably does the same thing on desktop too if you shrink the window really small, and even if it doesn't, it's just a CSS big that is triggered by mobile browsers. There's nothing big that is preventing it from working fine on mobile. Most of the pages do work fine.
I guess this is more desktop-centric than most other browser-based UIs - I mean, JetBrains is mostly developer tools, and most people don't use their phone for programming...
I don't but I do use, and am interested in, their software. So it's a bit disappointing to see a link to their site while using hn on mobile, only to get to a page that doesn't display anything useful.
You seem to assume that everybody on this website knows what Ring UI is. But I didn't know and judging from quite a few other comments here, I wasn't the only one. All we had to go by was the title "JetBrains Ring UI" and a comment stating that a date picker looks nice. Without any kind of description it's not that weird to assume a website with a datepicker works decently on mobile.
I'd totally use them on my mobile devices if versions for them existed. They're just too convenient even though they lack a keyboard. Wish I could use them to write software.
Yep. Scrolled into the 2100s and back into the 1800s in a few seconds, then decided to figure out which day of the week I was born, which took about three seconds. In most date pickers this would've taken O(year difference * month difference + day of month), here it took something like O(year difference + month difference + day of month).
Wow, that's gotta be the nicest looking and most functional date picker I've ever seen. Date pickers are normally so hit or miss imo but this one is a hit out of the park.
Ionic's is probably one of the best date+time combo (other examples are always strong in one and terrible in the other, time being the thing that often gets short shrift)
Interestingly it lets see both the iOS and Material Design versions of the component.
iOS has a strange combination of arrows to handle the month: right to expand the months dialog, down to close it. It took me a while to understand that the down arrow would bring me back to the calendar. Why not right and left? Maybe it is how it works on a Mac too.
MD and anything else I remember has a down arrow to expand and an up arrow to close.
Almost no contrast on the year. Clicking the year doesn't change the year in (either) textbox but scrolls a different section. Month 'highlighting' overlaps with adjacent months including picking January which highlights both January and December. If you type a text date (which is in a different edit box for some reason) and then click outside the box it won't 'save' the changes because you have to hit enter. If you open up the picker again it will at least remember what you typed before which is now different from the text date above itself. Mousewheel scrolling individual items like months doesn't actually go to the next month it just scrolls the calendar a bit, but sometimes skips around: while scrolling down it went from 11 Aug 2000, 2 Jan 2002, 22 Sep 2000 (I think because in some states my cursor was over an item). What did you like about it?
It's not bad, but I have grown really fond of Grafana's date/time picker and can whip up a clone of that using React-Bootstrap and React Datepicker (https://reactdatepicker.com) in about ten minutes :)
For what it's worth, the Grafana date picker[0] is "just" react-calendar[1]. The time range picker you see on a dashboard uses that and a bunch of other (custom) stuff.
I am assuming that you're judging the behavior by the minimal example in the top 1% of the site. If you scroll further, you will notice how extensible it is to support not only month and date navigation but many other customizations.
I also assumed it was limited in such ways. Mostly because it is extraordinarily rare that anyone bothers to enable those. I'd much, much, much rather have a singular, consistent full UX available to me instead of defaulting to some "simple elegant" artificially stunted version.
Funnily enough I have a pet peeve with Grafana's picker (which is overall quite nice) - I can't copy and paste the whole date range from one window to another in one go. I'm often punching in varies specific datetime ranges across multiple dashboards so this comes up all the time every day. Sure I've added data links for the cases that I use most frequently but I can't do that for everything. The "recently used ranges" (which is a neat feature) doesn't seem to work across dashboards and seems to require a page reload which baffles me a bit.
We tend to go dogmatic on date pickers. Gotta use them everywhere someone asks for a date. That's the problem right there.
It's like the classic "text field versus dropdown for state abbreviation." There are a lot of dates people prompt for that the user KNOWS and can type faster than they select. The obvious one being "enter birthdate" as part of account creation processes.
The "comprehensive" date pickers with mini calendars and things are more usable, IMO, when you're interested in a relative date. What you really want is "next Tuesday" and you need the mini-calendar to convert that to "2022-10-11". Maybe they can be bypassed by figuring out purpose-built specific solutions to the prompt. Appointment scheduling, for example, might be better suited by showing a list of available slots rather than prompting for an arbitrary date.
It's incredible they basically built it with a completely different design in mind. Making use of scrolls/swipes for months and years on the same screen.
It looks good though took me longer to pick my birth date. I don't care how many days a month in certain year has, or day number is at which day of week. I guess it comes down to each own preference. One thing at a time is more focus.
I always recommend building a calendar app, or something that deals heavily with dates. Knowing how to work with date and time in any language is critical.
Your release process should in theory only be picking up changes for tickets that have made it to QA and are tagged as QA or passed QA in your project management system.