Starting a Career in Tech

Kostya76

Regular Member
Joined
Dec 15, 2016
Messages
331
Reaction score
164
Asking for a friend.

Hi Guys,

I have friend (pretty smart guy and big time self-starter) who graduated from college a few years ago with a degree in Industrial Design. He's been working in marketing for a few years, but he is looking to start a career in tech. He is 30 now and he wants to make sure that he's not going to choose the wrong direction because he doesn't want to invest time and effort in learning a technology or programming language just to realize that it's going to be obsolete in the next few years.

His initial idea was to start learning Python because it seems a pretty popular language at the moment. The roles he is considering to get into in the future are a QA, Product /Project Manager, Developer.

He asked me because he know I run a few websites, but to be honest I have no idea about the tech sector, so I shouldn't probably advising him on his career move. Let me know if any of you is more familiar with tech jobs and state of the market.

What job / career / position do you think he should go after? What set of skills will be required for it?

Thanks in advance!
 
So he wants to move away from designing and CAD?

It would be quite a transition I would say to go off in a programming field.

Perhaps he can go into the field and become a Datacenter Architect. Designing Datacenter buildings and rooms.

Still falls under a Design job but has a lot to do with IT and tech.
 
His next career move doesn't have to have anything to do with his prior experience. I think he was considering to do Machine learning engineering...
 
he doesn't want to invest time and effort in learning a technology or programming language just to realize that it's going to be obsolete in the next few years.
No language goes obsolete... C appeared ~50 years ago and still most of the computer devices run on linux that have ~98% code written in C. Python is more than 30 years old... but it's "hot" currently. He just needs to master the basics of "programming" and not a language of "stack".
 
No language goes obsolete... C appeared ~50 years ago and still most of the computer devices run on linux that have ~98% code written in C. Python is more than 30 years old... but it's "hot" currently. He just needs to master the basics of "programming" and not a language of "stack".

Fortran has been around for over 60 years and is still used heavily in some fields.
 
While no language will necessarily go dead, the demand for work in certain languages might be less thus reducing your opportunities. Get him to check popular job portal sites and see what the demand is for companies looking for expertise.
 
It's quite a big question. Python is a good language to learn as a jack of all trades to get started. It will open doors to QA (automation), ML (fancy libs), building APIs. All depends how deep he wanna go in one field. It's not the best tool for all of them.

On top of learning how to put lines together (code) the following is important:
- System architecture
- Data architecture
- Infrastructure architecture
- Testing frameworks
- Databases
- Storage types
- Services available (AWS, GCP, Azure etc), any third party.
- CI/CD
- Data security, security in general. I don't talk about using nmap here, but procedures. Secret management.
- Conventions, how to make something other will easily understand because it follows the guidelines everyone follow.
- Monitoring/alerting

If these don't interest him, a dev might not be the right answer.

ML is more sciency, notebooks/math and such. Understanding the above is not required, ML/AI Phd are not required to know this. They do their math/PoC and submit it to the dev team and they architect the system so it can scale. A ML guy that can do both (also dev) is a huuuuge asset.

QA, well they test. They automate and build reports. Knowing how to code in this field is a huge advantage. No need to know how to build a system.

Project management is a whole other planet. Comes with its set of rules, standards, objectives, etc. He has to like working with people and please management.

The best thing he can do is learn python, and set himself a goal like hosting a web api that does something. It's a start. AWS has a nice free tier to get started. But first, gotta be able to write something !

https://github.com/sindresorhus/awesome
 
It's quite a big question. Python is a good language to learn as a jack of all trades to get started. It will open doors to QA (automation), ML (fancy libs), building APIs. All depends how deep he wanna go in one field. It's not the best tool for all of them.

On top of learning how to put lines together (code) the following is important:
- System architecture
- Data architecture
- Infrastructure architecture
- Testing frameworks
- Databases
- Storage types
- Services available (AWS, GCP, Azure etc), any third party.
- CI/CD
- Data security, security in general. I don't talk about using nmap here, but procedures. Secret management.
- Conventions, how to make something other will easily understand because it follows the guidelines everyone follow.
- Monitoring/alerting

If these don't interest him, a dev might not be the right answer.

ML is more sciency, notebooks/math and such. Understanding the above is not required, ML/AI Phd are not required to know this. They do their math/PoC and submit it to the dev team and they architect the system so it can scale. A ML guy that can do both (also dev) is a huuuuge asset.

QA, well they test. They automate and build reports. Knowing how to code in this field is a huge advantage. No need to know how to build a system.

Project management is a whole other planet. Comes with its set of rules, standards, objectives, etc. He has to like working with people and please management.

The best thing he can do is learn python, and set himself a goal like hosting a web api that does something. It's a start. AWS has a nice free tier to get started. But first, gotta be able to write something !

https://github.com/sindresorhus/awesome

Thanks man for taking your time to provide a detailed response. A lot of what you said sounds right and makes a lot of sense.

So, I guess it sounds like starting to learn Python is the step in the right direction, but can you elaborate on "set himself a goal like hosting a web api that does something"? Can you provide some example of what this API might do?
 
Thanks man for taking your time to provide a detailed response. A lot of what you said sounds right and makes a lot of sense.

So, I guess it sounds like starting to learn Python is the step in the right direction, but can you elaborate on "set himself a goal like hosting a web api that does something"? Can you provide some example of what this API might do?

Before going this way, it will be the usual console only apps:
- calculator
- minesweeper
- battleship (1 vs AI, 1v1)

Those projects will make him learn:
- Raw python (no libs)
- Objects in python
- Interact with console
- Build a project in python

For a web API:
- If he's into ML, run a model predict on demand.
- Online books management, physical library management
- Throw in some user auth and profile (manage fees, book reservation, book quantities), or for ML (predict quotas, predict credits, reload credits)
- Deploy and get this running
- Run the API on 2 nodes with a load balancer to avoid downtimes. If there's a bad architecture decision it will quickly show.

He will learn:
- Learn to use libraries (likely starting with Django, Keras)
- Packaging
- Deploying
- Databases
- Key/value stores
- Web (sessions, stickiness, HTTP, cookies)
- Security (user sessions, user profiles)
- Monitoring when the API is up/down
- Everything in my the original post

This is a journey, not a sprint. A career change is a big move.
 
No language goes obsolete... C appeared ~50 years ago and still most of the computer devices run on linux that have ~98% code written in C. Python is more than 30 years old... but it's "hot" currently. He just needs to master the basics of "programming" and not a language of "stack".

It doesn't really matter if a language is "dead" or not - just the amount of people hiring for it.

For example, when was the last time you saw a job offer for Pascal or Delphi programmers? :)
 
Oh I forgot. I said python because I often assume people work on OSX/Linux but an easier point to start with 0 programming background on Windows in C#. It won't land him a job, but all programming language end up to be similar. Making a desktop app in C# is way way easier. It's rewarding to get started quickly. https://www.w3schools.com/cs/cs_intro.asp

Ignore all the language war posts. It's not about career but fan boy preferences.
 
Oh I forgot. I said python because I often assume people work on OSX/Linux but an easier point to start with 0 programming background on Windows in C#. It won't land him a job, but all programming language end up to be similar. Making a desktop app in C# is way way easier. It's rewarding to get started quickly. https://www.w3schools.com/cs/cs_intro.asp

Ignore all the language war posts. It's not about career but fan boy preferences.

Does he need to know some other languages for API development? E.g. AJAX
 
Does he need to know some other languages for API development? E.g. AJAX

It depends on the job he wants, if he goes to indeed.com and looks at the different jobs he is interested in they will say what kind of programming languages knowledge in is required.
 
with his previous background AI or big data would be a good match.
 
Back
Top