Transcript
This transcript was autogenerated. To make changes, submit a PR.
So I'd like to start off with a small story.
The first time I ever saw a computer was in 1985.
I'm joking.
I'm so young.
Very young.
I'm not at all.
So the first I ever saw a computer was when I was in high school, and I
think it was one of the most favorite memory I ever had been around computers.
And this was a time when we still have, windows XP and
Linux installed on machines.
And I was pretty amazed when I went to the computer lab and I
saw those buttons on the computers blinking and stuff like that.
I actually did not understand, oh no, what this button meant, but it was
really exciting to, look at computers and see my, my, my, my colleagues
like interact with the computers.
And that was my first introduction into programming.
Alright, so a little introduction about myself.
I'm a tech lead currently working at Ignite Studio.
And of my free time.
I also run the Central African, Golan community, which is a
community made up of, like-minded individuals around the, go programming
language that want to communicate, share ideas, and, meet together.
And, without further, I do, let's get into the talk.
This is my early days.
as I've earlier mentioned, in this presentation, I, the first time I
actually saw a, an actual pc, was when I was in high school and I was really
drawn and fascinated with this idea of you could use something that has a
small ball under and control something on the screen that has a cause on it.
And at the time I didn't actually realize or know that, oh, this is a
mouse, this is a screen and that is a sso and that's how you interact with it.
And at the time, I didn't actually know what this was and I was really drawn to
that and fascinated by all the lights that I had on the PC and stuff like that.
It was kinda Star Wars for me.
And, fast forward.
I was, one of three, arts major in a class full of all science major students
doing computer science in high school, and that meant that there was a lot
of living up to that I need to do.
And on top of that, we, started learning how to coordinate TML and in Pascal.
And I remember this, one time when we were in the computer lab.
We had my, our lecturer had this question and he asked, and I was,
fortunate enough, unfortunate enough to be picked to answer this question.
And he asked me, what is the difference between a volatile
and a non volatile memory?
I.
And I gave a beautiful definition for that.
But the problem with that was, or the mistake that I did was I took the
definition for Volta and give it to a non Volta and took definition for
a non Volta and give it to the Volta.
And it was really grueling because everyone like laughed and the
professor shook his head and it was really discouraging for
me, like for a single mistake.
That I did.
And when the class ended, I felt oh, maybe I shouldn't take this class.
Maybe I shouldn't just go back to this class and stuff like that.
And on top of that, too, in school, we had this thing in school where students were
not allowed to go into the computer lab without any supervision for the professor.
Meaning that the only opportunity you get to maybe do some practical work or to
learn, relearn, or maybe practice on what.
Your professor thought you a couple of hours ago or yesterday
in class by yourself in the computer lab was really limited.
So there was limited access without any supervision.
And as growing up without having a computer or personal PC back at home,
it was really difficult to keep up with the pace of learning, in class and the,
catching up to do that you had to do.
And, I also.
Also remember, in college, we had this misconception right in our class
that, oh, you cannot, because when I got to college, we started writing, I
started coding in c. And there was this misconception that, oh, you cannot use,
c as an actual language to get into or start off your career with, right?
Like it was really rife in the class.
Everyone was saying it.
Everyone was saying it that, oh, you can't use C to start up your career with this.
C is hard.
C is really low level.
She's meant for mainly people.
Embedded engineers don't let any.
Okay.
And under of that, I had to write most of my C code on a piece of paper.
Still.
I didn't have a personal laptop at the time, so I had to
write it on a piece of paper.
And anytime that I would just write it and close my eye and
pray that it works, right?
So it was really like, it added that, that that steep learning curve,
to, catch up with, with all the.
The new concept, the new, philosophy, the new patterns that I've been taught in
class, and to catch up with all of that.
So it really increased like the arts for me into getting a family.
And because of that, I became really I didn't like c like
that was the honest truth.
I didn't like to code in c and transitioning from that, having that
mentality, that mindset of, oh, I hate c. It's for embedded engineers, run away
from it, don't let it, and transitioning now to go, how would that look like?
And one of my major challenge that I always faced when I was writing coding C
was to deal with pointers, and it took me a while to wrap my head around pointers
working with Go, but I never actually understood it when I was working with DNC.
and I never understood there was something as simple as, oh, you have a variable,
you have an address, or the address points to the value, and that's it.
it was really, I thought about it like black magic in my head when
dealing with pointers and see, but that all became different
when I was introduced to pointers.
We golan now.
Okay, why go?
Why did I choose to code in a language that the semantics look
a little bit like c, that I didn't really actually like seeing college?
Why did I choose this program in language or how was it different for me?
I think one of the main drivers why I felt comfortable in using
Golan was his design philosophy.
Golan was designed around the idea of simplicity.
And I think that was a really driving factor for me that
I felt comfortable with it.
from the ground up when the engineers and the, the developers in the community
thought of creating a new programming language, was that, okay, let's let make
a programming language that will be fast enough to build, to reduce our build
times and let it be simple enough that people transitioning from other language
you might feel comfortable with it.
And I do understand that Go has its own different way of doing things that maybe
people must, especially coming in from the OOP wall or the object oriented wall might
seem, it might seem a little bit weird the way Go does it, but the main driver for
me that I choose Go was, is simplicity.
And the second driver where I chose go was it's, story behind it.
This might.
Seemed really funny, but it was actually the story of its creation that really
drew my attention because all my years of, learning other new programming
language, I haven't actually taken the time to look into why a programming
language was created and reasonably I it's creation of what he was trying to solve.
I'll try to tell this story to the best of my understanding
and feel free to, check me too.
So the story goes as, we had these engineers in Google at the time, and so it
was a rock bike, grease Man and Thompson, and they were having this problem
when, because at the time their, their programs took a lot of time to build.
And which was a problem for them.
For them, because imagine writing the program is c plus and it takes, I
don't know, upwards of some couple of minutes to compare and stuff like that.
So it was an issue for them at the time.
I. And they decided to solve this problem by building a, new programming
language that will be centered around simplicity, easy to understand.
And the third, which is really important, fast.
they come up with this idea of goal, which, as I've been reading online,
some people say, oh, it was meant as a replacement, of sea, but I do not think
it was actually a replacement of sea.
other people say, oh, it is a super set of sea because the semantics look
a little bit like sea and it draws most of its, design, philosophy from sea.
But it is totally different in its own right.
So that is totally different.
And I really I was really, I really liked the story and I was drawn to
the idea, of behind its creation and when it was launched in I think 2011.
Was it 2009?
it those two years.
But, I really enjoyed disturb inspiration and how these guys, thought about the
problem that they had and a programming language that could solve the problem.
And Rock Pi gave a talk back in 2015 about what we did right and what we did
wrong, and I think he really, touched on some really important points too.
On why the, or the things they did right begin setting off it
go and the things they did wrong.
And I think those are some of the things that draw me to go or why I choose Go.
And the third thing that I also like to pile on is, go, also comes in
like a full fledged package, which I find really easy for me as a kind of
a, you when I was starting off Co. So it comes with the format as it
comes to all the testing libraries.
It comes even with an HCTP.
Tools library that you can use to spin up your local server.
So there's no need to install any additional, packages to use.
There's no need to configure anything.
You just install, go.
And from there you have your link test already.
A big thing, you have your, test, is already baked in.
You have your, your HCTP package already baked into that.
You can spin up the local server for web development.
I think all these things coming together really made it,
appealing for me to choose goal.
So my idea of programming at the time that, you couldn't use, seed to start
off a career and discovering goal, that looked similar to what I hated
in college to learn, really changed my perspective about these things.
And offered me an opportunity to dive into this language and really
see how it works and becoming was especially becoming really
comfortable with it, moving forward.
So what actually happened, with, or how it go actually changed my life.
I would rather like to say more, or rather like to say it
actually changed my perspective.
how do you, as someone that all your life, through college, you have always
understood that, there are certain, there are only few and certain language that
you can use to start of a career with.
And your first job that you ever had, give you an opportunity or you
were being required to code in a language that look like a language IE
that is c that you hated in college.
So how do you, I guess walk around that or become comfortable with that?
I guess you could, I could look at the goal as either.
It helped me to hear from my past wounds, misconceptions that I had about C because
I always had this idea that C is really difficult, I know and can, actually learn
and understand it, and the people that actually understand it, I dunno, genies.
it really, helped me to hear from that misconception that I had.
and my first project that I actually worked on was using coal as a software,
as a, junior developer, which was to, build an online ticketing system.
And I had only a week to familiarize myself.
We call before standard of the project next week to, so it.
Even.
Even no, even though the learning curve was really steep, but I think
coming from the angle or coming from the viewpoint of understanding, oh,
okay, what is sprung your language?
Trying, do you understand?
How does it look like?
What are the features, the things that it brings to the table, and why are we using
it to, does it actually solve our business case or the problem that we are having?
I. that we want to solve in this particular business case.
So it really shaped my perspective.
and also, I worked with it for, over here and within that I also got an
opportunity to become a tech lead, working with it, which I think, maybe
it wouldn't have, happened if I was, Using other programming language to code,
or maybe I'm just lucky, I don't know.
But I think it really changed me in that way.
So my perspective and in my career and, also offered an opportunity
to meet some really amazing people, out there in the Go Community.
shout out to my Boyer from the, to the, from the Go Insiders community and also.
The, go Luck community too.
Really amazing people that offered guidance and people that are willing
to take out your free time to answer your question and send you a message
to reply to, some, message or questions that you might have, which I think
was pretty cool and amazing too.
what does future look like?
for me working with, go.
I think it will be more of, having these kinds of, presentation and, sensitizing,
more developers in my local community.
because I did a, a little observation and in my local community there
are not a lot of, co-developers, or people that are even familiar with it.
So I think for me, the future with, with working with gold be more of, sensitizing
and having this kind of presentations, workshop, meetings, meetups.
And that is the primary reason why I decided to start running the central
office community, to, put the word out there, another way of saying
it, and to, help others to, and, If people that, had the same experience
like me and trying to, I'll probably still go online and say, what kind of
programming, language disease, and maybe came from the same background as me.
I think, doing more of this kinds of presentation might more hold their
hand and pull them up, I think that's, that's how it looks like when, when I
envision the future working with Go.
what are the key takeaway, from this talk, that I think might be useful,
for, early startups, for, people that are undecided here, for people that
are just stuck in the career limbo.
stuff like that.
And, I think perseverance and resourcefulness, although it sounds
a little bit cliche, but, I think the idea of consistency, in, just starting
off with the programming language and building a lots and lots of projects too.
And, having, people around here to poverty you up and.
I would recommend the Go Line inside a community on X and the,
official go Slack community too.
which I think are really valuable resources to help people that are
looking to study now for even people that have been in the industry or
in the Go ecosystem for a while too.
So I hope this, this talk, offers some value to you.
And, thank you very much to, for listening and enjoy the rest of the conference.