Wanting to become a developer

Being a programmer is the difficult part of my resolutions. I’ve tried over 5 years and no success. I’m thinking of trying to get onto the fullstack path.

What do you mean by fullstack path? Do you mean you want to specifically become a web developer?

It’s good to have some simple projects to inspire you. What are the types of things that you want to work on?

3 Likes

One thing is that being a developer pays well. And I live in a third world country, so it’s an option to retire fairly early if I don’t spend much. This is foolish of course. More money more spending :smiley:
Another is that I want to build all kinds of projects: a few that interest me right now is an app to display an overview of one’s life; maybe improve Gokibitz platform… I don’t know, didn’t think about it much. But the desire is there.

Web is a nice medium to develop at, for it’s cross platform, as opposed to making OS oriented apps: I’m not really interested in developing for Windows when I can’t stand that platform, and Linux specific apps wouldn’t be as accessible to people around me and I’m not looking forward to that. So, web seems like the way to aim for. Fullstack specifically interests as I can take care of each part of the process, and thus have independence to make just about anything I want.

4 Likes

You have had a new year resolution to be a programmer for 5 years?

  1. If you really want to be a programmer, why haven’t you started already?
    After all, you only need a computer, which you apparently have.
    We got our first computer when I was about 13 years old.
    image(yes, I’m that old)
    As soon as I was allowed to touch it, I started programming. I enjoyed that a lot and eventually it even became my profession. I still enjoy it, although I don’t do much hobby-progamming anymore these days.

  2. I don’t think salary is a very good reason to desire any particular career. I can understand that money might seem especially important in third world country, but money does not make you happy. Having a job that you hate will make you unhappy, even if the salary is good.

8 Likes

Oh, so you’re a developer of sorts? I’ve always imagined you’re some kind of baduk only person, considering your dedication to it =] Maybe you can fix Gokibitz to be buildable again ^^

I find it interesting you’ve managed to sustain your interest for that long. I hear now and then about developer fatigue and people quitting the profession.

Not a new year resolution. I just wanted to get somewhere with programming and I had many attempts to do so, but am always getting stuck in what they call “tutorial hell”.

You’re right about salary of course, but I list it just a plus to my already established motivation to become a developer. Like on any day I could think of a thing I could have fun making, but never do…

P.S. I have never set new year resolutions except for 2021. It worked once, it will twice :slight_smile:

2 Likes

For those interested in being a developer or already one, a friend of mine who’s a full stack developer has said that mobile is another good place to aim for, once you get good with web.

1 Like

(I split these posts off from the New Year Resolutions topic to prevent derailing it.)

There are quite a few go players who are interested/autodidacts/educated in topics like mathematics, physics and/or computer science. In a survey some years ago on the IRL go community in my country (the Netherlands) 60% was found to be employed in IT.
On OGS it seems to be similar. At least I have seen more than a dozen active forum members who have coding skills. Some even contribute to OGS by adding new features. See for example the Rengo feature that @GreenAsJade is currently building and which is nearing completion.

I’ve always loved building stuff, even before I started programming: building with LEGO, building model cars and airplanes etc. I enjoyed building toys much more than playing with toys that someone else made (like action figures). IME this pattern is fairly common in people who become developers when they grow up.

I’d say that another characteristic of developers is that they like to learn. Software development is a constantly changeing field and you probably need to keep up with some of those changes in your whole career.
Also the task itself involves a lot of learning. To create good software, you probably need to acquire some expertise in the field that you’re programming for.
Many of those things you’d learn by yourself, on your own initiative and often without any ready-made tutorials available, so you’d need to figure out a lot of stuff by yourself.
And nobody will be telling you to do that, so you need to be curious and eager to learn.

How would you assess yourself in these regards?

  • Do you enjoy creating/building stuff?
  • Do you enjoy learning stuff by yourself and figuring out how things work, out of curiosity (besides the stuff you need to learn in school)?

(I think these traits can be found in many go players, because they are somewhat implied by being captivated by the game, so it’s perhaps not too surpising to find many programmers in the go community)

3 Likes

You can’t run before you can walk. Start small. For example, how about creating some simple games to get your feet wet. Some ideas:

  • Tic-Tac-Toe. First make a 2-player version (on the same screen). Then add an option to play against the computer. Then make the computer player invincible.
  • Hangman
  • some maze game. First create a simple version with some predetermined maps. Then you can add features as you like, such as some scoring mechanism, automated maze generation, some items that need to be collected, etcetera.

I think there are many programming challenges like that to get started in programming.

6 Likes
  • Do you enjoy creating/building stuff?

I do! I love making all kinds of things.

  • Do you enjoy learning stuff by yourself and figuring out how things work, out of curiosity (besides the stuff you need to learn in school)?

Yes. I’ve never liked school. Ever since I graduated from there, learning on my own has been a preferable way of learning. Like I could go to a university and study a language for 4 years, but why in the world would I, if I can do that on my own way faster? I find learning on my own better than any other alternatives.

P.S. Thanks for splitting the conversation in a separate thread.

2 Likes

Those sound fairly fun! It’s a deal then. I’ll start making them and link here the results.

3 Likes

My suggested projects were not intended to be assignments. So don’t feel obligated to make each (or any) of those things.
And I intentionally didn’t mention constraints, so you could just pick one (or some other project) and make it very basic and move on to the next project, or you can go quite far with only that one project.

For example the Tic-Tac-Toe game could just be a basic text-based (console) app, or it can be a mobile or web app with some fancy graphics and sounds, support for remote opponents, user accounts with game histories and whatnot.
The text-based version might take only a day or so, but if you really go all-out with that project, it could take weeks or more.
Just remember that you’re not creating that game because someone needs it or actually want to use it (Tic-Tac-Toe has been made many, many times already), or to fulfill my “assignment”. The purpose is for you to discover what programming involves in practice and to learn by doing.

I think it’s fairly common for programmers to have some kind of pet-project that they use to learn by doing and to get started with a platform or framework that they want to familiarize themselves with.

5 Likes

Since this stemmed from NY resolutions topic, maybe a suggestion:

For a resolution, it might be easier if your goal has an end result. I know people who know how to program, but don’t consider themselves a “real programmer” whatever that means. If you have a goal more like “make a program that does X.” you will actually be setup to achieve that goal (rather than get stuck in tutorial hell!!)

6 Likes

To answer that, I agree with point presented Your Theme - YouTube here, that goal based means one can fail.

The issue is that I’m not doing programming at all. If I do some 5 mins daily at least, that would already suffice, whether I’m stuck in tutorial hell or not. At least I’m doing something. That’s enough for me. Also again mentioning Identity-Based Habits: How to Actually Stick to Your Goals This Year as it’s something that works for me well. I just begin identifying myself as a person who does programming, and that’s a huge step forward.

2 Likes

If you enjoy solving puzzles, you can also use https://projecteuler.net/ to get small goals. It’s mostly about computing some number from a given mathematical puzzle, but it’s great practice for learning a programming language, and programming in general. The goal is a lot smaller than creating an actual application, so it’s less intimidating.

5 Likes

Programming has a steep learning curve (similar to go, perhaps). I estimate it takes hundreds of hours of programming experience (excluding watching tutorials) to achieve some basic level of competence. And you probably need to have thousands of hours of actual practice/experience to become a decent enough programmer to do it professionally.

If you intend to spend only 5 minutes per day on this, you’ll be accumulating only about 25 hours of experience per year and it will take 40 years before you’ll be barely employable as a programmer.

3 Likes

Project Euler is really nice but more oriented towards figuring out some mathematical solution in order to efficiently solve most puzzles. Many are even impractical to solve through brute force alone and require figuring out a math problem in order to make the computation feasible.

Here is another programming challenge site that is more focused on general programming tasks.

4 Likes

Tutorials are like tsumego. Some may be too difficult for your current level. Don’t waste time struggling with those and instead find easier ones to practice with. Also, like tsumego, the free ones that you find scattered across the internet will vary wildly in quality, and some might even be outright broken or incorrect. So, if one isn’t working for you, just find another, but locating the really good ones can be kind of tricky.

7 Likes

Puzzle-like assignments are nice and they have the benefit of making you think in terms of mathematics and algorithms.

However, in the everyday practice of creating software for some company, such things are a relatively small part of the job IME.
A lot of a programmer’s work is devoted to writing all kinds of plumbing code to orchestrate communication between different parts of the system and interaction between the system and the user(s). I feel that games tends to touch more on those more mundane programming tasks, because games are generally interactive.

7 Likes

True, but I generally find that this kind of plumbing is also easy to find by just typing in your problem in google, and opening the first stackexchange link.

The problem-solving part is generally impossible to learn from a tutorial, and is essential to get into the kind of creative mindset you need to find efficient solutions for problems that come up.

Both kinds of thinking are important, in the end, and not everybody finds the same things difficult, so it’s hard to say…


Another thing is, that games are just quite a big task to achieve. Even writing something like Tetris or Pong needs a lot of different aspects of coding, and are pretty daunting at the start.

5 Likes

That’s a big “if” though, isn’t it? You just spent 5 years not doing it … if you’d been in uni you’d be there by now :wink:

Also, at uni you don’t “study languages” - you study understanding. You study “how do things work and how do you make things that work”. There are some things that uni teaches that are quite hard to acquire on your own. The next alternative is usually “being taught on the job”, which is also quite hard on your own.

The chances of using the language that is taught at Uni in a profession are reasonably slim: who cares about the language - programmers learn those all the time.

This is not to discourage anyone from learning on their own - I do that all the time myself, and I strongly encourage it. Rather, it’s to shine a light on what is important about Uni education of programming professionals that is so often overlooked.

It’s important to know what you do not know, so you can make up for this gap. At some point, if you are going to make good software, you need to learn about design, patterns of design, concepts like encapsulation, separation of concerns etc. If you know that you don’t have these things, then you can keep an eye out for them and make sure you learn and appreciate them.

This is missing the point, perhaps because of the label “goal”. Sure a “goal” - as presented in the youtube video - can set you up to fail, and people notoriously do fail at that sort of “goal”.

I think that what will really get you going is a specific desire. If you’ve been motivated to make tic-tac-toe, then that’s perfect - it’s a desire you have. It doesn’t matter if you end up “finishing” or “achieving it” … how will you even measure that? So you can’t “fail” as such. It’s just something you want to make that you will be pleased with, or get tired of after you’ve learned something and see a stronger desire.

So I strongly recommend keeping your eyes out for “what you want to make”.

For example. I wanted to make a better josekipedia. This gave me the motivation to look at whatever tutorials etc I needed to learn what it takes … when you know what you want to make, tutorials are a heaven not a hell :slight_smile:

Prior to that, I wanted to make a platformer game, because I’d seen one I liked but couldn’t find one like that for mobile. So I learned mobile. I chose what to learn to get to the “goal” (desire) … I looked for easy-to-build-with frameworks, so I could make what I wanted. It’s defunct now … it’s actually ongoing work to maintain software just to keep it running, these days :slight_smile:

And it’s really hard to get people to use software: if you’re building it, make sure you are doing it for your pleasure primarily!

6 Likes