AMA with

Una Kravets

Front-end developer, Speaker and UI Engineer at DigitalOcean

15th November 2016, 6:00 pm

This AMA is over!

Thank the host

Message from the host 馃挰

Hi y'all!

Thanks for participating! I really enjoyed answering your questions 馃槃 (what a variety!)

Please feel free to email me at [email protected] or tweet at me @una with any followup questions/comments you might have! Hopefully I might get to meet some of you at an event some day too!

馃挄馃 Una

  • What are your thoughts on CSS frameworks like Bootstrap and Foundation?
  • Do you think they are good for web developers?
  • Would you personally recommend developers to use them?

Hi Michael!

  • I say, avoid existing frameworks if you're working for a company. You should be building your own framework that fit your needs without the cruft of pre-existing solutions. This way, you can tailor your solution to your needs and use your own pattern library.

  • I think CSS frameworks are good for prototyping -- this means, initial product iterations or 36-hour hackathons. Please, please invest in some design and UI development to then build a custom solution when there is a product at hand.

  • I think the answer, as usual is: it depends. Are you building a prototype for a hackathon, or are you building a product? Hackathon: yes, product: no.

Hi Una

Thanks for doing this AMA! What, according to you, are some of the best and worst trends in CSS currently?

Hi Justine!

I really love the push for CSS grid in concert with flexbox. That spec seems very promising and will solve a lot of layout issues on the web. In general, there's also been an increasing awareness of CSS performance in terms of building pattern libraries and delivering streamlined code to engineers and team members. That's a great trend I'm seeing!

I think some of the "worst" trends are a little tangential to me from CSS -- everyone is using the same typefaces on every website! (Hello "Open Sans"). And also not considering accessibility when adding style (like color contrast and adding descriptions to elements that have images included as backgrounds)

  • What does your day-to-day life look like as an engineer?
  • What's the best thing about working at DigitalOcean?

I work remotely, and am constantly traveling so my outside-of-work time varies greatly. At my job, it depends on the sprint cycle and task at hand. We recently rebuilt/relaunched the new company website and Hacktoberfest. Currently, I'm working on more internal front-end architecture. Some days its bugfixes and accessibility audits. So it really does vary :)

I love the people at DigitalOcean and how much they really care about what they do. The company drew me in because of its involvement in the developer community (I first heard of them at student hackathons and wanted to be a part of something that gave back so much to my community). And that kind of love is still very much a part of everything we do at DO. The company really trusts in its employees too, so theres a lot more autonomy in terms of bringing an idea to life than there were at larger places I've worked.

How did you start your career? Do you always wanted to be a web developer?

Haha I wanted to be a fashion designer 馃槣. In high school I discovered the Wacom tablet and Adobe Flash, fell in love with Actionscript, and didn't realize that I had secretly been coding all my life (Neopets, Myspace, etc.). It seemed that front-end development was a natural fit. More on that here

Hi Una, I love your website. How do you append /#馃拋, at the end of all your URLs?

Hi Maria!

It's actually a super-quick url trick:

  function addEmoji() {
    if (navigator.userAgent.indexOf('Mac OS X') != -1) {
      window.location.hash = "馃拋";

All I'm doing is adding the emoji after a hash. I'm checking for Mac users because the emoji was causing some non-Mac users URLs to break and not be able to access my site. I'm also adding it as a hash because if it were part of the URL "proper," going to any link without the emoji would 404. But adding an emoji hash is harmless otherwise on Mac

Hi Una, I love what you write on :)

Your article on making games with CSS Counters blew my mind!

How do you manage to stay so creative?

I think consuming a lot of content goes hand-in-hand with creativity.

When you consume content, you make connections of your own that string the pieces together and come up with new ideas or interpretations. These little bits of inspiration help you to stay creative.

And also, its not about coming up with creative ideas (humans do that regularly throughout the day), but executing on them. And the executing part I can definitely pin to writing down these ideas, and working them into a to-do list.

When is the official drop date on your album? I hear its going to be 馃敟馃敟馃敟

<iframe src="" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="">via GIPHY</a></p>

馃敟 Oh it will be 馃敟

:( I tried to post an image:

What are some of the biggest lessons that you have learned after developing for the web for so many years?

The web will always be a changing entity. I've learned that the only way to be happy working on it is to embrace that change as an interesting challenge and continue to move the web forward. Always stay on top of emerging technologies, but don't let them overwhelm you. There's no way to become an expert on everything, but that doesn't make you any less valuable of a team member.

What are some of your favourite audio books?

Good Question Regina!

There are so many more! But these come to mind immediately

Hi Una, thanks for AMA.

How 鈥巇oes someone start as speaker? Let's say you shine at something, knows topic excellently and you could talk about it. How do you get noticed to be invited on event, or do you ask yourself to talk on event? And when you find it :D what does you need to pay attention to when talking? What are some common mistakes people do? 鈥 鈥 For someone who is not in world of Web and UI Development - at this time, what technologies, stacks you should learn to start with developing sites and especially UI? With all this designs, material designs, etc, what are things you need to pay attention when developing UI, is there some good reading about it (practical considerations, what to do or no...)? 鈥 This could be a questions for a few AMAs, I hope it doesn't look scary. :D

Thanks once again for AMA. =)鈥

Ahh so many questions! I'll try to answer them all here:

RE: Getting started with speaking/noticed

Definitely start with writing -- get your ideas out somehow in an understandable way. Start sharing them. Then, start attending local events -- meet people, get to understand a crowd, volunteer to give a presentation at work or at a local meetup, and work your way up from there. Making yourself noticed (at least to me) has a lot to do with helping your community and infusing yourself inside of it. Then, don't be afraid to submit Calls for Proposals. I've submitted SO many :P

RE: What do I pay attention to when speaking

I try to focus on the audience, gauge who they are and their reaction. Speaking is really about connecting with people--you need to connect before you can get them to hear you.

RE: Getting started with UI development

Basic HTML, CSS, and JavaScript is where you should start. Don't worry about frameworks or preprocessors until you need them. Some excellent free online resources include: CSS Tricks, SitePoint, and Smashing Magazine

Una, you represent so much more than your code and projects. I like to keep up with all the things you're doing because you care about the community, good code, technical evolution, and proper downtime. My question is: how do you juggle all of this while still having a full time job? Every time I've tried to accomplish more and diminish the hard line between "work-life balance", I've failed miserable by either burning out or having major FoMO about everything else that I was NOT doing instead.

What are your strategies that keep you going on what feels like the right direction, and how do you choose which of the 8584 things going on in the front-end world to pursue?

Hi Ricardo!

Thanks for the question. It's a good one, and definitely something I struggle with . I'm not sure there's a "great" solution for the work/life balance problem, but what I do think is true is that people have more time in their days than they realize.

What do you do in the morning, on your commute, or at the gym? You could be listening to podcasts or audiobooks, or even watching conference talks. I think exercise is really important. I get a lot of my ideas for blog posts when I'm working out (not when I'm working on an issue directly). I also make time to see my friends, but also, never watch TV (unless its with somebody). I wake up early to write, and go to bed reading. There's time in your day, it just takes some figuring out, and its not easy to figure out.

What's really helped me is keeping track of my goals which have been public since 2014. If I don't write down that I'll do something -- I will forget it. And having that list is a great reference to turn to when I have downtime.

Writing things down is the answer to your second question. Think about your larger goals, break those down, and write down the steps you need to take to get there. I gave a talk once (and only once) about this topic that I think you might appreciate.

DigitalOcean has a best UX and dev-friendly UI. How such simplicity was achieved? What technologies are you using?

Involving design in the process early and often is how we maintain a great balance of friendly UI and powerful tools to maintain your system. One of our key values is: "Strive for simple and elegant solutions" and we keep that in mind with every iteration on our product.

In terms of technologies, it depends on which part of the product. is built using Middleman, while some of our other pages such as the Community and Cloud site use Ruby and/or Ember.

Hi Una!

What鈥檚 your opinion on CSS3 Speech module and CSS for accessibility in general?

I haven't looked much into it, to be honest.

I think people who have a vision impairment will likely use their own screen readers (to access other parts of their systems) which they're comfortable with, and I'm a little hesitant to override those.

What are the 3 things you hate about CSS? 馃槵

I love CSS 馃榾 But if I had to pick a few things I love a little less:

  1. You can't label interaction style changes in CSS (i.e. there is no ::toggled pseudo-selector)

  2. Support may lead to non-uniform vendor prefixing (which is a problem especially if you're writing vanilla CSS)

  3. It's not very DRY (i.e. in vanilla CSS you have to rewrite classes to target pseudo-states)

What advice would you like give to people who want to develop public speaking skills?

Start writing!

Writing a personal blog is the best way to get out ideas and practice forming cohesive storylines. When you have a blog, you can then transform a post into a talk to give at work or at a local meetup. Start small and work your way up. If you don't have a local meetup nearby, start one, or try to find an online meetup where you can practice your skills. Practice makes you better.

Much thanks for hosting the AMA, Una! What is your take on the whole React vs. Angular debate? Which one do you personally use, and what are a few things you like about it?

Thanks for the question, James!

I don't use either personally :P I think they both have their individual usecases, and I've not found a reason to use either on my personal work apart from side projects just to test the technologies out. At work, we use Ember.js, which I really like for its CLI and convention over configuration approach when working on teams. Create-react-app also provides this sort of convention, though I sadly haven't had a chance to play with that one much yet.

What is the tech stack for ? is built on Jekyll. It's a pretty simple site. You can see the internals here:

Thanks for this AMA. What is your opinion about platforms, like Cloudways, Bitnami and WPEngine, that are providing managed hosting for DigitalOcean and other IaaS?

Hi Muhammad,

Honestly, I don't know that much about them, so I can't really provide an opinion :/

How technical writer's job looks like? Do you write project documentation and keep it up-to-date, do you write any analysis reports, tech specs, etc? In your vision how those documents are important for engineering team and business team, where they can find those documents?

How anyone can become a technical writer? How to write technical documents in a maximum short, simple structure and language? Do you write those documents using Markdown, LibreOffice, LaTeX, HTML, Microsoft Office or something else?


Great question. A technical writer can be defined in a few ways -- someone who writes tutorials, documentation, or specifications. I've so far written tutorials, research articles, and documentation for pattern libraries at various companies. It's definitely not my full-time job, but a big part of what I do on the side (writing blog posts) and is tangential to working on front-end assets like pattern libraries (where documentation is essentially your product).

To get started, I don't think you need an english degree, you just need a knowledge of the topic at hand and an ability to communicate that topic to someone who might not have the same background as you. Thats the most important part -- an ability to understand the point of view of someone who doesn't have your technical background.

To answer your last question, I prefer writing in markdown personally because its familiar.

Hope that helped! :)

Thanks for the AMA, Una.

Front-end developers today don't think much when using modern CSS3 properties (transitions, animations, etc). How should one research and what are the things to remember when developing websites?

CSS3 is widely supported today, but it's definitely important to check browser support for the set of technologies you and your workplace are supporting. This is an important conversation to have at work/with your client (the exact tech stack of browsers you're supporting).

With that in mind, make choices that can reflect this decision. Then, be sure to test on various browsers and systems. Sometimes you find weird bugs on Chrome for Windows or IE10 that you weren't anticipating. Browser testing is the best way to uncover and resolve these.

What are problems between a designer and a UI engineer? How would you improve that process? What do you miss from designers? What would you suggest to any designer and web design agency?

I don't know if I would characterize there being "problems" per se, because these two roles work very closely together. But I think the biggest challenge between them is that they simply have different goals sometimes. Making something beautiful vs. accessible could be an example, and finding that balance is where you can really make a product shine.

My only suggestion would be to communicate more. Try pair programming/designing and discussing in-person (or on-video) the reasons behind your thought process or decision making.

What tips would you give to UI developers so they can stay active and avoid getting rusty?

Get on email lists and actually read them (Codrops is a good resource, there is also CSS Weekly, Javascript Weekly, and many others. I also recommend making time to either attend a conference or watch conference talks at home. Cue up a few on Youtube and spend a few hours watching/discussing with a fellow tech friend.

Most of all, practice -- side projects are key! If you want to learn a new skill, build something using that skill. This will force you to find resources and answers.

Hey Una! Thanks for doing the AMA :)

What should we developers do to save ourselves from getting burnt out?

Sleep! Take breaks! Travel! Learn a new skill (particularly an offline skill, such as calligraphy or woodworking, may be useful). And switch up your front-end-related tasks if you can.

We all agree, accessibility is very important. How should one motivate beginner developers to take care of it?

Making accessibility an important core tenant of your company is one way to make beginners care about it :) emphasize how it's key, don't let inaccessible code get merged to production, and accessibility will quickly become a habit/part of the development process.

I will ask this because is amazing how much you do and it looks overwhelming, how many hours do you sleep?

Lately, 7.5-8 hours a night (when I'm not traveling) 馃槃馃槃馃槃 You have to prioritize sleep! It's so important!

(But to be fair, I've only recently started prioritizing sleep -- I'd say 6 hours was my average for a long time)

Hi, Una - so wonderful of you to do an AMA!

What can you tell me about open source - I'm relatively new (only been coding seriously since last April in html, css, javascript, php and am now learning python). I'd love, love, love to contribute to open source projects, but feel intimidate with my lack of experience. Still want to do it though, just don't want to aggravate others on the project. Thanks!

Start with contributing documentation and with issues that are labeled help wanted or intro PR. There are some great resources to help people find projects who are looking for beginner contributors like Your First PR and some great open-source projects always looking for beginner help like Hoodie.

I think the main thing with open source is: start small. A little bit can go a long way and build your confidence to make larger contributions.

And another question: Any tips, tricks, advice, etc., for a career changer with terrific project management skills, improving-every-day coding skills (I practice everyday & take on small web des/dev clients for experience), and a desire to make this my new life's work? I'm moving from 18 years as a nonprofit writer (communications, marketing & grant writing) to front end development. Thanks again!

I'm not a very qualified person to give advice on career changing 馃槢 but I guess I would give the same advice as someone starting in this field -- get a good grasp on the basics and build as much as you can to practice and improve your skills.