I’ve been in a rut lately. Missing obvious things, shipping less than my best code. It’s come to my attention that I’m not as good at programming as I am at crafting database queries and tuning them but that’s such a small niche given how easy it is to pick up SQL that I’m having an existential crisis. So I’m working on getting better and getting more confident.
>I’m having an existential crisis Don't. There are so many poorly performing queries and databases in the world that you could make a very tidy income just specializing in sorting that out. Even if you knew nothing else that skill will keep you employable for decades to come.
How to Succeed as a Poor Programmer
51–60 of 196 posts
Re: How to Succeed as a Poor Programmer
#52Learning fundamental knowledge such as programming paradigms, data structures, algorithms is something that will likely not become obsolete in a year by year basis. You should totally learn this if you have the time.
Now, memorizing every API in a framework that is likely going to change in 6 months, is probably not going to be very useful in 5 years (but it can be beneficial to achieve your short-term goals and move your career forward).
It's not about "avoid learning anything new", it's about being tactical about what to learn.
Re: How to Succeed as a Poor Programmer
#53Re: How to Succeed as a Poor Programmer
#54Re: How to Succeed as a Poor Programmer
#55Re: How to Succeed as a Poor Programmer
#56ALAN. Avoid Learning Anything New Terrible advice and mindset, It's good to learn for pleasure or curiosity. This way, you can enjoy reading SICP, effective java, code complete... Or you can use a new system, Linux, Mac, Android, iOS. Doing it you model your thoughts and mind, learn new ways, practices, or patterns, you don’t have to use then only for having learned, but even so, they will be useful to you.
It's not terrible advice. You mentioned SICP, funny thing is, years ago when I put someone on to SICP, next thing you know in our production code we started getting these weird ass recursive functions..... Also had similar issues with Design Patterns, all kinds of overly engineered class structures started popping up. On the side of ALAN, I used to work with guy who did a lot of machine vision research, he coded ever…
Nothing weird about recursive functions. Try and code up a loop that prints:
(ab)^n a
in your favorite language. You will need a flag and test, a goto, or a base case that you run before the loop.Now do it in a recursive function, here's the python version:
def fn(n):
if n == 0:
return 'a'
else:
return 'ab' + fn(n-1)Re: How to Succeed as a Poor Programmer
#57Re: How to Succeed as a Poor Programmer
#58ALAN. Avoid Learning Anything New Terrible advice and mindset, It's good to learn for pleasure or curiosity. This way, you can enjoy reading SICP, effective java, code complete... Or you can use a new system, Linux, Mac, Android, iOS. Doing it you model your thoughts and mind, learn new ways, practices, or patterns, you don’t have to use then only for having learned, but even so, they will be useful to you.
If you read what he actually wrote, he obviously means "Avoid Learning Anything Newly Invented/Created" not "Avoid Learning Things That Are New To You". In that context, SICP, Java, and Linux hardly count as new...
Re: How to Succeed as a Poor Programmer
#59Earlier quoted context omitted.
> Poor programmers do things like allowing an incoming request to spin up unlimited concurrent threads. Poor programmers erroneously throw exceptions on any operational deviation - even it if can be handled without error. All of these examples make sense in the context of your business, but in some environments these might be best practice ;)
> but in some environments these might be best practice What are those environments? Can you be more specific?
Re: How to Succeed as a Poor Programmer
#60Earlier quoted context omitted.
"All new ideas are bad" seems equally bad as advice.
"Wait for technologies to mature" sounds like a great heuristic for people who need to build things that actually work.