I want to become a programmer, any advice?

Search
Go

Discussion Topic

Return to Forum List
This thread has been locked
Messages 1 - 59 of total 59 in this topic
skitch

Gym climber
Bend Or
Topic Author's Original Post - Sep 17, 2016 - 08:37am PT
I know that a few of you are working in or around tech so I'd love to get any advice.

About me: I'm 38 years old, I have a masters in Environmental Engineering,and a BS in Civil (with more of an emphasis in water/wastewater).

I work for a small local government agency in a secluded high desert town and would love to telecommute if needed. My current job requires me to supervise 8 people that do work that is very different than what I do, so I have a really hard time telling them what to do (how does an office jockey tell a heavy equipment mechanic how to do his job?) and if I do know how to do something I'd tend to rather just do it myself.... There are not many positions I could see myself moving towards in the future with this organization, and I don't want to spend 20 years with my current gig.

I have never been super into tech, many of the programmers I know where writing games in msDOS when they were 13, while I was riding my skateboard or going backpacking with my dad...so a fear I have is that I will be like a foreigner moving to a new country as an adult and never getting a solid grasp on the language or culture, but from what I've seen as an outsider looking in there are so many languages to become proficient in that hopefully I can become an expert at a few languages/frameworks to be useful to a company.

So my current plan of attack has been to utilize the free training of codecademy.com, and freecodecamp.com, reading blogs and Reddit posts about what I'm trying to do, while trying to learn about the different jobs out there I may enjoy.

When I was in high school I took some kind of weird computer class where we were learning dos programming, but the teacher would send a few of us that were more mechanically adept to run network cables from classrooms to a central server. I have also been a bike mechanic, an Air Force bomb builder, and I was a grease monkey (tires, brakes and oil) at the Yosemite garage. So I'm a bit of a mechanically minded guy, but overall I'd say I'm a jack of all trades person. I really love learning new skills and problem solving, which I believe make for good traits of a programmer.

What little I have learned in doing html, CSS, bootstrap and JavaScript lessons over the past few weeks has been super fun and I quickly get into that glorious flow state of project mode.

From what I've read it's really good to get solid at a "hard" base language like C++ so that the functions In a framework make more sense. I'm also currently going through this book: Think Like a Programmer which at the very least gives me an idea of what programming should be, utilizing the languages to solve a problem.

From what I've read is that a lot of people out there become adept at a language, but they don't really know how to use that language to create programs, or solve a problem. I would like to start off in the right direction. . .

Any advice?
WyoRockMan

climber
Grizzlyville, WY
Sep 17, 2016 - 08:45am PT
Remove the "s" in your attempted hyperlink?
skitch

Gym climber
Bend Or
Topic Author's Reply - Sep 17, 2016 - 08:48am PT
WyoRockMan: Remove the "s" in your attempted hyperlink?

Why is that? The Amazon webpage has an "s" at the end of https, is it just something about the SuperTopo formatting tag?

edit: never mind, and thank you google: HTTP VS HTTPS. Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted.
curlie

Trad climber
SLO, CA
Sep 17, 2016 - 08:58am PT
If you already gravitate toward more mechanical things, I'd suggest grabbing an Arduino and a kit of parts and screwing around with it. The Arduino code language is C, just made a little more friendly with libraries and functions that promote user-readable code. And while you're learning, you'll have the satisfaction of making lights blink and sh#t do things. There's great online support - plenty of kits, books, forums, and tutorials.

https://www.arduino.cc/
zBrown

Ice climber
Sep 17, 2016 - 09:17am PT
All programming is just syntax and data structures supplemented with logic.

To me the lower the level (I wouldn't touch e.g. machine code) the higher the level of annoyance for me.

I liked building applications.

Good luck.

If I were to go back to work I think security oriented work would be the most interesting.



johntp

Trad climber
socal
Sep 17, 2016 - 09:32am PT
Dood, I cannot address your question. Not in that line of work.

But, with an MS in Environmental Engineering and a BS in Civil Engineering, you should be able to write your own ticket in either field. Try looking at government positions in the Seattle/Portland areas. Just my two cents.
ms55401

Trad climber
minneapolis, mn
Sep 17, 2016 - 10:26am PT
could be too old to be anything but mediocre. I mean, you could be 50 by the time you are even okay

you evidently have formal training in engineering. that's no less remunerative than programming -- at least compared to the crappy, low-level coding jobs you likely would see -- so why not stay with that
johntp

Trad climber
socal
Sep 17, 2016 - 10:37am PT
Salaries for someone with your educational background in Engineering are around $150k/year. What more do you want?
ShawnInPaso

climber
Paso Robles, CA
Sep 17, 2016 - 12:09pm PT
I think fivethirty sums it up nicely. Here are a few more points to consider.

When I was in my late 30's I went back to school to learn computer science. I subsequently became an application programmer / DBA for a large corporation. The biggest mistake I made was accepting the role of supervisor after a few years in the job, basically ending my coding career.

Anyway, I subsequently did a lot of hiring. When reviewing resumes I would look for an individuals depth of understanding about programming, which is an indicator of ability to quickly learn new languages (i.e. knowing machine code, C++ or Java).

When conducting job interviews, I would spend 20% of the time validating that the person has good programming skills (easy to do), and 80% of the time making sure the person is a good fit for the job (personality, work ethic, compatible with the company goals, etc).

I hired people right out of college and people well into their 50's, if you can get the job done, age is of no concern.

Also, if you don't know SQL then your limiting your range of jobs significantly.

Oh yeah, don't accept a supervisory job even if it pays a lot more !
NutAgain!

Trad climber
South Pasadena, CA
Sep 17, 2016 - 12:12pm PT
For the last 25 years I've done a mix of weenie-level software development (to solve specific problems I encountered in my job or to automate boring stuff), advanced enterprise networking, systems integration work across a range of technologies (Linux, database, networking, phone systems, web development,), product management, etc. Here are some thoughts based on my experience:

 entry level coders and programmers are a dime a dozen. You would be competing against folks in Romania or India making close to minimum wage or less (ESPECIALLY if you want to work remotely)
 what distinguishes you as a programmer, to help you make more $$$, is having in-depth knowledge of algorithm analysis and broad system architecture experience, and some niche field expertise and experience that shows you can create a vision for an end to end solution using teams of those "dime a dozen" developers, and actually build it. The position to be at your age is the guy working with a few other people at a whiteboard to chart out how different systems will interact, to develop a language or protocol or choose amongst a range of pre existing ones to get done what you need to get done. That would be based on the knowledge of 5-10 or more years of building stuff out of those building block components so you have a clear vision of the strengths and weaknesses of different approaches and can make the right decisions before the entry-level programmers have spent a month coding up something.

That is what you are up against if you want to get paid well as a developer/programmer.

So if you want to shift in that direction:
1. Find problems where you can leverage your mechanical or civil experience to stand out from the pack of plain old developers. To find "problems" to solve in your field, look for boring repetitive tasks where people sometimes make mistakes and see how it can be automated.
2. Or be prepared to make a "lifestyle" career choice where you accept a big hit on pay to be able to do lower level jobs that might permit you to work remotely but not have as much responsibility or complexity in knitting together bigger systems. In this case, web developer flavor of the day is probably good... Ruby on Rails, nodejS, or the "new thing" that a lot of VCs see for new projects with no legacy code is Google Go. But I just checked out Google Go and figured out its a pain in the ass if you just want to develop a simple dynamic website when there is already an Apache webserver.

Good luck!

Edit: check out your competition... Go to http://odesk.com to see what other freelancers have done and what they get paid. I just saw a highly rated senior RoR (ruby on rails) guy gets $30/hr. It would take you a few years to be at a comparable level- and don't know if this would be considered good or bad pay for you.
jgill

Boulder climber
The high prairie of southern Colorado
Sep 17, 2016 - 01:53pm PT
I don't have anything of substance to add, merely a few reflections. I got my intro to programming (and coding) in 1962 at the U of Alabama, using Bama Bell language. This ghastly experience would have terminated any interest in programming had the personal computer not been developed. Almost all the programming I have done has been mathematical algorithms and graphics, and I have used Fortran, Pascal, C++, Mathematica, and various versions of BASIC. For the last twenty years I have used Microsoft BASIC, QuickBASIC, VisualBASIC, and now Liberty BASIC.

I have found that low-level languages like BASIC provide fundamental building blocks for my rather unusual mathematical investigations.

I would think the ability to create algorithms that can be programmed would be the greatest asset for work in the field.
Al Barkamps

Social climber
Red Stick
Sep 17, 2016 - 02:05pm PT
.....and would love to telecommute

The problem is that your competition telecommutes from India, China, and Russia. They can do this work for a fraction of what you'd bill out, and might even do it 5X better. Unless, of course, you end up working for an outfit that keeps all of their programming work in-house. Like a military contractor.

If you're going to do any kind of programming, stick with security, admin., and stay away from engineering applications unless you plan on getting a company to foot the bill for a security clearance.
August West

Trad climber
Where the wind blows strange
Sep 17, 2016 - 02:30pm PT
Are you smart enough to be a good programmer? Civil engineering is not a plus on the hiring checklist.

If you are trying to compete with the 20 something's doing generic/cutting edge programming, I think it's going to be tough to get up to speed and get hired.

But you ought to consider trying to find a niche market in civil/environmental engineering. There are a lot of specialty programs out there that are hard for a generic programmer to work on if they don't have a background in that specific field.

These types of programs are going to be mostly java, C++, and maybe C# (which is the Windows/Visual Studio version of C++). C# would have a somewhat easier learning curve.
August West

Trad climber
Where the wind blows strange
Sep 17, 2016 - 02:35pm PT
and stay away from engineering applications unless you plan on getting a company to foot the bill for a security clearance.

I'm not seeing why you would need a security clearance for most civil (on the water/waste water side) or environmental stuff.

I think the engineering background gives him the best shot of competing with other people who will have better computer skills.

For small specialty software, it isn't worthwhile to contract it out to India.

Although it tends to be easier to telecommute after you have physically worked at an office for a while. Getting hired from day 1, in a field you are new to, as a telecommuter will probably be a hard sell.

Somebody mentioned it above, being very familiar with source control software would help.
Al Barkamps

Social climber
Red Stick
Sep 17, 2016 - 06:15pm PT

I'm not seeing why you would need a security clearance for most civil (on the water/waste water side) or environmental stuff.

I've come from the environmental/civil field and there's not a single application in either of those fields that's not custom served by some off-the-shelf routine. My three kids all 2 years apart have graduated with engineering degrees so I've followed the want ads for a number of years through 1/2 dozen web services for a 10 different (mountain-states) zip codes and I can tell you that over %75 of the demand for electrical, mechanical, and computer engineers is driven by defense contractors for the following fields: Aerospace, battle theater, and cybersecurity.

Aside from those fields, this country doesn't make sh1t anymore, academic hyperbole notwithstanding. If you want a solid insight into what programmers are thinking, I suggest that you hang around some of the code builders forums like stackoverflow or code.org. You'll get to hear firsthand what a lot of these guys would do now, if they could.
deuce4

climber
Hobart, Australia
Sep 17, 2016 - 06:29pm PT
My advice: don't!

Actually, I have always been drawn to programming, ever since I discovered I could do entire term programming assignments in a single evening (like the traveling salesman problem), with perhaps only one or two bugs to work out after writing out 300+ lines of code in a continuous go (that was back when entire programs had to be written, then compiled and run on mainframes, 1982 at Stanford. No "code completion" and other cheats!).

In more recent times, I spent 4 years making a marginal living as a GIS and iPhone programmer specializing in maps. It's a tough business, and you are competing against global talent who are working for crazy low wages. I do enjoy the design aspect of the process, and how easy it is to attain flow while programming, but it's hell on a relationship because you can get lost in the process for days at a time. That's my experience, anyway.

Better to step back a pace, find a niche software application, and find programmers to do the code while you oversee the interface. It's harder than one would think to do both.

Just my opinion and thinking if I ever got back into software business...

Edit: here's my 2008-2012 stuff: http://www.johnmiddendorf.net/gis-mapping.html
NutAgain!

Trad climber
South Pasadena, CA
Sep 17, 2016 - 11:21pm PT
My last post was probably discouraging... Here's another example that would be more inspiring.

My dad retired from 30 years working in the defense industry, essentially a program manager dealing with paperwork and some problem solving of radar systems in fighter planes. At the very end he started learning some basic webpage and development stuff as a hobby. He got bored after retiring and started volunteering at a computer lab for seniors at a nearby college. He learned about storage networking and ended up with a full-time job at EMC, traveling full-time building systems for various customers, and branched out into network management systems. He did that stuff for about 10 years and just retired again. Now he feels done with work for good and spends most of his time touring the western U.S. on a Harley.

So in the end, it comes down to what is inside of you and what you want to do (as long as that overlaps with what people need and are willing to pay for).
healyje

Trad climber
Portland, Oregon
Sep 18, 2016 - 02:35am PT
The best approach for the longer term is to add programming to the domain expertise you already have and build on bringing them together. Programmers are a dime a dozen, but programmers with in-depth domain knowledge are not. Figure out what needs to be done in your world that's underserved and head in that direction. If you want to get out of Bend, them maybe head over to PDX and get on with Clean Water Services, or Vegas at the Clark County Water District and work laterally. Or develop some skills and apps in place where you are and then try to find some form of green / sustainable software startup.
Gunkie

Trad climber
Valles Marineris
Sep 18, 2016 - 04:42am PT
duece4 said...
In more recent times, I spent 4 years making a marginal living as a GIS and iPhone programmer specializing in maps. It's a tough business, and you are competing against global talent who are working for crazy low wages.

In the US, this is known as the H1B labor force. H1B visas were intended to help tech firms hire talent from outside of the US because American kids were too interested in earning degrees in art literature and finance and not enough engineers or computer science majors were being churned out. As it is, firms are massively abusing the H1B system leading to depressed wages for coders.

With a BS in Civil Engineering and a MS in Environmental Engineering, pick up coding as a hobby because it is exceptionally fun but go leverage your contacts in the environmental engineering world and develop a consulting business doing GC work in local water table remediation; there should be more than enough work in the California central valley to keep you busy for many decades, or just about anywhere else.
skitch

Gym climber
Bend Or
Topic Author's Reply - Sep 18, 2016 - 01:25pm PT
Well this is a lot of (discouraging) info to process.

Am I smart? Not especially, when I was a kid my IQ was tested at 130, so slightly above average, which is probably baseline for the geniuses of supertopo.

The problem with my current gig is that it is only adjacent to my degree and definitely not of much interest to me (or likely anyone else). I get paid fairly well, $77k a year, and I'm maxed out, unless I can greatly reduce a $110,000 consultant contract...which may increase my pay by 10-20%!!! I have no interest in my bosses job. I mostly deal with attempting to supervise heavy equipment operators and landfill gate attendants...and complete reports for regulatory agencies. The rest of my time is mostly spent in contract management or listening to my self absorbed boss tell me the same long-winded story about one of the shitty cars he owned and how he got a great deal on it or about some Beatles trivia...fortunately he loves to start these 45 minute conversations 10 minutes before the end of the work day!

So needless to say; I am getting almost zero experience in engineering and I do not work under a PE.

The interwebs makes it sound like there are unlimited opportunities in the tech industry, but as most of you pointed out there is also an unlimited population of people on the other side of the Pacific getting better educations than I did, willing to work for cents.

I have found two acquaintances that live in town who LOVE programming and are excited to guide me if I pursue this line of work. Hopefully I can stay excited about it, and at the very least I can learn enough coding to help myself out, I'm regularly wanting to do something with my computer that coding would assist me. I also need to re create my work website, which sucks!
zBrown

Ice climber
Sep 18, 2016 - 02:13pm PT
I can recall numerous times when I spent the whole day in front of a tube debugging and woke up at the end of the day with a dead body. Be careful if you go down the programming path. The lack of activity it can induce may kill ya.

Crag Q

Trad climber
Louisville, Colorado
Sep 18, 2016 - 02:36pm PT
You could consider a code bootcamp or immersive to become a web programmer. These skills are in high demand. I work for galvanize.com as a lead web development instructor. It is freaking amazing how much these students learn going through it together in a crucible experience. The program has a 90+% placement rate and average starting salary of $75k. I would suspect Portland has some worthwhile programs.

It is difficult to learn programming all on your own.
johntp

Trad climber
socal
Sep 18, 2016 - 02:43pm PT
Man, you have serious education credentials and management experience. You just aren't using them to their fullest. Get a PE. Look beyond Bend. There are many engineering firms that would love to have you on their team. As well as government opportunities in larger cities.

Got some news for you: jobs tend to suck. It is a competitive game and engineering in general is mostly spent staring at a computer screen producing spreadsheets and reports. It is what it is. But you have the pedigrees and experience to make it work.

Like to travel? Try looking at firms like Fluor, Jacobs or others that will have assignments around the world at which you will make a ton of money.

Just another two cents.
Al Barkamps

Social climber
Red Stick
Sep 18, 2016 - 08:01pm PT
Get a PE

That's pretty solid advice.







With a PE you'll be your boss's boss and you can tell him to STFU (10 minutes before closing time).
fear

Ice climber
hartford, ct
Sep 18, 2016 - 08:29pm PT
At 38 I would save your time and $$$$. There's nothing wrong with learning something new but it can be an ugly and competitive field.

Programmers are a dime a dozen now, a commodity. It's true the very intelligent sorts capable of critical thought exist but they are extremely rare, as they are in any profession. It's truly a global field now absolutely stuffed to the gills with bodies stacked on bodies. Most of them suck and I spend my days sorting through this sea of chaff, all sporting nearly identical perfect resumes of lies.... Uggh...

Take it up as a hobby if you're really interested. IMO, the really good ones I've known have all loved it since childhood and were given the opportunities at that time to exploit that interest.

ms55401

Trad climber
minneapolis, mn
Sep 18, 2016 - 08:41pm PT
high information content in the two posts immediately above
healyje

Trad climber
Portland, Oregon
Sep 18, 2016 - 11:32pm PT
I'm regularly wanting to do something with my computer that coding would assist me. I also need to re create my work website, which sucks!

There is a good place to start. I've been at this game a very long time and would again encourage you to build on whatever domain expertise you've acquired and follow your nose relative to needs you can see that aren't being fulfilled in your own work.
curlie

Trad climber
SLO, CA
Sep 19, 2016 - 11:26am PT
Don't be discouraged, skitch. There's nothing worse than getting up every day and going to a job you hate. If you want a change, make a change! If you're interested in programming and motivated to learn, just f*#kin go for it. It's never too late to learn a new skill.

There's definitely no free lunch, and if you're looking to learn and advance quickly, you'll probably need to physically be at a workplace. And going to a bootcamp, or getting some sort of practical experience will help you get hired. After you gain some skills, have a few years under your belt, and have contacts, then you'll be in a better position to work remotely.

Outsourcing isn't a panacea, and a lot of companies know that and prefer to have asses in seats. Don't worry about outsourcing and sh#t that is out of your control, worry about honing your own skills.

While it may seem lower risk to look for problems in your environmental field that need software solutions, if you're not enthusiastic about it, f*#k it. Don't underestimate how much the same old sh#t can drag you down, or how much being thrown into something completely new can motivate. If your current career is sucking the life out of you, get the f*#k out.

And that's great that you've found local mentors - use the sh#t out of that resource. It's great to talk nerd with other nerds, and it's really great to help someone learn and see them take off.
tpowell

Trad climber
Rawlins, Wyoming
Sep 19, 2016 - 12:14pm PT
As you are an engineer it could be beneficial to add a programming/scripting language such as python to your skill set.
JLP

Social climber
The internet
Sep 19, 2016 - 12:39pm PT
Separate in your mind "writing code" from what you are writing the code *for*.

Most of these posts are akin to telling you to go learn MS Word so you can get a job as Shakespeare. Good luck with that. Go learn MS Word, now you can be his secretary.

If you are interested in Web design, go learn that. If you want to learn hardware, applications, networking, database, etc. - go learn that. The code part is trivial. Any idiot can learn to write code, and quickly. It's a low end, production level task. Nobody cares how "well" the code is written, just that it works, and pretty much anyone can get a program to perform a task, given enough time. Maybe it's spaghetti and unmaintainable - nobody cares.

The expert on the systems that code runs on or is applied to is where the interesting and better paying jobs are.
Dave

Mountain climber
the ANTI-fresno
Sep 19, 2016 - 12:51pm PT
I'm a mining engineer, but the advice is still decent as I work with enviro's and do a fair bit of mech/civil work:

" so I have a really hard time telling them what to do (how does an office jockey tell a heavy equipment mechanic how to do his job?) and if I do know how to do something I'd tend to rather just do it myself.... "

This is management - guiding the vision to tell underlings what to do, and only when necessary "how". Typically they will know how, and if not be able to figure it out. Do you like your boss telling you how to do something? If he's worth anything he occasionally tells you what needs to be done, and why. You don't need to run a skid steer or 960 loader - the operator does this - but he needs to have the prints and know where to dig by hand so he doesn't nail the live gas line, eh? (Did you get your bluestake???) This sh#t is important.

Some of the tedium of management, reporting, etc. might get old, and often managing people sucks (boss, I'm sick again.) But project management and all that goes into getting a job planned and built is important - for the client and for society. Did that water treatment plant go up for nothing?

There are a lot of places that your skills are needed. If you feel you aren't valued in your current role, look elsewhere.

And get a PE.


kev

climber
A pile of dirt.
Sep 19, 2016 - 01:15pm PT
There's a lot of info others have posted here that is wrong. Perhaps it's true in a narrow segment of the industry but not in general. First I'd like to point some of it out.

All programming is just syntax and data structures supplemented with logic.

Not true it's much more than that - algorithmic thinking matters! Consider working on a massively parallel system, or code for an FPGA, or firmware, or scientific programming, etc. Understanding the how the actual system work (by system I mean machine or machines your working on) actually matter. Writing OS code, state machines, etc is also much more than just logic and syntax.

Are you smart enough to be a good programmer? Civil engineering is not a plus on the hiring checklist.


Um depends on the sector. Consider a company like Autodesk. Who do you think writes and designs a lot of their code - civil engineers, environmental engineers, and architects. Want to write code in the NE field (nuclear engineering) - well there you will meet civil engineers, enviornemntal engineers, physics, math and nuclear types.

Good debugging skills are extremely important. What complicated auto problems have you tracked down?

There are PLENTY (probably the vast majority) of programmers who should NEVER turn a wrench and have no mechanical aptitude.

Salaries for someone with your educational background in Engineering are around $150k/year. What more do you want?

Salary is very location dependent - maybe this number is correct in NYC or SF but I doubt it true in general and I'm to lazy to go hunt down the real numbers and cite them.

Also, if you don't know SQL then your limiting your range of jobs significantly.

This is only true if you're limiting your self to specific areas of programming. It's like saying that not knowing Android is significantly limiting your available jobs. That statement is true if and only if you're solely focused on the mobile sector.

If you're going to do any kind of programming, stick with security, admin., and stay away from engineering applications unless you plan on getting a company to foot the bill for a security clearance.

I call total bullshit here - here are a list of a FEW fields (there are MANY more) where you can work doing scientific/engineering programming and do not need a clearance. There are many more.

1) Power (power plant, oil and gas, nuclear, solar wind)
2) Automotive - did you know a typical car has 10+ antennas in it these days? Now imagine the number of computers actually in your car.
3) ANYTHING CONSUMER DRIVEN - THINK CONSUMER ELECTRONICS! Do you think the people working on the guts of a flat screen tv (yes there is software in those guts)have clearances?
4) Non military aviation.

Furthermore any company that needs people for something requiring a clearance will (depending on the contract) quite often pay for your clearance - how do you think people get them? There are more contractor clearance than military.

I've come from the environmental/civil field and there's not a single application in either of those fields that's not custom served by some off-the-shelf routine.

This is utterly wrong as well. Rather than provide numerous examples (which there are) I will mention a silly equation - Naiver Stokes. This equation describes fluid flow (fluid = liquid or gas). There is no closed form solution so no cookbook method in general works. Where do we encounter fluids? Aviation, wind power, turbines, water flow, etc.

There are many other examples that live in the scientific world.

-------------------------------------------------------------------


OKAY now that I've dispelled a few myths I have a few comments for you.

I think you need to figure out what's important in a workplace and career. Once you have that then try to find the best solution for you to achieve that. Just saying you have a few buds who write code and are happy does not obviously extrapolate to you doing this and being happy.

You're also going to have to decide if you're willing to relocate or not.

One obvious solution is to take a class or two in C or C# (and maybe buy MATLAB and relearn it - there is now a home version for 150 or 200 USD) and try to leverage you Civil/environmental education/background into a scientific programmer position. I view this as the fastest way in for you into programming type work with the smallest loss of salary and allowing growth for you. It will really help for you to network to find these gigs.

Alternatively go back to grad school at night. After a year or so you'll have an opportunities to intern - leverage this into a full time gig.

I have to say I really like the idea suggested by a few of you getting you're PE license. Yes, that requires working under a PE so you'll have to find a new gig but that might yield the most bang for the time invested.

Again, I really believe that you need to figure out what you truly want rather than trying to find a silver bullet.

Good luck!

kev




skitch

Gym climber
Bend Or
Topic Author's Reply - Sep 19, 2016 - 01:29pm PT
My biggest issue with my current job is that I don't work in waste water, I work with landfills. I also do not work for an engineer, and it would take a very imaginative person to describe anything I do as engineering tasks.

Oh well, maybe your discouragement will come true, but f*#k you, I'm going to try anyways. Nothing motivates me more than proving someone wrong!
kev

climber
A pile of dirt.
Sep 19, 2016 - 01:39pm PT
Oh well, maybe your discouragement will come true, but f*#k you, I'm going to try anyways. Nothing motivates me more than proving someone wrong!

I wasn't trying to be discouraging. Not at all - sorry if it came across that way. I was trying to dispel what some of the others have written. Again sorry if it came out that way - it was NOT meant that way.

I may still have some contacts in the waste water area - I did a little contract work working with novel solutions to treating waste water by using floating bioreactors to break down the waste water into aviation gas. Feel free to PM me.

FYI my background is mathematics, scientific programming, and a smattering of electrical engineering.

kev

zBrown

Ice climber
Sep 19, 2016 - 01:49pm PT
OK, one more then I gotta go.

Acquire some programming skills (if you already have them fine). Then sit down and program for 10 hours. Do it for a few days consecutively.

At the end ask yourself how you feel.

I was more than happy to allocate significant pieces of projects to sub-contractors to code.


Good luck.

jgill

Boulder climber
The high prairie of southern Colorado
Sep 19, 2016 - 03:19pm PT
I can't imagine sitting hour after hour trying to debug someone else's program. It's tough enough for my own. Think this through carefully.
Al Barkamps

Social climber
Red Stick
Sep 19, 2016 - 03:51pm PT
This is utterly wrong as well. Rather than provide numerous examples (which there are) I will mention a silly equation - Naiver Stokes.

Advice like this is worth every penny the OP paid....
Dick Danger

Trad climber
Lakewood, Colorado
Sep 19, 2016 - 03:54pm PT
Go start a "Go Fund Me" page.
kev

climber
A pile of dirt.
Sep 19, 2016 - 04:19pm PT
Al,

Wow nice use of an out of context quote of what I wrote! Here's the whole quote

I've come from the environmental/civil field and there's not a single application in either of those fields that's not custom served by some off-the-shelf routine.

This is utterly wrong as well. Rather than provide numerous examples (which there are) I will mention a silly equation - Naiver Stokes. This equation describes fluid flow (fluid = liquid or gas). There is no closed form solution so no cookbook method in general works. Where do we encounter fluids? Aviation, wind power, turbines, water flow, etc.

There are many other examples that live in the scientific world.

Spider Savage

Mountain climber
The shaggy fringe of Los Angeles
Sep 19, 2016 - 04:37pm PT
You have a dream degree and experience. Army Corps is hiring guys like you faster than they can make them.

Tricky bit is you want to live in Bend. I suppose that is the reason for the career change trend.

If you were willing to move around you could pull down some serious bank.

I'm just guessing the oil companies would pay you the best. You could probably afford a nice place in Santa Barbara.
NutAgain!

Trad climber
South Pasadena, CA
Sep 19, 2016 - 05:21pm PT
Could probably afford a nicer place in North Dakota. But then you'd have to open the door sometimes and go outside.

Seriously though... when you factor lifestyle into the equation... if I was going to be making minimum wage as a choice to have limited hours and more time to play living in a a dreamy area... I'd rather do that getting little pay and flexible hours as a web developer than as a dish washer or grease trap cleaner. Gotta consider the whole package and what your life priorities are, where you get your satisfaction, and what material needs you are committed to.
eeyonkee

Trad climber
Golden, CO
Sep 19, 2016 - 06:39pm PT
Been meaning to post to this thread but I've been in the middle of a software release and, even more than when I am climbing, I focus intensely when I have a software deadline.

I'm actually quite a bit like you. I have a Master's in Geology and worked as a geologist/hydrogeologist for several years in the environmental engineering field before becoming a software developer. I have been a very happily-employed programmer in the scientific/engineering fields ever since.

I would say that, if you are coming at this from a natural progression; you should be fluent in Transact SQL or PSQL (SQL Server or Oracle -- you'll need a little work if your only experience is with Access). It has taken me years to make the transition from a scientist who can query a database from the front end to a serious programmer who realizes that it's not whether you solve the problem but HOW you solve the problem. You should solve it using a hierarchy of logical objects that could be understood by a bright 12-year-old.

Having said that, I have thought and been boring my friends and family for years with my contention that software programming is one the great equalizers with respect to intelligence and motivation. It is THE STEM subject that a smart and motivated individual can master and command a lot of money because of that mastery without requiring a college degree. You can't say that about Geology or Engineering -- you basically can't go anywhere without a degree in those fields. On the other hand, some of the brightest developers that I have known did not have a computer science degree.
jgill

Boulder climber
The high prairie of southern Colorado
Sep 19, 2016 - 06:47pm PT
I will mention a silly equation - Naiver Stokes. This equation describes fluid flow (fluid = liquid or gas). There is no closed form solution so no cookbook method in general works

A great many DEs are not solvable in closed form. That's one of the aspects of the discipline of numerical analysis. There are lots of schema already out there to do the job on computers.

Navier-Stokes Solver

To encounter a computational problem in science & math that does not already have a canned program for solving you might have to depart mainstream investigations and get into something more esoteric. (I program as a hobby and play around in unusual areas where either nothing is available or I would have to manipulate a high-level language like Mathematica to conform to my wishes. I found it much easier to use BASIC.)
healyje

Trad climber
Portland, Oregon
Sep 19, 2016 - 07:46pm PT
My biggest issue with my current job is that I don't work in waste water

Vegas or PDX.
Darwin

Trad climber
Seattle, WA
Sep 19, 2016 - 08:39pm PT
Don't do it. I sucks the soul out of you after a while. I guess a lot of jobs do that, but programming and sysadding is especially good at it.
Unknown Climber

Trad climber
J-tree
Oct 21, 2016 - 10:41am PT
I am hiring, tech with ability to move to programming (SQL Server).

Must have reliable computer, internet and phone.
Looking for someone who can be available Monday – Friday 8:00 am PST – 8:00 pm PST for prescheduled appointments (scheduled 3-5 days in advance) to connect to client servers and copy data. This is a contract position that pays $25-$35 / hour. 10-40 hours per week (minimum of 10 hours is guaranteed), depending on sales cycles. The work is remote, no travel necessary. Must have a very quiet and professional environment from which to receive tech calls.

Requirements

• Must have a basic understanding of folder structures in windows, including locating and copying files.

• Need moderate knowledge of Microsoft Word and Excel OR experience using dental software.

• Familiarity with databases is helpful. Experience with Microsoft Access, SQL, or databases is a plus but not required.

• Must be very detail oriented, have excellent customer service and communication skills, understand basic tech support concepts, and be extremely reliable. All appointments must be received on time.

You will receive a 1099 for hours worked. Some work is paid by project. Since this is a contract position, there are no benefits, sick or vacation pay. Time off is based on schedule. We are a growing company with the potential for 30-40 hours of work available per week in the by the end of the year.

Please send your resume to: Kristin at
Infinitisoft@consultant.com
errett

Social climber
Grumpy Ridge
Oct 21, 2016 - 03:17pm PT
begin
If
you learn java
then
you will wish you were dead
else
learn ruby or go instead
printf("The software business sucks.\n")
end
wyeast

Social climber
Portland, OR
Oct 22, 2016 - 10:12am PT
Hi skitch,

As other posters alluded to, being a programmer/coder is easy and can be boring. Ideally you want to be a Software Developer... even better if you participate in Open Source.

My suggestions:

1. Sign up for a free GitHub account. Familiarize yourself with version control and collaboration concepts such as commit, branch, pull request, etc.

2. Install Linux on your laptop/computer. Unless you absolutely need Windows/Mac to do your job use your Linux computer for everything including browsing SuperTopo. This is like learning a foreign language by immersion.

3. Participate in an Open Source project. Pick a few on GitHub that spark your interest and start playing with them. If the documentation is not clear or confusing submit a Bug; or contribute a Pull Request! You mentioned you have been playing with bootstrap. Keep hacking away if it feels like fun to you. And also look into React.js. Those two projects came from Twitter and FB but contributors also include non-employees. You'll get to collaborate with some of the brightest people in the industry. For server side technology look into 'Docker container'.

4. Read up on GPL, copyleft and writings by Richard Stallman and Linus Torvalds.

5. Don't learn C or C++ as your first programming language. Do consider Python, Javascript, Go (a modern version of C), Ruby or Java

6. Build something fun with Raspberry Pi https://www.raspberrypi.org

7. Knowing relational database concepts/SQL is good but also look into "No SQL"

8. Podcast: http://softwareengineeringdaily.com/

I work full time (remotely) for an open source software company so my advices are obviously biased against closed source software. Ping me if you ever go to Portland on weekdays as I may be found coding away in a coffee shop.
zBrown

Ice climber
Oct 22, 2016 - 11:27am PT
Just remember, it could be worse, you might have to write assembler code.

zBrown

Ice climber
Oct 22, 2016 - 01:03pm PT
^ Just a wild guess, but I'm thinking they knew no one but you and I would be reading it?
NutAgain!

Trad climber
South Pasadena, CA
Nov 3, 2016 - 02:03pm PT
fivethirty, that \n { style probably came from coders whose bosses did | wc -l to measure their productivity ;)

I think lots of fields require a period of being an apprentice or journeyman (is more politically correct to say journeyperson now?) to become proficient in the use of the tools, and after some period you get to harness your brain to look at a real problem or desire stated by a person not proficient with the tools or the technical field, and you can choose which tools to solve the problem in the way that makes the most sense given the constraints or resources available.

At every step of the way it can be fun as long as you are on a path of learning and growth. Mastering whatever individual tools presents its own challenge, and just when that starts to get boring then you can pull in new tools and at some point you consider it all in a day's work to incorporate some new tool you've never seen before and you know you'll be able to figure it out when you work on that part. And then your joy will be derived from envisioning the assembly of all the building blocks, using a variety of tools, to create the main solution, the main object of value in the real world.

So if you are in it for the long haul, it doesn't really matter where you start as long as you start in earnest, knowing it's just the first step in a long journey with joys and tribulations all throughout. Have fun with it! Some people get easily bored, but if you can appreciate the growing core of knowledge and capability you are building, and appreciate the little joys of solving problems no matter how small or seemingly insignificant, then nothing will stop you. If you aren't able to identify with those little moments of joy and satisfaction, it's going to be a long and difficult slog.
NutAgain!

Trad climber
South Pasadena, CA
Nov 3, 2016 - 03:38pm PT
Too bad there are no <pre> directives in supertopo markup language.
Srbphoto

climber
Kennewick wa
Nov 3, 2016 - 04:58pm PT
Get a PE

That's pretty solid advice.

Then wait the mandatory 18 months and get your NIS. Then you'll be set :)

Just do it. You are almost to the point it will be hard to bail and start over (there can be a bit of an age "issue" for older people just breaking into tech).

Don't leave Bend!!! As someone who tries to get down as much as life allows, consider yourself very lucky to live there.
skitch

Gym climber
Bend Or
Topic Author's Reply - Nov 3, 2016 - 08:11pm PT
I don't know where learning to code will take me, but I'll continue on to see how much fun I can have with it. When I have time I will be redesigning the website for my work, and possibly the website for my coworkers.

I'm currently a third of my way through CS50X, which is proving to be quite challenging but I'm learning a lot. I'll likely go towards Javascript via freecodecamp.com after CS50X, mostly because it gives the student very tangible projects to work on, then you "get" to work on non-profit work in teams after you've "proven" yourself.

I actually live in Bishop, but I was born in Bend and lived there when I was younger so I say that I'm from Bend.
Srbphoto

climber
Kennewick wa
Nov 3, 2016 - 09:05pm PT
I actually live in Bishop, but I was born in Bend and lived there when I was younger so I say that I'm from Bend.

Don't leave Bishop. I used to try and and get there as life allowed. The food isn't as good as Bend but you do have mules.
jstan

climber
Nov 4, 2016 - 08:35am PT
From what you describe it sounds like your current job is to make sure what the heavy equipment
people do....meets print. That's basically a QA job. My condolences.

BUT

You have a chance to do jobs bearing on WATER. There is nothing more needed than water. Get
together with Base104 and see if you can improve methods for determining aquifer volumes and get
better measures of expected life in the face of overdraft.

Jobs become great when there is passion.
Reilly

Mountain climber
The Other Monrovia- CA
Nov 4, 2016 - 08:42am PT
Bend is short for Bendover. At least Bishop is real.
ms55401

Trad climber
minneapolis, mn
Dec 3, 2016 - 05:02pm PT
does anyone know python well? or hadoop? I might have to "learn a lot of python or hadoop" in the next 6 months

I don't have a formal programming background but I do lite programming in several (unmarketable) idioms (e.g. Matlab, SAS, R)
TomCochrane

Trad climber
Santa Cruz Mountains and Monterey Bay
Dec 4, 2016 - 12:59pm PT
Hmmm...

I've been an itinerant laborer in computer fields since the days of hard-wired mechanical relays, patch boards programming, manually entered bootstraps, vacuum tube logic circuits, and magnetic core memories. It is scary for me to walk through the Mountainview Computer History Museum and realize how much of my life was dedicated to so many of those ridiculously obsolete machines on display.

People seem to assume computer software will solve all problems, sort of a universal solvent for information management.

However software is just another tool, and like most tools it restricts what you can do with it. Spoken/written languages severely limit what you can think. Software languages severely limit what knowledge you can represent and manipulate. This indicates the root challenge of knowledge representation and inference engines for artificial intelligence. Symbolic representations are not necessarily the best means to capture all conceptual thought.

Computer software programming is not necessarily always a productive career; in spite of people's current infatuation with the subject. Sometimes software is just chewing gum for your mind. Some people are actually addicted to coding. Sometimes it can certainly be useful. Sometimes it is just a distraction or obfuscation; sort of a job works program for nerds.

Choice of a tool comes much later in requirements analysis of a project.
What job/project do you want to accomplish?
Who is the team to do the job, and their level of relevant domain knowledge?
What is the structure of appropriate information management tools?
Is a computer program helpful to the team in capturing/manipulating the information management structures of the project?
If software is helpful, what are the most appropriate available software tools?

Many newly available tools and component libraries allow a much more direct approach to design challenges than earlier systems. It is not uncommon on larger projects to periodically start over from scratch with a new set of tools, as more efficient than continuing to develop and maintain the original development path. However sometimes maintaining ancient legacy code is unavoidable due to organizational inertia and loss of domain expertise. Having the fortitude to address such questions is a very valuable capability.

Partial list of systems I have used:
Home built computers in Idaho on 4x8 plywood substrates using parts from junked juke boxes and telephone company trash cans
Autocoder on punched paper tape (IBM 1401,705,7080, 1440,1460)
BOS on IBM 360 series
SNOBOL, FORTRAN IV, APL, BASIC on mag tape (SDS 940 with Tymshare Monitor)
MUSIC on punched paper cards (Varion 620i)
CP/M, COBOL, FORTRAN IV, Unix, C (DEC PDP-8, PDP-11, LSI-11, VAX 11/780)
USAF ANGYK-31 Pattern Searching Supercomputer (in charge of construction and delivery)
BASIC, WordStar, SuperCalc, DBaseII, Milestone, LISP, PROLOG, OPS5, OPS83 (Osborne personal computers)
Carnegie Group KnowledgeCraft, LISP, (TI Explorer, Symbolics)
IRIX, C++, EarthVision, OpenGL (Silicon Graphics Indigo, IRIS)
ESRI ARC/INFO, MapInfo, ArcMap, ArcView, ArcGIS, AutoCAD (SUN Workstations, PCs)
ARC3D, OVERFLOW, CFL3D, HyperWall, CART3D, FAST, CGT (NASA Supercomputer Division D/Pjt Mgr)
MS Project, TimeLine, MatLab, C++, C#, SysML


The best natural talent for a programmer is an infinite tolerance for ridiculous unfathomable frustration. Given all that it can be fun; especially if you avoid working for the dark side.

Messages 1 - 59 of total 59 in this topic
Return to Forum List
 
Our Guidebooks
spacerCheck 'em out!
SuperTopo Guidebooks

guidebook icon
Try a free sample topo!

 
SuperTopo on the Web

Recent Route Beta