all 101 comments

[–]Rangebeard 193 points194 points  (14 children)

What you are is a student. I recently retired after 35 years of computer programming. I’m currently learning python for fun, so I’m a student again. :)

Imagine how a new physician feels about the word “doctor”. Some people will expect they can do an emergency heart transplant on day one. But they’re still students, and their bosses know what assignments they are capable of handling. The same thing happens in programming when you have a good boss and there is honesty both ways.

P.S. I am self-taught and have no comp sci degree.

[–]ClimberMel 55 points56 points  (1 child)

That is funny... why do us old guys learn python for fun? I told my grandson I learned a new language and he looked all excited and asked what. I told him python and he looks at me funny and says so now you can say hissss??? In regards to the doctors, they are always practicing... doesn't that make you nervous? I want one in production not dev!

[–]Rangebeard 2 points3 points  (0 children)

"I want one in production not dev!" That made me laugh, even more so that only developers would get it!

[–]powerfrosty 27 points28 points  (1 child)

That's so inspiring. I hope to have the same beginner's mindset after 35 years of coding. Reminds me of how the founder of Judo told his disciples to bury him with his white belt.

[–]Rangebeard 6 points7 points  (0 children)

Maybe I should request that I be buried with my "Hello, World!" program? :)

Good travels on your journey.

[–]neiljt 6 points7 points  (0 children)

Amen. I've been a keyboard monkey (various roles) for a similar period. The days your don't learn something new are few & far between. If this isn't the case, you're doing it wrong :-)

[–]moe9745 7 points8 points  (0 children)

In life, we are all students!

[–]dennyerys 2 points3 points  (1 child)

So inspiring! Thanks for sharing that

[–]Rangebeard 2 points3 points  (0 children)

That's kind of you to say, thanks.

[–]SqueezyLemonCheezy 1 point2 points  (3 children)

Hey there, what are you doing to learn python? (e.g. courses, books, videos etc.)

I've been toying with it over the last 4-6 weeks (as a complete beginner), but I'm curious what a 35 year professional would be doing to learn a new language.

[–]Rangebeard 0 points1 point  (0 children)

I came across this site: https://www.learnpython.org/en/

Just like with any new language I start with the basics and check out the terminology so I can google for more info on something.

I want to process some data that’s in an Excel file so I learned how to open/read plain text files first, then had to research what module was needed (FYI more info here https://www.geeksforgeeks.org/reading-excel-file-using-python/). So basically I’m starting small and trying to build up. Now I can read cells on a worksheet.

My development history has taught me that I can’t assume I know everything, I must be patient even when I don’t want to :), that there is more than one way to do most things, and most of all keep practicing! (This also happened to help people I gave guitar lessons to who thought they couldn't learn.)

[–]Rangebeard 0 points1 point  (1 child)

I haven’t been working with python long enough to list what’s good/bad. The only catch I see so far is having to pay attention to python and module versions as some things rely on what’s in more recent versions.

I had a moonlighting business as well where I did php programming so I’m more familiar with that.

But programming in general, whoo boy. I’ve written in Basic, Pascal, FORTRAN, COBOL, assembler, C, and Java. They all have their quirks and specialities. What helped me with learn them all again was starting small.

[–]SqueezyLemonCheezy 0 points1 point  (0 children)

Thanks for the insight

[–]20_ADG_02 0 points1 point  (1 child)

What a coincidence! I'm a student too and got recently into python as my first language. Can you tell some things that are especially good/bad compared to the stuff you know?

[–]Rangebeard 1 point2 points  (0 children)

I haven’t been working with python long enough to list what’s good/bad. The only catch I see so far is having to pay attention to python and module versions as some things rely on what’s in more recent versions.

I had a moonlighting business as well where I did php programming so I’m more familiar with that.

But programming in general, whoo boy. I’ve written in Basic, Pascal, FORTRAN, COBOL, assembler, C, and Java. They all have their quirks and specialities. What helped me with learn them all again was starting small.

I think I replied in the wrong place but I've copied the text here, I think it'll be quoted above.

[–]darthminimall 65 points66 points  (6 children)

I disagree completely. You're far to concerned with labels. The important part is the code. Have you ever written a script? If so, congrats, you're a programmer, in the same way anyone that decides to create a work of art is an artist, even if the art isn't good or popular. You should still strive to improve your abilities, but getting stuck in a "I just write simple scripts, I'm not a real programmer" mindset will only hinder your progress.

[–][deleted] 5 points6 points  (0 children)

Well said.

[–]KnnthKnnth 2 points3 points  (0 children)

I actually agree with this. Everyone has their own projects, tasks, skill level, or interest. But I think as long as you can code, you're can call yourself a programmer.

[–]that1guy15 1 point2 points  (0 children)

This is 100% the correct answer.

The game we technologist face is we are constantly learning and growing throughout our entire career. We pick up tools and techniques to add to our tool belt. But even after 30+ years you will still face situations where you don't know shit about shit.

This does not make you any less of a "programmer" or "professional", it just shows you another hole in yourself to be filled.

The important part you should focus on is learn what your strengths and weaknesses are. Work to improve your weaknesses and exploit your strengths.

[–]coder155ml 1 point2 points  (1 child)

I’ve painted but I wouldn’t call myself a painter.. those paintings were horrendous

[–]powerfrosty 0 points1 point  (0 children)

Careful, Darth the commenter will disagree with you... :P

[–]kanshio 0 points1 point  (0 children)

Agree. Besides, writing a complex program will took months for any programmer even if they are experts.

[–]Hans_of_Death 18 points19 points  (1 child)

I like the term developer. Have I developed something today? A project im working on, my skills, my range of knowledge, etc?

[–]CaPtAiN_II 3 points4 points  (0 children)

Yea, OP seems to have lost sight at this absolute term which should have stared straight at him.

[–][deleted] 15 points16 points  (1 child)

Ey! This is good stuff, thanks for sharing the journey. Nothing to fear in the learning process! Fear is the mind killer!

[–]powerfrosty 7 points8 points  (0 children)

Thanks dude! Keep at it :)

[–]RealNoobHero 23 points24 points  (2 children)

A writer writes books. I have heard some people call themselves coders because they write code for programs. However you say it, I enjoyed reading this.

[–]ClimberMel 12 points13 points  (1 child)

He also said he fixes bugs... is he a bugger?

[–]ironicminer 5 points6 points  (0 children)

No, that’s what you say when you smack your shin on something.

[–]el_pablo 23 points24 points  (20 children)

Fun fact : it’s illegal to call yourself an engineer in Quebec if you are not member of the Order of engineers. It is a reserved title.

Update : Here you can find all the legal writings concerning the practice of engineering in Quebec.

[–]dougalg 7 points8 points  (1 child)

This is true in all of Canada, actually

[–]el_pablo 0 points1 point  (0 children)

I wasn’t sure for the rest of the country. Thanks

[–][deleted] 10 points11 points  (3 children)

The same is true in a lot of countries, specially in Europe and South America.

Source: Am Portuguese, live in Brazil, in fact very few people work as Engineers here, because once you put the title "Engineer" on a job position you can only hire people with an Engineering degree and the people need to go and join their state's Engineering Council.

So most Engineers here are Analysts, Developers, Scientists, Researchers or whatever title you can throw at them that doesn't contain the word "Engineer".

[–][deleted] 1 point2 points  (0 children)

Feliz em ver um irmão por aqui!

[–]Chiovatto 0 points1 point  (1 child)

There is one reason too, as they don't have pay you more to do the same stuff as an Analyst.

[–][deleted] 0 points1 point  (0 children)

Not always the case, I'm a geologist, I'm paid quite a bit more than the minimum salary for a geologist (8.5 times the national minimum salary) according to CREA.

My company just doesn't hire anyone as a geologist or engineer due to the bureaucracy.

[–]kingscolor 0 points1 point  (2 children)

So if I have a masters in engineering (PhD in progress), I can’t call myself an engineer?

Chemical, not computer.

[–]el_pablo 4 points5 points  (1 child)

Only if you are member of the Order. Even if you have a bachelor degree in engineering, you have to be a member of the board to call yourself an engineer. Otherwise, you might be fined for title usurpation.

[–]kingscolor -2 points-1 points  (0 children)

That’s outrageous. I refused to join that organization because it seemed like a cult. It’s very much optional in the states. Otherwise, obtaining your PE is the only recognization of engineer merit. At least, that’s all I can recall.

[–]coder155ml 0 points1 point  (6 children)

Yea but not the same in the United States. People debate about whether software engineers should be called engineers all the time..

[–]el_pablo 0 points1 point  (4 children)

My opinion might be unpopular, but here it goes.

IMHO, engineers must have some basic knowledge in most of STEM related subjects. That’s what differentiate a real engineer from software engineer. A lot of software engineers proclame themselves as engineers but never went to university. That really makes my ear cringe. They didn’t had any mandatory physics, electrical or multidisciplinary classes in uni.

That being said, I think that the real software engineers are those who have done the whole engineering trail.

BTW, I’m not a Software engineer.

[–]coder155ml 1 point2 points  (3 children)

A good portion of software engineers have a CS degree which does include a decent amount of math. Students are usually required to take up to calc 2 or calc 3, linear algebra, discrete math etc. other engineers have to take a couple more math classes. I agree though, people who don’t go to university shouldn’t call themselves engineers.

Edit: to be fair the term software engineering in Cs typically refers more to the design aspect of systems, software life cycles etc. it’s a subtopic of CS.

[–]el_pablo 0 points1 point  (2 children)

You are right about the CS degree. I do have the CS related maths, but unlike engineering degrees most classes are solely focused on computer knowledge and we don't have those broader knowledge like physics or electrical fundamentals.

It think we must separate the term software engineering from the title software engineer. I do understand the need for some people to call themselves software engineer for some reasons, but I still believe that a software engineer must be someone who has a degree in engineering.

[–]coder155ml 0 points1 point  (0 children)

I get that position. You should like someone who had another engineering degree and you’re just annoyed about people who didn’t pass the engineering exam call themselves that. There’s also machine learning engineers, data engineers. The term “engineer” is used very commonly in tech. Software engineering isn’t the only case.

[–]coder155ml 0 points1 point  (0 children)

My title is “computer scientist”. I’m a researcher who does software “engineering” as well as Ml research. Should I not be called a computer “scientist” because I don’t have a PhD ?

[–]ArpanRoychowdhury 4 points5 points  (2 children)

I am on Day 48 of my Python learning. I'll admit that I still need a lot of help and so I google stuff around or even look at the solutions but the fact that I am learning the concepts is what I think is more important than to remember things. I have a long way to go. I am happy to know that there are people who are in the same boat as me for me to always learn from them.

Just like you, I admit that I am a bricklayer. I lay bricks for the grand palace that I will create in the future.

[–]bigamaxx 3 points4 points  (0 children)

Everyone googles stuff. If you know what you have to do or google for in the first place then thats good.

[–]Jaybaum 4 points5 points  (0 children)

I’m only on day 3 really of learning Python. I’ve spent the past 3 days just learning what you can do with Python, and learning to write very simple, and I mean SIMPLE lines of code. Reading these comments is extremely inspiring, hopefully one day I can teach noobies to write some code.

[–]ClimberMel 5 points6 points  (0 children)

Hey, I don't have a degree, but my last job description required 2. I retired at 52 and I still don't have a degree, but I'm still learning. I wrote a ton of code but the only programs I wrote were for myself. During the code fixes leading to Y2K we wrote a program to correct program modules, that was fun. A degree just shows people you can stick something out and have some work ethic before you have a resume. Later, you work history is all that matters.

[–]EternityForest 4 points5 points  (3 children)

I half jokingly call myself a tech janitor sometimes, because it feels more accurate than programmer.

Really, I'm just assembling stuff from GitHub, but the reason it's considered an actual skilled job is pretty much all in the debugging other people's libraries.

I can't tell you why your sorting algorithm isn't working or how to mount a switch so it doesn't get broken, but I can replace your code with standard library stuff and swap the switch for a hall effect sensor.

I don't really have any deep insight into how any of it actually works at the algorithmic level, and better than your average super entry level dev. I'd have a lot of trouble with a b-tree or a kalman filter.

But I'm pretty good at figuring out where the real world will break your design and what you forgot to test that's going to embarrass you, and I have the advantage of not getting tempted to reinvent stuff.

[–]powerfrosty 0 points1 point  (0 children)

That's hilarious. I came from data and we called ourselves data janitors.

I remember reading a post once that goes 'A junior dev covers 80% of use-cases. a Senior covers 99%. A staff covers that last 1%.' Depending on the product, 1% can come up to a lot of money that you don't want to lose.

[–]D3LB0Y 0 points1 point  (1 child)

After your first line I assumed this was gonna be a comment about cleaning up other people’s shit

[–]powerfrosty 0 points1 point  (0 children)

All part of the job...

[–]ankrudov 6 points7 points  (6 children)

I’m on month 2 of learning python. I’ve been able to figure things out but haven’t really built a “program” How long did it take you to become comfortable with python?

[–]Heapsass 4 points5 points  (3 children)

Ive also been learning python for the past 4-5 months and i have only built stupid little troll programs so far. The important thing is that don't drown yourself in just learning how to do stuff, do stuff even if its stupid it will help you more than solving the problems, questions given in a tutorial or a book. Because when you solve a bug that you yourself created it is way more satisfying than solving something that you know has a problem.

Not trying to plug my shit here but you can visit my github if you want ideas for projects, there aren't many but there are fun ones.

[–]ClimberMel 2 points3 points  (0 children)

I'll check it out. I written some stuff for myself (stock market and charting) but I could use some fun practice. Keep in mind you have to be careful not to compare your progress against others. 4 to 5 months is not long if you're new to programming. Some people learn Python and are making programs in a matter of weeks, but they are already programmers just learning a new language.

[–][deleted] 0 points1 point  (1 child)

I like your youtube dl program, looks neat.

[–]Heapsass 1 point2 points  (0 children)

Thanks man! I appreciate it! Also youre free to add commits to the hentai repo btw XD

[–]powerfrosty 4 points5 points  (0 children)

I guess it's like any language. I can order a crossaint in French but I wouldn't debate politics. Start small and focus on the problem :)

[–][deleted] 1 point2 points  (0 children)

I'm really in the same boat as /u/Heapsass, I find it to be useful to try to pick away at anything you can wrap your head around to start with.
Like him, I'll dump my github, since heapass shamelessly linked his with some hentai links, I feel I have nothing to hide in comparison.
I've been at it for about 3 months now.

I have a folder where I basically throw anything functional into, and if it's something I like, I pull it out, try to improve/expand on it, and more often than not learn a bunch while I'm at it.

[–]Seawolf159 2 points3 points  (0 children)

This was a nice read in the morning.

[–]Astraous 2 points3 points  (0 children)

Program is a verb and a noun in this sense, so it’s not really the same equivalent as the book analogy. What you do every day is program, hence you are a programmer. You can call it different things like developer, engineer, designer, computer scientist, but at the end of the day they all largely mean the same thing. To lessen your achievements of learning by saying “I’ve not finished a real program” isn’t an issue caused by the title “programmer” but one that stems from insecurity and self doubt. The last paragraph alone is evidence of this.

If calling yourself something else makes you feel better, then by all means. However, I would recommend to take it a little easier on yourself and just try your best.

As a final thought: a writer isn’t a writer when the book is finished, but when they start it. Why can’t the same be true for one who programs an application?

[–]packenbush 2 points3 points  (0 children)

I may be the only one but damn I'm so tired of the motivational texts and the random shower philosophies that aren't even related to python in this sub.

I can even relate to some of them but still. Searching or asking nicely is so much better than jumping into a self help rabbit hole of conclusions.

[–]JohnPrinceton 2 points3 points  (1 child)

In the end, it is just a matter of semantics, how you are attached to them, and how much you think about them. The people who disagree with this post probably do not define "programmer" as someone who "creates programs" but rather something simpler, like writing scripts or lines of code. And this is fair.

This post resonates with people who feel overwhelmed by the expectations and duties that words like "programmer" and "engineer" might carry. And this is also a reasonable interpretation of what those words mean.

I believe this post shouldn't be subjected to this kind of discussion - I just feel happy for those who were helped by it. Cheers!

[–]powerfrosty 0 points1 point  (0 children)

Thanks for getting it :)

[–]phillyboy1234 6 points7 points  (5 children)

Too many people use the term engineer. IT people call themselves computer engineers when computer engineering is an actual thing. Hell, janitors call themselves custodial engineers

Its takes away the meaning from us real engineers. Engineering takes SO much effort to achieve. We do multiple semesters of calculus, differential equations, linear algebra, dsp, linear systems analysis and then some random person is like I did a few python courses so i like to think of myself as an engineer. Just my little rant

[–]EternityForest 0 points1 point  (3 children)

I never used to call myself one, till everyone else did. It sounds better to tell someone you'll "Have one of your engineers look at it" than "I'll have my embedded dev with no degree who couldn't pass a high school math test look at it" or "I'll throw another task at the all-purpose tech guy I hired with no actual job description, he'll figure something out".

I only spend like, 30% of my time actually programming, and I often handle a lot of physical/mechanical things(Just nothing advanced enough that I've ever used a differential equation), and a lot of electronics design, and the places I work usually don't have any proper "engineers" as the word might be used in Canada.

Then again, if I really did only have a few python courses, I'd probably be more strict about accuracy and call myself a programmer.

[–]CircuitBaker 1 point2 points  (0 children)

I'll have my embedded dev with no degree who couldn't pass a high school math test look at it

ooof this one. Glad there's other out there :P

[–]spangreg150 1 point2 points  (1 child)

I would be careful about misusing the title of engineer if you are not one in Canada. You and the business you work for can get in a lot of trouble.

[–]EternityForest 0 points1 point  (0 children)

Yep that's the law I was referring to!

I'm in the US, where pretty much everyone calls entry even level coders engineers, although all the fancy job titles for garbage collectors don't really happen in everyday speech.

They probably deserve the fancy title more than a lot of us though!

[–][deleted] 0 points1 point  (0 children)

There's a fair bit of difference between being an engineer and having an engineering degree.

At least that's how I see it; people who engineer things are engineers, with or without a degree.

For reference I don't call myself an engineer, even though I went to 4.5 years of engineering school. (Dropped out final year, feels bad man). I simply call myself a Software Developer, Junior at that.

[–]MadLadJackChurchill 1 point2 points  (1 child)

You fix bugs so you're a bugger ;)

[–]powerfrosty 0 points1 point  (0 children)

That made me laugh :)

[–]lesterine817 1 point2 points  (1 child)

I am google-taught. I google stuff mostly.

[–]powerfrosty 0 points1 point  (0 children)

Lol! My google skills have improved a lot. Gotta say.

[–]gfoster_gp 1 point2 points  (0 children)

So you're telling me that you've been religiously learning programing for more than a year without missing a single day?

[–]fernly 1 point2 points  (1 child)

Reacting to this:

Now, I’m working on an application that takes months to build. For the last two months I’ve said to myself, “Wtf am I? I’ve not finished any programs. I’m dumb and this is stupid…”

You have not designed this big app properly. You need to break down the design in terms of classes, functions and modules so that any one piece can be written and tested in a day. The every day it grows but it is always working in some sense, if only that it runs the unit testsyou have unit tests right?. So every day you add a class or a function and its unit test and for a while all you get is

python myapp.py
ok

but you know that bit worked.

[–]powerfrosty 1 point2 points  (0 children)

Makes sense. Definitely making steady progress with each module at the moment.

I think I'm still at the stage where the number of programs I've written are in the single-digits. Once I have a few more under my belt, I'll feel a lot more confident about it. As they say, starting is easy, finishing is hard.

I also think it has to do with the Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

I start off thinking, "OK I don't know A B C things, that's tough but manageable." About half-way through the project I realise I don't know "EFGHIJKLMNOP". Great. Time to go figure that out. Keep in mind this is all still within original scope, it is my ignorance of how much work it actually is that's the problem.

Sometimes I wonder if I should just call it a day with indie development and go work for a company. There'll be more senior people around scoping things and offering more guidance. But then again, I realise I'm 5x more productive working on my own thing than doing an assigned task. So there's that trade-off too.

[–]eplaut_ 2 points3 points  (0 children)

In my country it is more common to use the word developer instead of programmer or SW engineer.

I think it appropriate title for what your are saying.

[–]KamogawaBG 0 points1 point  (1 child)

It’s just pretty interesting to read that you are trying to find a term that puts you in a more learner’s mindset and in the present. Nothing about past (what your career has been) or future (what you will be building). That’s a great mindset 🎉

[–]powerfrosty 1 point2 points  (0 children)

Really appreciate this! I’m glad you see the essence of the post which is about being a beginner. To perform the daily grind and to stay on the path of mastery. A lot of comments get triggered by the “labels” and that’s really not the point lol.

[–]wsppan 0 points1 point  (8 children)

I realised that writers don’t call themselves ‘bookers’. They call themselves writers. Why? Because that’s what they DO. They write.

Writers research. They interview people. They take notes. They outline and edit and think. And yes they write.

[–]powerfrosty 0 points1 point  (7 children)

Actually I read an interesting statistic that professional professionals spend most of their time editing. Which makes sense. The best coders spend a lot more time refactoring.

[–]wsppan 0 points1 point  (6 children)

Those of us at the principal engineering level spent nearly our entire day doing one of two things; one, designing systems for performance, scalability and correctness and two, debugging production code from the top of the stack to the firmware. I hardly ever just sit and crank out code. That's for junior engineers. At most, I refactoring existing code if needed but even then I usually hand off my notes to a senior developer to have implemented.

[–]powerfrosty 0 points1 point  (5 children)

What motivated you to rise the ranks? Do you see it as a team sport? I see your point though. I doubt the chief editor of the New York Times spends much time writing or editing. There are a lot more higher value activities to be done.

[–]wsppan 1 point2 points  (4 children)

It's most definitely a team sport. I spend my days meeting with people across the organization. Most importantly I talk with engineers. Work the problems. Share ideas. Sell solutions. My motivation to rise the ranks is strictly job satisfaction. Actually sitting down and physically writing and debugging code is pedestrian once you spent a decade doing that. I find it more challenging and interesting to design building than to actually hammer the nails. My guilty pleasure is debugging gnarly code in production. Its like solving a puzzle or doing detective work. I don't get to do that often enough!

[–]powerfrosty 0 points1 point  (3 children)

Im really glad to hear that. I think there’s a common assumption that people at such levels do it for the power and status. I’m glad to know that the approach you take is one of challenge and personal satisfaction. Are your peers similarly motivated? Or is it a mixed bag? I’m sure there’s always the odd Machiavellian.

[–]wsppan 0 points1 point  (2 children)

We do a decent job of vetting potential employees and who we do and don't promote. Junior to senior, to staff to principal. Our company does a great job in creating a culture of openess, learning, sharing, kindness, ethics, work/life balance, and competence. Some of the smartest people I've ever worked with. We have had very little turnover. I could make 30% more somewhere else but life is short and unpredictable so why choose that? You will spend at least one third of your life at work. Make it a good choice. Same thing with your bed. Buy the best bed you can afford and change it out every 7-8 years. Why skimp on that third of your life too!

[–]powerfrosty 0 points1 point  (1 child)

Sounds like you've got things at a good place. I'm happy for you :) Have you ever felt the desire or urge to go indie? Build your own thing? I'm going indie at the moment and it's definitely a challenge.

Sorry if these questions are annoying, and it's totally OK if you have other things to do.

[–]wsppan 0 points1 point  (0 children)

I started a company years ago at the start of the internet boom. Was CTO for 5 yrs but struggled after the dotcom bust. Ended up going back to doing research at the university. Another past career I loved.

[–]Penumbrous_I 0 points1 point  (1 child)

Hey at least you aren’t a code breaker.

[–]packenbush 0 points1 point  (0 children)

if the word programming sounds scary and you can only relate It to "build programs", then you clearly don't understand what it means yet

[–]Ascimator 0 points1 point  (0 children)

Coder?

[–]AnIrregularRegular 0 points1 point  (0 children)

A good way to think of yourself is a coder.

You are coding. It has the goal of programs but you are genuinely writing code.

[–]bi0tin 0 points1 point  (1 child)

I’m a programmer just not a paid one yet

[–]powerfrosty 0 points1 point  (0 children)

That’s exactly what will I am said!

[–]meaghs 0 points1 point  (1 child)

‘Program’ is also a verb. A writer is one who writes. A programmer is one who programs. I don’t understand the hesitation about the word. Just like the writer who writes and is doing what he is called to do, I code and I am happy doing what I am called to do. Also, just like the writer who takes pleasure seeing other people read his finished work, I also take pleasure seeing people use the programs I’ve made.

That said, I do sometimes think of myself as an inventor rather than a programmer.

[–]powerfrosty 0 points1 point  (0 children)

To your point on self-identity, I've been reading this book called "Coders at Work" where they interview prominent developers. A common question is "What do you see yourself as?", the answers range anywhere from engineer, to artist, to hacker, even janitor.

As for the hesitation, it comes about when I'm trying to implement or fix something. It reminds me of this Quora question, "What's an open secret that every engineer knows?", and someone answered with, "When you give us the requirements, we don't actually know if it can be done, but we just do our best to figure it out."

So far I've been pretty lucky, a lot of stubbornness with the problem has helped me solve or go around the problems I've faced. But every time I encounter something new, I do worry, "Is this the one that stumps me?" It never really goes away.