What I Wish I Knew When I Started My Career as a Developer
What I Wish I Knew When I Started My Career as a Developer
MVB and Simple Programmer founder John Sonmez discusses the early days of his career, and what he wishes he knew as a young developer.
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
Transcript of the Video
Hey, what's up? John Sonmez here from simpleprogrammer.com. I thought I'd do a little bit of a different video today and I would talk about what it was that I wish I knew when I started my career as a software developer. So what are the things that I wish that I knew when I started out as a software developer that would have helped me?
I started out sort of on a rocky path to software development. When I was really young I had gotten into playing multi-user dungeons, these MUDS. It's a precursor to like EverQuest and World of Warcraft and I wanted to create my own MUD. What I did was I found the source code that you could download and I found someone that would let me host the MUD on their Linux server and I started hacking around in this C code that I knew nothing about. Those were really my first real programming experience. Before then I had worked on an Apple 2E, I've been introduced to that in school and did some basic programming, but I was learning some hardcore C code there. I had no idea. I had no book. I was just learning C from just looking at the source code, to be honest with you, there was no Google to search for things at that time. I kind of figured it out.
At that time, I believed that it would be so difficult to write my own application. I believed that there was so much to learn. I believed that it was impossible for me to write an application on my own. I didn't even realize that I could probably buy some books on C. I wish when I started out that what I would have figured out was that it wasn't going to be—that basically it was going to take a while but then I would get it. This is another thing I think that I would say would this is.
From there, after I developed with the MUD I went to school. I got my—I went to college to get my CS degree and the Java class I took, the first Java class almost made me quit programming because I just hated it. It was just all like writing loop iterators and writing sorting algorithms, kind of the basic stuff, but it wasn't fun. It wasn't creating the games. I wanted to be a game programmer. I wanted to do that.
Thinking about those and those experiences and how it almost caused me to not become a programmer, it sort of discouraged me from the beginning. I didn’t realize what it was going to take. I didn't realize what was going to happen and that it would suddenly click for me. I guess that's probably the biggest thing that I would say is that I wish when I was a software developer that someone had told me, that someone had said, “Hey John, you know, here's the thing. All you've got to do is you've just got to keep learning. You've just got to keep on reading. You've just got to keep on writing. You can start writing an application right away. You don't have to just do practice drills. You can start by creating some small application and you can create it on your own. If you do, eventually it's just going to click.” Because I remember there was a point when I was learning C++, when I was really learning it, and I was going through the book and I was just going through the exercises I just was not getting it. It just didn't make sense to me. Object oriented programming didn't make sense to me and I was really frustrated. Actually, I gave up a few times, to be honest with you, I didn't totally give up, but I would waste time, I would procrastinate and I wasn’t as motivated and wasn’t as driven because I felt like I was never going to get it, and even if I did get it I wasn't going to be able to build an application on my own.
But eventually, what ended up happening was that one day, it seemed like one day, but probably it was more of a progression, it just seemed to click for me. I got it. Object-oriented programming made sense, C++ made sense and I was able to do it. I wish that I would have known. I wish someone would have told me that, “Hey, if you just stick with it long enough, if you just keep on going at it every day that you're eventually going to get there and you're going to be able to build an application. You're going to be able to do this stuff.” Because I think I spent a good amount of the early part of my career without the confidence, feeling like there's always this super high level and I was way down here and I didn't realize that it wasn't that big of a gap. The things that I thought were impossible, like creating your own complete application, it wasn't that hard. It wasn’t that it was easy, but it was way more achievable than I expected.
Because I had that limiting mindset I never tried to—I could have become an entrepreneur earlier. I could have started building my own software and selling that software and I could have been building applications. I could have advanced my career much faster, but I didn't realize that.
The other thing I would say also is that one of the mistakes that I was making early on was I was trying to learn a bit about everything. I was reading fanatically, but I was reading all these different books. I'd go to the bookstore, at Barnes & Noble and I would look at the computer section, computer programming section and I would just pick books, stuff that interested me and learn that stuff instead of focusing on one thing.
To sum it up I would say this, what do I wish I would have known when I started my software development career? One, that it would take time and that if I just stuck to it it would eventually click. There would be that moment of clicking where you'd go from feeling you just don't get it, and you don't understand it to it just becoming very, very clear. Two, stop being scatter-shot. I wish I would have known that I I would have focused on one technology, one thing, and just worked hard at that one thing instead of being all over the place and just reading a bunch of books instead of actually writing applications, I would have got advanced much, much faster. The third thing I would say is that if I would have known, I wish I would have known that I could actually start creating applications, that I didn't need to—it didn't need to take me 5 years before I could actually—I could do that from day 1. I could create simple applications and I'd be able to build my own software and I could actually become an entrepreneur earlier. Those would be the big 3 that I would say. I mean there's a lot of lessons I could give you that I wish I would have known when I started out, but those are the big 3 I could think of right now.
Published at DZone with permission of John Sonmez , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.