Hey everybody, and welcome to another episode of my JavaScript Story. This week
we're talking to Fairzod. Do you want to just give a brief introduction to
who you are and why you're important? Sure? Thanks, Charles, thanks
for having me so. I'm Charza. I'm a developer working at a company
called Epic Games and kind of living in Helsinki and Finland with my lovely wife
and my cat Nice. When I'm building a new product, G two I
is the company that I call to help me find a developer who can build
it. G two I is a hiring platform run by engineers that matches you
with React, React Native, graph QL and mobile developers that you can trust.
Whether you are a new company building your first product or an established company
that wants additional engineering help, G two I has the talent you need to
accomplish your goals. Go to G two i dot co to learn more about
what G two I has to offer. In my experience, G two I
has linked me up with experience inst engineers that can fit my budget, and
the G two I staff are friendly and easy to work with. They know
how product development works and can help you find the perfect engineer for your stack.
Go to G two I dot co to learn more about G two I,
and we had you on React Round Up. The episode went live in
September talking about state machines the state charts. That sounds right, yeah,
yeah, So what is it that you actually do, because I can't imagine
you designed state machines all day, every day. Actually, for the past
couple of months, it's been one of my main duties. I work to
design and refactor all the existing logics and behaviors of the product. Oh wow,
into working sch charts using the Excessate library by David Kership. Oh cool.
That sounds really interesting. Now what does Epic Games do then it's it's
it's a gaming company, definitely. That is the main company sponsoring the open
source Unreal Engine, which is the engine that you developed games with, and
it essentially has a store product kind of like Esteem and a set of online
services that me and my team work on. Nice. Very cool. So
the Unreal Engine, I usually think of that as like what C C plus
plus? So is there a React component to that or were you brought on
to talk about just state machines on a React podcast. I was a guest
of React podcast because of the topic gave us Machines and Reaction last year.
But getting back to Unreal, I guess the main language that you could write
games using that engine is in C and C plus plus, but there might
be an upcoming scripting language kind of like JavaScript sooner. I guess in a
couple of months. There were some talks about it, but I'm not really
sure because I'm not aware of the roadmap. Nice, very cool. Well,
let's dive into your programming history and find out, you know, kind
of where you came from and and how this all came came about. How
did you get into programming as a teenager. I used to always been interested
in mathematics and physics. I guess I wasn't aware of my interest in programming
until I went to college. And on the first semester of college, I
remember we had a course on how to write programs with Pascal and See and
then that was a moment that was like one of the aha moments. I
said, Oh, okay, I'm really interested in this in the stoic and
it's quite cool to be able to code and program and get the machine to
do whatever you want. So that was that was the starting moment that I
realized, Oh, I am really interested in programming. And it's been a
really long story since. But I guess you have more questions until Yeah,
I'm just curious. I mean, what was it that that made you go,
oh, this is this is what I want to do, this is
what I want to be. So my academic background, the thing that I
was studying college was aerospis engineering and astrophysics. That was totally unrelated to what
I do at the moment. But along the way, when I was studying
college, I was dealing with programming in different ways, scientific programming using Python
like software such as Mathematica or matt Lab, and I was always kind of
dealing with some sort of programming, but not with programming in general. Then
one of my teachers in college once called me to his room and said that
I am trying to find interested people in maintaining the database is skill for the
educational software that we have in college, and I thought that I could handle
that. So he taught me PHP and my school and I got into women
engineering from there. Then I get interested in fort rain, a bit,
a bit of pathound for web programming, and then it just started from there
and that there was like HG CSS along the way, too. Nice.
So you've kind of gone through all of it. I wouldn't say all of
it, I think just scratched the service, right. So where did you
wind up settling? Then? I was studying aerospace and aerospace engineering and astrophysics.
But then I gradually realized that I'm interested in programming and I want to
take that as my career for the life. So I dropped out of the
college on last semester, totally revolutionary decision, dropped all my career in that
field, and started learning web programming from scratch on the web. I took
some public courses on code Academy, free co camp and these websites and started
learning how the program in jobscrapeg on CSS, and after a couple of months
I applied to my first got into it and it's been seven years. Almost
nice. You've been doing web development then, mainly for the past seven years.
Yeah, mainly web development, a bit of mobile development. That's the
development too, gotcha? So? And has it been mostly in what?
Mostly in JavaScript? Actually? I started a career by coding in PHB and
Python a bit, but then I got really interested in kind of designing using
amail and CSS. Then I got really deep in CSS and then started working
with JavaScript and jQuery and Gladia yes along the way, and then React happening
in twenty fifteen, and it's been just reaction since. Nice. So what
made you get into JavaScript? Because I mean, for a long time,
JavaScript was kind of the red headed step child in web development, right it
was. It was stuff that nobody really wanted to do. So, yeah,
that's kind of a hard question to answer, you know, because JavaScript
has always been treated as a kind of scripted language that you decorate your mouths
point around the web with things like a snowing or raining effects under blogs if
you remember the old dark days. But yeah, but I guess I got
interested in JavaScript because of jQuery and being able to actually program dynamically and get
things done on the wrong time instead of just estatically designing using cs as and
STMO. And I think I wanted to take my programming experience further to the
next level. And well, I think JavaScript had an empire for like the
past twenty years in the web, so I would say there wasn't any other
option, right, So what is it that you like about JavaScript? I
mean, there are a lot of ways you can go do development, even
web development. So I think the most important thing I liked about JavaScript language
per se is how flexibil it is. You can almost do anything with it.
Given the JavaScript is the universal language at this point, you could design
your whole product from different different layers and stacks of the software, from server
to mobile to desktop, web using just JavaScript. And this flexibility is just
amazing. It's so much power, and I feel like I'm having full control
over the whole software and the product and working done using JavaScript, and it
just feels good. It kind of like drinking red bull along the way.
How did you get into React? I remember I was super interested in jQuery,
but then when whenever I wanted to develop complicated, complicated applications for front
end using jQuery, it just got out of control after a time, And
then I got introduced to angler Ja. Yes, but Angler never never felt
right for me, although it was a very powerful framework. And it was
twenty fifteen when there were some early doctors of React, and there has been
some word out that Facebook is developing an open source rendering library called React.
I remember that at that time, React had like these weird APIs like React
created class and stuff that was totally terrifying at that point, but I gave
it a shot and I liked it more more than other tooling I had in
Jouscrap already, so it just took off from there. I guess it felt
really good to be able to declaratively define what you want instead of imperatively,
you know, manually doing whatever you want to do before. So I think
it just felt right. Early in my career I figured out which jobs were
worth working at and which ones were mostly by trial and error. I created
a system that I used to find jobs and later contracts as a freelancer.
If you're looking for a job or trying to figure out where you should go
next, then check out my book, The Max Cooder's Guide to Finding your
Dream Developer Job. The book walks you through figuring out what you want,
vetting companies that meet your criteria, meeting that company's employees, and getting them
to recommend you for a job. Don't settle for whoever has listed their job
on the job board. Go out and proactively find the job you'll love.
Buy the book at devchat dot tv slash job Book. That's devchat dot tv
slash job Book. It's so funny to me how when we get into software,
there's a lot of you know, this works, this doesn't work.
You know, people talk about how mathematical it is and things like that,
and then when it comes down to picking your language or your framework, it's,
well, it just felt right. I guess, like the right things
that happened to you in your life are quite hard to explain. And finding
the programming language that is just right for you that is like the total fit
for your personality and your ways of thinking is one of those decisions and one
of those moments that happened in your life. That's why it's quite hard to
explain, in my opinion. Yeah, I think I agree. I mean
I got into Ruby right and I kind of felt the same way, and
I couldn't put my finger on what it was. But I had done PHP,
I had done some other programming languages Java, and yeah, Ruby just
felt natural to me. And yeah, I mean I can kind of pick
out some of the rubyisms now that make that kind of a difference. But
yeah, I see where people kind of settle in and you know, it's
like okay, you know, because I know people that feel very natural and
react and so or in angular or in view and so as they adopt those,
yeah, you know, they can't necessarily quantify why, but it's a
happy place for them, right. It might be a hard question to answer
for me in terms of JavaScript and why it shows it. But talking about
React as my favorite tooling these days, I can probably point out a couple
of things that I really like, but React per se, like we have
a view JS and angler js already, and there's like his felt that has
its own community. These are all amazing efforts. But the fact that I
like the only reason that I really enjoy using React and I just stick to
it all the day is that React is just trying to do one thing for
me, and I don't want to work with something that is totally opinionated.
So yeah, exactly. So it's it's kind of like a tool that claims
to be doing one thing and doing that great, and it gives me enough
flexibility while doing this job the way it should do it. So that's the
feeling. Absolutely. So we talked a little bit about what you're working on
at work. Are there other projects that you're working on these days? Well,
after last year, which was like a very long year for me with
all the traveling and conference docks. I decided to set down this year and
focus on my career more or less on the side projects that we all abandoned.
So yeah, I mean, besides working at the office, I spend
most of my time trying to work on my side projects. I have a
couple of products I'm working on, trying to finish them up and get them
out as soon as possible. There are a couple of development experience tools that
I'm trying to publish for open source, and a couple of books that I'm
trying to read and just left unfinished. Yeah, books you're trying to read.
Yeah, I'm curious what those are. Well, coming from from not
an academic background, like from not coming from the software engineering or computer science
background means that you're going to have an imposter syndrome along the way all the
time, right, They're going to feel like there are a lot of things,
there are like a lot of gaps to feel So it's been always concerning
for me. So I just choose a book called the Imposter Handbook, which
teaches you the whole computer science program in just like two volumes, I guess.
So they're like two books several chapters, you can read the whole computer
science history and other topics are related to your day to day work and learn
them properly, trying to learn algorithm, data structure, simply things like that.
So next time when you're in a technical discussion and some people from computer
science background are talking about like graph theory, you actually have a clue what
they're talking about. Yeah, I've heard about that one before. I'm trying
to remember who it's by Rob Connery. Yeah, yeah, great author.
There's also another book that I'm trying to read, and that's called Computer Science
This, which is like a two hundred pages a small book summarizing the whole
concepts data structures, and algorithms. But the only upside I staw with that
book and about it is that it's visualized, so it has like everything in
visualization, so you can see everything upfront, and I'd like it nice,
very cool. Yeah, it's interesting to me. You know, when I
talk to different people about what they're working on, a lot of them it's
oh, well, i'm working on open source software, or I'm you know,
I've got this other side project that has nothing to do with technology,
and I think it's interesting to you know, get the perspective of I'm trying
to level up, right. Yeah, So once you finish these you know,
books and things like that, what's next. Well, I really wish
I had enough time to work on the softwares and products incredibly work on and
finish them up. For instance, there has been a product I was trying
to work on, and it's a very cool idea. It's about micro blogging
and wlishing your technical blog posts onto Twitter. You've probably seen other people that
they try to like come up with the long threads in Twitter, trying to
explain certain topics and talk to other people, trying to get other people's opinions
on certain topics. So I found out that this is an opportunity and people
are doing it imperatively from the hard, like in a hard way. So
I'm developing the product that will let you do write your boot posts regardless of
how many TWAC you need to fit it into and like attached code samples,
attash them as media, get the screenshot from carbon service from it automatically,
try to kick in some NLP and some third party services to teach you how
to enhance your writing skills and stuff like that. I think after I'm finished
with my books. I'm going to finish up that product. There has been
also another product that I'm trying to work on that's called I tend to call
it get watch, which is the idea of being able to subscribe on almost
everything that happens on GitHub. So, for instance, if you want to
know when some user on GitHub has changed your avatar or profile picture, you
could literally go and subscribe to that event. So these are like some some
cool products I'm trying to pull off. Very cool. Well, I'll have
to Yeah, we'll have to see where all that goes, and we'll have
to have you back and yeah, let's see what you've learned. Yeah.
I guess as programmers, we really want to do a lot of stuff at
the same time, and we just don't have enough time to work on them.
Yeah. Yeah, that's always the case, isn't it. It is?
Unfortunately? Yeah. Cool. Well, I don't know if I have
any other questions for you. If people want to connect with you, where
do they find you? I think people can just find me on Twitter under
the handle first Kids. I also have a personal web page as far as
yz dot com, and I guess they can just go to GitHub and search
me by the same handle I have on twit or two if they're interested in
whatever I do and they want to like subscribe to the activities. Awesome,
all right, well let's go ahead and do some pics. Do you have
some things you want to shout out about on the show? Sure? So.
There has been an article that one of my colleagues shared with me a
couple of days ago. The title is almost everything on computer is perceptually slower
than it was in nineteen eighty three. And since I was always interested in
user in phase development and specifically talking about sege machines lately, this goes deep
into how user interfaces and UX has been compromised for the past couple of decades,
and how like text based user interfaces such as the command line has always
been a better choice compare to all the shiny applications that develop these days.
I think this article is very, very eye opening for everyone who's working on
the front side. I can probably share the link with you, so I
can just put it in a description of the podcast for whoever is interested.
I think that will be it. That's awesome. I really enjoyed reading.
All right, Well, I'm going to throw out a couple of picks on
my own. One app that I've been using quite a bit lately that I've
really enjoyed. It just makes my life easier. And as much as I
like Google Calendar, this just is a much better interface, at least for
the way that I work, and that is busy Cow. So busy Cow
is a macap that allows you to, you know, just run your calendar.
I mean, it's it's a pretty simple concept, but I really really
like it, so I'm going to pick that. And then I'm also working
on course on podcasting. I've had a few people ask me how to do
it and things like that, So you can go find that at podcast playbook
dot co. You can also go find my equipment list and I'll put a
link to the kit dot com or I think they just switched over to kit
dot co, but you can go get the kit dot co link as well,
and you can see what stuff I recommend for you for putting together a
podcast. And that's that's it. Those are my picks. So I guess
we'll go ahead and wrap up. Thanks for coming and chatting with me,
Thanks for having me, Charles, Yeah, no problem. Well we'll wrap
this one up and until next time max out, everybody, Thank you.
Bandwidth for this segment is provided by cash live, the world's fastest CDN.
Deliver your content fast with cash Live. Visit c A c H E f
l Y dot com to learn more